Diagnoza napędów z falownikami

diagnoza napędów z falownikami.

Sprawdziłeś swój falownik, wydaje się sprawny lecz silnik nadal nie rusza ? Co gorsza falownik został sprawdzony w serwisie lub podmieniłeś go na zupełnie taki sam, nie wiesz co robić ? Zanim wyrwiesz już wszystkie włosy z głowy i przyznasz się do porażki, przeczytaj kilka porad i spróbuj wykonać kilka prostych pomiarów, które być może ocalą Cię od niechybnej łysiny a Twój przełożony na pewno nie pominie Cię w następnym przeszeregowaniu.

Napęd servodrive

Poniżej została omówiona diagnoza napędów z falownikami, czyli pomiarów diagnostycznych otoczenia falownika w celu ustalenia błędów w funkcjonowaniu napędu. Artykuł dotyczy napędów z klasycznymi bezkomutatorowymi silnikami 3 fazowymi z uzwojeniem stojana. Należy pamiętać, że znakomita większość uszkodzeń samych falowników jest spowodowana problemami w jego zasilaniu lub obciążeniu. W tym ostatnim przypadku w grę wchodzi wadliwe lub uszkodzone okablowanie lub też silnik.

Zanim jednak przystąpisz do działania, postaraj się przeczytać cały artykuł i odpowiedz sobie na pytanie, czy jesteś w stanie wykonać wszystko co tu opisałem, zachowując przy tym warunki bezpieczeństwa ludzi i sprzętu.

Nie muszę tutaj chyba przypominać, że wszelkie prace na urządzeniach elektrycznych winna przeprowadzać osoba przeszkolona, posiadająca odpowiednie świadectwo kwalifikacyjne, np. uprawnienia SEP.

Artykuł dotyczy większości klasycznych napędów opartych na pojedynczym zestawie: falownik – silnik 3 fazowy, ale równie dobrze może odnosić się do bardziej złożonych i nietypowych implementacji falowników / inwerterów / przemienników częstotliwości a nawet serwoinwerterów / serwowzmacniaczy / serwodriverów przystosowanych do pracy z zasilaniem jedno- lub trójfazowym. Może się jednak zdarzyć, że będziesz miał do czynienia z tak nietypowymi rozwiązaniami układowymi, które wykluczają wykonanie opisanych przeze mnie działań.

otoczenie falownika
Diagnoza napędów z falownikami – Otoczenie falownika

Kiedy należy wykonać omówioną tutaj diagnozę napędów z falownikami ?

W sytuacjach kiedy podejrzenia wadliwej pracy napędu lub falownika padają na okablowanie lub silnik albo aby wyeliminować silnik i kable jako potencjalną przyczynę problemów.
Diagnoza opisana poniżej jest niezbędna zawsze kiedy ustalono wcześniej (np. przy pomocy pomiarów opisanych w artykule pt. „Szybkie sprawdzenie falownika„) uszkodzenie falownika z powodu przeciążenia lub zwarcia na jego wyjściu. W takim przypadku podłączenie nowego falownika lub falownika po naprawie może spowodować ponowne jego uszkodzenie.

Narzędzia i przyrządy

Przed przystąpieniem do prac należy przygotować podstawowe narzędzia elektromonterskie oraz przyrząd pomiarowy. Będziemy korzystać z miernika uniwersalnego przystosowanego do prowadzenia pomiarów napięcia sieci zasilającej o zakresie minimum do 450VAC (600VDC). Warto zwrócić uwagę, czy zarówno narzędzia jak i osprzęt pomiarowy (kable, sondy mierników) posiadają certyfikat bezpieczeństwa do pracy na napięciu co najmniej 1kV.

