Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2019/01/Robot-kroki-8.jpg

Robot KROKI – Montaż i test układu obsługi enkoderów cz.8

autor: Rafał.

Artykuł z serii: "KROKI" - Robot przemysłowy, zbudowany na biurku


Od ostatniej relacji z budowy robota Kroki minęło już trochę czasu, więc płytki PCB zamówione w firmie zewnętrznej zdążył do mnie dotrzeć. Dzisiaj, pokrótce opiszę proces lutowania tych płytek oraz podłączenia ich do sterownika PLC. Przedstawimy sobie też ogólną zasadę działania tego układu, by dla wszystkich było już jasne jak dokładnie działa magistrala komunikacyjna pomiędzy poszczególnymi płytkami.

Płytki liczników

Na pierwszy ogień weźmy sobie cztery płytki na których znajdować się będą liczniki dedykowane dla każdego z czterech enkoderów. Są to mniejsze płytki, niż płytka układu sterowania, lecz jednocześnie płytki te mają na sobie więcej bardziej zagęszczonych układów scalonych.

Pierwszym etapem jest przygotowanie sobie wszystkich potrzebnych układów scalonych. Na biurko wyciągam wszystkie opakowania z potrzebnymi układami scalonymi, lecz z opakowań wyjmuję tylko zestaw scalaków na jedną płytkę PCB. Nie chcę mieć niepotrzebnego zamieszania na stanowisku, by nie głowić się później, gdzie położyłem dany układ.

Jak widać, miniaturyzacja w tym przypadku jest na stosunkowo wysokim poziomie jak na warunki amatorskie, a biorąc pod uwagę moje niewielkie doświadczenie przy lutowaniu tak małych elementów, miałem duże obawy czy proces lutowania przebiegnie sprawnie.

Na pierwszy ogień idzie górna warstwa płytki i dziewięć stosunkowo prostych do przylutowania elementów. Są to cztery układy zawierające bramki AND i i pięć układów scalonych liczników. Sam proces lutowania okazał się mniej straszny niż przypuszczałem. Odpowiednia ilość topnika, odpowiedni grot do lutownicy i lutowanie idzie bardzo sprawnie.

Po przylutowaniu tych układów pora przejść na drugą stronę płytki. Znajdują się na niej trzy układy rejestrów przesuwnych, jeden układ zawierający dwie bramki NOR oraz trzy układy z bramkami NOT. Te ostatnie były najbardziej wymagające, gdyż ich obudowa jest naprawdę niewielka. Najtrudniejszym zadaniem okazało się prawidłowe ustawienie układu i delikatne przychwycenie go lutując jedną z nóżek do płytki. Każde najmniejsze dotknięcie nóżek przez grot lutownicy powodowało delikatne przesuwanie się układu pomimo przytrzymywania go pęsetą. Po chwili walki układy oczywiście udało się przylutować, a kolejne płytki poszły już znacznie sprawniej 😉

Skończywszy lutowanie układów scalonych na drugiej stronie, zakończyliśmy najtrudniejszą część tej płytki. Pozostaje nam jedynie przylutować trzy złącza oraz dwie zworki adresujące naszą płytkę w magistrali.

Pierwsze dwa złącza, to dwu-pinowe złącza służące do podłączenia enkodera. Jedno z tych złączy służy jako zasilanie napięciem 5V, a drugie służy do podania na układy płytki sygnałów A i B generowanych podczas obrotu enkodera.

Największe złącze, to dwudziesto-pinowe złącze IDC magistrali łączącej wszystkie płytki układu. Przed przylutowaniem go do płytki trzeba go jednak odpowiednio przygotować. Nasza magistrala posiada 8 linii, którymi przesyłane są sygnały A i B ze wszystkich enkoderów do głównej płytki sterującej. Tam te sygnały są konwertowane do poziomu 24V i transmitowane na wejścia szybkich liczników sterownika PLC.

Problem jest jednak taki, że linie te przechodzą przez wszystkie płytki i tylko obecność pinów w gnieździe determinuje to, czy dany sygnał z danej płytki zostanie podany na magistralę, czy też nie. Musimy zatem usunąć ze złącza sześć pinów, które nie będą nam potrzebne. Które sześć pinów usuwamy? To zależy od numeru płytki w magistrali – zależne jest to od zworek, które również musimy wlutować w płytkę. Najważniejsze jest to, by żadna z płytek nie posiadała tych samych pinów we wtyczce i tych samych zworek na płytce. Każda płytka musi być unikalna, by nie zaburzyć przesyłu informacji poprzez magistrale.

