Üdvözlünk a Progressive Automations egy újabb technikai blogján! Ma azt fogjuk felvázolni, hogyan kommunikálhat egy Arduino a PA-04-HS-ünkkel.
A Hall-effektus-érzékelő egy elektronikus alkatrész, amely lehetővé teszi a precíz vezérlést. lineáris aktuátorÁltalában a sebességváltóban helyezkedik el egy mágneses tárcsa mellett. Ahogy a lineáris aktuátor mozog, a mágneses tárcsa forog, ami mágneses mezőt hoz létre, amely áthalad a Hall-effektus-érzékelőn. Ez egy feszültségimpulzust hoz létre, amely megszámolható a lineáris aktuátor helyzetének, sebességének vagy irányának meghatározásához. Ezen jelek felhasználásához azonban mikrovezérlőt kell használni, például Arduinót vagy Raspberry Pi-t. Ebben a cikkben belemerülünk egy Raspberry Pi-hez való aktuátor használatába és egy lineáris aktuátor Arduino segítségével történő vezérlésébe. Ahogy említettük, mindkét mikrovezérlőt egy Progressive Automations bemutatóval mutatjuk be. PA-04-HS Hall-effektusú lineáris működtető.
Pozíció-, sebesség- és irányszámítások
Mielőtt belemerülnénk a részletekbe, először is meg kell értenünk, hogyan használják a Hall-effektus-érzékelőből érkező jeleket a lineáris aktuátor pozíciójának, sebességének és irányának kiszámításához. PA-04-HSA Hall-effektus-érzékelő két jelet állít elő két bináris állapotban: be vagy ki. Ez a két jel emelkedik és süllyed, ahogy a villanymotor 90 fokos fáziskülönbséggel forog. Ne aggódj, ha nem tudod, hogyan kell ezeket egy mikrovezérlő által olvasható kódban megvalósítani, ezt később bemutatjuk a cikkben.
Pozíció
A lineáris aktuátor pozíciójának meghatározásához Hall-effektuson alapuló számításokra és a aktuátor mérésére van szükség. Az aktuátorrúd pozíciójának kiszámításához szükséges a lökethossz. aktuátor, és a teljesen behúzott és kinyújtott állapottól detektált élek teljes száma. Ezen mérések felhasználásával a következő egyenlet használható:

A fenti egyenletben a teljes visszahúzás óta érzékelt élek nulláról indulnak, és eggyel nőnek, amikor egy élt érzékelnek előre, és eggyel csökkennek, amikor egy élt érzékelnek hátra.
Sebesség
Egy aktuátor sebessége mérhető a Hall-effektus jeleivel egy időzítő programba való implementálásával. Ez az időzítő az érzékelt élek között eltelt idő mérésére szolgál. Ezenkívül szükség van az érzékelt élenkénti löketváltozás kiszámított értékére is. Ezen értékek felhasználásával a következő egyenlet használható:

Irány
Egy aktuátor mozgásának iránya meghatározható a két jel (A és B jel) aktuális állapotának vizsgálatával, és annak a két jel utolsó állapotával való összehasonlításával. Ez azért van, mert a két jel megváltozik, hogy melyik a vezető és melyik a késik, a aktuátor mozgásának irányától függően.


Melyik a jobb, egy Arduino vagy egy Raspberry Pi mikrokontroller?
Nem arról van szó, hogy általánosságban melyik a jobb, hanem inkább arról, hogy melyik a jobb a kívánt alkalmazáshoz. Jobb lenne Arduinót választani, ha az alkalmazás fő feladata a Hall-effektus-érzékelő adatainak olvasása és egy adott utasításkészlet visszaadása.
Másrészről a Raspberry Pi praktikusabb lenne olyan feladatok megoldása során, amelyeket személyi számítógépen kellene elvégezni. Ezenkívül a Raspberry Pi leegyszerűsíti a munkafolyamatok kezelését különböző forgatókönyvekben, például az internethez való csatlakozáskor vagy egy lineáris aktuátor mobileszközön keresztüli vezérlésekor.
Kényelmes lehet mindkét mikrovezérlőt használni különböző feladatok megoldására. A Raspberry Pi hozzáférhet a kódhoz, és beállíthat különféle paramétereket, amelyeket aztán elküldhet egy Arduinonak a lineáris aktuátor vezérléséhez a gyűjtött információk alapján.
Merüljünk el a részletekben, és mutassuk meg, hogyan vezérelhet egy lineáris aktuátort a következővel: Arduino.
Arduino lineáris aktuátorokkal

