- Pulzná šírková modulácia:
- Potrebný materiál
- Schéma zapojenia
- Kód a vysvetlenie
- Regulácia otáčok jednosmerného motora pomocou Arduina
Jednosmerný motor je najpoužívanejším motorom v projektoch robotiky a elektroniky. Na riadenie rýchlosti jednosmerného motora máme rôzne metódy, napríklad rýchlosť je možné automaticky riadiť na základe teploty, ale v tomto projekte sa na riadenie rýchlosti jednosmerného motora použije metóda PWM. Tu v tomto projekte riadenia otáčok motora Arduino možno rýchlosť regulovať otáčaním gombíka potenciometra.
Pulzná šírková modulácia:
Čo je to PWM? PWM je technika, pri ktorej môžeme riadiť napätie alebo výkon. Aby sme to jednoduchšie pochopili, ak na pohon motora použijete 5 voltov, potom sa motor bude pohybovať určitou rýchlosťou, teraz, ak znížime priložené napätie o 2, použijeme na motor 3 volty, potom sa znížia aj otáčky motora. Tento koncept sa v projekte používa na riadenie napätia pomocou PWM. V tomto článku sme podrobne vysvetlili PWM. Skontrolujte tiež tento obvod, v ktorom sa PWM používa na riadenie jasu LED: stmievač LED s výkonom 1 W.
% Pracovný cyklus = (TON / (TON + TOFF)) * 100 Kde, T ON = VYSOKÁ doba obdĺžnikovej vlny T OFF = NÍZKA doba obdĺžnikovej vlny
Ak je teraz spínač na obrázku nepretržite zopnutý po určitú dobu, motor sa počas tejto doby nepretržite zapne. Ak je spínač zatvorený na 8 ms a otvorený na 2 ms v cykle 10ms, potom bude motor zapnutý iba v čase 8ms. Teraz je priemerný terminál v priebehu 10 ms = čas zapnutia / (čas zapnutia + čas vypnutia), toto sa nazýva pracovný cyklus a je 80% (8 / (8 + 2)), takže priemer výstupné napätie bude 80% napätia batérie. Ľudské oko teraz nevidí, že motor je zapnutý na 8 ms a vypnutý na 2 ms, takže bude vyzerať, akoby sa jednosmerný motor otáčal s 80% rýchlosťou.
V druhom prípade je spínač zatvorený na 5 ms a otvorený na 5ms po dobu 10ms, takže priemerné svorkové napätie na výstupe bude 50% napätia batérie. Povedzte, či je napätie batérie 5 V a pracovný cyklus 50%, takže priemerné napätie na svorke bude 2,5 V.
V treťom prípade je pracovný cyklus 20% a priemerné svorkové napätie je 20% napätia batérie.
PWM s Arduinom sme použili v mnohých našich projektoch:
- Arduino LED stmievač využívajúci PWM
- Teplotne riadený ventilátor pomocou Arduina
- Ovládanie jednosmerného motora pomocou Arduina
- Riadenie otáčok ventilátora pomocou Arduina a TRIAC
Viac sa o PWM dozviete absolvovaním rôznych projektov založených na PWM.
Potrebný materiál
- Arduino UNO
- Jednosmerný motor
- Tranzistor 2N2222
- Potenciometer 100k ohm
- Kondenzátor 0,1uF
- Nepál
- Skákacie drôty
Schéma zapojenia
Schéma zapojenia pre riadenie otáčok jednosmerného motora Arduino pomocou PWM je uvedená nižšie:
Kód a vysvetlenie
Celý kód pre Arduino DC Motor Control pomocou potenciometra je uvedený na konci.
V nižšie kóde sme inicializáciu premennej C1 a C2 a priradený analógový pin A0 pre výstup potenciometra a 12 th Pin pre, PWM '.
int pwmPin = 12; int pot = A0; int cl = 0; int c2 = 0;
Teraz v nasledujúcom kóde nastavíme pin A0 ako vstup a 12 (čo je PWM pin) ako výstup.
void setup () { pinMode (pwmPin, OUTPUT); // deklaruje pin 12 ako výstupný pinMode (pot, INPUT); // deklaruje pin A0 ako vstup }
Teraz vo void loop () čítame analógovú hodnotu (z A0) pomocou analogRead (pot) a ukladáme ju do premennej c2. Potom odčítajte hodnotu c2 od 1024 a výsledok uložte do c1. Potom urobte PWM pin 12th Arduino HIGH a potom po oneskorení hodnoty c1 urobte tento pin LOW. Opäť po oneskorení hodnoty c2 slučka pokračuje.
Dôvod pre odpočítanie analógovej hodnoty od 1024 je, že Arduino Uno ADC má 10-bitové rozlíšenie (takže celočíselné hodnoty od 0 - 2 ^ 10 = 1024 hodnôt). To znamená, že bude mapovať vstupné napätie medzi 0 a 5 voltami na celočíselné hodnoty medzi 0 a 1024. Takže ak vynásobíme vstupnú hodnotu anlogValue na (5/1024), dostaneme digitálnu hodnotu vstupného napätia. Naučte sa tu, ako používať vstup ADC v Arduine.
void loop () { c2 = analogRead (pot); cl = 1024-c2; digitalWrite (pwmPin, HIGH); // nastaví pin 12 HIGH delayMicroseconds (c1); // čaká na c1 uS (najvyšší čas) digitalWrite (pwmPin, LOW); // nastaví pin 12 LOW delayMicroseconds (c2); // čaká na c2 uS (nízky čas) }
Regulácia otáčok jednosmerného motora pomocou Arduina
V tomto obvode na riadenie otáčok jednosmerného motora používame potenciometer 100 K ohmov na zmenu pracovného cyklu signálu PWM. Potenciometer 100K ohm je spojený s analógovým vstupom pin A0 Arduino UNO a jednosmerného motora je pripojený k 12 th kolík Arduino (čo je PWM pin). Práca programu Arduino je veľmi jednoduchá, pretože číta napätie z analógového kolíka A0. Napätie na analógovom kolíku sa mení pomocou potenciometra. Po vykonaní niektorých potrebných výpočtov sa podľa neho upraví pracovný cyklus.
Napríklad, ak na analógový vstup privádzame 256 hodnôt, potom bude VYSOKÝ čas 768ms (1024-256) a NÍZKY čas 256ms. Preto to jednoducho znamená, že pracovný cyklus je 75%. Naše oči nevidia také vysokofrekvenčné kmity a vyzerá to, že motor je nepretržite ZAPNUTÝ so 75% rýchlosťou. Takto môžeme pomocou Arduina vykonávať kontrolu otáčok motora.