- Modulacija širine impulsa:
- Potreban materijal
- Kružni dijagram
- Šifra i objašnjenje
- Kontrola brzine istosmjernog motora pomoću Arduina
Istosmjerni motor najčešće se koristi u projektima robotike i elektronike. Za kontrolu brzine istosmjernog motora imamo razne metode, poput brzine koja se može automatski kontrolirati na temelju temperature, ali u ovom projektu PWM metoda će se koristiti za kontrolu brzine istosmjernog motora. U ovom projektu upravljanja brzinom motora Arduino brzinom se može upravljati okretanjem gumba potenciometra.
Modulacija širine impulsa:
Što je PWM? PWM je tehnika pomoću koje možemo kontrolirati napon ili snagu. Da bismo to jednostavnije razumjeli, ako primjenjujete 5 volti za pogon motora, tada će se motor kretati s određenom brzinom, sada ako smanjimo primijenjeni napon za 2 znači da na motor primijenimo 3 volta, tada se smanjuje i brzina motora. Ovaj se koncept koristi u projektu za kontrolu napona pomoću PWM-a. U ovom smo članku detaljno objasnili PWM. Također provjerite ovaj krug gdje se PWM koristi za upravljanje svjetlinom LED-a: 1 Watt LED dimmer.
% Radni ciklus = (TON / (TON + TOFF)) * 100 Gdje, T ON = VISOKO vrijeme kvadratnog vala T OFF = NIZKO vrijeme kvadratnog vala

Ako je prekidač na slici neprekidno zatvoren tijekom određenog vremenskog razdoblja, tada će se motor neprekidno UKLJUČAVATI za to vrijeme. Ako je prekidač zatvoren 8 ms i otvoren 2 ms tijekom ciklusa od 10 ms, tada će motor biti uključen samo za vrijeme 8 ms. Sada je prosječni terminal preko 10 ms = vrijeme UKLJUČIVANJA / (vrijeme UKLJUČIVANJA + vrijeme ISKLJUČENJA), to se naziva radni ciklus i iznosi 80% (8 / (8 + 2)), pa je prosjek izlazni napon bit će 80% napona akumulatora. Sada ljudsko oko ne može vidjeti da je motor uključen 8 ms, a isključen 2 ms, pa će izgledati kao da se istosmjerni motor okreće s 80% brzine.
U drugom slučaju, prekidač je zatvoren na 5 ms i otvoren na 5 ms tijekom razdoblja od 10 ms, tako da će prosječni napon na izlazu biti 50% napona akumulatora. Recimo ako je napon akumulatora 5V, a radni ciklus 50%, pa će prosječni napon na priključku biti 2,5V.
U trećem slučaju radni ciklus iznosi 20%, a prosječni napon na priključku 20% napona akumulatora.
Koristili smo PWM s Arduinom u mnogim našim projektima:
- LED zatamnjivač zasnovan na Arduinu koji koristi PWM
- Ventilator s kontroliranom temperaturom pomoću Arduina
- Upravljanje istosmjernim motorom pomoću Arduina
- Regulacija brzine ventilatora naizmjeničnom strujom pomoću Arduina i TRIAC-a
Možete saznati više o PWM-u prolazeći kroz razne projekte koji se temelje na PWM-u.
Potreban materijal
- Arduino UNO
- Istosmjerni motor
- Tranzistor 2N2222
- Potenciometar 100k ohm
- Kondenzator 0,1uF
- Breadboard
- Žice za skakanje
Kružni dijagram
Dijagram sklopa za kontrolu brzine istosmjernog motora Arduino pomoću PWM- a dat je u nastavku:

Šifra i objašnjenje
Na kraju je dan cjeloviti kod za Arduino DC upravljanje motorom pomoću potenciometra.
U nastavku koda smo ponište varijablu C1 i C2 i dodijeljen analogni pin A0 za potenciometra izlaz i 12 -og Pin za „PWM”.
int pwmPin = 12; int lonac = A0; int c1 = 0; int c2 = 0;
Sada, u donjem kodu, postavite pin A0 kao ulaz i 12 (koji je PWM pin) kao izlaz.
void setup () { pinMode (pwmPin, OUTPUT); // proglašava pin 12 izlaznim pinMode (pot, INPUT); // proglašava pin A0 ulazom }
Sada, u void loop (), čitamo analognu vrijednost (iz A0) pomoću analogRead (pot) i spremamo je u varijablu c2. Zatim oduzmite vrijednost c2 od 1024 i rezultat spremite u c1. Tada bi PWM pin 12 -og u Arduino visok, a zatim nakon odgode od vrijednosti C1 bi taj pin LOW. Opet, nakon kašnjenja vrijednosti c2 petlja se nastavlja.
Razlog za oduzimanje analogne vrijednosti od 1024 je taj što je Arduino Uno ADC 10-bitne razlučivosti (dakle, cjelobrojne vrijednosti od 0 - 2 ^ 10 = 1024 vrijednosti). To znači da će preslikati ulazni napon između 0 i 5 volti u cjelobrojne vrijednosti između 0 i 1024. Dakle, ako pomnožimo ulazni anlogValue sa (5/1024), tada dobivamo digitalnu vrijednost ulaznog napona. Ovdje naučite kako koristiti ADC ulaz u Arduinu.
void loop () { c2 = analogRead (pot); c1 = 1024-c2; digitalWrite (pwmPin, HIGH); // postavlja pin 12 HIGH delayMicroseconds (c1); // čeka c1 uS (visoko vrijeme) digitalWrite (pwmPin, LOW); // postavlja pin 12 LOW delayMicroseconds (c2); // čeka c2 uS (kratko vrijeme) }
Kontrola brzine istosmjernog motora pomoću Arduina

U ovom krugu za kontrolu brzine istosmjernog motora koristimo potenciometar od 100 K ohma za promjenu radnog ciklusa PWM signala. 100K om potenciometar spojen na analogni ulazni pin A0 od Arduino UNO i istosmjernog motora je povezan s 12 th pin za Težak (koji je PWM klin). Rad programa Arduino vrlo je jednostavan, jer očitava napon s analognog pina A0. Napon na analognom pinu mijenja se pomoću potenciometra. Nakon nekog potrebnog izračuna, radni ciklus se prilagođava prema njemu.
Na primjer, ako na analogni ulaz unesemo 256 vrijednosti, tada će VISOKO vrijeme biti 768ms (1024-256), a NISKO 256ms. Stoga to jednostavno znači da je radni ciklus 75%. Naše oči ne mogu vidjeti tako visokofrekventne oscilacije i čini se kao da je motor neprekidno UKLJUČEN sa 75% brzine. Dakle, tako možemo izvršiti kontrolu brzine motora koristeći Arduino.