Ismét, az alkalmazástól függően választhat a lekérdezési módszer és a megszakítás között egy mikrovezérlővel, amikor digitális jeleket kezel. A lekérdezés egy programozott módszer, amelyben egy mikrovezérlő rendszeresen ellenőrzi egy bemenet állapotát, hogy lássa, történt-e változás. A megszakítások egy hardveres mechanizmus, amely azonnal áthelyezi a mikrovezérlő programjának fókuszát, amikor egy bemenet állapota megváltozik.
For demonstration purposes, we will opt for the interrupt method to know the exact moment when a signal changes state. On an Arduino microcontroller, an interrupt is used by creating an Interrupt Servicing Routine (ISP).
Íme, amire szükséged lesz:
Arduino és Shield alkatrészek bekötése
A Hall-effektus érzékelőknek 4 vezetékük van: 5V, GND és 2 jelvezeték. Mindegyik jelvezeték impulzusokat ad ki, ahogy a motor forog. Van még két működtető vezeték is, amelyek a MegaMoto-hoz csatlakoztathatók. Csak az egyik Hall-effektus jelet fogjuk használni.
Csatlakoztassa a lineáris aktuátort az Arduino-hoz és a MegaMoto-hoz az alábbiak szerint:
- Piros érzékelő vezeték az Arduino 5V-os csatlakozójához.
- Fekete érzékelővezeték az Arduino GND csatlakozójához.
- Sárga/narancssárga vezeték az Arduino 2-es vagy 3-as lábához (ha másik Arduinót használsz, győződj meg róla, hogy a lábak megszakító jellegűek).
- Piros működtető vezeték a MegaMoto MOTA-jához.
- Fekete működtető vezeték a MegaMoto MOTB-jához.
Miután a motorokat megfelelően bekötötték a panelekhez, a tápegységet az alábbiak szerint kössék be:
- Csatlakoztassa a 12 V-ot a BAT+-hoz.
- Csatlakoztassa a GND--t a BAT---hoz.
- Csatlakoztasd a 12 V-ot a Vin-hez az Arduinón.
- Köss be két gombot az Arduino 7-es és 8-as lábai közé, majd kösd össze őket a GND-vel.
Négyféle trigger létezik a megszakításhoz: emelkedő, csökkenő, magas és alacsony. A trigger módosításával beállítható, hogy mikor történjen a megszakítás. Az emelkedő az, amikor a láb alacsonyról magasra való átmenetet lát, az eső az, amikor magasról alacsonyra való átmenetet lát, az alacsony, amikor a láb alacsony, a magas pedig az, amikor a láb magas.
A teljes Arduino kódért látogassa meg útmutatónkat itt: Hall-effektusú lineáris aktuátor Arduino kód
A kód a 7-es vagy 8-as tűn lévő gombok megnyomásakor (aktív LOW) egy beállított mértékben mozgatja a működtetőt előre vagy hátra. Tartalmaz egy alaphelyzetbe állítási rutint is. Ez azért fontos, mert ha a motort hosszú ideig oda-vissza járatja, akkor itt-ott elveszítheti a számlálót, és lassan elveszítheti a figyelmét arról, hogy hol tartózkodik. Az alaphelyzetbe állítási rutin visszaállítja a lineáris működtetőt egy ismert pozícióba, így a számláló visszaállítható.
Raspberry Pi aktuátor
Szóval, hogyan lehet egy aktuátort csatlakoztatni egy Raspberry Pi 2, 4 vagy újabb modellhez? Egy lineáris aktuátor vezérlése Raspberry Pi-vel egyszerű, és interneten keresztül is elvégezhető, lehetővé téve a vezeték nélküli vezérlést. Kövesd a következő útmutató lépéseit, hogy pontosan lásd, hogyan: Raspberry Pi lineáris aktuátor vezérlés.
A Raspberry Pi 4 a szerverszoftver futtatására és a lineáris aktuátor vezérléséhez szükséges parancsok fogadására szolgál. Ez az útmutató azonban nem használ Hall-effektus-érzékelőt. Ehhez egy Arduino kártya csatlakoztatható a lineáris aktuátorhoz és a Raspberry Pi-hez, hogy vezeték nélkül küldhessen/fogadhasson adatokat. Bár a Raspberry Pi közvetlenül is használható érzékelőadatok olvasására, hasonlóan az Arduino-hoz, ez túlzás lehet, ha csak néhány lineáris aktuátort vezérel.
Több lineáris aktuátor vezérlése

Ha több lineáris aktuátort kell vezérelned Raspberry Pi-vel vagy Arduino-val, akkor néhány további komponensre lesz szükséged, és a kódot is módosítani kell. Két vagy több lineáris aktuátor szinkronizálható a Hall-effektor érzékelők számlálóinak követésével, és ha a lineáris aktuátorok számlálói túl messze vannak egymástól, minden lineáris aktuátor lelassul, hogy kiegyenlítse a pozíciókat.
Tekintse meg a teljes útmutatót itt: Több lineáris aktuátor vezérlése mikrokontrollerrel
Alternatív megoldásként, ha a szinkronizáció nem része a tervezett alkalmazásnak, akkor egyszerűen használjon egy Arduinót egy vagy két aktuátorhoz, a rendelkezésre álló megszakító lábak számától függően. Több aktuátor vezérléséhez használhat több Arduino kártyát, vagy beszerezhet egy Arduino shieldet több megszakító lábbal.
Következtetés
Ha készen állsz a kihívásra, további módszereket is kipróbálhatsz, amelyekkel lineáris aktuátorokkal ellátott Arduinoval vezérelheted a mozgást, például néhány ügyes PID-kóddal, amelyet itt tekinthetsz meg: Lineáris működtető PID-szabályozása. Egy Hall-effektus-érzékelő egy lineáris aktuátorban, például a PA-04-HS, további vezérlési szintet biztosít, amely könnyen beállítható Arduino vagy Raspberry Pi segítségével. Akár csak érzékelőadatok olvasását igényli az alkalmazása, akár a lineáris aktuátor online állapotba hozásával szeretné a következő szintre emelni azt, egy Hall-effektusú érzékelő, egy választott mikrovezérlővel kombinálva, a legjobb megoldás.
Ha bármilyen kérdése van a cikk tartalmával kapcsolatban, vagy egyszerűen csak meg szeretné vitatni a lehetséges termékmegoldásokat, kérjük, lépjen kapcsolatba velünk és szívesen segítünk!