Płytka układu sterowania

Teraz pora na serce naszego układu obsługi enkoderów, czyli płytkę układu sterowania. Jest ona już nieco większa niż pozostałe, jednak samo lutowanie powinno już być prostsze.

Od czego zaczynamy lutowanie? Tak jak wcześniej od układów scalonych po jednej ze stron. W skład tych układów wchodzą dwa generatory wraz z licznikami, jeden układ z bramkami AND, układ z bramkami NOT oraz transoptor odpowiedzialny za konwersję sygnału z poziomu 24V na sygnał 5V.

Również na tej samej stronie przylutujemy teraz elementy bierne, czyli kondensatory i rezystory. Przylutujemy również rezonator kwarcowy odpowiedzialny za taktowanie naszego generatora sygnału zegarowego oraz dwie diody, które wchodzą w skład układu zasilania z podtrzymaniem bateryjnym.

Przed przylutowaniem większych elementów takich jak złącza, gniazdo bezpiecznikowe i przetwornice napięcia, przylutujemy teraz układy po drugiej stronie płytki. Taka kolejność uprości nam po prostu cały proces lutowania. Bierzemy zatem dwa układy Darlingtona, które odpowiadać będą za konwersję poziomu napięć z 5V na 24V i lutujemy go na płytkę. Na tej stronie znajduje się także niewielki, pięcio-nóżkowy układ z bramką OR jak również znaczna ilość rezystorów i jeden kondensator ceramiczny.

Wracamy teraz na górna stronę płytki i bierzemy się za kolejne elementy. Na samym początku możemy przylutować dwie przetwornice napięcia. Jedna z nich obniża napięcie zasilające do poziomu 12V, a druga do poziomu 5V. Zaraz po nich lutujemy osiem złącz odpowiedzialnych za zasilanie płytki, oraz przesył danych pomiędzy płytką, a samym sterownikiem PLC.

Ostatni krok, to dwa największe elementy płytki. Gniazdo na bezpiecznik oraz gniazdo DIN magistrali danych pomiędzy naszymi płytkami. W przypadku płytki sterowania nie wyjmujemy z gniazda żadnych pinów – wszystkie sygnały z płytek liczników muszą trafić na naszą płytkę sterowania. To na niej sygnały A i B z enkoderów zostaną skonwertowane z poziomu 5V na poziom 24V, by później trafić do sterownika PLC.

Gotowy układ obsługi enkoderów

Mamy już polutowane wszystkie potrzebne płytki PCB z elektroniką, więc pora na montaż naszego układu obsługi enkoderów. Płytki te zostały zaprojektowane tak, by razem tworzyły tzw. „kanapkę”. Zostaną one skręcone za pomocą dystansów i razem będą tworzyć jeden układ elektroniczny.

Do skręcenie ich w jedna całość użyjemy niewielkich dystansów z gwintem M3 oraz podkładek izolujących. Do zakończenia brakuje nam już tylko jednego, czyli taśmy magistrali, która połączy wszystkie płytki. Na 20 żyłowej taśmie w równych odstępach zacisnąłem pięć wtyczek IDE 20 i połączyłem nimi nasze płytki. W ten sposób nasz układ sterowania jest już gotowy do działania!

Test działania – podłączenie

Pierwszą najważniejszą kwestią jest poprawne podłączenie naszego układu do sterownika PLC. Omówmy sobie zatem jeszcze raz do czego służą poszczególne złącza.

Na płytce na samym dole, czyli na płytce układu sterowania znajduje się w sumie 8 dwu-pinowych gniazd. Do czego one służą?

Pierwsze dwa z nich, to gniazda zasilające cały układ. Lewe gniazdo odpowiada za podtrzymanie bateryjne układu. Podpinamy tam źródło zasilania, którego napięcie może się wahać w przedziale od 2,5V do 18V. Jest to wystarczający zakres, by zasilić taki układ z wielu różnych źródeł zasilania bateryjnego/akumulatorowego. Prawe gniazdo to wejście zasilania 24V, które wykorzystywane jest w czasie normalnej pracy. Zakres napięcia wejściowego tego układu również ma pewną tolerancję i wynosi ona od 15 do 42V.

