Tartalomjegyzék:

Arduino 2 az 1-ben modell vonatvezérlő: 4 lépés
Arduino 2 az 1-ben modell vonatvezérlő: 4 lépés

Videó: Arduino 2 az 1-ben modell vonatvezérlő: 4 lépés

Videó: Arduino 2 az 1-ben modell vonatvezérlő: 4 lépés
Videó: Using IRF520 MOSFET Switch Button to Turn ON or OFF DC load 2024, Július
Anonim
Arduino 2 az 1-ben modell vonatvezérlő
Arduino 2 az 1-ben modell vonatvezérlő

Negyven évvel ezelőtt megterveztem egy op-erősítő alapú modell-fojtószelepet pár barátomnak, majd körülbelül négy évvel ezelőtt PIC mikrokontroller segítségével újrateremtettem. Ez az Arduino projekt újratelepíti a PIC verziót, de lehetővé teszi a Bluetooth kapcsolat használatát a fojtószelep, a fék és az irányítás kézi kapcsolói helyett. Bár az itt bemutatott kivitel egy 12 voltos vasúti motorra vonatkozik, könnyen módosítható számos más egyenáramú motor vezérlő alkalmazáshoz.

1. lépés: Impulzusszélesség -moduláció (PWM)

Impulzusszélesség -moduláció (PWM)
Impulzusszélesség -moduláció (PWM)

Azok számára, akik nem ismerik a PWM -et, ez nem olyan ijesztő, mint amilyennek hangzik. Az egyszerű motorvezérlő alkalmazásunk számára valójában annyit jelent, hogy valamilyen frekvenciájú négyzethullámot generálunk, majd megváltoztatjuk a működési ciklust. A működési ciklust annak az időnek az aránya határozza meg, amíg a kimenet logikai magas a hullámforma periódushoz képest. Ezt a fenti diagramon teljesen egyértelműen láthatja: a felső hullámforma 10% -os, a középső 50% -os és az alsó hullámforma 90% -os. Az egyes hullámformákon szaggatott vonal a motor egyenértékű egyenfeszültségét jelenti. Tekintettel arra, hogy az Arduino beépített PWM képességgel rendelkezik, nagyon egyszerű ilyen típusú egyenáramú motorvezérlés létrehozása. A PWM használatának másik előnye, hogy segít megakadályozni, hogy a motor beinduljon, ami egyenes egyenáramú rendszer használata esetén előfordulhat. A PWM egyik hátránya, hogy néha hallható zaj hallatszik a motorból a PWM frekvenciáján.

2. lépés: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Az első képen a kapcsolók Arduino csatlakozásai és az LM298 motorvezérlő modul látható. Az Arduino belső gyenge felhúzó ellenállásokkal rendelkezik, így a kapcsolókhoz nincs szükség felhúzó ellenállásokra. Az Iránykapcsoló egy egyszerű SPST (egypólusú, egy dobás) kapcsoló. A fojtószelep és a fék kapcsoló rendesen nyitott, pillanatnyi érintkező nyomógombként jelenik meg.

A második kép a Bluetooth modul és az LM298 motorvezérlő modul Arduino kapcsolatait mutatja. A Bluetooth TXD kimenet közvetlenül az Arduino RX soros bemenethez csatlakozik.

A harmadik kép egy L298N kettős H-híd modul. Az LM298 modul beépített 5 voltos szabályozóval rendelkezik, amelyet egy jumperrel lehet engedélyezni. Szükségünk van +5 voltra az Arduino és a Bluetooth számára, de azt szeretnénk, hogy +12 volt vezesse a motort. Ebben az esetben a +12 voltot alkalmazzuk az L298N „ +12V teljesítmény” bemenetére, és az „5V engedélyezési” jumpert a helyén hagyjuk. Ez lehetővé teszi, hogy az 5 voltos szabályozó kimenjen a modul „+5 tápellátására”. Csatlakoztassa az Arduino -hoz és a Bluetooth -hoz. Ne felejtse el csatlakoztatni a +12 bemenet és a +5 kimenet földelővezetékeit a „power GND” modulhoz.

Azt akarjuk, hogy a motor kimeneti feszültsége az Arduino által generált PWM függvényében változzon, ahelyett, hogy teljesen be vagy ki lenne kapcsolva. Ehhez távolítsuk el az áthidalókat az „ENA” -ból és az „ENB” -ből, és csatlakoztassuk Arduino PWM kimenetünket a modul „ENA” -jához. Ne feledje, hogy a tényleges engedélyező csap a legközelebb van a tábla széléhez (a „bemeneti” tűk mellett). Az egyes engedélyezések hátsó csapja +5 volt, ezért szeretnénk biztosítani, hogy ne csatlakozzunk ehhez.

A modul „IN1” és „IN2” csapjai a megfelelő Arduino csapokhoz vannak csatlakoztatva. Ezek a csapok szabályozzák a motor irányát, és igen, jó oka van arra, hogy hagyja, hogy az Arduino vezérelje őket, ahelyett, hogy egyszerűen egy kapcsolót csatlakoztatna a modulhoz. A szoftverről szóló vitában meglátjuk, miért.

3. lépés: Bluetooth modul

Bluetooth modul
Bluetooth modul

