La oss finne ut hva som ligger bak PWM-akronymet, hvordan det fungerer, hva det er til og hvordan vi kan bruke det til å jobbe med Arduino.
Nødvendig
- - Arduino;
- - Lysdiode;
- - en motstand med en motstand på 200 ohm;
- - datamaskin.
Bruksanvisning
Trinn 1
Arduino digitale pinner kan bare gi to verdier: logikk 0 (LAV) og logikk 1 (HØY). Derfor er de digitale. Men Arduino har "spesielle" konklusjoner, som betegnes PWM. Noen ganger blir de betegnet med en bølget linje "~" eller sirklet eller på en eller annen måte skilt fra andre. PWM står for "Pulse-width modulation" eller Pulse Width Modulation, PWM.
Et pulsbreddemodulert signal er et pulssignal med en konstant frekvens, men en variabel driftssyklus (forholdet mellom pulsvarigheten og dets repetisjonsperiode). På grunn av det faktum at de fleste fysiske prosesser i naturen har noe treghet, vil skarpe spenningsfall fra 1 til 0 bli glattet ut, noe som tar en gjennomsnittlig verdi. Ved å stille inn driftssyklusen kan du endre gjennomsnittsspenningen ved PWM-utgangen.
Hvis driftssyklusen er 100%, vil det være en logisk spenning på "1" eller 5 volt hele tiden ved den digitale utgangen til Arduino. Hvis du setter driftssyklusen til 50%, vil halvparten av tiden ved utgangen være logisk "1" og halvlogisk "0", og gjennomsnittsspenningen vil være 2,5 volt. Og så videre.
I programmet er ikke driftssyklusen satt som en prosentandel, men som et tall fra 0 til 255. For eksempel vil kommandoen "analogWrite (10, 64)" fortelle mikrokontrolleren å sende et signal med en driftssyklus på 25 % til digital PWM-utgang # 10.
Arduino-pinner med pulsbreddemoduleringsfunksjon fungerer med en frekvens på omtrent 500 Hz. Dette betyr at pulsrepetisjonsperioden er omtrent 2 millisekunder, som måles med de grønne vertikale slagene i figuren.
Det viser seg at vi kan simulere et analogt signal ved den digitale utgangen! Interessant, ikke sant?
Hvordan kan vi bruke dette? Det er mange søknader! For eksempel er dette LED-lysstyrkekontroll, motorhastighetskontroll, transistorstrømstyring, lyduttak fra en piezo-emitter …
Steg 2
La oss se på det mest grunnleggende eksemplet - å kontrollere lysstyrken til en LED ved hjelp av PWM. La oss sette sammen en klassisk ordning.
Trinn 3
La oss åpne "Fade" -skissen fra eksemplene: File -> Prøver -> 01. Basics -> Fade.
Trinn 4
La oss endre det litt og laste det inn i Arduino-minnet.
Trinn 5
Vi slår på strømmen. LED-en øker gradvis i lysstyrke og avtar deretter gradvis. Vi har simulert et analogt signal ved den digitale utgangen ved hjelp av pulsbreddemodulasjon.