Do Projektu iAutomatyka dołączyli:

https://iautomatyka.pl/wp-content/uploads/2018/11/logo.jpg

ROBOT KROKI – Kończymy projekt elektroniki cz.7

autor: Rafał.

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


Nadszedł czas, by zakończyć projekt układu elektronicznego dla robota KROKI. Tym razem zwiększymy tempo i postaramy się zaprojektować całą elektronikę, a także pokażę pokrótce jak wygląda projekt płytki PCB. Opiszę dzisiaj z czego tak właściwie będzie się składać mój układ i jakie funkcję będą spełniały poszczególne elementy.

Koncepcja

W poprzednim odcinku opisałem część układu odpowiedzialnego za detekcję zboczy sygnałów generowanych przez enkodery. Oczywiście wykorzystamy dzisiaj w praktyce ten układ lecz najpierw musimy się zastanowić nad całością tego projektu. Musimy bowiem tak zaprojektować układ, by późniejsza jego budowa nie przysporzyła nam zbyt wielu dodatkowych kosztów i problemów.

Cały układ, wstępnie podzielimy na 5 bloków, przy czym cztery z nich będą identyczne. Wynika to z faktu, iż dla każdego enkodera potrzebujemy tych samych układów. Każdy taki blok będzie wyposażony detektor zboczy, liczniki oraz rejestry przesuwne umożliwiające odbiór oraz przesył ciągu bitów zapisanych przez liczniki. Piąty blok, to układ sterowania, który poprzez magistralę będzie połączony ze wszystkimi pozostałymi układami.  Na jego pokładzie znajdzie się generator sygnału prostokątnego, dzielniki częstotliwości, przetwornice napięcia, transoptory oraz układy Darlingtona umożliwiające konwersję poziomów napięć.

Taki podział będzie kluczowy na etapie projektowania oraz wykonywania płytek PCB. Dzięki wykonaniu czterech identycznych płytek zamiast jednej większej, koszt wykonania tego układy przez firmę zewnętrzną będzie mniejszy. Czemu myślę o wykonaniu tych płytek w firmie zewnętrznej? Wszystko ze względu na zastosowane układy scalone, które mają niewielki raster wyprowadzeń. W domowych warunkach nie potrafiłbym wykonać płytek z tak małymi odległościami między ścieżkami.

Blok liczników

Na pierwszy rzut weźmy coś co zaczęliśmy już w poprzednim odcinku. Zastanówmy się teraz co dalej musimy zrobić z naszym układem detekcji zboczy.

Układ ten generuje nam krótkie impulsy w momencie pojawienia się zboczy opadających oraz narastających sygnałów A i B enkodera. Impulsy te podawane są na dwie, czterowejściowe bramki NOR, by pogrupować te sygnały. Pierwsza grupa sygnałów (Y1) to sygnały, które pojawiają się w momencie obrotu enkodera w prawo. Natomiast druga grupa sygnałów (Y2) pojawia się w momencie obrotu enkodera w lewo.

Mamy zatem dwie osobne linie, które musimy podać na kolejne elementy układu. Tylko co będzie tym kolejnym układem? Bez zastanowienia możemy powiedzieć, że będzie to licznik, ale jaki? Są bowiem liczniki, których działanie może być zgoła inne. Występują liczniki mogące zliczać tylko w górę lub tylko w dół. Istnieją liczniki posiadające tylko jedno wejście zegarowe, a funkcję zliczania w górę lub w dół wybiera się osobnym wejściem. Żadne z tych układów nie będą nas zadowalać, więc musimy poszukać czegoś innego.

Naszym ideałem jest w tym przypadku układ o oznaczeniach 74HC193. Jest to licznik posiadający dwa, osobne wejścia do zliczania impulsów w górę oraz w dół. Posiada on także wyjście równoległe, które pozwoli na proste przeniesienie wartości zapisanych w tych licznikach na dalsze układy.

Równie ważne są tu dla nas wyjścia TERMINAL COUNT UP i TERMINAL COUNT DOWN. Są to dwa wyjścia, które umożliwiają łączenie wielu liczników w jeden rozbudowany układ. Sygnały te pojawiają się w momencie przepełnienia się licznika, czyli w momencie przejścia z wartości „15” na „0” i na odwrót. Dobrze to widać w przebiegach czasowych, które zamieściłem poniżej.

