Lad os finde ud af, hvad der ligger bag PWM-akronymet, hvordan det fungerer, hvad det er til, og hvordan vi kan bruge det til at arbejde med Arduino.
Nødvendig
- - Arduino;
- - Lysdiode;
- - en modstand med en modstand på 200 Ohm;
- - computer.
Instruktioner
Trin 1
Arduino digitale stifter kan kun give to værdier: logik 0 (LAV) og logik 1 (HØJ). Derfor er de digitale. Men Arduino har "specielle" konklusioner, der betegnes PWM. De er undertiden betegnet med en bølget linje "~" eller cirklet eller på en eller anden måde adskilt fra andre. PWM står for "Pulsbreddemodulation" eller Pulsbreddemodulation, PWM.
Et pulsbreddemoduleret signal er et pulssignal med en konstant frekvens, men en variabel driftscyklus (forholdet mellem pulsvarigheden og dets gentagelsesperiode). På grund af det faktum, at de fleste fysiske processer i naturen har en vis inerti, vil skarpe spændingsfald fra 1 til 0 blive udjævnet med en gennemsnitlig værdi. Ved at indstille driftscyklussen kan du ændre den gennemsnitlige spænding ved PWM-udgangen.
Hvis driftscyklussen er 100%, vil der altid være en logisk spænding på "1" eller 5 volt ved Arduinos digitale output. Hvis du indstiller driftscyklussen til 50%, er halvdelen af tiden ved udgangen logisk "1" og halvlogisk "0", og den gennemsnitlige spænding er 2,5 volt. Og så videre.
I programmet er driftscyklussen ikke indstillet som en procentdel, men som et tal fra 0 til 255. For eksempel vil kommandoen "analogWrite (10, 64)" fortælle mikrocontrolleren at sende et signal med en driftscyklus på 25 % til digital PWM-udgang # 10.
Arduino-ben med pulsbreddemodulationsfunktion fungerer med en frekvens på ca. 500 Hz. Dette betyder, at puls-gentagelsesperioden er ca. 2 millisekunder, som måles med de grønne lodrette streger i figuren.
Det viser sig, at vi kan simulere et analogt signal ved den digitale udgang! Interessant, ikke?
Hvordan kan vi bruge dette? Der er mange applikationer! For eksempel er disse LED-lysstyrkekontrol, motorhastighedsregulering, transistorstrømstyring, lydekstraktion fra en piezo-emitter …
Trin 2
Lad os se på det mest basale eksempel - styring af lysstyrken på en LED ved hjælp af PWM. Lad os sammensætte en klassisk ordning.
Trin 3
Lad os åbne skemaet "Fade" fra eksemplerne: File -> Prøver -> 01. Basics -> Fade.
Trin 4
Lad os ændre det lidt og indlæse det i Arduino-hukommelsen.
Trin 5
Vi tænder for strømmen. Lysdioden øges gradvist i lysstyrke og falder derefter gradvist. Vi har simuleret et analogt signal ved det digitale output ved hjælp af pulsbreddemodulation.