Blog posts How an Arduino or Raspberry Pi Communicates with our Hall effect actuator: the PA-04-HS

Ako Arduino alebo Raspberry Pi komunikuje s naším aktuátorom s Hallovým efektom: PA-04-HS

Guest Writer
Guest Writer
PA Engineer

Vitajte pri ďalšom technickom blogu Progressive Automations! Dnes si načrtneme, ako môže Arduino komunikovať s naším PA-04-HS.

Snímač Hallovho efektu je elektronická súčiastka, ktorá umožňuje presné ovládanie lineárneho aktuátora. Zvyčajne je umiestnený v prevodovke vedľa magnetického disku. Keď sa lineárny aktuátor pohybuje, magnetický disk sa otáča a vytvára magnetické pole, ktoré prechádza cez snímač Hallovho efektu. Tým sa vytvára napäťový impulz, ktorý možno počítať na určenie polohy, rýchlosti alebo smeru lineárneho aktuátora. Aby bolo možné tieto signály využiť, je potrebné použiť mikrokontrolér, napríklad Arduino alebo Raspberry Pi. V tomto článku sa pozrieme na použitie aktuátora s Raspberry Pi a na to, ako ovládať lineárny aktuátor pomocou Arduina. Ako už bolo spomenuté, oba tieto mikrokontroléry budú demonštrované s PA-04-HS lineárnym aktuátorom s Hallovým efektom od Progressive Automations.

PA-04-HS prichádza s integrovanou spätnou väzbou Hallovho efektu!

Výpočty polohy, rýchlosti a smeru

Skôr než prejdeme ku konkrétnostiam, najprv si vysvetlíme, ako sa signály zo snímača Hallovho efektu používajú na výpočet polohy, rýchlosti a smeru lineárneho aktuátora. V PA-04-HS je snímač Hallovho efektu navrhnutý tak, aby produkoval dva signály v dvoch binárnych stavoch: zapnuté alebo vypnuté. Tieto dva signály stúpajú a klesajú počas otáčania elektromotora s fázovým posunom 90 stupňov medzi nimi. Ak neviete, ako toto všetko implementovať do kódu čitateľného mikrokontrolérom, nevadí – ukážeme vám to neskôr v článku.

Poloha

Na určenie polohy lineárneho aktuátora sú potrebné výpočty využívajúce signály Hallovho efektu a niektoré rozmery samotného aktuátora. Rovnica pre polohu tyče aktuátora vyžaduje dĺžku zdvihu aktuátora a celkový počet hrán zistených od úplného zasunutia po úplné vysunutie. Na základe týchto údajov možno použiť nasledujúcu rovnicu:

Rovnica 1

 

Hodnota hrán zistených od úplného zasunutia v rovnici vyššie začne na nule a zvýši sa o jedna, keď sa hrana zistí vpred, a zníži sa o jedna, keď sa hrana zistí smerom späť.

 

Rýchlosť

Rýchlosť aktuátora možno merať pomocou signálov Hallovho efektu implementovaním časovača v programe. Tento časovač sa používa na meranie času medzi zistenými hranami. Okrem toho je potrebná vypočítaná hodnota zmeny zdvihu na jednu zistenú hranu. S týmito hodnotami možno použiť nasledujúcu rovnicu:

Rovnica 2

 

Smer

Smer pohybu aktuátora možno určiť porovnaním aktuálneho stavu dvoch signálov (signál A a B) s predchádzajúcim stavom týchto dvoch signálov. Je to preto, že v závislosti od smeru pohybu aktuátora sa mení, ktorý signál je vedúci a ktorý zaostáva.

Schéma stavu dvoch signálov (signál A a B)

 

Tabuľka stavu dvoch signálov (signál A a B)

 

Ktorý je lepší, mikrokontrolér Arduino alebo Raspberry Pi?

Nejde o to, ktorý je všeobecne lepší, ale ktorý je vhodnejší pre vašu aplikáciu. Ak je hlavnou úlohou vašej aplikácie čítať dáta zo snímača Hallovho efektu a vracať konkrétnu sadu inštrukcií, bude vhodnejšie zvoliť Arduino.

Na druhej strane, Raspberry Pi je praktickejšie pre úlohy, ktoré by bežne prebiehali na osobnom počítači. Navyše zjednodušuje riadenie pracovných postupov v rôznych scenároch, napríklad pri pripájaní na internet alebo ovládaní lineárneho aktuátora cez mobilné zariadenie.

Môže byť výhodné použiť oba mikrokontroléry na rôzne úlohy. Raspberry Pi môže pristupovať ku kódu a upravovať rôzne parametre, ktoré sa následne pošlú do Arduina na ovládanie lineárneho aktuátora podľa zozbieraných informácií.

Poďme do detailov a ukážme si, ako ovládať lineárny aktuátor pomocou Arduina.

 

Arduino s lineárnymi aktuátormi

Arduino Uno Rev3

 

Podľa vašej aplikácie si pri práci s digitálnymi signálmi môžete zvoliť metódu opytovania (polling) alebo prerušenia s mikrokontrolérom. Polling je naprogramovaná metóda, pri ktorej mikrokontrolér periodicky kontroluje stav vstupu, či sa nezmenil. Prerušenia sú hardvérový mechanizmus, ktorý okamžite presunie pozornosť programu mikrokontroléra, keď sa stav na vstupe zmení.

