Kurs Django Robot – #2 – Elektronika
Posted on: August 7, 2024
Kurs Django Robot – #2 – Elektronika
Czy da się połączyć pomarańcz, wkrętarkę i zawodowego chodziarza?
Na wstępie powiemy, że raczej nie :D. Ale poniżej przedstawimy bliżej komponenty naszego robota, czyli między innymi: Orange Pi 3 LTS, akumulator do wkrętarki oraz silnik krokowy ;D
1) Sterownik - Orange Pi 3 LTS:
Mózg naszego robota to Orange Pi 3 LTS, odpowiednik popularnej maliny - Raspberry Pi. Wybierając Orange Pi, pragnęliśmy przetestować ten zamiennik, który zdobywa coraz większą popularność i zyskuje uznanie wśród entuzjastów elektroniki.
Orange Pi 3 LTS przyciąga uwagę przede wszystkim swoją konkurencyjną ceną w stosunku do Raspberry Pi. Jest wyposażony w 64-bitowy procesor H6 Quad-core Cortex-A53 oraz 1GB/2GB LPDDR3 (w zależności od wersji), co czyni go mocnym rywalem dla Raspberry. Dodatkowo, Orange Pi 3 LTS posiada zintegrowane moduły WiFi i Bluetooth, co ułatwia komunikację z innymi urządzeniami. Jego 26-pinowy interfejs GPIO pozwala na sterowanie wieloma modułami jednocześnie, co jest kluczowe w projektach związanych z automatyką i robotyką. Warto też dodać, że Orange Pi 3 LTS jest bardziej energooszczędny od malinki.
Jednakże, jak każde urządzenie, Orange Pi 3 LTS ma również swoje wady. W porównaniu do Raspberry Pi, jego społeczność użytkowników jest mniejsza, co może oznaczać mniej dostępnych zasobów i wsparcia online. ALE my to zmienimy!
Potraktowaliśmy to trochę jako wyzwanie i test, dlatego warto podkreślić, że się nie zawiedliśmy. Chcieliśmy dać szansę temu zamiennikowi, zwłaszcza że Raspberry Pi stało się trudniej dostępne na polskim rynku. Wierzymy, że dzięki temu wyborowi nasz robot będzie nie tylko funkcjonalny, ale również innowacyjny, korzystając z najnowszych dostępnych technologii. W przyszłości planujemy również porównać działanie obu mikrokontrolerów w praktycznych zastosowaniach, aby dokładnie ocenić ich mocne i słabe strony. Zastosowanie modułu FPGA (Field-Programmable Gate Array) stanowiło intrygującą alternatywę, otwierając przed nami drzwi do szerokiego spektrum nowych możliwości i indywidualnych dostosowań. FPGA pozwala na głęboką personalizację i optymalizację, co jest nieosiągalne dla standardowych mikrokontrolerów. Niemniej jednak, korzystanie z FPGA wymaga bardziej zaawansowanej wiedzy i umiejętności w dziedzinie programowania sprzętowego. Dodatkowo, koszt takiego modułu jest znacznie wyższy w porównaniu z tradycyjnymi mikrokomputerami, takimi jak Orange Pi czy Raspberry Pi. Postaramy się kiedyś również nawiązać do tematu FPGA.
A według Ciebie, jaki sterownik warto by było rozważyć, może Arduino byłoby wystarczające?
2) Ruch robota - Silnik Krokowy:
W wersji, którą prezentujemy, można by użyć zwykłych popularnych silników na prąd stały. Chcemy jednak rozwijać ten projekt w przyszłości, dlatego wykorzystaliśmy dokładniejsze silniki krokowe, które w swoim przedziale cenowym oferują również większy moment obrotowy, kosztem ilości obrotów na minutę, ale nam zależało przede wszystkim na tym pierwszym.
Jeśli nie wiesz, jak działa silnik krokowy, to zastanów się nad działaniem zegarka analogowego. Wskazówka sekundowa nie porusza się płynnie, lecz przeskakuje z jednej sekundy na drugą. Podobnie działa silnik krokowy. Zamiast ciągłego ruchu, wykonuje precyzyjne "kroki".
Dlaczego Silnik Krokowy jest Wyjątkowy?
Za jego unikalne działanie odpowiadają elektromagnesy rozmieszczone wokół stojana. Aby wirnik (centralna część silnika) obrócił się, elektromagnesy są aktywowane jeden po drugim przez zewnętrzny układ sterowania, często mikrokontroler. Kiedy wirnik jest prawidłowo wyrównany z jednym z magnesów, kolejny jest aktywowany, zmuszając wirnik do wykonania następnego kroku.
Co to Oznacza dla Prototypu?
Dzięki tej precyzyjności możemy dokładnie kontrolować ruch robota, programując ilość i kolejność kroków. W rezultacie oprogramowanie może dokładnie śledzić położenie robota w danym momencie. Ale uwaga! Chociaż to podejście brzmi idealnie, mogą wystąpić drobne błędy, jak poślizg koła, których musimy być świadomi, oraz sama blokada koła, która na płaskiej, utwardzonej powierzchni się raczej nie zdarza, ale na trawie, czyli docelowym środowisku dla tego projektu, już tak.
Zalety i Wyzwania Silnika Krokowego
Główną zaletą jest precyzja. Robot zasilany silnikiem krokowym może szybko rozpędzać się, hamować i zmieniać kierunek. Jego prędkość obrotowa jest dostosowywana poprzez zmianę częstotliwości impulsów, co daje ogromne możliwości sterowania.
Jednak jak każda technologia, ma też swoje wyzwania. Na przykład, przy wyższych prędkościach może trudniej utrzymać precyzyjną kontrolę. Ponadto, istnieje ryzyko zgubienia kroku oraz pojawienia się niepożądanych oscylacji oraz konieczność zastosowania dodatkowych sterowników.
Podsumowując
Silnik krokowy jest cennym komponentem w świecie robotyki, oferując precyzyjną kontrolę ruchu. Jak w każdej technologii, ma swoje zalety i wyzwania, ale dla wielu entuzjastów robotyki jest kluczem do tworzenia zaawansowanych maszyn. Jeśli budujesz robota i zastanawiasz się, który silnik wybrać, rozważ silnik krokowy jako serce Twojego projektu. Jak wspomnieliśmy wcześniej, zdecydowaliśmy się na silnik o momencie trzymającym 1 Nm, masie 0,7 kg, wymiarach 56mm x 56mm x 56mm oraz maksymalnym poborze prądu 2A.
3) Sterownik do silnika krokowego - TB6600:
Dla entuzjastów robotyki i majsterkowiczów, wybór właściwego sterownika do silnika krokowego to klucz do sukcesu. Przedstawiamy sterownik TB6600 - niezawodne i wszechstronne narzędzie do Twojego projektu.
Specyfikacja:
- Zakres napięcia: 9-42 V
- Napięcie sygnałów logicznych: 3,3-12 V
- Natężenie prądu: 0,5-4 A
- Podział kroku: Duży zakres dostępnych kroków.
Kluczowe Cechy:
- Proste sterowanie: Dzięki połączeniom DIR (kierunek obrotu) i PUL (impuls), sterowanie obracaniem silnika jest łatwe i precyzyjne.
- Wejście ENA: Umożliwia szybkie włączanie i wyłączanie pracy silnika.
- Elastyczna kalibracja: Z łatwością dostosuj częstotliwość kroku za pomocą kodu.
Zalety i Wady:
✅ Uniwersalność: Sterownik TB6600 jest odpowiedni dla szerokiego zakresu napięć i natężeń.
✅ Zabezpieczenia: Zintegrowane systemy chroniące przed zwarciem i przegrzaniem.
❌ Wielkość: Jest nieco większy w porównaniu do innych dostępnych sterowników oraz trochę droższy w porównaniu do modułu A4988
Alternatywa - Moduł A4988:
Chociaż TB6600 ma wiele zalet, warto zwrócić uwagę na moduł A4988. Jest on wielkości monety jednozłotowej i często tańszy. Niemniej jednak, wymaga on bardziej złożonego kodu oraz większej ilości sygnałów sterujących.
Podsumowanie:
Wybór sterownika silnika krokowego zależy od Twojego projektu i preferencji. TB6600 to solidny wybór dla tych, którzy szukają niezawodności i wszechstronności, chociaż może być nieco większy w rozmiarze. Wybierz to, co najlepiej pasuje do Twoich potrzeb! My wybraliśmy właśnie ten.
4) Silniki do koszenia - silniki DC:
Do koszenia potrzebujemy włączyć i wyłączyć silniki, więc silniki prądu stałego (DC) nadadzą się idealnie. Użyliśmy dwóch, żeby być pewnym wystarczającego momentu i możliwości koszenia. Po testach, tak jak wspomnieliśmy wcześniej, lepszym wyborem byłby jeden mocniejszy, z racji bardzo dokładnej małej odległości między kosami, która musi być, żeby nie zostawiać po środku nieskoszonej trawy. Jednak nie jest to proste zadanie do zrealizowania.
Dlaczego ten silnik? Prosta odpowiedź: doskonałe parametry. Przy zasilaniu 15V osiąga aż 5000 obrotów na minutę (rpm), przy mocy 30W. Z tego wynika jego maksymalny pobór prądu, 2A (Moc [30W] = Napięcie [15V] * Natężenie [2A]).
Kiedy patrzysz na tradycyjne silniki do kosiarek, zazwyczaj oferują one 5-7 tysięcy rpm. Czyli mieścimy się w granicach tolerancji.
Ale to nie wszystko! Jego kompaktowe wymiary, długość około 100mm i średnica 42mm, sprawiają, że doskonale wpasuje się w naszą konstrukcję.
5) Sterownik do silnika DC - przekaźnik 4 kanałowy:
Kiedy planowaliśmy sterować silnikami DC, rozważaliśmy użycie odpowiedniej konfiguracji tranzystorów, ale biorąc pod uwagę niską cenę i niezawodność, wybraliśmy właśnie ten przekaźnik. Proste sterowanie włącz i wyłącz silniki, ale trzeba pamiętać, że Orange Pi operuje na napięciu 3,3V, podczas gdy niektóre silniki, jak w naszym przypadku, wymagają zasilania 15V. Jak więc sterować takimi silnikami, nie narażając mikrokomputera na przeciążenie?
Rozwiązanie: Przekaźnik 4-kanałowy!
Dlaczego warto zastosować przekaźnik w sterowaniu silnikami DC?
- Uniwersalność: Dzięki czterem kanałom możesz sterować różnymi komponentami. W naszym projekcie używamy dwóch kanałów dla dwóch silników DC, ale zostawiamy otwarte drzwi dla przyszłych modyfikacji.
- Prostota w obsłudze: Wystarczy podłączyć zasilanie i sygnały sterujące do przekaźnika, a będziesz mógł kontrolować różne urządzenia – nawet te zasilane napięciem 230V przy prądzie do 10A!
- Bezpieczeństwo: Dzięki przekaźnikowi możemy bezpiecznie i efektywnie sterować silnikami o wyższych napięciach z Orange Pi lub innego mikrokontrolera.
Wadą tego zastosowania jest wielkość, na którą mogliśmy sobie pozwolić, oraz niska częstotliwość przełączeń, na której nam nie zależało.
6) Czujnik do wykrywania przeszkody - HC SR04:
Szukając niezawodnego i budżetowego sposobu na wykrywanie przeszkód w Twoim projekcie robota mobilnego? Oto dlaczego warto rozważyć moduł HC-SR04!
- Zakres pomiarowy: Dzięki HC-SR04 możesz skutecznie mierzyć odległości w zakresie od 2 do 200 cm.
- Kompatybilność: Świetnie współpracuje z Orange Pi 3 LTS, Raspberry Pi oraz Arduino. Jeśli korzystasz z Orange Pi czy Raspberry, pamiętaj o konieczności redukowania napięcia z wyjścia Echo przy podłączeniu, by dopasować się do napięć sygnałowych 3.3V. W takim przypadku najlepiej zastosować dzielnik napięcia.
- Jak to działa? Wystarczy podać na pin TRIG impuls napięciowy (stan wysoki 5V) przez 10 us, a moduł przeprowadzi pomiar odległości przy pomocy fali dźwiękowej o częstotliwości 40 kHz. Wysłana fala odbija się od przeszkody i wraca do czujnika, a znając czas, w jakim to się stało oraz częstotliwość, jesteśmy w stanie obliczyć odległość.
- Bezpieczeństwo: Dla dodatkowego bezpieczeństwa warto rozważyć dodanie wyłącznika krańcowego. Działa on jak asekuracyjny backup - w razie gdyby czujnik odległościowy nie zadziałał poprawnie, czujnik krańcowy automatycznie wyłączy silniki.
Podsumowując, HC-SR04 to nie tylko niedrogi, ale też sprawdzony i szeroko stosowany sensor, idealny do robota mobilnego. Dlatego dodaliśmy ten czujnik do naszego projektu.
7) System wizyjny - kamera USB:
Chociaż nazwanie zastosowanego w naszym kursie rozwiązania "systemem wizyjnym" może wydawać się pewnym nadużyciem, to jednak wskazuje na nasze ambicje związane z dalszym rozwijaniem tego projektu. Mamy zamiar nieustannie doskonalić nasz prototyp, eksplorując i testując różne algorytmy systemów wizyjnych.
Obecnie wykorzystywana kamerka, której koszt to zaledwie 20 złotych, służy głównie do robienia zdjęć i prezentowania ich w naszej aplikacji. Mimo jej skromnej ceny i prostoty, planujemy wycisnąć z niej maksimum możliwości. Jednym z głównych atutów takich tanich kamer jest ich nieskomplikowana integracja - wystarczy podłączyć je do mikrokontrolera, aby zaczęły działać.
W przyszłości rozważymy również zastosowanie kamer o wyższej rozdzielczości. Trzeba jednak pamiętać, że takie rozwiązania będą wymagały dostosowania zasilania oraz pewnych modyfikacji w obecnej konstrukcji robota.
8) Zmiana napięcia na potrzeby różnych komponentów - przetwornica DCDC:
W naszym projekcie robota mobilnego zastosowaliśmy zaawansowaną przetwornicę prądu stałego typu step-down. Jej głównym zadaniem jest obniżenie napięcia, co pozwala na efektywne dostosowanie napięcia dla różnych komponentów w robocie.
Kluczowe cechy modułu przetwornicy:
- Typ: Przetwornica step-down obniżająca napięcie.
- Napięcie wejściowe: W zakresie 4V - 38V.
- Napięcie wyjściowe: Regulowane w przedziale 1,25V - 36V.
- Maksymalny prąd wyjściowy: Do 5A.
- Moc wyjściowa: 75W.
- Sprawność: Sięgająca nawet 96%.
- Częstotliwość pracy: 180 KHz.
- Zabezpieczenia: Moduł posiada zabezpieczenie przed zwarciem (ograniczenie do 8A) oraz funkcję automatycznego wyłączenia przy przekroczeniu dopuszczalnej temperatury. Nie posiada jednak zabezpieczenia przed odwrotną polaryzacją. Trzeba patrzeć na podłączenie plusa i minusa.
- Wymiary: 54mm x 23mm x 15mm.
Zalecamy zachowanie ostrożności podczas montażu przetwornicy. Błędne podłączenie polaryzacji może prowadzić do uszkodzenia urządzenia. Przed podłączeniem przetwornicy do jakiejkolwiek części robota, warto upewnić się, że napięcie wyjściowe jest właściwie skonfigurowane.
Ten moduł przetwornicy to kluczowy element, który zapewnia prawidłowe działanie wszystkich komponentów naszego robota, gwarantując jednocześnie bezpieczeństwo i wydajność pracy.
Przykład obliczania poboru prądu przy zastosowaniu przetwornicy:
Jeżeli mamy na przykład zasilanie 24V i chcemy zasilić komponent, który pracuje na napięciu 12V i pobiera 4A, przetwornica staje się niezbędna. Aby zrozumieć, jak to działa, warto skorzystać z podstawowej zasady zachowania energii: moc wejściowa (czyli iloczyn napięcia wejściowego i natężenia prądu wejściowego) jest równa mocy wyjściowej (iloczyn napięcia wyjściowego i natężenia prądu wyjściowego). Musimy też wziąć pod uwagę sprawność przetwornicy, czyli jaką część mocy możemy "stracić" w procesie przetwarzania, na przykład w postaci ciepła. Załóżmy, że nasza przetwornica ma sprawność 90%. Jeśli komponent ma pracować na 12V i pobierać 4A, to moc, jaką potrzebuje, wynosi 48W (12V * 4A).
Korzystając ze wzoru:
dla przykładowego zasilania 24V i potrzebnej mocy 48W otrzymujemy:
Jednakże, biorąc pod uwagę sprawność 90%, komponent faktycznie pobierze więcej niż 2A. Jeśli 2A stanowi 90% rzeczywistego natężenia (10% stracimy przy zmianie), to obliczając pełne 100% otrzymujemy wartość około 2,2A.
W skrócie: dzięki przetwornicy, komponent wymagający 12V i 4A przy zasilaniu 24V będzie faktycznie pobierał około 2,2A z akumulatora.
9) Zasilanie - akumulator do wkrętarki:
Kiedy planowaliśmy nasz projekt robota mobilnego, jednym z kluczowych wyzwań było dobranie odpowiedniego źródła zasilania. Trzeba uwzględnić napięcia wszystkich komponentów oraz przewidzieć ich maksymalne pobory prądu. Oto jak krok po kroku dobraliśmy akumulator do robota.
Kluczowe kwestie w wyborze zasilania:
- Napięcie komponentów: Musisz wiedzieć, na jakim napięciu działają wszystkie komponenty robota.
- Maksymalny pobór prądu: Znając maksymalny pobór prądu komponentów, możemy obliczyć wymaganą pojemność akumulatora.
- Typ akumulatora: Najpopularniejsze baterie to litowo-jonowe (Li-ion) i niklowo-metalowo-wodorkowe (Ni-MH). Zdecydowaliśmy się na Li-ion ze względu na ich lekką masę i wysoką wydajność. Są też na przykład akumulatory żelowe, które są tanie, pojemne i maksymalne natężenie nie jest dla nich przeszkodą, ale są bardzo duże i bardzo ciężkie, dlatego korzysta się z nich przy jeszcze masywniejszych projektach.
Obliczenia:
-
Orange Pi 3 LTS pobiera maksymalnie 3A przy 5V. Z akumulatora 18V przez konwerter napięcia z 90% sprawności, pobór wynosi:
-
Dwa silniki krokowe: Pracują na 18V i pobierają 2A każdy. Bez konwertera napięcia, pobór to 4A.
-
Dwa silniki DC: Zasilane są 15V i pobierają po 2A. Używając konwertera napięcia z 90% sprawności:
Sumując wszystko: 1A + 4A + 3,4A = 8,4A.
Dla bezpieczeństwa przyjęliśmy maksymalne natężenie wyjściowe akumulatora 10A. Aby komponenty działały przez ponad pół godziny na pełnym obciążeniu, pojemność akumulatora musi wynosić co najmniej 5,88Ah.
Wybór akumulatora:
Wybraliśmy dostępny na rynku akumulator do wkrętarki o napięciu 18V, pojemności 6Ah i maksymalnym natężeniu wyjściowym 10A. Akumulatory tego typu są nie tylko efektywne, ale także posiadają szereg zabezpieczeń, które wydłużają ich żywotność.
Podsumowanie całej użytej elektroniki oraz schemat elektryczny:
Prezentujemy powyżej schemat elektryczny robota mobilnego, który stworzyliśmy w ramach naszego kursu. Wszystkie komponenty są skutecznie zasilane z jednego akumulatora. Wykorzystaliśmy do tego przetwornice Step-Down, które obniżają napięcie. Dzięki potencjometrowi obrotowemu, możemy swobodnie regulować napięcie wyjściowe.
Kluczowe elementy naszego schematu to:
-
Przetwornice Step-Down: Umożliwiają regulację napięcia za pomocą potencjometru obrotowego.
-
Moduł przekaźnika 4-kanałowego: Użyliśmy go do sterowania przepuszczaniem prądu do silników DC. Aby przekaźnik przepuścił prąd, musimy podać napięcie minimum 3,3 V i nadać stan niski na odpowiednim pinie wyjściowym Orange Pi 3 LTS.
-
Sterowanie silnikami: W naszym systemie, oba silniki DC działają jednocześnie, dlatego ograniczyliśmy się do jednego sygnału sterującego.
- Przewody: wszystko połączone jest standardowymi kabelkami do przysłowiowego Arduino, jedynie bezpośrednie zasilanie silników krokowych to grubsze kable o przekroju 4mm^2.
-
Zabezpieczenia: Zastanawialiśmy się nad dodaniem dodatkowych bezpieczników, zwłaszcza dla silników DC. To ważne, ponieważ w przypadku hipotetycznej blokady silników (zablokowanie przez trawę) może dojść do gwałtownego poboru mocy, a w konsekwencji, przy cienkich kabelkach nawet zapłonu. Natomiast silniki krokowe są już odpowiednio chronione dzięki sterownikom, które posiadają odpowiednie zabezpieczenia.
-
Rozbudowa: Z racji tego, że maksymalnie zredukowaliśmy liczbę używanych pinów sterujących, jest jeszcze wiele możliwości rozbudowy. Można na przykład dodać więcej czujników odległościowych i krańcowych.
-
Dzielnik napięcia: Zastosowaliśmy go przy użyciu odpowiednich rezystorów, by zmniejszyć napięcie podawane do Orange Pi 3 LTS przez czujnik odległości.
Dodatkowo, warto dodać, że w trakcie realizacji projektu bawiliśmy się trochę lutowaniem, ale pewnie się tego spodziewałeś!
Category: Kurs Django Robot