Circuitul generatorului de semnal Arduino PWM

Încercați Instrumentul Nostru Pentru Eliminarea Problemelor





În această postare, studiem în detaliu cum se realizează un circuit generator de semnal PWM pe bază de Arduino, care poate fi setat sau ajustat cu un potențiometru sau un pot la orice raport de ciclu de funcționare preferat.

DeAnkit Negi



CE ESTE PWM?

Pmm sau modularea lățimii impulsului, așa cum sugerează și numele, este modularea lățimii impulsurilor, adică cât timp pulsul este ridicat sau scăzut într-o anumită perioadă de timp. Aceasta schimbă ciclul de funcționare al impulsului, care determină în cele din urmă valoarea medie a impulsului, deoarece ciclul de funcționare este în timp împărțit la perioada de timp totală.

Iar frecvența joacă un rol foarte important în pwm, care trebuie să fie suficient de mare pentru a genera o ieșire stabilă



Pwm se face în diverse scopuri, cum ar fi conducerea unui dispozitiv care funcționează la tensiune scăzută sau pentru schimbarea de scopuri, cum ar fi în SMPS.

PWM FOLOSIND ARDUINO UNO

Pwm este, de asemenea, unul dintre factorii care fac din arduino o placă de dezvoltare simplă, deoarece pwm se poate face prin adăugarea unui singur cod de linie la programul dvs. Rețineți că există pini digitali disponibili pe arduino UNO pentru pwm, ceea ce înseamnă că acești pini pot da ieșire pwm.

Există un total de 6 pini pwm disponibili pe arduino UNO care sunt 3, 5, 6,9,10 și 11 din 14 pini digitali. Rețineți că numărul de pini pwm variază de la un tip de placă arduino la alta.

Acum există două moduri în care pwm poate fi efectuat de către arduino:

1. Prin atribuirea directă a unei valori analogice pinului pwm între 0 și 255.

Deoarece pinii digitali din arduino pot furniza maximum 5v, înseamnă că 0 valoare analogică este egală cu 0 volți și 255 este echivalentă cu 5 volți.

Și pentru a efectua acest lucru, trebuie doar să adăugați acest cod la programul dvs.:

analogWrite (pin nr PWM, valoare între 0 și 255)

De exemplu: analogWrite (10,64) // scrieți 64 de valori analogice la pinul nr.

Acum acest lucru înseamnă :: (5/255) * 64 volți = 1,25 volți, adică 25% ciclu de funcționare.

2. Prin atribuirea valorii în funcție de intrarea primită de la pinii analogici ai arduino.
Intrarea poate fi preluată de la componente precum un senzor IR sau un potențiometru.

Rețineți că arduino primește intrare analogică în termeni de valoare între 0 și 1023, care este echivalent cu 0 până la 5 volți. Deci, pentru a efectua pwm pe un pin, trebuie să convertiți această valoare de intrare în echivalență la număr între 0 și 255 și aceasta se numește mapare în limbajul arduino.

Există un cod simplu pentru aceasta:

y = hartă (x, 0,1023: 0,255) // unde x este variabila de intrare

După aceasta puteți efectua pwm pe un pin folosind:

analogWrite (pinul PWM nr, y) // scrieți valoarea mapată primită la pinul 10

EXEMPLU PWM:

Vom învăța atât tehnica cu acest exemplu. Pentru aceasta aveți nevoie de:

1. Un potențiometru
2. Două leduri
3. Două rezistențe de 100 ohmi

Efectuați conexiunile așa cum se arată în schema de circuit:

DIAGRAMA CIRCUITULUI:

COD:

int x// initialise variables
int y
void setup() {
pinMode(10,OUTPUT)//initialise pin 10 as output
pinMode(9,OUTPUT)//initialise pin 9 as output
pinMode(A0,INPUT)//initialise pin A0 as input from pot.
// put your setup code here, to run once:
}
void loop() {
analogWrite(9,125)// directly assigning value to pin 9 i.e. case1
x=analogRead(A0)// read values from potentiometer in terms of voltage
y= map(x,0,1023,0,255)// map those values from 0 to 255 // put your main code here, to run repeatedly:
analogWrite(10,y)// assigning value based on input from pot at pin A0 i.e. case 2
}

Cum functioneaza

Funcționarea de bază a proiectului generator de semnal Arduino PWM poate fi studiată din paragraful următor

Pinul nr. 9 poate primi o valoare pwm arbitrară, în timp ce pinul nr. 10 oferă valoarea pwm în funcție de poziția potențiometrului față de sol. Continuați să schimbați această valoare arbitrară pentru pinul 9, precum și rotiți potențiometrul pentru a vedea o ieșire pwm diferită pe ambii pini.




Precedent: Circuit de control al motorului cu curent mare utilizând Arduino Următorul: comutator de telecomandă cu 10 canale de 2,4 GHz