Circuit de generador de senyal Arduino PWM

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest post estudiem com elaborar un circuit generador de senyal PWM basat en Arduino, que es pot configurar o ajustar amb un potenciòmetre o un pot a qualsevol relació de cicle de treball preferida.

PerAnkit Negi



QUÈ ÉS PWM?

PWM o modulació de l'amplada de pols, com el propi nom suggereix, és la modulació de l'amplada dels polsos, és a dir, quant de temps el pols és alt o baix en un període de temps determinat. Això canvia el cicle de treball del pols que, finalment, determina el valor mitjà del pols, ja que el cicle de treball es divideix a temps pel període de temps total.

I la freqüència juga un paper molt important a pwm, que ha de ser prou elevat per generar una sortida estable



Pwm es fa per a diversos propòsits, com ara conduir un dispositiu que funciona a baixa tensió o per canviar fins a SMPS.

PWM AMB ARDUINO UNO

Pwm també és un dels factors que fan que arduino sigui una placa de desenvolupament més senzilla, ja que pwm es pot fer afegint només un codi de línia al vostre programa. Tingueu en compte que hi ha pins digitals separats disponibles a arduino UNO per a pwm, cosa que significa que aquests pins poden donar sortida a pwm.

Hi ha un total de 6 pins pwm disponibles a arduino UNO que són 3, 5, 6,9,10 i 11 de 14 pins digitals. Tingueu en compte que el nombre de pins pwm pot variar d’un tipus de placa d’arduino a un altre.

Ara hi ha dues maneres en què es pot realitzar pwm mitjançant arduino:

1. Assignant directament un valor analògic al pin pwm entre 0 i 255.

Atès que els pins digitals en arduino poden proporcionar un màxim de 5v, això significa que 0 valor analògic és igual a 0 volts i 255 equival a 5 volts.

I per fer-ho, només cal que afegiu aquest codi al vostre programa:

analogWrite (número de pin PWM, valor entre 0 i 255)

Per exemple: analogWrite (10,64) // escriviu 64 valors analògics al pin pwm no 10.

Ara això significa: (5/255) * 64 volts = 1,25 volts, és a dir, un 25% de cicle de treball.

2. Assignant un valor d'acord amb l'entrada rebuda dels pins analògics d'Arduino.
L'entrada es pot prendre de components com un sensor IR o un potenciòmetre.

Tingueu en compte que l’arduino rep entrada analògica en termes de valor entre 0 i 1023, que equival a 0 a 5 volts. Per tant, per realitzar pwm en un pin heu de convertir aquest valor d’entrada en equivalència a un número entre 0 i 255 i això s’anomena mapatge en el llenguatge d’arduino.

Hi ha un codi senzill per a això:

y = mapa (x, 0,1023: 0,255) // on x és la variable d'entrada

Després d'això, podeu realitzar pwm en un pin mitjançant:

analogWrite (pin PWM no, y) // escriure el valor assignat rebut al pin 10

EXEMPLE PWM:

Aprendrem la tècnica amb aquest exemple. Per a això, necessiteu:

1. Un potenciòmetre
2. Dos leds
3. Dues resistències de 100 ohm

Feu les connexions tal com es mostra al diagrama del circuit:

ESQUEMA DE CONNEXIONS:

CODI:

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
}

Com funciona

El funcionament bàsic del projecte de generador de senyal Arduino PWM es pot estudiar a partir del següent paràgraf

Al pin no 9 se li pot assignar un valor pwm arbitrari mentre que al pin no. 10 dóna un valor de pwm d'acord amb la posició del potenciòmetre respecte al terra. Continueu canviant aquest valor arbitrari pel pin 9, així com gireu el potenciòmetre per veure diferents sortides de pwm als dos pins.




Anterior: Circuit de control del motor d’alta intensitat mitjançant Arduino Següent: commutador de control remot de 10 canals a 2,4 GHz