Z powyższych przebiegów czasowych możemy również wywnioskować, że wejścia CLOCK UP i CLOCK DOWN są zanegowane, czyli ich stanem aktywnym jest stan niski. Jeśli ktoś zastanawia się, dlaczego w układzie detekcji zboczy, na samym końcu zastosowaliśmy bramkę NOR zamiast bramki OR, to tutaj macie wyjaśnienie. W czasie wystąpienia zbocza na jednym z wejść, drugie wejście musi przyjmować stan wysoki. W innym przypadku nasz licznik nie będzie poprawnie zliczał impulsów.

Wykresy te przydadzą się nam także w późniejszym okresie, gdy będziemy projektować układ sterowania do tych liczników. Widzimy na nich bowiem, jakie stany muszą przyjmować inne wejścia do poprawnej pracy licznika. Widzimy tu jakie stany wejść spowodują jego zresetowanie oraz jakie stany wejść spowodują jego ustawienie według sygnałów „PRESET DATA”.

Pojedynczy układ licznika 74HC193 jest układem 4-bitowym czyli do naszych zastosowań jest zdecydowanie za mały. Co więc zrobimy? W gotowym układzie połączymy ze sobą pięć takich liczników i uzyskamy dzięki temu 20 bitów. Jest to wartość, która na nasze potrzeby będzie w zupełności wystarczająca.

Mając powyższy układ właściwie nic nie stoi nam na przeszkodzie, by połączyć go z układem detekcji zboczy. W końcu połączenie tych dwóch układów, to tylko dwa sygnały. Wcześniej jednak muszę nanieść pewne zmiany na układ detekcji zboczy. Pierwsze testy, wykonane na tzw. pająku, wykazały, że jedna bramka NOT na wejściu tego układu to zdecydowanie za mało. Wykorzystane bramki mają tak krótki czas propagacji, że opóźnienie między sygnałami jest zdecydowanie za krótkie, by bramka AND wygenerowała jakikolwiek impuls. Dodajemy więc zatem dodatkowe bramki i łączymy powyższe układy. A efekt tych zmian prezentuje się następująco:

Rejestry przesuwne

Ostatni element, który znajdzie się w bloku liczników, to rejestr przesuwny. W jego przypadku, odpowiedni dobór samego układu też jest bardzo ważny. Rozróżniamy bowiem wiele różnych układów rejestrów przesuwnych, które w zależności od zastosowania, wykorzystuje się gdzie indziej.

W naszym przypadku najważniejsza funkcjonalność takiego rejestru, to to, by jego wejście danych było równoległe, a jego wyjście szeregowe. Taka budowa pozwoli odczytać równolegle bity z liczników, a później przesłać je dalej, za pomocą quasi-komunikacji szeregowej.

Inny ważny parametr takiego rejestru, to jego długość. Znalezienie 20-bitowego rejestru raczej nie będzie realne ze względu na wielkość obudowy jaką taki rejestr musiałby mieć, ale podobnie jak liczniki, takie rejestry można łączyć. Wybrałem więc rejestry 8-bitowe, które połączone dadzą mi 24 bity. Czy to źle? Oczywiście, że nie. Z naszego punktu widzenia, różnica między długością licznika a rejestru nie jest ważna, a może się nawet okazać przydatna, ale o tym powiem później, gdy przedstawimy sobie ramkę komunikacyjną, którą uzyskamy z naszych układów.

Podsumowując, do naszych celów użyłem rejestru o oznaczeniu 74LS165A.

Jest to rejestr stworzony z 8 przerzutników z tzw. zatrzaskiem. Pozwala on na „zatrzaśniecie” w przerzutnikach wartości chwilowej z liczników. W naszym przypadku jest to bardzo ważna funkcja, gdyż ewentualna zmiana tych wartości podczas przesyłania danych mogłaby całkowicie zmienić przesyłane wartości.

Dla ciekawskich, zamieściłem powyżej przebiegi czasowe wykorzystanego rejestru przesuwnego. Analizując te przebiegi oraz patrząc na schemat wewnętrzny tego układu, można poznać jego zasadę działania.

Powyżej zamieściłem schemat ukazujący sposób podłączenia liczników z rejestrami przesuwnymi. Wyjścia równoległe liczników połączyłem z wejściami równoległymi rejestrów i to właściwie tyle. Nie możemy jednak zapomnieć o czterech dodatkowych wejściach ostatniego rejestru. Nie możemy zostawić ich nie podłączonych, więc łączymy je z sygnałem GND.