Az itt látható kép a rendelkezésre álló Bluetooth modulokra jellemző. Ha vásárolni valót keres, kereshet a „HC-05” és a „HC-06” kifejezések között. A kettő közötti különbség a firmware -ben és általában a táblán lévő csapok számában van. A fenti kép egy HC-06 modulról készült, és egyszerűsített firmware-t tartalmaz, amely csak nagyon egyszerű konfigurációt tesz lehetővé. Ez is csak „slave” Bluetooth -eszközként van beállítva. Leegyszerűsítve ez azt jelenti, hogy csak a „Mester” eszköz parancsaira tud válaszolni, és önmagában nem adhat ki parancsokat. A HC-05 modul több konfigurációs lehetőséggel rendelkezik, és beállítható „mester” vagy „szolga” eszközként. A HC-05-nek általában hat csapja van a HC-06-nál fent bemutatott négy helyett. A State pin nem igazán fontos, de a Key pin (néha más neveken is szerepel, például „EN”) szükséges, ha bármilyen konfigurációt el szeretne végezni. Általában a moduloknak nincs szükségük konfigurációra, ha az alapértelmezett 9600 -as adatátviteli sebesség rendben van, és nem akar konkrét nevet adni a modulnak. Több projektem van, ahol ezeket használom, ezért szeretem ennek megfelelően nevezni őket.

A Bluetooth modulok konfigurálásához interfészt kell vásárolnia vagy kiépítenie egy RS-232 soros porthoz vagy egy USB porthoz. Ebben a bejegyzésben nem fogok kitérni arra, hogyan építsünk egyet, de képesnek kell lennie arra, hogy információkat találjon az interneten. Vagy csak vásároljon felületet. A konfigurációs parancsok olyan AT parancsokat használnak, mint a régi időkben a telefonmodemekkel. Itt csatoltam egy felhasználói kézikönyvet, amely tartalmazza az AT parancsokat az egyes modul típusokhoz. Egy dolgot meg kell jegyeznünk, hogy a HC-06 NAGYBETŰ parancsokat igényel, és a parancssornak 1 másodpercen belül kell befejeződnie. Ez azt jelenti, hogy néhány hosszabb karakterláncot, például az átviteli sebesség megváltoztatását, ki kell vágni, és be kell illeszteni a terminálprogramba, vagy be kell állítani a küldendő szöveges fájlokat. A NAGYKÉP követelmény csak akkor áll fenn, ha konfigurációs parancsokat próbál küldeni. A rendszeres kommunikációs mód bármilyen 8 bites adatot képes fogadni.

4. lépés: Szoftver

A szoftver nagyon egyszerű mind a kézi, mind a Bluetooth verzióhoz. A Bluetooth verzió kiválasztásához egyszerűen vegye ki a megjegyzést a „#define BT_Ctrl” utasításból.

Amikor megírtam a PIC kódot, kísérleteztem a PWM frekvenciával, és végül 500 Hz-re rendeztem. Felfedeztem, hogy ha a frekvencia túl magas, akkor az LM298N modul nem képes elég gyorsan reagálni az impulzusokra. Ez azt jelentette, hogy a kimeneti feszültség nem volt lineáris, és nagy ugrásokat tehet. Az Arduino beépített PWM parancsokkal rendelkezik, de ezek csak a működési ciklus megváltoztatását teszik lehetővé, nem pedig a gyakoriságot. Szerencsére a frekvencia körülbelül 490 Hz, tehát elég közel van a PIC-en használt 500 Hz-hez.

A vonat -fojtószelepek egyik „jellemzője” a lendület érzése a gyorsításhoz és a fékezéshez, hogy szimulálja az igazi vonat működését. Ennek érdekében egy egyszerű késleltetést illesztünk be a hurokba a szoftver manuális verziójához. A megjelenített értékkel körülbelül 13 másodpercig tart, amíg 0 -ról 12 voltra, vagy 12 voltról visszaáll nullára. A késleltetés könnyen módosítható hosszabb -rövidebb időre. Az egyetlen eset, amikor a lendület nincs érvényben, az Iránykapcsoló megváltoztatása. Védelmi okokból a PWM terhelési ciklusa azonnal 0% -ra van állítva, amikor ezt a kapcsolót megváltoztatják. Ezáltal az irányváltó vészfékként is kettős.

Az irányváltó azonnali kezelése érdekében a kódját egy megszakításkezelőbe helyeztem. Ez lehetővé teszi a „megszakítás a változáson” funkció használatát is, így nem számít, hogy a változás alacsonyról magasra vagy magasról alacsonyra változik.

A szoftver Bluetooth verziója egybetűs parancsokat használ az előre, hátra, fék és fojtószelep funkciók elindításához. Valójában a kapott parancsok helyettesítik a kézi kapcsolókat, de ugyanazokat a válaszokat okozzák. A Bluetooth -vezérléshez használt alkalmazást a Next Prototypes „Bluetooth Serial Controller” -nek nevezi. Segítségével konfigurálhat egy virtuális billentyűzetet, és beállíthatja a saját parancssorokat és neveket minden egyes billentyűhöz. Ezenkívül lehetővé teszi az ismétlési sebesség beállítását, így a fék- és fojtószelep gombokat 50 ms -ra állítottam, hogy körülbelül 14 másodperc lendületet nyújtsak. Letiltottam az Ismétlés funkciót az Előre és Vissza gombot.

Ennyi a bejegyzéshez. Nézze meg a többi utasításomat is. Ha érdekli a PIC mikrokontroller projektek, nézze meg webhelyemet a www.boomerrules.wordpress.com címen

Ajánlott: