Mikrokontrolery Arduino idealnie nadają się do sterowania siłownikiem liniowym Progressive Automations. Jednak, jak większość mikrokontrolerów, mają ograniczenia prądowe dla wejść/wyjść pinów. Przekroczenie tych limitów może spowodować natychmiastowe i trwałe uszkodzenie Arduino, zwłaszcza przy sterowaniu wysokoobciążonym przemysłowym siłownikiem liniowym. Nawet mikro lub mini siłownik liniowy może być zbyt wymagający, aby zasilać go bezpośrednio z Arduino.
Rozwiązaniem jest użycie nakładki sterującej silnikiem MegaMoto z Arduino (MegaMoto Plus mostek H lub kontroler MegaMoto GT). Te nakładki pozwalają zasilać siłownik liniowy osobno, bez ryzyka uszkodzenia Arduino. Umożliwiają też wyzwalanie ruchu do przodu i do tyłu sygnałem z Arduino.
Przejdźmy przez możliwości MegaMoto i zobaczmy, jak sterować siłownikiem liniowym za pomocą Arduino.
Który model MegaMoto będzie odpowiedni do Twojego projektu?

MegaMoto to nakładka, co oznacza, że możesz podłączyć ją bezpośrednio na Arduino bez konieczności lutowania dodatkowych przewodów. Dzięki tej konstrukcji możesz ułożyć w stos 3 sztuki modeli Plus, aby zapewnić sterowanie dwukierunkowe 3 siłowników liniowych lub jednokierunkowe 6 siłowników liniowych. Jeśli planujesz układanie w stos, zalecamy model Plus, ponieważ wentylator modelu GT utrudnia piętrowanie.
MegaMoto Plus przyjmuje napięcie wejściowe 5–28 V i może dostarczać 20 A prądu z chwilowymi skokami do 40 A. MegaMoto GT, dzięki wentylatorowi i radiatorom, przyjmuje 6–35 V i może dostarczać 35 A prądu z chwilowymi skokami do 50 A. Oba modele się sprawdzą, ale w zależności od zastosowania upewnij się, że wybrany siłownik liniowy przy pełnym obciążeniu nie pobiera prądu przekraczającego maksymalny prąd MegaMoto.
Czego będziesz potrzebować
Oto lista elementów potrzebnych do uruchomienia MegaMoto:
- 1 x RobotPower MegaMoto Motor Driver Shield
- 1 x Arduino Mega
- 1 x PA-14-12-50 (używamy czujnika sprzężenia zwrotnego w tym siłowniku liniowym, ale możesz użyć dowolnego siłownika, pod warunkiem że maksymalny pobór prądu nie przekracza maksymalnego prądu MegaMoto)
- 1 x PS-20-12 (lub dowolny zasilacz dopasowany do siłownika liniowego, którego zamierzasz użyć)
- 1 x Czujnik ultradźwiękowy
Nowy i ulepszony mini siłownik PA-01 (następca PA-14) to aktualnie oferowany przez nas model z szeregiem dodatkowych korzyści. Aby porównać, zobacz tabele poniżej i aktualizuj bez obaw!
|
|
PA-01 |
PA-14 |
|
Opcje obciążenia dynamicznego |
16, 28, 56, 112, 169, 225 lbs |
35, 50, 75, 110, 150 lbs |
|
Maksymalne obciążenie |
225 lbs |
150 lbs |
|
Najszybsza prędkość |
3.54 "/sec |
2.00"/sec |
|
Klasa szczelności IP |
IP65 |
IP54 |
|
Opcje skoku |
1" to 40" |
1" to 40" |
|
Sprzężenie zwrotne efektu Halla |
Opcjonalne |
No |
Krok 1: Okablowanie pinów sterujących/zasilania
Okablowanie do sterowania siłownikami liniowymi za pomocą Arduino jest dość proste i można je podzielić na trzy główne części: połączenie MegaMoto z Arduino, MegaMoto z zasilaczem oraz MegaMoto z siłownikiem liniowym. Dodatkowym, opcjonalnym krokiem jest dodanie czujnika ultradźwiękowego do wyzwalania ruchu siłownika liniowego do przodu i do tyłu. Jeśli zdecydujesz się nie używać czujnika ultradźwiękowego, będziesz musiał dostosować kod Arduino dla tego projektu.
MegaMoto do Arduino
Nie wymaga to dodatkowego okablowania. Wystarczy wyrównać piny MegaMoto z pinami Arduino.
MegaMoto do zasilacza
- MegaMoto + do V+
- MegaMoto - do V-
Siłownik (złącze 6-Pin) do Arduino/MegaMoto
- Motor+ do MegaMoto A
- Motor- do MegaMoto B
Czujnik ultradźwiękowy do Arduino/Megamoto
- VCC do 5V
- GND do GND
- Trig do pinu 35
- Echo do pinu 40
Piny czujnika mają 2 zworki. Jedna zworka (pionowa), łącząca A2/A3, służy do połączenia czujników prądu obu połówek mostka H. W zastosowaniach wysokoprądowych (10 A+) zaleca się pozostawić tę zworkę, aby przez czujniki nie przepływał zbyt duży prąd, co wydłuży ich żywotność.
Krok 2: Programowanie Arduino
MegaMoto otrzymuje polecenia z Arduino, aby wyzwolić układ mostka H i dostarczyć zasilanie do siłownika liniowego. Kolejne polecenie z Arduino może przełączyć mostek H i odwrócić kierunek ruchu siłownika liniowego.
Podłącz Arduino przez USB do laptopa/komputera stacjonarnego i wgraj poniższy kod Arduino dla siłownika liniowego, korzystając z Arduino IDE. Upewnij się, że w IDE wybrano właściwą płytkę i port COM.
Czujnik ultradźwiękowy wysyła impuls (ping) wyzwalany przez jeden z pinów Arduino. Ten impuls odbija się od obiektu i jest wykrywany przez odbiornik. Gdy odbiornik wykryje ping, wysyła impuls do Arduino. Równanie w kodzie określa, jak daleko znajduje się obiekt.
Jeśli obiekt znajduje się w określonej odległości, Arduino można zaprogramować tak, aby w zależności od potrzeb wysuwał lub wsuwał siłownik. Ponieważ większość naszych siłowników ma wewnętrzne wyłączniki krańcowe, siłownik automatycznie zatrzyma się na końcach, nawet jeśli MegaMoto nadal dostarcza zasilanie, ponieważ wyłącznik krańcowy je odcina.
Krok 3: Modyfikacja kodu
Kod Arduino dla siłownika liniowego można modyfikować na różne sposoby w zależności od zastosowania. Na przykład możesz użyć siłownika liniowego Progressive Automations, który nie ma czujnika efektu Halla ani czujnika ultradźwiękowego. MegaMoto możesz wyzwalać z Arduino w zaprogramowanych odstępach czasu lub za pomocą przycisku podłączonego do Arduino.
W powyższym przypadku możesz zakomentować linie kodu dotyczące czujnika ultradźwiękowego i czujnika efektu Halla. PWMA/B będzie sterować wysuwem/wsuwem w zależności od tego, jak podłączysz siłownik do zacisków MegaMoto A/B.
Prędkość silnika można kontrolować poleceniem analogWrite na odpowiednim pinie, aby utworzyć sygnał PWM. Prędkości mogą być w zakresie 0–255, co daje silnikowi 0–100% napięcia z zasilacza.
Inny pomysł na kod Arduino dla siłownika liniowego to ustawienie limitów prądu, aby wyłączyć MegaMoto, gdy prąd przekroczy wartość progową, jednak wymaga to przeliczenia surowego wskazania prądu na rzeczywisty prąd i nie jest w 100% dokładne.
Podsumowanie

Użycie MegaMoto z Arduino to wygodny sposób sterowania siłownikiem liniowym Progressive Automations, który przy pełnym obciążeniu pobiera wysoki prąd. Co więcej, zapewnia szybki i prosty sposób sterowania ruchem wysuwu i wsuwu siłownika. Teraz, gdy wiesz, jak sterować siłownikiem liniowym za pomocą Arduino, dostosuj kod do swojej aplikacji — zacznij od podstaw i stopniowo dodawaj bardziej złożone elementy oraz kod, aby uniknąć czasochłonnego rozwiązywania problemów.
Jeśli masz jakiekolwiek pytania dotyczące tego artykułu lub naszych produktów, skontaktuj się z nami, a chętnie pomożemy!