Arduino to w jednym społeczność\firma\projekt open-source, który specjalizuje się w mikrokontrolerach – ich budowie i programowaniu. Arduino oferuje też proste zestawy do łatwego montażu. Kontrolery Arduino to małe sterowniki układów scalonych i płytek, które umożliwiają zdalne sterowanie określonym sprzętem. Te mikrokontrolery obsługują sygnały cyfrowe i analogowe, dzięki czemu można je wykorzystać z szeroką gamą urządzeń – niezależnie od tego, czy same są cyfrowe, czy analogowe. Mikrokontrolery te można stosować z siłownikami liniowymi, aby nimi sterować.
W Progressive Automations nawiązaliśmy współpracę z Arduino, aby dostarczyć sterowniki PLC najwyższej jakości i zapewnić więcej opcji sterowania, niż kiedykolwiek uważano za możliwe w przypadku siłowników liniowych. Te programowalne sterowniki logiczne spotyka się w urządzeniach produkcyjnych, liniach montażowych, rafineriach ropy oraz w różnych systemach elektromechanicznych. Tym, co je wyróżnia na tle większości systemów sterowania, są liczne wejścia i wyjścia, większa odporność na udary i wibracje oraz wiele możliwości personalizacji. Poniższy schemat pokazuje prostotę okablowania siłownika.

Zakres możliwości sterowników PLC
W większości systemów sterowania ruchem masz zwykle kontrolę tylko nad wysuwaniem i wsuwaniem jednostki z jej normalną prędkością, natomiast PLC oferują znacznie więcej. Zapewniają pełną kontrolę prędkości naszych jednostek, aby ruch był płynny, a także umożliwiają dopasowanie prędkości w modelach ze sprzężeniem zwrotnym. Możesz też sterować kierunkiem i pozycją swojej jednostki, a także aktywować ją w zależności od temperatury, wilgotności, dźwięku i wielu innych parametrów – w zależności od używanego modelu. Jak widać na schemacie okablowania powyżej, podłączenie siłownika liniowego do PLC jest również proste. Poniższy przykład wykorzystuje Arduino Uno, Due, Mega, ADK, Leo oraz przystawki Ethernet. Możesz nawet łączyć ze sobą oddzielne płytki sterujące, aby zyskać jeszcze większe możliwości kontroli. Można je ułożyć w stos do 3 sztuk, aby sterować trzema jednostkami niezależnie – jak w przykładzie powyżej. Jeśli to za mało, możesz dodać przekaźniki, by sterować aż 6 jednostkami. Rozwiązanie to obsłuży wszystkie nasze modele przy pełnym obciążeniu, z wydajnością 20 A. PLC mają też sprzężenie zwrotne prądowe, które pozwala monitorować obciążenie i rozszerzać funkcjonalność programu.
Mikrokontroler Arduino
Te mikrokontrolery mają w sobie szereg mikroprocesorów, które pomagają połączyć siłownik liniowy i Arduino. Wszystkie płytki mają piny i procedury, które – jak wspomniano – pozwalają im sterować sprzętem zarówno cyfrowym, jak i analogowym. Dzięki temu mogą współpracować z możliwie największą liczbą innych układów. Mikrokontrolery są wstępnie zaprogramowane specjalnym programem ładującym (bootloaderem). Ułatwia to sterowanie siłownikiem liniowym za pomocą Arduino, ponieważ upraszcza dodawanie programów sterujących urządzeniem.
Wszystkie mikroprocesory mają własny system operacyjny i standardowy port USB do przenoszenia aplikacji z komputera na sam mikroprocesor. Nowsze wersje procesorów są wyposażone w technologię Bluetooth. Mikroprocesory to bardzo małe procesory komputerowe, które skupiają całą moc CPU komputera w jednym układzie scalonym do sterowania urządzeniem. W tym przypadku służą do sterowania siłownikiem liniowym z Arduino. To uniwersalny układ – lub zestaw układów – który przetwarza dane binarne, aby wykonywać obliczenia i generować wynik.
Sprzęt potrzebny do sterowania siłownikiem liniowym za pomocą Arduino
Arduino jest bardziej złożone, niż mogłoby się wydawać. Zamiast po prostu podłączyć silnik do pinów na płytce, należy bardzo uważnie kontrolować pobór prądu. Można zastosować sterownik silnika lub mostek H, ale przy sterowaniu siłownikiem liniowym z Arduino warto rozważyć jeszcze dwie możliwości. Po pierwsze: użyć przekaźnika do bezpośredniego sterowania prądem doprowadzanym do samego siłownika. Po drugie: stworzyć pętlę zamkniętą, wykorzystując specjalny siłownik 12 V zwany siłownikiem ze sprzężeniem zwrotnym. Taki siłownik pozwala kontrolować położenie tłoczyska. Metoda z płytką przekaźnikową jest prostsza, a więc prawdopodobnie łatwiejsza dla większości użytkowników siłowników liniowych. O ile sama płytka przekaźnikowa ma przekaźniki SPDT, ten prosty przewodnik wystarczy, by zbudować sterowanie siłownikiem liniowym z użyciem mikrokontrolera Arduino.
Przekaźnik SPDT powinien mieć trzy styki: wspólny (COM), normalnie otwarty (NO) i normalnie zamknięty (NC).
Do sterowania siłownikiem liniowym za pomocą Arduino potrzebne będą dwa oddzielne przekaźniki – pozwoli to uruchamiać siłownik, zatrzymywać go i zmieniać kierunek ruchu. Styki normalnie zamknięte łączy się z 12 V DC, a styki normalnie otwarte z +12 V DC. Aby rozdzielić przewód na dwa, użyj złączki lub odpowiednio dobranego przewodu typu jumper. Przewody siłownika podłącza się do przekaźników parami.
Proces
Przekaźniki sterują tym, jak i dokąd porusza się siłownik. Działają poprzez załączanie elektromagnesów, którymi steruje się przepływem prądu. W układach Arduino siłowników liniowych przełączanie kieruje prąd do przeciwnego przekaźnika, aby odpowiednio ukierunkować działanie. Dwukanałowy układ przekaźników najlepiej sprawdza się przy sterowaniu siłownikiem liniowym z Arduino.
Przekaźniki mogą mieć piny ponumerowane nawet do ośmiu – zależnie od modelu – i wszystkie wymagają co najmniej 5 V zasilania do poprawnej pracy. Podłącz zasilanie do przekaźnika, do pinów VCC i GND. Podłącz każdy pin IN do odpowiedniego pinu Arduino. Zapewni to prawidłowe działanie przekaźnika podczas zasilania siłownika. Prawidłowe połączenie pinów jest kluczowe – jeśli zostaną połączone niepoprawnie, zasilanie będzie przełączać się między innymi pinami niż w standardowej konfiguracji. Pamiętaj, że jeśli pin IN nie jest podłączony, zasilanie będzie się łączyć między NC i COM. Co więcej, zasilanie będzie się łączyć między NO i COM, jeśli pin IN jest podłączony do pinu GND. Należy też pamiętać, że bezpośrednie podłączenie do pinu IN spowoduje, że zasilanie również połączy się między pinami NC i COM. W takim przypadku kod Arduino do siłownika liniowego powinien wyglądać jak w przykładzie poniżej.