Tak na dobrą sprawę, w tym momencie, pozostaje nam jedynie dorysować do układu gniazdo, do którego wpinać będziemy naszą magistralę. Musimy wyprowadzić na zewnątrz wejście oraz wyjście szeregowe rejestru przesuwnego, sygnał CLK dla rejestrów oraz sygnały zerowania i ładowania danych dla liczników i rejestrów. Dodatkowo, wyposażymy nasz układ licznika w zworki (na schemacie zaprezentowane jako rezystory), którymi wybierać będziemy numer płytki w magistrali. Komunikacja szeregowa z rejestrów musi bowiem przechodzić przez wszystkie płytki, by ostatecznie trafić do układu sterowania.

Skomplikowane? Myślę, że nie 😉

Tak zatem prezentuje się blok układu odpowiedzialny za detekcję zboczy z sygnałów enkodera, zliczenie ich oraz wysłanie do dalszych układów, a ostatecznie do samego sterownika PLC. Takich bloków wykonamy cztery sztuki, czyli tyle ile będzie enkoderów. W tym momencie pozostaje nam jedynie zaprojektować układ sterowania, by przejść do projektu płytek PCB.

Blok układu sterowania

Układ sterowania… Brzmi mądrze, ale co to konkretnie oznacza w naszym przypadku? Tak prawdę powiedziawszy, to nazwa „układ sterowania”, to dosyć duże nadużycie. Bowiem nie znajdzie się w tym układzie nic nadzwyczajnego. Składa się on z generatora przebiegu prostokątnego, dzielnika częstotliwości, kilku bramek, przetwornic napięcia oraz układów Darlingtona i transoptorów.

Pełną kontrolę nad tym układem obejmuje sterownik PLC i to jego można nazwać układem sterowania tych płytek. Nasz układ sterowania, w zależności od komend wydawanych przez PLC, zeruje liczniki, ładuje wartości do rejestrów lub rozpoczyna wysyłanie wartości z liczników do samego sterownika PLC. Ma on kontrolę nad pozostałymi blokami naszego układu, lecz sam, bez ingerencji sterownika PLC nie robi dosłownie nic.

Sam blok układu sterowania można rozbić na kilka pojedynczych układów. Pierwszym z nich jest układ zasilania, który dostarczał będzie napięcie dla wszystkich układów w magistrali oraz samych enkoderów.

Przy założeniach do tego projektu, ustaliłem, że układ ten musi posiadać podtrzymanie bateryjne. Podtrzymanie to zostało uwzględnione, a sama jego implementacja jest bardzo prosta. Wykorzystuje ona zasadę działania zwykłej diody. Akumulatory nominalnie podadzą na układ napięcie wysokości 6V. Jeśli napięcie zasilania 24V zostanie podane, to pierwsza przetwornica obniży to napięcie do 12V. Napięcie to zostaje podane na diodę D2 i dzięki polaryzacji diody w kierunku przewodzenia, napięcie to zostaje podane na kolejną przetwornicę. Napięcie z akumulatorów podawane jest na diodę D1. Jednak ze względu na występowanie po stronie katody tej diody napięcia wysokości 12V, dioda ta zostaje spolaryzowana zaporowo i prąd przez nią nie płynie. Układy są zasilane z napięcia 24V.

W momencie zaniku napięcia 24V, dioda D1 zostaje spolaryzowana w kierunku przewodzenia, a dioda D2 spolaryzowana w kierunku zaporowym. Przetwornica 5V jak i wszystkie układy do niej podłączone zasilane zostają z akumulatorów.

Wykorzystane diody Schottky’ego powoduje bardzo szybkie ich przełączanie co pozwala na uniknięcie spadków napięcia podczas zmiany źródła zasilania. Tak prosty układ jest jak najbardziej w pełni funkcjonalny i pozwala na niezaburzoną pracę elektroniki nawet podczas zaniku napięcia.

Drugi układ, który można wyróżnić z całego układu sterowania, to układ konwertujący napięcie z 5V na 24V wymagane przez sterownik.

Układ ten jest w gruncie rzeczy jeszcze prostszy niż sam układ zasilania. Składa się on dwóch układów zawierających po siedem układów Darlingtona, czyli wzmacniaczy zbudowanych z tranzystorów bipolarnych. Na wejścia tych układów podawane są sygnały, które chcemy przekonwertować na wyższe napięcie, a na wyjściu dołączamy jedynie rezystory podciągające napięcie do wartości 24V. Najważniejszą kwestią jest to, że układ ten niestety odwraca nam sygnał. Nie jest to może problem, ale w późniejszych etapach trzeba uwzględnić to, czy sygnał, z którym mamy do czynienia jest zanegowany, czy też nie.

