Ebben az oktatóanyagban egy DC motort csatlakoztatunk az Arduino UNO-hoz, és a sebességét a PWM (Pulse Width Modulation) koncepció segítségével szabályozzuk. Ez a szolgáltatás engedélyezve van az UNO-ban, hogy változó feszültséget kapjon állandó feszültség felett. A PWM módszerét itt ismertetjük; vegyen egy egyszerű áramkört az ábra szerint.
Ha megnyomja a gombot, ha az ábra, akkor a motor forogni kezd, és addig mozog, amíg a gombot megnyomja. Ez a préselés folyamatos, és az ábra első hullámában látható. Ha egy esetre úgy gondolja, hogy a megfontolás gombot 8 ms-ig megnyomják és 2 ms-ra kinyitják 10 ms-os ciklus alatt, akkor ebben az esetben a motor nem fogja tapasztalni a teljes 9V-os akkumulátorfeszültséget, mivel a gombot csak 8 ms-ig nyomják meg, így az RMS-kapocs feszültsége a motor 7V körül lesz. Ennek a csökkent RMS feszültségnek köszönhetően a motor forog, de csökkentett sebességgel. Most az átlagos bekapcsolás 10ms időtartam alatt = Bekapcsolási idő / (Bekapcsolási idő + Kikapcsolási idő), ezt hívják munkaciklusnak, és 80% -os (8 / (8 + 2)).
Második és harmadik esetben a gombot az első esethez képest még rövidebb ideig nyomják meg. Emiatt az RMS kapcsok feszültsége a motor kapcsán még tovább csökken. E csökkent feszültség miatt a motor fordulatszáma tovább csökken. Ez a sebességcsökkenés az üzemi ciklus alatt folyamatosan bekövetkezik egy olyan pontig, ahol a motor kapocsfeszültsége nem lesz elegendő a motor elfordításához.
Tehát ezzel megállapíthatjuk, hogy a PWM felhasználható a motor fordulatszámának változtatására.
Mielőtt tovább mennénk, meg kell beszélnünk a H-HÍDOT. Ennek az áramkörnek főleg két funkciója van: az első az egyenáramú motor meghajtása alacsony teljesítményű vezérlőjelekből, a másik pedig az egyenáramú motor forgásirányának megváltoztatása.
1.ábra
2. ábra
Mindannyian tudjuk, hogy az egyenáramú motorhoz a forgásirány megváltoztatásához meg kell változtatnunk a motor tápfeszültségének polaritását. Tehát a polaritás megváltoztatásához H-hidat használunk. Most az 1. ábrán négyes kapcsolók vannak. Ahogy a 2. ábra mutatja, az A1 és A2 forgatásához a motor zárva van. Emiatt áram folyik át a motor jobbról balra, amint azt a 2. nd része figure3. Most vegyük figyelembe, hogy a motor az óramutató járásával megegyező irányban forog. Ha az A1 és A2 kapcsolók nyitva vannak, a B1 és a B2 zárva vannak. A motoron átáramló áram balról jobbra áramlik, az 1. sz ábra 3. része. Ez az áramlás iránya ellentétes az elsővel, és ezért a motor termináljánál ellentétes potenciált látunk az elsővel, tehát a motor óramutató járásával ellentétesen forog. Így működik egy H-HÍD. A kis teljesítményű motorokat azonban H-BRIDGE IC L293D vezérelheti.
Az L293D egy H-BRIDGE IC, amelyet kis teljesítményű egyenáramú motorok hajtására terveztek, és az ábra mutatja. Ez az IC két h-hidat tartalmaz, és így két egyenáramú motort képes meghajtani. Tehát ez az IC használható a robot motorjainak vezetésére a mikrovezérlő jeleiből.
Amint azt korábban megbeszéltük, ez az IC képes megváltoztatni az egyenáramú motor forgásirányát. Ez az INPUT1 és INPUT2 feszültségszintjének szabályozásával érhető el.
PIN engedélyezése |
1. bemeneti tű |
2. bemeneti tű |
Motor iránya |
Magas |
Alacsony |
Magas |
Jobbra |
Magas |
Magas |
Alacsony |
Forduljon balra |
Magas |
Alacsony |
Alacsony |
Álljon meg |
Magas |
Magas |
Magas |
Álljon meg |
Tehát, amint az a fenti ábrán látható, az óramutató járásával megegyező irányú forgatáshoz a 2A-nak magasnak és az 1A-nak alacsonynak kell lennie. Hasonlóan az óramutató járásával ellentétes irányban az 1A-nak magasnak és a 2A-nak alacsonynak kell lennie.
Amint az ábrán látható, az Arduino UNO 6PWM csatornával rendelkezik, így a PWM-et (változó feszültség) e hat csap bármelyikénél megszerezhetjük. Ebben az oktatóanyagban a PIN3-at fogjuk használni PWM kimenetként.
Hardver: ARDUINO UNO, tápegység (5v), 100uF kondenzátor, LED, gombok (két darab), 10KΩ ellenállás (két darab).
Szoftver: arduino IDE (Arduino esténként).
Kördiagramm
Az áramkör a kenyérlapon van csatlakoztatva a fent bemutatott kapcsolási rajz szerint. A LED-kapcsok csatlakoztatása során azonban figyelni kell. Bár a gombok ebben az esetben pattogó hatást mutatnak, ez nem okoz jelentős hibákat, ezért ezúttal nem kell aggódnunk.
Az UNO PWM-je egyszerű, normál esetben az ATMEGA-vezérlő beállítása a PWM-jelhez nem könnyű, sok regisztert és beállítást kell meghatároznunk a pontos jel érdekében, azonban az ARDUINO-ban nem kell mindezekkel a dolgokkal foglalkoznunk.
Alapértelmezés szerint az összes fejlécfájlt és regisztert előre meghatározza az ARDUINO IDE, egyszerűen hívnunk kell őket, és ennyi lesz a PWM kimenet a megfelelő tűn.
Ahhoz, hogy PWM kimenetet kapjunk egy megfelelő tűn, három dolgon kell dolgoznunk,
|
Először hat csap közül kell kiválasztanunk a PWM kimeneti tűt, utána azt a kimenetet kell beállítanunk kimenetnek.
Ezután engedélyeznünk kell az UNO PWM szolgáltatását az „analogWrite (pin, value)” függvény meghívásával. Itt a "pin" jelöli a PIN számot, ahol PWM kimenetre van szükségünk, azt "3" -ként tesszük. Tehát a PIN3-nál PWM kimenetet kapunk.
Az érték a bekapcsolási üzemi ciklus, 0 (mindig ki) és 255 (mindig be) között. Ezt a számot gombnyomással növeljük és csökkentjük.
Az UNO maximális felbontása „8”, nem lehet tovább lépni, ezért a 0–255 értékek. Csökkenthetjük azonban a PWM felbontását az „analogWriteResolution ()” paranccsal, ha 4–8 értéket írunk a zárójelekbe, négy bites PWM-ről nyolc bites PWM-re változtathatunk.
A kapcsolónak meg kell változtatnia az egyenáramú motor forgásirányát.