Jeśli chodzi o programowanie mikrokontrolera Arduino, dołączyliśmy prosty program sweep, który pokazuje, jak wysuwać i chować siłownik liniowy z pełną prędkością.
//Define pin numbers for Single Board
int ENABLE1 = 8;
int FWD1 = 11;
int REV1 = 3;
int Speed;
void setup() {
// initialize the digital pins as an output.
pinMode(ENABLE1, OUTPUT);
pinMode(FWD1, OUTPUT);
pinMode(REV1, OUTPUT);
}
void loop() {
Speed = 255; //set a speed between 0-255
Forward();
delay(5000); //5 second delay
Stop();
delay(1000);
Reverse();
delay(5000);
Stop();
delay(1000);
}
void Forward(){
digitalWrite(ENABLE1, HIGH);
analogWrite(REV, 0);
analogWrite(FWD, Speed);
}
void Reverse(){
digitalWrite(ENABLE1, HIGH);
analogWrite(FWD, 0);
analogWrite(REV, Speed);
}
void Stop(){
digitalWrite(ENABLE1, LOW);
analogWrite(FWD1, 0);
analogWrite(REV1, 0);
}
Wnioski
Siłowniki liniowe są coraz powszechniejsze w różnych branżach i dziedzinach technologii, dlatego powstaje coraz więcej rozwiązań wokół nich i ich zastosowań. Sterowanie siłownikiem liniowym z Arduino to temat, którego szuka wiele osób ze względu na poziom kontroli, jaki daje użytkownikom siłowników. Mikroprocesory umożliwiają skupienie całej części CPU komputera w jednym układzie (lub grupie układów). Dzięki temu użytkownik może połączyć siłowniki liniowe z pilotami, procesorami i w ogóle zyskać większą kontrolę nad tym, w jaki sposób siłownik liniowy z Arduino porusza się podczas wykonywania swojego zadania.
Choć istnieje wiele sposobów łączenia mikrokontrolerów z siłownikami liniowymi dla Arduino, opisany powyżej dwukierunkowy system z przekaźnikami należy do najprostszych i najwygodniejszych. Oferuje wiele dróg, którymi zasilanie dociera do siłownika i mikrokontrolera, pozwalając obu pracować możliwie poprawnie i wydajnie.
Koniecznie sprawdź naszą zróżnicowaną ofertę PLC oraz systemy sterowania. Oferujemy też indywidualne programowanie naszych sterowników, jeśli masz bardzo konkretny sposób sterowania na myśli.