Kolejny układ, który służy do konwersji napięć, to układ transoptora. Układ ten działa odwrotnie niż wyżej zaprezentowany, gdyż zmienia on napięcie z 24V na 5V.

Układ ten będzie konwertował sygnał inicjujący komunikację oraz sygnał resetowania liczników pochodzące z PLC na sygnał o poziomie napięć akceptowalnym przez kolejne układy. Transoptory również odwracają podawany na nie sygnał, więc na ich wyjściach wykorzystamy bramki NOT, które odwrócą oraz „uformują” sygnał z transoptora na taki, które będzie akceptowalny przez dalszą logikę.

Ostatnie, najważniejsze elementy naszego układu sterowania, to generator sygnału prostokątnie zmiennego oraz dzielniki częstotliwości. Układy te bezpośrednio będą taktować działanie rejestrów przesuwnych i to przy ich pomocy prześlemy pozycje ze wszystkich czterech enkoderów do naszego sterownika PLC.

Wykorzystane układy scalone to CD4060B, są to generatory z wbudowanym 14-biotywm licznikiem/dzielnikiem częstotliwości. W moim układzie, pracować będą dwa takie generatory w dwóch różnych konfiguracjach. Jedna z nich zakłada pracę generatora z rezonatorem kwarcowym 8Mhz. Wygenerowany sygnał wewnętrznie trafia na wbudowany licznik, gdzie zostaje podzielony. Sygnał po 14–bitowym dzielniku częstotliwości, trafia na kolejny układ CD4060B, gdzie jego częstotliwość ponownie zostaje podzielona.

Sygnały o różnych częstotliwościach oraz odpowiedni układ kombinacyjny powodują następujące działanie tego układu:

  • W przypadku podania krótkiego impulsu na wejście INIT, liczniki w obydwu generatorach zostają zresetowane, a rejestry przesuwne odczytują wartości  z liczników enkoderów. Po około czterech sekundach, sygnał CLK zostaje podany na rejestry przesuwne oraz na sam sterownik PLC. Zgodnie ze sygnałem CLK, sterownik PLC odczytuje kolejne bity zapisane w rejestrach. Po kolejnych czterech sekundach, sygnał CLK przestaje być podawany na rejestry oraz sterownik PLC, a komunikacja zostaje zatrzymana. Podczas całej tej operacji, wejście RESET musi przyjmować stan niski.
  • W przypadku chęci zresetowania liczników enkoderów, ponownie podajemy krótki impuls na wejście INIT. Jednak tym razem, podajemy  również sygnał RESET, który musi trwać minimum 8s. Po takim czasie wszystkie liczniki enkoderów zostaną wyzerowane i przyjmą wartość „0”.

Łącząc wszystkie te bloki w jeden wspólny schemat, powstaje nam układ sterowania z funkcją podtrzymania bateryjnego. Układ ten połączony magistralą z pozostałymi układami liczników, pozwala nam na odczyt i zapamiętanie pozycji, a także późniejsze jej wysłanie do sterownika PLC. W tym momencie pozostaje jedynie zaprojektować płytki PCB, które zostaną wykonane przez firmę zewnętrzną.

Płytki PCB

Posiadamy już schematy obydwu układów. Jeden z nich, to układ sterowania, a drugi, to układ liczników z rejestrami przesuwnymi. Pora teraz zaprojektować płytki na których będziemy mogli polutować i przetestować zaprojektowane układy. Niestety, proces ten jest bardzo żmudny, a odpowiednie ułożenie układów na płytce uzyskujemy po wielu godzinach prób.

Jak zatem wygląda ten proces?

Na samym początku dostajemy pusty projekt z elementami rozmieszczonymi po lewej stronie. W tym momencie stajemy nad najtrudniejszym dla nas zadaniem. Musimy tak rozmieścić elementy, by nie skomplikować sobie późniejszego łączenia układów ścieżkami na płytce. Czym więcej przecinających się ścieżek tym dla nas i dla naszego projektu gorzej. Musimy maksymalnie zminimalizować potrzebę tworzenia tzw. przelotek, czyli metalizowanych otworów łączących dwie warstwy płytki.

W moim przypadku, ograniczeniem jest także umiejscowienie złączy oraz wymiary samej płytki. Już wcześniej zaprojektowałem płytkę liczników, a że wszystkie te płytki zamierzam złożyć w tzw. kanapkę i połączyć je za pomocą dystansów, to nową płytkę muszę dostosować do tej już zaprojektowanej.

Elementy mamy już rozmieszczone. Naniosłem także miejsca na cztery otwory montażowe oraz zaznaczyłem krawędzie płytki. Teraz pora przejść do etapu nanoszenia poszczególnych ścieżek na płytce. Jako pierwsze, postaram się ułożyć wszystkie ścieżki sygnałowe. Zasilanie i masę zostawię na sam koniec, gdyż nie jest to aż tak newralgiczne dla tego projektu.

Jeśli chodzi o sam sposób i etykę prowadzenia ścieżek na płytkach PCB, to niestety ale jest to temat rzeka i ciężko, żebym rozpisywał się o tym w artykule, który w ogóle tego nie dotyczy 😉 Jestem wręcz świadom, że ja sam nie do końca projektuję te płytki poprawnie, gdyż doświadczenie na tej płaszczyźnie mam niewielkie.

Przedostatnim etapem jest poprowadzenie ścieżek zasilających wszystkie układy na płytce. Niejednokrotnie etap ten wymaga naniesieniu paru zmian we wcześniej ułożonych ścieżkach, gdyż czasami inne sygnały przeszkadzają przy prowadzeniu zasilania do wszystkich układów.

Płytka prawie zaprojektowana. Zatem co dalej? Na sam koniec zajmiemy się lekką kosmetyką. Zarówno na jednej jak i drugiej warstwie dodamy tzw. „Polygon”, czyli wylewki masy otaczające inne ścieżki, a także dodamy kilka opisów identyfikujące samą płytkę. Tym samym zakończyliśmy projekt PCB i choć tutaj trwało to kilka chwil, to osobiście musiałem spędzić kilka dni, by ostatecznie uzyskać taki efekt jaki chciałem 😉

Projekt PCB – Co dalej?

Po zaprojektowaniu obydwu płytek, pora przesłać projekt do firmy, która przeistoczy nasz projekt w realną płytkę. Czas wykonania płytek PCB, to około 10 dni, więc mniej więcej za taki okres wezmę się za lutowanie testy i napisanie relacji z kolejnego etapu budowy robota KROKI.

Tymczasem, pora już kończyć te część serii. Mam nadzieję, że dalej z niecierpliwością śledzicie moje wpisy i czekacie na efekt końcowy. Zaraz po zakończeniu prac z częścią elektroniczną zabierzemy się za projekt oraz obszycie szafy sterowniczej. Sama budowa mechaniczna robota jest już coraz bliżej ukończenia, więc pora wziąć się za sterowanie, które myślę, że będzie najciekawszą częścią tej serii.

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
  • Monitorowanie obciążenia i rozdział potencjałów w jednym kompletnym rozwiązaniu To innowacyjny system dystrybucji napięcia 24 V DC zapewniający monitorowanie obciążenia i dystrybucję potencjałów w jednym kompletnym rozwiązaniu. Bezawaryjna ...
  • Sterowniki kompaktowe, modułowe i zintegrowane, CODESYS V3 (programowanie, wizualizacja, komunikacja), Krótkie cykle czasowe, EtherCAT, BACnet (opcjonalnie), Modbus, CANopen, Porty szeregowe: RS232, RS485, 2 konfigurowalne karty Ethernet, W...
  • Produkty i rozwiązania firmy SICK są równie różnorodne jak codzienność w przedsiębiorstwie. Szkolenia SICK dla użytkowników umożliwiają zdobycie wiedzy na temat zróżnicowanej oferty naszych innowacyjnych produktów w formie dostosowanej do k...
    Link: Terminy
  • Kurs zaczyna się od uniwersalnych porad związanych z czytaniem schematów elektrycznych. Następnie, Agata stopniowo wprowadzi Cię w zagadnienia związane z wykorzystaniem oprogramowania podczas tworzenia kompletnej dokumentacji elektrycznej. ...
    Link: Terminy
  • ROUTER VPN EWON COSY 131 Zapewnia sprawny i prosty w obsłudze zdalny dostęp do dowolnego urządzenia Kompatybilność z najważniejszymi markami i protokołami sterowników PLC (m.in. Siemens, Allen-bradley, Omron…) Szybie zarządzenie roote...
  • Ten kurs zawiera podstawy z dziedziny serwomechanizmów. Składa się z pierwszego modułu wprowadzającego, pełnego kursu o serwomechanizmach. Mini kurs przeprowadzi Cię przez podstawowe zagadnienia związane z serwomechanizmami. Zaczniemy od sa...