Šajā apmācībā mēs saskarsmē līdzstrāvas motoru ar Arduino UNO un kontrolēsim tā ātrumu, izmantojot PWM (Pulse Width Modulation) koncepciju. Šī funkcija ir iespējota UNO, lai iegūtu mainīgu spriegumu virs pastāvīga sprieguma. Šeit ir izskaidrota PWM metode; apsveriet vienkāršu shēmu, kā parādīts attēlā.
Ja poga tiek nospiesta, ja skaitlis, tad motors sāks griezties un tas būs kustībā, līdz tiek nospiesta poga. Šī nospiešana ir nepārtraukta un attēlota pirmajā skaitļa vilnī. Ja atsevišķā gadījumā apsveriet, ka poga tiek nospiesta 8 ms un tiek atvērta uz 2 ms 10 ms ciklā, šajā gadījumā motoram nebūs pilnīga 9 V akumulatora sprieguma, jo poga tiek nospiesta tikai 8 ms, tāpēc RMS spailes spriegums pāri motors būs ap 7V. Sakarā ar šo samazināto RMS spriegumu motors griezīsies, bet ar samazinātu ātrumu. Tagad vidējais ieslēgšanās laiks 10ms = Ieslēgšanas laiks / (Ieslēgšanas laiks + Izslēgšanas laiks), to sauc par darba ciklu un tas ir 80% (8 / (8 + 2)).
Otrajā un trešajā gadījumā poga tiek nospiesta vēl mazāk laika, salīdzinot ar pirmo gadījumu. Tāpēc RMS spailes spriegums motora spailēs vēl vairāk samazinās. Sakarā ar šo samazināto spriegumu motora ātrums pat vēl vairāk samazinās. Šis ātruma samazinājums, nepārtraukti darbojoties, notiek līdz punktam, kur motora spailes spriegums nebūs pietiekams, lai pagrieztu motoru.
Tādējādi mēs varam secināt, ka PWM var izmantot, lai mainītu motora ātrumu.
Pirms doties tālāk, mums jāapspriež H-TILTS. Tagad šai shēmai ir galvenokārt divas funkcijas, pirmkārt, ir vadīt līdzstrāvas motoru no mazjaudas vadības signāliem, bet otrs ir mainīt līdzstrāvas motora rotācijas virzienu.
1. attēls
2. attēls
Mēs visi zinām, ka līdzstrāvas motoram, lai mainītu rotācijas virzienu, mums jāmaina motora barošanas sprieguma polaritāte. Tātad, lai mainītu polaritāti, mēs izmantojam H tiltu. Tagad 1. attēlā mums ir četri slēdži. Kā parādīts 2. attēlā, lai motors pagrieztos A1 un A2, tie ir aizvērti. Tāpēc strāva caur motoru plūst no labās uz kreiso, kā parādīts 3. attēla 2. daļā. Pagaidām ņemiet vērā, ka motors griežas pulksteņrādītāja virzienā. Ja slēdži A1 un A2 ir atvērti, B1 un B2 ir aizvērti. Strāva caur motoru plūst no kreisās uz labo, kā parādīts 1. st 3. attēla daļa. Šis strāvas plūsmas virziens ir pretējs pirmajam, tāpēc motora spailē mēs redzam pretēju potenciālu pirmajam, tāpēc motors griežas pret pulksteni gudri. Šādi darbojas H-BRIDGE. Tomēr mazjaudas motorus var vadīt ar H-BRIDGE IC L293D.
L293D ir H-BRIDGE IC, kas paredzēts mazjaudas līdzstrāvas motoru vadīšanai un parādīts attēlā. Šis IC sastāv no diviem h tiltiem, un tādējādi tas var vadīt divus līdzstrāvas motorus. Tātad šo IC var izmantot, lai vadītu robota motorus no mikrokontrollera signāliem.
Kā jau iepriekš tika apspriests, šai IC ir iespēja mainīt līdzstrāvas motora rotācijas virzienu. To panāk, kontrolējot sprieguma līmeņus INPUT1 un INPUT2.
Iespējot piespraudi |
1. ievades tapa |
2. ievades tapa |
Motora virziens |
Augsts |
Zems |
Augsts |
Nogriezieties pa labi |
Augsts |
Augsts |
Zems |
Pagriezies pa kreisi |
Augsts |
Zems |
Zems |
Apstājies |
Augsts |
Augsts |
Augsts |
Apstājies |
Tātad, kā parādīts iepriekšējā attēlā, pagriežot pulksteņrādītāja virzienā, 2A jābūt augstam un 1A zemam. Līdzīgi pretēji pulksteņrādītāja virzienam 1A jābūt augstam un 2A zemam.
Kā parādīts attēlā, Arduino UNO ir 6PWM kanāli, tāpēc mēs varam iegūt PWM (mainīgu spriegumu) jebkurā no šiem sešiem tapām. Šajā apmācībā mēs izmantosim PIN3 kā PWM izvadi.
Aparatūra: ARDUINO UNO, barošanas avots (5v), 100uF kondensators, LED, pogas (divi gabali), 10KΩ rezistors (divi gabali).
Programmatūra: arduino IDE (Arduino katru nakti).
Ķēdes shēma
Ķēde ir savienota ar paneļu, kā norādīts shēmā, kas parādīta iepriekš. Pievienojot LED spailes, jāpievērš uzmanība. Lai gan šajā gadījumā pogas parāda atlēcošu efektu, tas nerada ievērojamas kļūdas, tāpēc mums šoreiz nav jāuztraucas.
PWM no UNO ir vienkāršs, parastos gadījumos ATMEGA kontroliera iestatīšana PWM signālam nav vienkārša, mums ir jādefinē daudzi reģistri un iestatījumi precīzam signālam, tomēr ARDUINO mums nav jātiek galā ar visām šīm lietām.
Pēc noklusējuma visus galvenes failus un reģistrus iepriekš ir noteikusi ARDUINO IDE, mums vienkārši viņiem ir jāzvana, un tas ir tas, ka mums būs PWM izeja attiecīgajā tapā.
Tagad, lai iegūtu PWM izvadi ar atbilstošu tapu, mums jāstrādā pie trim lietām,
|
Vispirms mums jāizvēlas PWM izvades tapa no sešām tapām, pēc tam šī tapa ir jāiestata kā izeja.
Tālāk mums jāiespējo UNO funkcija PWM, izsaucot funkciju “analogWrite (pin, value)”. Šeit "pin" apzīmē tapas numuru, kur mums nepieciešama PWM izeja, mēs to ievietojam kā "3". Tātad pie PIN3 mēs iegūstam PWM izvadi.
Vērtība ir ieslēgšanas darba cikls starp 0 (vienmēr izslēgts) un 255 (vienmēr ieslēgts). Mēs palielināsim un samazināsim šo skaitli, nospiežot pogu.
ANO maksimālā izšķirtspēja ir “8”, tāpēc tālāk par 0–255 nevar tikt. Tomēr var samazināt PWM izšķirtspēju, izmantojot komandu “analogWriteResolution ()”, iekavās ievadot vērtību no 4-8, mēs varam mainīt tās vērtību no četru bitu PWM uz astoņu bitu PWM.
Slēdzim ir jāmaina līdzstrāvas motora rotācijas virziens.