Kolejne cztery gniazda (licząc od lewej strony), to wyjścia sygnałów A i B z poszczególnych płytek. Wyjścia te są już w standardzie 24V więc podpinamy je bezpośrednio do wejść sterownika PLC. Pierwsze gniazdo od lewej strony odpowiada enkoderowi pierwszemu, a czwarte gniazdo odpowiada enkoderowi czwartemu.

Ostatnie dwa złącza służą do komunikacji pomiędzy sterownikiem PLC, a samą płytką. Piąte gniazdo od lewej, to dwa wyjścia, z których jedno jest sygnałem zegarowym, a drugi jest szeregowym wyjściem danych. Ostatnie gniazdo, to dwa sygnały wejściowe sterujące naszym układem. Poprzez te dwa sygnały możemy wyzwolić komunikację, dzięki której odbierzemy pozycję enkoderów zapisaną w licznikach lub też wyzerujemy te liczniki.

Kolejne gniazda znajdują się na płytkach liczników. Na każdej z tych płytek znajdują się dwa złącza, czyli w sumie osiem. Na każdej z tych płytek lewe gniazdo służy do zasilania enkoderów stabilizowanym napięciem 5V, a prawe służy do podania na układy wejściowe sygnałów A i B z poszczególnych enkoderów. Podsumowując wszystkie powyższe informacje, możemy podłączyć gotowy układ do sterownika PLC. Do testów wykorzystamy tylko jeden enkoder, którego wyjścia podłączymy jednocześnie do wszystkich wejść sygnałów A i B.

Test działania – Program PLC

Do przetestowania naszego układu, utworzymy sobie teraz nowy projekt w TIA Portal, dzięki któremu odczytamy wartości zapisane w naszym układzie obsługi enkoderów.

Tworzymy projekt zawierający sterownik S7-1200 1212C i przechodzimy do jego konfiguracji. Pierwszym ważnym krokiem będzie zmiana filtrów wejściowych na czterech pierwszych wejściach. Wejścia te będą wykorzystywane do sygnału CLK, sygnału danych oraz kanału A i B z enkodera. W programie będziemy sprawdzać, czy wartości odczytane przez szybki licznik sprzętowy sterownika PLC będą identyczne z wartościami odczytanymi z układu obsługi enkoderów. Zmieńmy zatem czasy tych filtrów na znacznie mniejsze, by nie wpływały one na odczyt szybkozmiennych sygnałów z enkodera.

Co dalej? Musimy napisać kilka funkcji, które odpowiadać będą za rozpoczęcie transmisji oraz resetowanie wartości zapisanych w układzie obsługi enkoderów. Najpierw jednak, musimy się zastanowić  jak w ogóle wygląda proces rozpoczęcia transmisji oraz odbiór danych.

Z poprzednich części pamiętamy, że nasz układ składa się z czterech płytek zawierających po pięć układów liczników. W sumie daje nam to 20 bitów danych na płytkę. Z drugiej strony jednak pamiętamy, że dane z liczników trafiają na rejestry przesuwne, które są już 24 bitowe. Którą wartość musimy zatem uwzględnić? 20 czy 24 bity? Oczywiście, że 24 bity, a wynika to z zasady działania wykorzystanych rejestrów przesuwnych.

Rejestry ze wszystkich płytek są połączone szeregowo, więc chcąc odebrać dane z płytki pierwszej, musimy najpierw odczytać bity z płytki czwartej, trzeciej i drugiej. Ze względu na długość każdego z rejestrów, musimy za każdym razem odczytać aż 24 bity. Odczytujemy zatem 20 bitów danych oraz cztery „puste” bity, które powinny przyjmować stan niski. Fakt ten można wykorzystać do kontroli poprawności odczytania danych z płytek. Jeśli któryś ze szesnastu „pustych” bitów nie będzie przyjmował stanu niskiego, to z góry możemy założyć, że coś jest nie tak i odebrane dane nie są prawidłowe.

Ostatecznie więc wiemy, że podczas odbioru danych odbierzemy w sumie 96 bitów – 24 bity z każdej z czterech płytek. Dodatkowo wiemy, że każdy ciąg 20 bitów danych poprzedzony będzie czterema pustymi bitami.

W celu odczytania danych z układu obsługi enkoderów wykorzystamy przerwania sprzętowe. Sygnał CLK z płytki podamy na wejście, na którym aktywowane będzie przerwanie od zbocza narastającego. W programie obsługi przerwania napiszemy krótki program, który będzie zapisywał aktualną wartość z wejścia danych do kolejnych komórek w pamięci.

Przed odczytem jakichkolwiek danych, musimy jednak wyzwolić naszą komunikację. Utworzymy więc również prostą funkcję, która będzie za to odpowiadać.  Co zawiera ta funkcja?

Po pojawieniu się bitu uruchamiającego komunikację, ustawiony zostaje licznik wskazujący liczbę pozostałych do odczytu bitów. Ustawiona wartość to 95, gdyż pierwszy bit zostaje odczytany jeszcze przed wykryciem pierwszego zbocza sygnału CLK. Kolejny krok, to wygenerowanie krótkiego impulsu na wyjściu INIT, który wyzwoli komunikację w układzie obsługi enkoderów.

W tym momencie układ nasz zaczyna transmitować zapamiętane pozycje, a sterownik PLC, poprzez przerwania od zbocza narastającego, zapisuje kolejne, odebrane bity.

Gdy nasza zmienna ustawiona na początku bloku funkcyjnego przyjmie wartość równą zero, to bit odpowiedzialny za uruchomienie odczytu komunikacji zostaje zresetowany. Opadające zbocze tego bitu powoduje wywołanie funkcji, która przekształca ciąg odebranych bitów na cztery zmienne typu DInt.

Odczytane bity oraz zmienne z gotowymi do odczytu pozycjami, znajdują się we wcześniej przygotowanym bloku danych.

Resetowanie wartości zapisanych w układzie obsługi enkoderów jest już dużo prostsze i polega ono na wywołaniu impulsów na dwóch wyjściach – INIT i RST. Funkcja, którą tworzymy wygląda zatem tak, że po pojawieniu się bitu odpowiedzialnego za zerowanie pozycji, aktywujemy dwa timer’y. Jeden generujący impuls o czasie trwania 100ms, a drugi o czasie trwania 10s – po takim czasie liczniki w naszym układzie zostaną zresetowane do wartości początkowych.

Ostatnim już krokiem będzie konfiguracja sprzętowego szybkiego licznika, który pozwoli ocenić, czy układ zbudowany na płytce poprawnie interpretuje sygnały generowane przez enkoder. Ustawiamy zatem wejścia z którymi ma działać nasz licznik oraz tryb pracy samego licznika.

W programie PLC, dodamy tylko jeszcze blok kontrolujący nasz licznik, by można było nadpisać jego wartość. Po co? O tym w kolejnym rozdziale.

Właściwy test działania

Po napisaniu prostego programu oraz podłączeniu płytki do naszego sterownika PLC, możemy  w końcu wypróbować działanie tego zestawu. Tworzymy więc „Watch Table”, poprzez którą przetestujemy naszą płytkę.  Dodajemy do niej bity uruchamiające transmisję oraz zerowanie, a także skonwertowane już pozycje enkoderów, wartość szybkiego licznika sprzętowego oraz bit za pomocą którego skopiujemy wartość odczytaną z układu do szybkiego licznika sprzętowego.

Pierwszym krokiem będzie oczywiście wgranie programu oraz konfiguracji sprzętowej do sterownika. Wchodzimy do naszej „Watch Table” i przechodzimy w podgląd online. Pamiętamy, że jest to nasze pierwsze uruchomienie układu obsługi enkoderów, więc wartości zapisane w licznikach mogą być losowe. Ustawimy je zatem do wartości początkowych za pomocą bitu M2.1 – „Start_resetu”. Po skończonym resecie bit M2.1 automatycznie zostanie wyzerowany, a my ustawimy bit M2.0 – „Start_odbioru”. W tym momencie układ obsługi enkoderów rozpoczyna transmisję, a my odbieramy dane poprzez wejście naszego sterownika.

Po ukończeniu odczytu danych, bit M2.0 również zostanie automatycznie wyzerowany, a ciąg bitów zapisany w bloku danych zostanie skonwertowany na cztery zmienne typu DInt. Pierwszy test, to sprawdzenie, czy wszystkie te zmienne przyjęły taką samą wartość. Jeśli już w tym momencie zauważymy jakieś różnice, to niestety, ale sama komunikacja działa niepoprawnie lub układy liczników nie zostały wyzerowane. Wartość, którą widzimy poniżej, to nie błąd, a rezultat jakiego oczekiwaliśmy. Liczniki po przywróceniu ich do wartości początkowych przyjmują taką właśnie wartość, a jest to mniej więcej połowa ich maksymalnej wartości.

