Låt oss ta reda på vad som ligger bakom PWM-förkortningen, hur den fungerar, vad den är till för och hur vi kan använda den i arbetet med Arduino.
Nödvändig
- - Arduino;
- - Ljusdiod;
- - ett motstånd med ett motstånd på 200 Ohm;
- - dator.
Instruktioner
Steg 1
Arduino digitala stift kan bara ge två värden: logik 0 (LÅG) och logik 1 (HÖG). Det är därför de är digitala. Men Arduino har "speciella" slutsatser, som betecknas PWM. De betecknas ibland med en vågig linje "~" eller kretsas eller på något sätt särskiljs från andra. PWM står för "Pulsbreddsmodulation" eller Pulsbreddsmodulering, PWM.
En pulsbreddsmodulerad signal är en pulssignal med en konstant frekvens, men en variabel arbetscykel (förhållandet mellan pulsvarigheten och dess upprepningsperiod). På grund av det faktum att de flesta fysiska processer i naturen har viss tröghet kommer skarpa spänningsfall från 1 till 0 att utjämnas, vilket tar något medelvärde. Genom att ställa in arbetscykeln kan du ändra genomsnittspänningen vid PWM-utgången.
Om arbetscykeln är 100% kommer det alltid att finnas en logisk spänning på "1" eller 5 volt vid Arduinos digitala utgång. Om du ställer in arbetscykeln till 50%, blir hälften av tiden vid utgången logisk "1" och halvlogisk "0" och medelspänningen är 2,5 volt. Och så vidare.
I programmet ställs arbetscykeln inte in i procent, utan som ett tal från 0 till 255. Till exempel kommer kommandot "analogWrite (10, 64)" att berätta mikrokontrollern att skicka en signal med en arbetscykel på 25 % till digital PWM-utgång # 10.
Arduino-stift med pulsbreddsmoduleringsfunktion arbetar med en frekvens på cirka 500 Hz. Detta innebär att pulsupprepningsperioden är ungefär 2 millisekunder, vilket mäts med de gröna vertikala streken i figuren.
Det visar sig att vi kan simulera en analog signal vid den digitala utgången! Intressant, eller hur?
Hur kan vi använda detta? Det finns många applikationer! Dessa är till exempel LED-ljusstyrningskontroll, motorvarvtalsreglering, transistorströmstyrning, ljuduttag från en piezosändare …
Steg 2
Låt oss ta en titt på det mest grundläggande exemplet - att styra ljusstyrkan på en LED med PWM. Låt oss sätta ihop ett klassiskt schema.
Steg 3
Låt oss öppna skissen "Fade" från exemplen: File -> Prover -> 01. Basics -> Fade.
Steg 4
Låt oss ändra det lite och ladda det i Arduino-minnet.
Steg 5
Vi slår på strömmen. Lysdioden ökar gradvis i ljusstyrka och minskar sedan gradvis. Vi har simulerat en analog signal vid den digitala utgången med hjälp av pulsbreddsmodulation.