Oprócz miernika uniwersalnego będziemy potrzebować urządzenia pomiarowego o znacznie bardziej zaawansowanej obsłudze, jakim jest miernik rezystancji izolacji. Dla wiarygodnych pomiarów wystarczy już nawet najprostszy i najtańszy, sprawny technicznie miernik tego typu, np. MIC10 firmy SONEL (https://e-mierniki.pl/p/miernik-rezystancji-izolacji-sonel-mic-10) wraz z dedykowanym wyposażeniem.
Ten miernik potrafi również z powodzeniem zastąpić miernik uniwersalny, o którym mowa wcześniej.
Oczywiście każdy inny miernik rezystancji izolacji również będzie nadawał się do pomiarów pokazanych w dalszej części artykułu.
Przed przystąpieniem do pracy z przyrządami pomiarowymi należy bezwzględnie zapoznać się z fabrycznymi instrukcjami obsługi tych przyrządów i szczegółowo je stosować podczas prowadzenia pomiarów.

Bezpieczeństwo


Przed przystąpieniem do prac zadbaj bezwzględnie o warunki bezpieczeństwa na stanowisku, m.in. zlokalizuj wyłącznik główny zasilania napędu (maszyny), miejsce przechowywania środków gaśniczych oraz zapewnij sobie łączność z odpowiednimi służbami na wypadek np. porażenia prądem (prace pomiarowe prowadzone pod napięciem najlepiej wykonywać w co najmniej 2 osoby, przy czym druga osoba powinna znajdować się poza wygrodzonym polem operacyjnym, w pewnej odległości od prowadzonych prac i pełnić rolę asekuracyjną.

Przygotowanie

Prace diagnostyczne dla ułatwienia podzielimy na następujące części:

  1. Pomiary napięcia zasilania (prace pod niebezpiecznym napięciem sieciowym),
  2. Pomiary napięć sterowania (prace pod napięciem bezpiecznym),
  3. Pomiary okablowania silnika (prace beznapięciowe),
  4. Pomiary silnika
Silnik i inwerter
Diagnoza napędów z falownikami – Diagram

ad.1. Pomiary napięcia zasilania.
Przy pomocy miernika uniwersalnego mierzymy napięcie zasilania falownika (AC) oraz napięcie stałe (DC) pomiędzy zaciskami B- i B+ falownika, jeśli takie są wyprowadzone w danego typu urządzeniach.
Podczas prowadzenia pomiarów falownik powinien być podłączony w swoim standardowym układzie zasilania i znajdować się w trybie STOP, jednocześnie okablowanie silnika oraz silnik powinny być również dołączone tak jak w normalnym toku pracy napędu.

Poniżej przedstawiamy pomiary i ich wyniki przy założeniu, że napęd korzysta ze standardowego zasilania jedno lub trójfazowego. Prawidłowe napięcie zasilania, do którego przystosowany jest mierzony falownik należy każdorazowo sprawdzić na jego tabliczce znamionowej lub też w odnośnej dokumentacji technicznej.

A. Dla falowników z zasilaniem jednofazowym wykonujemy następujące pomiary:

Zaciski falownikaZakresOczekiwane napięcie
L1 / N>=250VAC230VAC
B- / B+600VDC325VDC

B. Dla falowników z zasilaniem trójfazowym pomiary wyglądają następująco:

Zaciski falownikaZakresOczekiwane napięcie
L1 / L2>=600VAC400VAC
L1 / L3>=600VAC400VAC
L2 / L3>=600VAC400VAC
B- / B+1000VDC565VDC

C. Dla niektórych falowników (zwłaszcza serwoinwerterów) niezbędne jest wykonanie dodatkowego pomiaru napięcia zasilania układów sterowania falownika zasilaniem jednofazowym. W takim przypadku wykonujemy pomiary:

Zaciski falownikaZakresOczekiwane napięcie
L1 / N>=250VAC230VAC

Znaczące różnice otrzymanych pomiarów świadczą o nieprawidłowym zasilaniu falownika lub o jego uszkodzeniu, co prawie na pewno jest skutkiem nieprawidłowego działania napędu. Częstą przyczyną braku prawidłowego zasilania lub w układach zasilania trójfazowego braku symetrii faz, jest okablowanie albo też włączone w obwód łączniki takie jak: wyłączniki mechaniczne, styczniki zabezpieczające (odłączające zasilanie falownika w wypadku niepoprawnej pracy maszyny). Elementy te należy zbadać lub w przypadku wątpliwości, wymienić na nowe.

separacja kabla
Diagnoza napędów z falownikami – Separacja elektryczna kabla do pomiarów.

ad.3. Pomiary okablowania silnika.

Ponieważ prace te będą wykonywane w stanie beznapięciowym (aczkolwiek podczas pomiaru mogą występować krótkotrwale wysokie napięcia, których skutkiem działania może być uszkodzenie falownika, postępuj następująco:

Odłącz zasilanie falownika wyłącznikiem sieciowym (głównym) maszyny oraz upewnij się, używając posiadanego miernika lub specjalnego testera, czy na przyłączach falownika nie występuje potencjał elektryczny.

Odczekaj koniecznie czas potrzebny na rozładowanie się kondensatorów wysokonapięciowych !
Czas ten jest zwykle określony przez producenta i oznaczony na obudowie falownika lub zamieszczony w jego dokumentacji. Niektóre urządzenia posiadają też odpowiednio oznaczoną, zazwyczaj czerwoną, kontrolkę informującą o obecności napięcia na kondensatorach falownika.

Jeśli nie wiesz ile czasu powinieneś odczekać przed przystąpieniem do dalszych prac, załóż bezpieczny czas np. 30 minut. Dla falowników dużej mocy, czas powinien być odpowiednio dłuższy.
Możesz również zmierzyć napięcie pomiędzy zaciskami falownika oznaczanymi zwykle P+ i P- (jeśli Twój falownik takie posiada), jest to napięcie występujące na baterii kondensatorów wysokonapięciowych. Jeśli napięcie to jest większe niż kilka voltów, odczekaj do momentu jego bezpiecznego samoczynnego obniżenia (rozładowania się kondensatorów).
Uwaga: Całkowity brak mierzonego napięcia może być również efektem niesprawności falownika, w takim przypadku zaleca się specjalną ostrożność.


Pamiętaj: Prace pomiarowe silnika i jego okablowania możesz prowadzić jedynie przy stanie beznapięciowym na wszystkich zaciskach falownika oraz gdy kable są odłączone od falownika !


Teraz w falowniku odłącz przewody elektryczne od strony zacisków kabla silnika (zazwyczaj są one oznaczane jako „U”, „V”, „W” ale spotykane są inne oznaczenia np. „MOTOR”) aby „uwolnić elektrycznie” kabel silnika od falownika.
Nie zapomnij również o odłączeniu ekranowania (oplotu) kabla oraz przewodu PE od zacisków falownika.
Pozostałe przewody, w tym przewody zasilające falownik, przewody PE uziemiające falownik od strony zasilania oraz przewody podłączone do zacisków niskonapięciowych sterowania, mogą pozostać podłączone.

Następnie otwórz puszkę osłony kabla znajdująca się zazwyczaj na korpusie silnika i odłącz wszystkie przewody kabla silnika (U, V, W, PE) a sam kabel wysuń z dławika tak, aby odizolować również ekran (oplot) kabla od części metalowych obudowy silnika. Odłączone końcówki przewodu oraz jego oplot powinny być zaizolowane na czas pomiaru i powinny się znajdować maksymalnie daleko od siebie i od innych części metalowych (np. korpusu silnika).
W niektórych napędach silniki posiadają specjalne hermetyczne przyłącze w postaci gniazda (wtyk znajduje się na kablu silnika), w takim przypadku wystarczy rozłączyć trwale to przyłącze.

Jeśli napęd posiada enkoder lub resolver, zwłaszcza gdy jego okablowanie przebiega razem z kablem zasilania silnika, należy postępować identycznie, jak w przypadku kabla silnika, tzn. odłączyć obustronnie przewody (kabel) enkodera wraz z oplotem. Podczas wykonywania pomiarów, w kablach m.in enkodera mogą się wyindukować prądy szkodliwe dla obwodów falownika.


Sprawdź czy na pewno dobrze wykonałeś powyższe zadania, w przeciwnym wypadku wyniki pomiarów mogą być błędne a Twój falownik i/lub sam przyrząd pomiarowy będą narażone na poważne uszkodzenia.


Pamiętaj: Podczas wykonywania pomiarów rezystancji izolacji na poszczególnych zaciskach pomiarowych oraz na wolnych końcówkach kabla i samym kablu może pojawić się chwilowo wysokie napięcie. Zachowaj Ostrożność !

Pomiary Izolacji. Do odizolowanych przewodów kabla silnika po stronie falownika podłączamy teraz sondy pomiarowe miernika izolacji i wykonujemy następujące pomiary:

Przewody Kabla SilnikaOczekiwane pomiary rezystancji izolacji
U / V *>20MΩ
U / W *>20MΩ
V / W *>20MΩ
* – biegunowość podłączeń sond pomiarowych nie ma znaczenia chyba, że jest to opisane w dokumentacji posiadanego przyrządu pomiarowego

Następnie podłączamy sondy pomiarowe miernika izolacji pomiędzy oplot (ekran) kabla (w drugim pomiarze jest to przewód PE) a zwarte ze sobą przewody zasilania silnika w taki sposób by dodatnia elektroda pomiarowa była przyłączona do ekranu lub końcówki przewodu PE kabla. Pomiary wykonujemy wg. poniższej tabeli:

Przewody Kabla SilnikaOczekiwane pomiary rezystancji izolacji
(+)E / (-) U+V+W *>20MΩ
(+)PE / (-) U+V+W *>20MΩ
* – przewody zasilające są zwarte ze sobą, a ekran kabla „E” lub przewód PE podłączone są do dodatniej sondy pomiarowej (właściwą biegunowość należy sprawdzić w dokumentacji posiadanego przyrządu pomiarowego)

Dla pewności powyższe pomiary możemy wykonać kilkakrotnie, w tym również od strony kabla podłączanej do zacisków silnika.

Znaczące różnice każdego z otrzymanych pomiarów od wartości oczekiwanych, świadczą o uszkodzonym kablu silnika, który to kabel bezwzględnie należy wymienić w całości na nowy.


Uwaga: Jeśli producent urządzenia pomiarowego nakazuje inną konfigurację pomiarową dla kabli elektrycznych, należy bezwzględnie stosować zalecenia zawarte w fabrycznej instrukcji obsługi stosowanego miernika izolacji.

silnik trójfazowy
Diagnoza napędów z falownikami – Silnik

ad.4. Pomiary silnika.

Pomiary te dzielimy na:
A. sprawdzenie rezystancji uzwojeń silnika,
B. pomiar izolacji uzwojeń,
C. pomiar izolacji silnika


Pamiętaj: Wszystkie pomiary silnika wykonywane są w stanie beznapięciowym. Podczas wykonywania tych pomiarów bezwzględnie kabel zasilania silnika musi być od niego odłączony, w przeciwnym wypadku może dojść do niebezpieczeństwa porażenia lub uszkodzeń napędu !

ad.4.A Pomiar rezystancji uzwojeń silnika.

Pomiar rezystancji uzwojeń silnika wykonujemy zazwyczaj przyrządem pomiarowym ustawionym na zakres pomiaru rezystancji poniżej . Najlepsze do tego celu są dedykowane przyrządy pomiarowe posiadające tzw. mostki do pomiaru rezystancji, które posiadają możliwość pomiaru 4ro przewodowego. W ostateczności jednak możemy posłużyć się miernikiem uniwersalnym oferującym jedynie 2 przewodowy pomiar rezystancji i najmniejszy zakres 10Ω, należy jednak wziąć pod uwagę uchyb jakim obarczony będzie wykonany w ten sposób pomiar.

Pomiary Rezystancji. Do odpowiednich zacisków silnika podłączamy sondy pomiarowe i wykonujemy następujące pomiary:

Zaciski SilnikaOczekiwane pomiary rezystancji uzwojeń silnika
U / V *<<1Ω**
U / W *<<1Ω**
V / W *<<1Ω**
* – podłączenia sond pomiarowych należy dokonać w sposób opisany w dokumentacji posiadanego przyrządu pomiarowego
** – zmierzona rezystancja przy silniku z uzwojeniami połączonymi w gwiazdę powinna być równa dwukrotnej rezystancji uzwojenia podanej w ma tabliczce znamionowej lub w dokumentacji ruchowej silnika. W przypadku kiedy uzwojenia są połączone w trójkąt, zmierzona rezystancja jest równa Rz=2/3 * R = 0,67 R, gdzie R jest rezystancją pojedynczego uzwojenia.

Znaczące różnice otrzymanych pomiarów zarówno między sobą, jak i od wartości oczekiwanych świadczą o uszkodzonym uzwojeniu silnika. W takim wypadku silnik należy oddać do specjalistycznego serwisu lub wymienić na nowy, sprawdzony.

ad.4.B Pomiar izolacji uzwojeń silnika.

Aby wykonać pomiar rezystancji izolacji uzwojeń silnika trójfazowego należy w puszce łączeniowej na silniku wyizolować 6 zacisków trzech uzwojeń silnika (U1, U2, V1, V2, W1, W3). Można to wykonać zdejmując łączówki ustalające układ połączeń silnika (gwiazda / trójkąt), odkręcając uprzednio nakrętki je mocujące. W przypadku, gdy silnik nie jest wyposażony w opisane wcześniej łączówki (połączenia uzwojeń dokonano na stałe), pomiarów nie da się wykonać i należy przejść do następnego punktu 4.C.
Pomiaru rezystancji izolacji uzwojeń dokonujemy odpowiednim przyrządem w sposób opisany w tabeli poniżej, tzn. do jednego z zacisków przyrządu podłączamy zwarte ze sobą obydwie końcówki (U1 i U2) uzwojenia U, do drugiego zacisku zwarte ze sobą końcówki (V1 i V2) uzwojenia V itd.:

Zaciski Uzwojeń SilnikaOczekiwane pomiary rezystancji izolacji
U1+U2 / V1+V2 *>20MΩ
U1+U2 / W1+W2 *>20MΩ
V1+V2 / W1+W2 *>20MΩ
* – biegunowość podłączeń sond pomiarowych nie ma znaczenia chyba, że jest to inaczej opisane w dokumentacji posiadanego przyrządu pomiarowego

Znaczące różnice otrzymanych pomiarów zarówno między sobą, jak i od wartości oczekiwanych świadczą o uszkodzonej izolacji uzwojeń silnika. W takim wypadku silnik należy oddać do specjalistycznego serwisu lub wymienić na nowy, sprawdzony.

ad.4.C Pomiar izolacji silnika.

Pomiaru rezystancji izolacji uzwojeń dokonujemy odpowiednim przyrządem w sposób opisany w tabeli poniżej, tzn. do jednego z zacisków przyrządu podłączamy zwarte ze sobą wszystkie zaciski silnika (U, V i W), drugi zacisk przyrządu podłączamy w miejscu odizolowanym do obudowy (korpusu) silnika, jak to jest opisane niżej:

Zaciski SilnikaOczekiwane pomiary rezystancji izolacji
(+) Korpus Silnika / (-) U+V+W *>20MΩ
* – Właściwą biegunowość sond pomiarowych należy sprawdzić w dokumentacji posiadanego przyrządu pomiarowego

Znaczące różnice otrzymanych pomiarów od wartości oczekiwanych świadczą o uszkodzonej izolacji stojana lub uzwojeń silnika. W takim wypadku silnik należy oddać do specjalistycznego serwisu lub wymienić na nowy, sprawdzony.


Dla pełnej diagnozy napędu należy wykonać również sprawdzenie falownika, w tym celu zapraszamy do przeczytania naszego artykułu „Szybkie sprawdzenie falownika„.


Pamiętaj: Nie próbuj wykonywać samodzielnie napraw, jeśli nie jesteś pewien tego co robisz. W celu zaoszczędzenia czasu i obniżenia mogących powstać w ten sposób dodatkowych kosztów, skorzystaj z wiedzy i doświadczenia wykwalifikowanego serwisu naprawczego.


ZAPRASZAMY

Firma Elektronika Serwis ani autor tego artykułu nie ponoszą w żadnym wypadku jakiejkolwiek odpowiedzialności za powstałe w wyniku działań inspirowanych niniejszym artykułem straty materialne i/lub uszczerbek na zdrowiu.

Regeneracja płytki PCB sterownika przemysłowego.

Regeneracja jednej z płytek PCB wchodzącej w skład modułu procesora sterownika CP60 firmy B&R.

Jakiś czas temu do naszego serwisu Klient dostarczył niedziałający, acz mocno już wiekowy sterownik CP60 firmy B&R.
Płytki PCB tego sterownika są przystosowane do montażu ołowiowego THT i posiadają dwie warstwy miedzi (top & bottom sides) spojone dobrej jakości laminatem. Okazało się też, że posiadają one nitowane przelotki ale są dosyć odporne na obciążenia termiczne podczas lutowania, co bardzo dobrze rokuje przy wykonywaniu regeneracji i napraw.
W trakcie diagnozy okazało się, że jedna z płytek drukowanych (PCB) wchodząca w skład modułu CPU uległa zalaniu cieczą, najprawdopodobniej wodą. W efekcie czego, przy udziale wysokich temperatur panujących podczas pracy, powstał potężny nalot tlenków, czyli jak mówimy wtedy „masywna korozja PCB”. Po ustaleniu i zaakceptowaniu kosztów przystąpiliśmy do naprawy, polegającej w tym przypadku na usunięciu utlenionych połączeń oraz wymianie elementów, w których utlenione były wyprowadzenia.

PCB CPU sterownika CP60 B&R przed naprawą

Na zdjęciu powyżej, czerwoną obwódką został zaznaczony obszar objęty regeneracją.
Widać tam wyraźnie szary nalot, który występuje na praktycznie wszystkich elementach tego obszaru, a co gorsza także i pod nimi. Widać to jeszcze lepiej na obrazach poniżej. Tam też można zaobserwować, że niektóre z elementów (np. układ scalony LM339N lub tranzystory po jego lewej stronie) nadają się do wymiany z powodu potężnie skorodowanych nóżek (pinów).

Skorodowane wyprowadzenia elementów na PCB.

Regeneracji lub wymianie podlegać będą również elementy pasywne, takie jak drabinka rezystorów oraz niektóre kondensatory, co można ocenić na podstawie zdjęcia poniżej.

silne utlenienie się elementów PCB

Pierwszą czynnością naprawczą było wstępne oczyszczenie mechaniczne i chemiczne, oraz umycie płyty w celu oceny przydatności elementów do ponownego montażu lub zakwalifikowania do wymiany. Następnie wykonano demontaż tych elementów. W tym momencie ocenie poddano stan ścieżek i przelotek (vias), które wcześnie nie były widoczne.
Między innymi wykonano pomiary ciągłości połączeń elektrycznych poprzez badanie rezystancji połączeń pomiędzy elementami.
Ze zdjęcia poniżej widać wiele fragmentów struktury elementów przewodzących PCB, które będą wymagały regeneracji lub wręcz odtworzeniu.

widoczne utlenienie ścieżek i przelotek płytki

W kolejnym procesie płytka została szczegółowo umyta w myjce ultradźwiękowej, z zastosowaniem kąpieli w wysokoprocentowym stężeniu Isopropanolu, w temperaturze 50st.C. Następnie płytkę wysuszono strumieniem powietrza pod wysokim ciśnieniem, celem usunięcia frakcji stałych, które mogły jeszcze znajdować się na jej powierzchni.
Poniżej widzimy PCB od strony warstwy elementów (top / elements side), bezpośrednio po wykonaniu opisanych wcześniej czynności. Tak przygotowana płytka jest gotowa do przeprowadzenia naprawy warstwy przewodzącej, na którą składają się ścieżki wraz z przelotkami.

warstwa TOP po szczegółowym umyciu

Na zdjęciach poniżej widzimy kolejne etapy naprawy uszkodzonych ścieżek i przelotek płytki PCB. Warto dodać, że analogiczne procesy naprawcze, jak te widoczne na stronie elementów (top side), dotyczą również płytki PCB od dolnej strony miedzi (bottom side).

Naprawa warstwy ścieżek

Regeneracja przelotek polega na usunięciu z ich wnętrza cyny wraz z wytworzonymi produktami korozji, następnie oczyszczeniu z pozostałości tlenków oraz lakieru solder maski każdej z nich z obydwóch stron płytki i po pokryciu fluksem, pocynowaniu tak przygotowanych miejsc. Po wykonaniu tego procesu dla wszystkich przelotek, płytka jest myta kolejny raz w celu usunięcia pozostałości chemii fluksa, co jest niezbędne przed zabezpieczeniem kocowym płyty lakierem poliuretanowym.

Zdjęcie poniżej pokazuje płytkę PCB z naprawionymi warstwami przewodzącymi oraz po zamontowaniu wymienionych, bądź zregenerowanych elementów elektronicznych, a także częściowym pokryciu warstwą antyadhezyjną (w tym przypadku jednoskładnikowym lakierem poliuretanowym, którego kolejne warstwy zostaną naniesione na płytkę metoda natryskową).

płytka po regeneracji, przygotowana do malowania

Po zabezpieczeniu płytki przed ponownym narażeniem na ewentualny kontakt z cieczą dokonaliśmy również sprawdzenia połączeń w newralgicznych miejscach płyty, wykorzystując do tego celu wykonane wcześniej uproszczone schematy połączeń, takie jak ten przykładowy, pokazany poniżej.

szkic schematu połączeń zasilania płyty

Naprawa płyty PCB

Rekonstrukcja wielowarstwowej płyty CPU sterownika wysokiego składowania, po zalaniu wodą.

Poniżej przedstawiamy Państwu, w kilku krokach, proces naprawy płytki drukowanej zniszczonej poprzez długotrwałe utlenianie się miedzi (pot. śniedź) na skutek korozji wywołanej obecnością wody w obrębie uszkodzonego fragmentu płyty.
Uszkodzenie takie, w brew pozorom jest zjawiskiem bardzo częstym i zachodzi głównie na płytkach PCB niezabezpieczonych antyadhezyjną warstwą ochronną (np. poliurethanem), tak jak to miało miejsce właśnie w tym przypadku .
Czasami również i na zabezpieczonych płytach można zaobserwować korozję na skutek długotrwałego narażenia urządzenia na nieprzyjazne środowisko o krytycznym poziomie wilgotności, w takich przypadkach dotyczy to głównie uszkodzeń powstałych w obrębie złącz, konektorów, czy innych nawet masywnych elementów, których zabezpieczenie jest utrudnione lub w ogóle nie możliwe.

Pokazana na fot.1. płyta została przyjęta do naszego Serwisu w trybie awaryjnym, z objawem braku komunikacji CPU z otoczeniem, co zostało stwierdzone przez serwis fabryczny wezwany z powodu alarmu na panelu operatorskim maszyny i zatrzymania pracy urządzenia.
Szybka diagnoza wizualna pozwoliła ustalić obszar i rodzaj uszkodzenia, co z kolei zaowocowało zaplanowaniem i podjęciem określonych czynności serwisowych zmierzających do usunięcia usterki.

fot.1 Wygląd fragmentu płyty przed przystąpieniem do naprawy.

Jak widać powyżej, uszkodzeniu uległ układ scalony odpowiedzialny za komunikację szeregową, wraz z elementami towarzyszącymi C36-C38 oraz C34. Elementy te zostały wytypowane do wymiany, a dodatkowo wymianie muszą ulec również: kondensator filtrujący zasilanie C35 (są już na nim widoczne początki korozji), rezystor R30 oraz pobliskie 6cio pinowe złącze listwowe (i tak wymaga ono wylutowania ze względu na widoczne podcieknięcia pod jego obudowę).

fot.2 Widok bezpośrednio po usunięciu skorodowanych elementów elektronicznych.

Fot.2 przedstawia stan płyty po usunięciu większości wytypowanych do wymiany elementów oraz zabezpieczeniu sąsiadujących fragmentów płyty (w tym delikatnych i nie odpornych na wysoką temperaturę złącz IDC) taśmą ochronną typu Capton, której zadaniem jest zabezpieczenie sprawnych elementów przed ewentualnymi uszkodzeniami, głównie termicznymi, podczas np. lutowania gorącym powietrzem.
Na fot.3 dodatkowo możemy zauważyć liczne wżery i uszkodzenia skorodowanych padów (punktów lutowniczych elementów SMD), których sprawność i właściwości elektryczne zostaną przywrócone w toku dalszych czynności naprawczych.

fot.3 Układ ścieżek i padów przygotowany do wlutowania nowych części.

Na fot.3 widzimy już zrekonstruowane pady większości podlegających wymianie elementów. Całość powleczona została odpowiednim fluxem żelowym a pady przygotowane do lutowania na nich nowych części.
Zarówno wylutowanie uszkodzonych, jak i wlutowanie nowych elementów elektronicznych SMD odbywało się techniką mieszaną. Wykorzystano do tego celu zarówno lutownicę grzałkową małej mocy wyposażoną w grot szpilkowy (igłowy) o średnicy końcówki mniejszej niż 0,2mm, jak i technikę lutowania gorącym powietrzem (hot-air) z dyszą okrągłą o standardowej średnicy, stacja wyposażona jest w stabilizację temperatury i przepływu.
Wylutowanie 6cio pinowego złącza listwowego zostało zrealizowane przy pomocy lutownicy grzałkowej z grotem typu „wkrętak” (szerokość płetwy 1,2mm) oraz odsysacza automatycznego Weller z końcówką o średnicy 2,5mm. W procesie wylutowywania użyto również preheatera (podgrzewacza na podczerwień) o temperaturze procesu ok. 200st.C. Użycie tego narzędzia było wygodne z uwagi na brak elementów SMD na płycie od jej dolnej strony (bottom), co znacznie przyśpieszyło proces.
Temperatura procesu górnej warstwy płyty (warstwa elementów – top) zarówno przy wylutowywaniu, jak i wlutowywaniu elementów, nie przekraczała 440st.C. i była podyktowana pracą ze spoiwem bezołowiowym, którym była fabrycznie zlutowana naprawiana płyta.
Podczas reworkingu (wymiany uszkodzonych części) użyta została cyna z dodatkiem ołowiu, typu „tinol” i temperaturze pracy 325st.C, co jest zgodne z dyrektywą RoHS, która dopuszcza użycie takiej cyny w procesach naprawczych elektroniki.

fot.4 Widok płyty po naprawie.

Na fotografii powyżej widać płytę po wlutowaniu elementów, wykonaniu wstępnego mycia nadmiaru fluxa oraz sprawdzeniu połączeń elektrycznych. Zostało, jak widać, wlutowane także nowe gniazdo listwowe, a taśma ochraniająca (Capton) została już usunięta.
Po dokładnym ponownym umyciu i osuszeniu płyty, będzie ona gotowa do testów funkcjonalnych przeprowadzonych w warunkach warsztatowych, przed odesłaniem do Klienta w celu uruchomienia na maszynie.

Firma Elektronika Serwis wykonuje naprawy i rekonstrukcje wielowarstwowych płyt PCB wykonanych w technologii SMD, THT oraz mieszanej.

Należy pamiętać jednak, że nie wszystkie rodzaje uszkodzeń takiej płyty są możliwe do naprawy i przy tym opłacalne ekonomicznie. Głównymi przyczynami niezakwalifikowania do serwisu są:
– uszkodzenia elementów uniemożliwiające ich identyfikację, w których mimo analizy układu i na podstawie własnego doświadczenia, nie jesteśmy w stanie określić typu uszkodzonej części.
– uszkodzenia przelotek (vias) na płytach wielowarstwowych, gdzie uszkodzeniu uległo połączenie pomiędzy jedną z warstw niewidocznych (wewnętrznych).
– niektóre uszkodzenia połączeń ścieżek na którejś z warstw wewnętrznych.
– masywne, rozległe uszkodzenia płyty obejmujące wiele warstw ścieżek i uszkodzenia laminatu (kanwy PCB), powstałe np. w skutek pożaru lub bardzo wysokiej temperatury działającej punktowo.


Sterownik oświetlenia LED

Sterowników oświetlenia jest chyba milion, zwłaszcza odkąd pojawiły się diody LED, a z nimi tzw. paski lub taśmy LEDowe. Ten jednak sterownik umożliwia sterowanie z pilota radiowego, będąc przy tym bardzo elastycznym i uniwersalnym. Jest on oparty na module Arduino NANO, dzięki czemu używając środowiska Arduino IDE, można łatwo modyfikować jego oprogramowanie lub szybko napisać zupełnie nowe.

Uniwersalność przedstawionego rozwiązania polega na tym, że w zależności od konfiguracji i obsadzenia elementami płytki drukowanej oraz dzięki wgraniu odpowiedniego oprogramowania do modułu procesora, można uzyskać szereg bardzo różnych funkcjonalności, jak na przykład:

  1. Sterowanie jedno lub dwukanałowe ON/OFF oświetleniem na napięcie 230VAC (np. żarówki LED 230V lub inne odbiorniki mocy zasilane napięcie sieciowym). Elementami sterowania mocy są tutaj przekaźniki elektromechaniczne, które mogą także być zastąpione przekaźnikami elektronicznymi SSR (podraża to jednak koszt części).
  2. Sterowanie jedno lub dwukanałowe ON/OFF oświetleniem na napięcie 12VDC (np. białe taśmy LED). Elementami sterującymi mocy są w tym wariancie tranzystory MOS.
  3. Sterowanie jedno, dwu, lub trzykanałowe oświetleniem na napięcie 12VDC (np. taśmy LED RGB) . Tutaj również elementami mocy są tranzystory MOS.

We wszystkich powyższych wariantach dostępne są takie funkcjonalności jak:

A. Zdalne sterowanie kanałami oświetlenia przy pomocy pilota (pilotów) RF 433MHz (lub innego typu o podobnych sygnałach wyjściowych)

B. Możliwy jest wybór jednego z dwóch lub, w zależności od oprogramowania, również i z trzech pilotów różnych pilotów RF

C. Każdy z pilotów może wysyłać do sześciu różnych kodów odzwierciedlających jego przyciski. Każdemu z przycisków można przypisać dowolny kanał lub sterowanie grupowe (włącz lub wyłącz wszystkie kanały

Dla wariantu 2. i 3. sterownik realizuje funkcję DIMMING (ściemniacz), co pozwala regulować natężeniem sterowanego oświetlenia.
Natomiast wariant 3. ma również oprogramowany system zmiany barw, specjalnie w przypadku gdy kanały wyjściowe są przyłączone do taśmy LEDowej typu RGB.

To wszystko jest możliwe do realizacji na jednej płytce PCB o roboczej nazwie RF Sniffer v3.1.

Poniżej znajduje się schemat obejmujący wszystkie warianty zrealizowane na płytce v3.1

Kliknij aby pobrać aktualną wersję PDF.

Oprogramowanie w postaci szkicu dla Arduino IDE można pobrać poniżej

  • Wersja v1.1 (dla PCB v3.0) obsługująca dwa kanały z przekaźnikami lub tranzystorami MOS, umożliwia opcje ON/OFF dla obydwóch kanałów.
    RF Sniffer v1.1
  • Wersja v3.4 (dla PCB v3.0) obsługująca dwa kanały z tranzystorami MOS, umożliwia opcję Fading (dimming) dla obydwóch kanałów. Program napisany z użyciem przerwań wewnętrznych od timera.
    RF Sniffer v3.4

Zmontowany sterownik na starszym modelu płytki w wersji v2.0 z zasilaniem zewnętrznym 12VDC i tranzystorami MOS.

Pilot radiowy RF zastosowany w projekcie (można użyć dowolnego pilota z nadajnikiem 433MHz)

Płytki w wersji V3.0 oraz poprzednich są dostępne do zakupu w naszej firmie, także w wersji zmontowanej i uruchomionej.

Uwaga: Zmiana danych !

Z dniem 01.09.2020 nastąpiła zmiana danych adresowych firmy.

Prawidłowe dane adresowe to:

ELEKTRONIKA SERWIS
Sławomir Jurkiewicz
ul. Grunwaldzka 13/2
41-500 Chorzów

Powyższy adres jest nowym adresem firmy, adresem naszego Serwisu oraz adresem do korespondencji i wysyłki sprzętu.

Niezbędne informacje są zawarte na stronie KONTAKT

Z tym samym dniem obowiązuje również nowe logo firmy, które będzie umieszczane na wszystkich oficjalnych dokumentach.
Nasze nowe logo prezentujemy poniżej:

Demo

Przepraszamy Szanownych Klientów za wszelkie ewentualne utrudnienia związane z zaistniałym zmianami.

Szybkie sprawdzenie falownika

Twój falownik pokazuje błąd, wybija zabezpieczenia, nie rusza silnika ? Masz ochotę odesłać go do serwisu ? Zanim to zrobisz, warto wykonać kilka pomiarów aby uzyskać wstępną diagnozę.

falownik Goodrive
falownik Goodrive

Poniżej przedstawię bardzo prostą i szybką metodę pomiarów diagnostycznych falownika w celu ustalenia jego niedomagań. Zanim jednak przystąpisz do pracy, przeczytaj cały artykuł i zastanów się, czy jesteś w stanie wykonać wszystko co tu opisałem, zachowując przy tym warunki bezpieczeństwa ludzi i sprzętu.

Artykuł dotyczy większości falowników / inwerterów / przemienników częstotliwości / serwoinwerterów / serwowzmacniaczy / serwodriwerów o konstrukcji zawierającej układ zasilania jedno- lub trójfazowy oraz układ wyjściowy mocy oparty na tranzystorach lub modułach IGBT w standardowej konfiguracji. Może się jednak zdarzyć, że będziesz miał do czynienia z nietypowymi rozwiązaniami układowymi wykluczającymi wykonanie opisanych przeze mnie pomiarów.

Narzędzia

Przed przystąpieniem do prac przygotuj podstawowe narzędzia, jak na przykład wkrętak (rozmiarem przystosowany do śrub na zaciskach mierzonego falownika). Najważniejszym jednak jest przyrząd pomiarowy. Do naszych celów wystarczy zwykły cyfrowy lub analogowy miernik uniwersalny z opcją pomiaru złącz półprzewodnikowych (zwykle jest to zakres pomiarowy oznaczony symbolem diody). Miernik powinien być wyposażony w sondy pomiarowe i co ważne, w źródło zasilania (baterię) o dobrej kondycji.

Przygotowanie


Przed przystąpieniem do prac odłącz zasilanie falownika wyłącznikiem sieciowym (głównym) maszyny oraz upewnij się, używając posiadanego miernika lub specjalnego testera, czy na przyłączach falownika nie występuje prąd elektryczny.


Odczekaj koniecznie czas potrzebny na rozładowanie się kondensatorów wysokonapięciowych ! Czas ten jest zwykle określony przez producenta i oznaczony na obudowie falownika lub zamieszczony w jego dokumentacji. Niektóre urządzenia posiadają też odpowiednio oznaczoną, zazwyczaj czerwoną, kontrolkę informującą o obecności napięcia na kondensatorach falownika.

Jeśli nie wiesz ile czasu powinieneś odczekać przed przystąpieniem do dalszych prac, załóż bezpieczny czas np. 30 minut. Dla falowników dużej mocy, czas powinien być odpowiednio dłuższy.
Możesz również zmierzyć napięcie pomiędzy zaciskami falownika oznaczanymi zwykle P+ i P- (jeśli Twój falownik takie posiada), jest to napięcie występujące na baterii kondensatorów wysokonapięciowych. Jeśli napięcie to jest większe niż kilka voltów, odczekaj do momentu jego bezpiecznego samoczynnego obniżenia (rozładowania się kondensatorów).
Uwaga: Całkowity brak mierzonego napięcia może być również efektem niesprawności falownika, w takim przypadku zaleca się specjalną ostrożność.


Pamiętaj: Dalsze prace możesz prowadzić jedynie przy stanie beznapięciowym na wszystkich zaciskach falownika !


Teraz odłącz wszystkie przewody elektryczne od strony zasilania oraz od strony przyłączy silnika (również te podłączone do rezystora hamującego, jeśli został zaimplementowany). Przewody PE oraz te, podłączone do zacisków niskonapięciowych sterowania mogą pozostać podłączone.
Sprawdź czy na pewno dobrze wykonałeś powyższe zadanie, w przeciwnym wypadku wyniki pomiarów mogą być błędne a Twój przyrząd pomiarowy będzie narażony na uszkodzenie.

Dla pewności braku napięcia na obwodach mocy falownika i ochrony Twojego przyrządu pomiarowego, na zaciski P+ i P- falownika możesz założyć tymczasowo zworkę z odcinka przewodu lub rezystora rozładowczego o rezystancji kilka kiloomów i mocy kilku watów.
Zworkę tę należy usunąć bezpośrednio przed wykonywaniem pomiarów.

Konstrukcja falownika

W naszych pomiarach traktujemy falownik jako „czarną skrzynkę”, jednak dobrze jest zapoznać się z jego ogólną konstrukcją, aby lepiej zinterpretować otrzymane wyniki.

Schemat blokowy falownika
Schemat blokowy falownika (wariant uproszczony)

W znakomitej większości falowników, zwłaszcza małych i średnich mocy, możemy wyróżnić 2 główne bloki, które opiszemy w dalszej treści:

  1. Blok wejściowy – zasilania
  2. Blok wyjściowy – mocy

ad.1. BLOK ZASILANIA

Blok zasilania składa się zazwyczaj z filtra przeciwzakłóceniowego (czasami filtr taki stanowi oddzielony mechanicznie i elektrycznie moduł, zamontowany często pod radiatorem falownika lub obok niego), oraz obwodu prostownika 1 lub 3 fazowego i baterii kondensatorów.
Prostownik w falownikach małej i średniej mocy zrealizowany jest (szczególnie w tańszych i prostszych modelach) w oparciu o standardowy diodowy, pasywny mostek Graetz’a, czasami zaś jest to mostek sterowany (prostownik aktywny) zrealizowany w oparciu o diody sterowane (tyrystory).
Niezależnie od przyjętego rozwiązania, zadaniem prostownika jest zamiana przemiennego napięcia sieci dostarczonego do falownika, na napięcie stałe służące do zasilenia jego obwodów mocy.

Powstałe za prostownikiem tętnienia prądu są wygładzane za pomocą baterii kondensatorów, która to składa się z jednego lub wielu wysokonapięciowych kondensatorów elektrolitycznych. Pełni ona również bardzo ważną rolę w magazynowaniu i oddawaniu energii w trakcie normalnej pracy falownika.

W przypadku zasilania falownika z jednofazowego napięcia sieci elektroenergetycznej 230VAC, na zaciskach baterii kondensatorów filtrujących pojawia się napięcie ok. 325VDC. W przypadku zaś, kiedy urządzenie zasilane jest trójfazowo z sieci o napięciu międzyfazowym 400VAC, napięcie na kondensatorach wynosi ok. 565VDC.
W praktyce, ze względu na wahania napięcia sieci, jej brak symetrii oraz jakość samych kondensatorów, powyższe napięcia mogą się różnić od wyżej podanych.
Czasami falownik przystosowany jest do zasilania innymi napięciami, lecz nie ma to większego znaczenia dla naszych pomiarów.

Napięcie na baterii kondensatorów jest wyprowadzane zazwyczaj na zaciski falownika oznaczane zwykle jako P+ i P-. Niestety nie wszystkie falowniki mają je dostępne, zwłaszcza urządzenia małej mocy posiadają wyprowadzony jedynie zacisk P+. W takim przypadku nie wykonamy pełnych pomiarów chyba, że zapewnimy sobie dostęp do brakującego zacisku wewnątrz urządzenia.

W skład układu zasilania wchodzi także rezystor startowy. Szerzej o tym rezystorze można przeczytać tutaj.

Rezystor startowy jest umieszczany zwykle szeregowo pomiędzy wyjściem prostownika a baterią kondensatorów filtrujących. Ma on za zadanie ograniczenie prądu ładowania kondensatorów w fazie po włączeniu zasilania. Dzieje się tak, gdyż jego rezystancja wraz z pojemnością kondensatorów tworzą pewną stałą czasową opóźniającą ich ładowanie zmniejszonym prądem.
Procesor falownika sterujący fazą rozruchu urządzenia, po określonym czasie, zwiera (zazwyczaj za pomocą stycznika) zaciski rezystora startowego eliminując tym samym jego wpływ na obwód zasilania falownika w dalszej fazie pracy.
Należy pamiętać, że w konstrukcjach opartych o aktywne zespoły prostownicze (mostki tyrystorowe) rezystor startowy nie jest zwykle stosowany, gdyż sterownik prostownika odpowiednio reguluje prąd ładowania baterii kondensatorów.

Uwaga
W trakcie wykonywania naszych pomiarów, warto uwzględnić obecność rezystora startowego, który podczas pomiarów obwodów zasilania stanowi rezystancję szeregową.

ad.2. BLOK WYJŚCIOWY

Blok wyjściowy falowników jest zwykle zrealizowany w oparciu o moduł lub moduły zwierające tranzystory IGBT. W mniejszych falownikach spotkać można pojedyncze tranzystory IGBT, lecz jest to już coraz rzadszy przypadek. Niezależnie od konstrukcji, z punktu widzenia jego działania, blok wyjściowy ma za zadanie zamienić prąd stały dostarczony z bloku zasilania a konkretnie z jego baterii kondensatorów, na przebieg zmienny (przemienny trójfazowy).
Istnieją również falowniki posiadające wyjścia jednofazowe, jednak nimi nie będziemy się tutaj zajmować, gdyż stanowią mniejszość i obejmują jedynie falowniki małych mocy. Ich pomiar jest identyczny, jak dla falowników o wyjściach trójfazowych z wyłączeniem zacisku brakującej fazy.
Należy również dodać, że niektóre konstrukcje wyposażone są od strony zacisków wyjściowych we wbudowane obciążenia o niewielkiej rezystancji, w takich konstrukcjach wykonanie poprawnych pomiarów jest bardzo utrudnione i wymaga użycia zaawansowanych przyrządów pomiarowych (np. mostka do pomiaru małych rezystancji).

Goodrive
Goodrive

Pomiary

Przed przystąpieniem do pomiarów i po upewnieniu się o braku napięcia na zaciskach falownika, zapewnij sobie swobodny dostęp do punktów pomiarowych, które stanowią zespoły zacisków:

  • Zasilania (przyłącze sieci) – R, S, T (opisywane również jako L1, L2, L3) lub L1, L2 (albo N) w falownikach z zasilaniem jednofazowym
  • Wyjściowe (przyłącze silnika) – U, V, W (opisywane również jako M1, M2, M3 albo T1, T2, T3)
  • Napięcia stałego (na baterii kondensatorów) oznaczane zwykle jako
    P+, P- (opisy ich jednak mogą być różnorakie, należy sprawdzić to w dokumentacji fabrycznej urządzenia)
Zaciski falownika (przykład)

Uwaga
Pomiary należy wykonywać przyrządem ustawionym na zakres pomiaru elementów półprzewodnikowych (zazwyczaj zakres ten jest oznaczony symbolem diody).

Poniżej zamieszczam tabelkę, która obrazuje poszczególne pomiary wraz z ich prawidłowym wynikiem. Niektóre wyniki liczbowe (wartości spadków napięć na złączach półprzewodnikowych) mogą się różnić od wartości przedstawionych w tabeli.

Tabela pomiarów falowników

Tabela do pobrania w formie pliku pdf jest dostępna Tutaj.

Uwaga
Pamiętaj, że wykonane pomiary, o których mówi niniejszy artykuł, mają jedynie charakter orientacyjny i mogą być tylko jednym z wielu czynników pozwalających postawić trafną diagnozę uszkodzeń falownika.

Przykład 1. Jeśli podczas jednego z pomiarów bloku zasilania wykryjesz całkowite zwarcie a dodatkowo falownik przyłączony do zasilania uszkadza, „wybija” zabezpieczenia, możesz być prawie pewny, że falownik ten jest definitywnie uszkodzony.

Przykład 2. Jeśli podczas pomiaru bloku wyjściowego jeden z pomiarów wykazuje odchylenie od podanej wartości a pomiary odłączonego silnika nie wykazują anomalii, nie możesz zdiagnozować w 100% uszkodzenia falownika.


Uwaga: Dla pełnej diagnozy napędu należy wykonać również diagnozę otoczenia falownika, w tym celu zapraszamy do przeczytania naszego artykułu „Diagnoza napędów z falownikami„.


Nie próbuj wykonywać samodzielnie napraw, jeśli nie jesteś pewien tego co robisz. W celu zaoszczędzenia czasu i obniżenia mogących powstać w ten sposób dodatkowych kosztów, skorzystaj z wiedzy i doświadczenia wykwalifikowanego serwisu naprawczego.


ZAPRASZAMY

Firma Elektronika Serwis ani autor tego artykułu nie ponoszą w żadnym wypadku jakiejkolwiek odpowiedzialności za powstałe w wyniku działań inspirowanych niniejszym artykułem straty materialne i/lub uszczerbek na zdrowiu.

Interfejs klawiatury PS/2 dla CA80

Projekt interfejsu komunikacyjnego umożliwiającego współpracę klawiatury PC posiadającej interfejs PS/2 z mikrokomputerem retro CA80.

Autor: Sławomir Jurkiewicz

Mikrokomputer CA80 z interfejsem i klawiaturą PS/2

Korzystając z zimnej i deszczowej w tym roku majówki, chciałbym zaprezentować projekt interfejsu mojego autorstwa. Od niedawna stałem się bowiem szczęśliwym posiadaczem i użytkownikiem mikrokomputera retro o nazwie „CA80”, zaprojektowanego przez polskiego inżyniera Stanisława Gardynika i wylansowanego w latach 80tych ubiegłego wieku przez jego firmę MIK.

Więcej o moich perypetiach z CA80 można przeczytać TUTAJ.

Założenia projektu

  1. Interfejs ma na celu zastąpienie oryginalnej klawiatury matrycowej standardową klawiaturą dla komputerów PC posiadającą interfejs PS/2 i złącze mini-DIN.
  2. Zarówno klawiatura PC, jak i mikrokomputer CA80 pozostają oryginalne, brak w nich w zasadzie jakichkolwiek modyfikacji (z wyjątkiem wyprowadzenia zasilania oraz sygnału resetu na złącze klawiatury [ZK] mikrokomputera CA80 – patrz schemat ideowy interfejsu).
  3. Interfejs wykonany jest na bazie ARDUINO w wersji NANO w formie dosyć kompaktowej płytki i zawiera ogólnodostępne części elektroniczne.
  4. Wszystkie sygnały interfejsu są pobierane ze złącza klawiatury (ZK) mikrokomputera CA80.
  5. Oprogramowanie ARDUINO jest uproszczone w maksymalnym stopniu a ilość zajętych obsługą interfejsu linii danych ARDUINO ograniczona do niezbędnego minimum.

Schemat ideowy i opis działania

Interfejs PS/2 CA80 - schemat
Interfejs – schemat ideowy

LINK do schematu w formacie PDF.

Idea działania interfejsu może być opisana w następujących krokach prostego algorytmu:

  1. Oczekiwanie mikrokontrolera Arduino na przyciśnięcie klawisza na klawiaturze PC.
  2. Pobranie danych (kodu naciśniętego klawisza) z interfejsu PS/2 klawiatury.
  3. Zdekodowanie kodu klawiatury PC.
  4. Odczekanie aż na wyjściu przeczesywania matrycy przycisków CA80 pojawi się właściwy sygnał. Wyjścia KA, KB, KC, KD złącza klawiatury CA80 (ZK) są, poprzez koder sprzętowy IC2, sprawdzane w pętli programu Arduino i na bieżąco porównywane z odczytanym i zdekodowanym kodem uprzednio pobranym z klawiatury PC.
  5. Pojawienie się poprawnego sygnału j.w. powoduje wygenerowanie przez interfejs odpowiedzi logicznej, która po zdekodowaniu sprzętowym (IC1) przekazywana jest do CA80 symulując zwarcie styków przycisku symulowanej klawiatury matrycowej.

Analizując schemat, możemy wyróżnić na nim 3 współpracujące ze sobą bloki funkcjonalne: koder (IC2), dekoder (IC1), sterownik (Arduino Nano).

  • Podstawowym zadaniem kodera opartego o układ cyfrowy 74147 jest zamiana sygnałów przeczesywania matrycy CA80 z postaci 1z4 na postać liczby z przedziału 0x03 do 0x07 (patrz tablica prawdy kodera 74147). Takie rozwiązanie prócz zaoszczędzenia jednego wejścia Arduino, daje również możliwość elektrycznego buforowania sygnałów z interfejsu klawiatury CA80 zmniejszając jego obciążenie.
Tablica prawdy kodera 74147

Zgodnie z tablicą prawdy układu kodera 74147 zarówno sygnały na wejściu jak wyjściu tego układu są zanegowane, czyli stanem aktywnym jest poziom niski „L”.

Jest możliwe pominięcie układu kodera 74147, w takim przypadku sygnały wyjściowe przeczesywania klawiatury (KA do KD) należy podłączyć bezpośrednio na wejścia modułu kontrolera Arduino.
W takim przypadku konieczna jest m.in. zmiana tablicy kodowania zawartej w programie interfejsu (funkcja getKeyString() ).

  • Dekoder IC1 oparty na układzie 74137 zamienia sygnały sterujące z modułu Arduino na postać 1z6. Rozwiązanie takie upraszcza sterowanie i redukuje ilość zajętych wyjść Arduino z 6 do 3.
Tablica prawdy dekodera 74137

Tablica prawdy kodera 74137 pokazuje, że jego sygnały wejściowe nie są zanegowane (aktywny jest tutaj stan wysoki „H”), w przeciwieństwie do sygnałów wyjściowych, gdzie aktywny jest niski stan sygnału – „L”.

Program dla Arduino

Sketch dla Arduino w spakowanym pliku *.INO jest do pobrania TUTAJ.

//------------------------------------------------------------------------------------------------------------------------
//      CA80 PS2 Keyboard Transcoder v2.3P (wersja produkcyjna z polskimi komentami
//       PCB v1.0 (Arduino NANO)
//------------------------------------------------------------------------------------------------------------------------
//  Autor: Sławomir Jurkiewicz (elserw@elserw.com)
//  Na podstawie: "Podłączamy stara klawiaturę do Arduino" by Kamil (https://starter-kit.nettigo.pl/author/kamil/feed/)
//    oraz "Zdalne sterowanie klawiaturą" by Natasza Biecek (http://bienata.waw.pl/ca808.php)
//------------------------------------------------------------------------------------------------------------------------

//Definicja funkcji pinów Arduino
#define CLK 2 //inp
#define DAT 8 //inp

#define QA 10 //inp
#define QB 11 //inp
#define QC 12 //inp

#define LED 13 //out
#define KA 5  //out
#define KB 6  //out
#define KC 7  //out

//Deklaracja i zerowanie bufora obsługi danych z klawiatury PC PS/2
const int BUF_SIZE = 11;
bool buffer[BUF_SIZE] = {0};
//Pozostałe zmienne dla procedur PS/2
int pos = 0;
bool ignoreNext = false;
unsigned long lastRead = 0;

int caCode = 0; //Bieżący kod naciśniętego klawisza wysyłany do CA80

void setup() {
  //Komunikacja monitora portu szeregowego Arduino do celów debugowania programu
  //Wszystkie linijki kodu zaczynające się od "Serial." można usunąć w gotowym programie 
  Serial.begin(9600);
  Serial.println("CA80 PS2 Keyboard Transcoder v2.3P");
  Serial.println("Ready...");

  //Ustawienie funkcji zdefiniowanych pinów w Arduino
  //Wejścia
  pinMode(CLK, INPUT);
  pinMode(DAT, INPUT);
  pinMode(QA, INPUT);
  pinMode(QB, INPUT);
  pinMode(QC, INPUT);
  //Wyjścia
  pinMode(LED, OUTPUT);
  pinMode(KA, OUTPUT);
  pinMode(KB, OUTPUT);
  pinMode(KC, OUTPUT);

  digitalWrite(LED, LOW); //Wygaszenie LEDa na płytce Arduino.
  PORTD = 0xE0;  //Ustawienie "1" na pinach D5,D6,D7 (KA, KB, KC). Dekoder IC1 ma wszystkie wyjścia Y0 do Y7 ustawione na "1"

  delay(1000); //Oczekiwanie na zadziałanie klawiatury PS/2 po włączeniu zasilania
  attachInterrupt(digitalPinToInterrupt(CLK), readData, FALLING); //Ustawienie przerwania od wyjścia zegarowego CLK klawiatury PS/2 (reakcja na zbocze dodatnie sygnału CLK) 
}

//Główna pętla programu - wczytanie, dekodowanie klawisza z PS/2 oraz zakodowanie go i wysłanie do CA80 (poprzez ustawienie w odpowiednim momencie wyjść dekodera IC1)
void loop() {
  if(pos != 0 && millis() - lastRead > 1000) {  //oczekiwanie na zapełnienie bufora klawiatury, którego zawartość jest kompletowana w przerwaniu (procedura "readData").
    pos = 0;
  }
  if(pos == 11) { //bufor PS/2 kompletny, wczytano kod klawisza z klawiatury PS/2
    pos = 0;
    int keyCode = getKeyCode(buffer); //Obróbka danych z bufora. W zmiennej "keyCode" jest kod klawisza z PS/2
    if(ignoreNext) {
      ignoreNext = false;
      return;
    }
    if(keyCode == 0xF0) { //Ignoruj kody puszczenia klawisza na PS/2
      ignoreNext = true;
      return;
    }
    //Wysłanie na port szeregowy terminala Arduino informacji o kodzie i nazwie wciśniętego przycisku
    Serial.print("PS/2=0x");
    Serial.print (String(keyCode, HEX));
    Serial.print (" ");
    String keyString=getKeyString(keyCode); //Zdekodowanie kodu klawisza PS/2 na jego nazwę (przy okazji w zmiennej "caCode" znajduje się kod klawisza dla CA80)
    Serial.print(keyString);
    
    if(caCode>0) {
      //Wysłanie na terminal Arduino informacji o kodzie dla CA80 wciśniętego klawisza na klawiaturze PS/2
      Serial.print (" CA80=0x");
      Serial.print (String(caCode, HEX));
      noInterrupts(); //zatrzymanie przwań
      sendKey(caCode); //wysłanie do CA80 kodu naciśniętego klawisza 
      interrupts(); //wznowienie obsługi przerwań
      digitalWrite(LED, !digitalRead(LED)); //zmiana świecenia LED - sygnalizuje wczytanie z klawiatury i wysłanie do CA jednego kodu
      Serial.print (" "); 
      pos = 0; //po włączeniu przerwań bufor klawiatury PS/2 będzie czytany od nowa   
    }
    Serial.println ("");
  }
}

void sendKey(int caCode) {
  //wysłanie kodu naciśniętego klawisza do CA80 (kod  znajduje się w zmiennej "caCode")
  //https://www.arduino.cc/en/Reference/PortManipulation

  int caCodeT = (caCode & 0xF0) >> 4; //modyfikacja zdekodowanego kodu klawisza
  
  for (int i = 0; i <= 20; i++) { //powtórz 20 razy wysłanie klawisza do CA80, aby przechytrzyć debouncing
    while (caCodeT!=(PINB & 0x1C) >> 2) { //czytaj porty 10,11,12 (QA, QB, QC) aby ustalić moment kiedy należy ustawić sygnały KA,KB,KC 
      //pętla oczekiwania na właściwy moment, czyli wystawienie przez CA80 odpowiednich sygnałów KA, KB, KC, KD 
    }  
    PORTD = (caCode & 0x07)<<5; //ustaw porty D5,D6,D7 (KA, KB, KC) w celu wysłania kodu do CA80
    delayMicroseconds(12); //podtrzymaj ustawienia do czasu kiedy CA80 skończy dekodowanie wysłanych mu danych - czas 12us jest krytyczny dla całego procesu
    PORTD = 0xE0;  //zapisz "111" do portów D5,D6,D7 w celu wyzerowania (KA, KB, KC)
  }
}


void readData() {
  //Sczytanie danych z klawiatury PS/2
  lastRead = millis();
  buffer[pos++ % 11] = digitalRead(DAT);
}

int getKeyCode(bool * buf) {
  //Na podstawie danych z bufora funkcja zwraca kod naciśniętego klawisza.
  bool parity = 1;
  int result = 0;
  if(buf[0] != 0) return -1;
  if(buf[10] != 1) return -2;
  for(int x = 0; x < 8; x++) {
    result |= buf[1+x] << x;
    if(buf[1+x]) parity = !parity;
  }
  if(buf[9] != parity) return -3;
  return result;
}

String getKeyString(int keyCode) {
  //Dekodowanie naciśniętego klawisza na podstawie jego kodu
  //  przy okazji w zmiennej "caCode" jest ustawiany kod dla CA80
  caCode=0; 
  switch(keyCode) {
    case 0x1C: caCode=0x52; return "A";
    case 0x32: caCode=0x51; return "B";
    case 0x21: caCode=0x64; return "C";
    case 0x23: caCode=0x63; return "D";
    case 0x24: caCode=0x62; return "E";
    case 0x2B: caCode=0x61; return "F";
    case 0x34: caCode=0x50; return "G";
    //case 0x33: return "H";
    //case 0x43: return "I";
    //case 0x3B: return "J";
    //case 0x42: return "K";
    //case 0x4B: return "L";
    case 0x3A: caCode=0x60; return "M";  //
    //case 0x31: return "N";
    //case 0x44: return "O";
    //case 0x4D: return "P";
    //case 0x15: return "Q";
    //case 0x2D: return "R";
    //case 0x1B: return "S";
    //case 0x2C: return "T";
    //case 0x3C: return "U";
    //case 0x2A: return "V";
    //case 0x1D: return "W";
    //case 0x22: return "X";
    //case 0x35: return "Y";
    //case 0x1A: return "Z";
    case 0x45: caCode=0x34; return "0";
    case 0x16: caCode=0x33; return "1";
    case 0x1E: caCode=0x32; return "2";
    case 0x26: caCode=0x31; return "3";
    case 0x25: caCode=0x44; return "4";
    case 0x2E: caCode=0x43; return "5";
    case 0x36: caCode=0x42; return "6";
    case 0x3D: caCode=0x41; return "7";
    case 0x3E: caCode=0x54; return "8";
    case 0x46: caCode=0x53; return "9";
    case 0x5A: caCode=0x30; return "ENT"; //"=" <ENTER>
    case 0x55: caCode=0x30; return "="; //"=" <ENTER>
    case 0x29: caCode=0x40; return "SPC"; //"." <SPACE>
    case 0x49: caCode=0x40; return "."; //"."
    case 0x05: caCode=0x65; return "F1";  //
    case 0x06: caCode=0x55; return "F2";  //
    case 0x04: caCode=0x45; return "F3";  //
    case 0x0c: caCode=0x35; return "F4";  //
    case 0x76: caCode=0x60; return "ESC";  //"M" <ESC>       
  }
  return "";
}

Płytka drukowana

Strona elementów (TOP)
Strona połączeń (BOTTOM)

Interfejs w trakcie uruchamiania.

Interfejs w trakcie uruchamiania (strona wierzchnia).
Interfejs w trakcie uruchamiania (strona spodnia).

W czasie tworzenia projektu wykorzystano następujące źródła:

  1. „Podłączamy starą klawiaturę do Arduino” by Kamil
  2. „Zdalne sterowanie klawiaturą” by Natasza Biecek
  3. „The PS/2 Mouse/Keyboard Protocol” (Link)