Właściwy test dopiero przed nami, a żeby wykonać go poprawnie, to musimy mieć jakiś punkt odniesienia. Musimy wiedzieć o ile faktycznie obrócił się enkoder i jakiej dokładnie wartości oczekujemy po odczytaniu ich z układu. Do tego celu użyjemy szybkiego, sprzętowego licznika naszego sterownika PLC. Możemy przyjąć, że licznik ten jest jak najbardziej wiarygodny i to właśnie on będzie wskazywał naszą wartość wzorcową. Skopiujmy zatem odczytaną przed chwilą wartość do szybkiego licznika sprzętowego.

Po zrównaniu tych wartości możemy obrócić enkoder podłączony do układu i obserwować zmiany. Wartość szybkiego licznika zmieniła się natychmiastowo, lecz żeby zobaczyć zmianę wartości zapisanych w układzie obsługi enkoderów, to musimy ponowić transmisję danych. Uruchamiamy zatem transmisję i sprawdzamy odczytaną wartość. Tak jak widzimy poniżej, wartości ze wszystkich czterech płytek oraz wartość zapisana w szybkim liczniku sprzętowym jest identyczna.

Wykonajmy zatem jeszcze jeden test, gdzie enkoder zostanie obrócony o zdecydowanie większą ilość obrotów i ze zdecydowanie większą prędkością. Dodatkowo, będę często zmieniał kierunki obrotu tego enkodera i zobaczę, czy odczytane wartości nadal będą się pokrywać.

Tak jak widać powyżej, wszystkie wartości nadal się pokrywają, więc śmiało można uznać, że układ działa poprawnie.  Nasze układy liczników nie zgubiły ani jednego zbocza generowanego przez enkodery i o taki efekt właśnie nam chodziło.

Co dalej?

Test naszej elektroniki dobiegł końca i tym samym możemy już zamknąć rozdział dotyczący tego zagadnienia. Elektronika ta wystąpi co prawda jeszcze w przyszłości, gdy konstrukcja robota będzie łączona w jedną całość, lecz wtedy nie będzie ona już omawiana tak dokładnie.

Kolejne części tej serii, to tematy związane z układem sterowania robota KROKI. Już w kolejnej części postaramy się przygotować płytę montażową szafy sterującej wraz ze wszystkimi komponentami. Obszyjemy całą i szafę i sprawdzimy, jak to wszystko ze sobą współgra.

Projekt robota KROKI ma się ku końcowi, więc mam nadzieję, że każdy kolejny odcinek będzie coraz to ciekawszy 😉

Podziękowania

Projekt robota wydrukowanego w 3D „KROKI” koordynowany jest przez Zespół iAutomatyka.pl. W wyniku współpracy z firmami z branży udało się pozyskać wiele materiałów i urządzeń niezbędnych do ukończenia projektu. Szczególne podziękowania kierujemy do następujących firm:

 Firma Rittal dostarczyła do projektu robota „KROKI” wysokiej jakości obudowę szafy elektrycznej oraz niezbędne komponenty montażowe.

https://www.rittal.com/

 

Firma WAGO dostarczyła komponenty łączeniowe, złączki, zabezpieczenia i akcesoria montażowe.

http://www.wago.pl/

 

Dzięki uprzejmości Centrum Szkoleniowego EMT-SYSTEMS Rafał Lelito miał możliwość odbycia szkolenia z Programowania Robotów Kuka. Zobacz relację z tego wydarzenia.

http://emt-systems.pl/

 Firma IGE+XAO GROUP zapewniła pełne oprogramowanie See Electrical do projektowania schematów elektrycznych.

Pobierz za darmo: http://www.ige-xao.com/

 Firma NOCTUO dostarczyła część filamentów jako materiał do druku 3D części robota „KROKI”.

http://www.noctuo.pl/

 

 Firma EATON dostarczyła dotykowy panel HMI serii XV-300

https://www.moeller.pl/

Rafał Lelito


Więcej z serii: "KROKI" - Robot przemysłowy, zbudowany na biurku


Utworzono: / Kategoria: , , , ,

Reklama

Newsletter

Zapisz się i jako pierwszy otrzymuj nowości!



PRZECZYTAJ RÓWNIEŻ



NAJNOWSZE PUBLIKACJE OD UŻYTKOWNIKÓW I FIRM

Reklama



POLECANE FIRMY I PRODUKTY