Na demonštračné účely zvolíme metódu prerušenia, aby sme vedeli presný moment, kedy sa signál prepne. Na mikrokontroléri Arduino sa prerušenie používa vytvorením obslužnej rutiny prerušenia (ISP).

Budete potrebovať:

 

Zapojenie Arduino a štítu

Snímače Hallovho efektu majú 4 vodiče: 5V, GND a 2 signálne vodiče. Každý signálny vodič generuje impulzy pri otáčaní motora. K MegaMoto treba pripojiť aj dva vodiče aktuátora. Použijeme len jeden zo signálov Hallovho efektu.

Pripojte lineárny aktuátor k Arduinu a MegaMoto nasledovne:

  • Červený vodič snímača na 5V pin Arduina.
  • Čierny vodič snímača na GND pin Arduina.
  • Žltý/oranžový vodič na pin 2 alebo 3 Arduina (ak používate iné Arduino, uistite sa, že piny podporujú prerušenia).
  • Červený vodič aktuátora na MOTA na MegaMoto.
  • Čierny vodič aktuátora na MOTB na MegaMoto.

Po správnom zapojení motorov k doskám zapojte napájanie takto:

  • Pripojte 12V na BAT+.
  • Pripojte GND na BAT-.
  • Pripojte 12V na Vin na Arduine.
  • Zapojte dve tlačidlá medzi piny 7 a 8 na Arduine a pripojte ich na GND.

Existujú 4 typy spúšťačov prerušenia: Rising, Falling, High a Low. Zmenou spúšťača môžete upraviť, kedy prerušenie nastane. Rising je pri prechode pinu z nízkej na vysokú úroveň, Falling z vysokej na nízku, Low keď je pin v nízkej úrovni a High keď je pin vo vysokej úrovni.

Celý kód pre Arduino nájdete tu: Arduino kód pre lineárny aktuátor s Hallovým efektom

Kód posunie aktuátor dopredu alebo dozadu o nastavenú hodnotu po stlačení tlačidiel na pine 7 alebo 8 (aktívne LOW). Zahŕňa aj homing rutinu. Je to dôležité, pretože pri dlhšej prevádzke motora tam a späť môžete občas stratiť počítanie a postupne stratiť prehľad o polohe. Homing rutina presunie lineárny aktuátor späť na známu pozíciu, aby sa čítač mohol resetovať.

 

Raspberry Pi a aktuátor

Ako pripojiť aktuátor k Raspberry Pi 2, 4 alebo novšiemu modelu? Ovládanie lineárneho aktuátora pomocou Raspberry Pi je jednoduché a dá sa realizovať cez internet, čo umožňuje bezdrôtové ovládanie. Postupujte podľa krokov v tomto návode, kde uvidíte presný postup: Ovládanie lineárneho aktuátora cez Raspberry Pi.

Raspberry Pi 4 sa používa na spúšťanie serverového softvéru a prijímanie príkazov na ovládanie lineárneho aktuátora. Tento návod však nevyužíva snímač Hallovho efektu. Ak ho chcete použiť, môžete pripojiť dosku Arduino k lineárnemu aktuátoru a k Raspberry Pi na bezdrôtové posielanie/prijímanie dát. Hoci Raspberry Pi možno použiť aj priamo na čítanie senzorových dát podobne ako Arduino, môže to byť zbytočne výkonné riešenie, ak ovládate len niekoľko lineárnych aktuátorov.

 

Ovládanie viacerých lineárnych aktuátorov

Aktuátor so snímačom Hallovho efektu, krytie IP66, model: PA-04-HS

 

Ak potrebujete ovládať viac lineárnych aktuátorov pomocou Raspberry Pi alebo Arduina, budete potrebovať zopár ďalších komponentov a bude nutné upraviť kód. Dva alebo viac lineárnych aktuátorov možno synchronizovať sledovaním počtov zo snímača Hallovho efektu a ak sa počty jednotlivých aktuátorov príliš rozídu, každý lineárny aktuátor sa spomalí, aby sa polohy vyrovnali.

Pozrite si celý súbor inštrukcií tu: Ovládajte viac lineárnych aktuátorov pomocou mikrokontroléra

Prípadne, ak synchronizácia nie je súčasťou vašej aplikácie, jednoducho použite Arduino pre jeden alebo dva aktuátory v závislosti od počtu dostupných prerušovacích pinov. Na ovládanie väčšieho počtu aktuátorov môžete použiť viac dosiek Arduino alebo získať Arduino štít s viacerými prerušovacími pinmi.

Prezrite si našu ponuku mikrokontrolérov pre maximálnu kontrolu aktuátorov!

Záver

Ak máte chuť na výzvu, existujú ďalšie metódy, ktoré môžete vyskúšať pri ovládaní pohybu lineárnych aktuátorov pomocou Arduina, napríklad šikovný PID kód, ktorý nájdete tu: PID riadenie lineárneho aktuátora. Snímač Hallovho efektu vo vnútri lineárneho aktuátora, ako je PA-04-HS, poskytuje dodatočnú úroveň kontroly, ktorú možno jednoducho nastaviť pomocou Arduina alebo Raspberry Pi. Či už vaša aplikácia vyžaduje len čítanie senzorových dát, alebo chcete posunúť svoj lineárny aktuátor na vyššiu úroveň pripojením online, snímač Hallovho efektu v kombinácii s mikrokontrolérom podľa vášho výberu je tou správnou cestou.

Ak máte otázky k obsahu tohto článku alebo chcete prebrať možné produktové riešenia, kontaktujte nás a radi vám pomôžeme!