Wat Is PWM En Hoe Word Dit In Arduino Gebruik?

INHOUDSOPGAWE:

Wat Is PWM En Hoe Word Dit In Arduino Gebruik?
Wat Is PWM En Hoe Word Dit In Arduino Gebruik?

Video: Wat Is PWM En Hoe Word Dit In Arduino Gebruik?

Video: Wat Is PWM En Hoe Word Dit In Arduino Gebruik?
Video: Arduino Tutorial 8: Understanding Pulse Width Modulation (PWM) and the Arduino Analog Write Command 2024, Maart
Anonim

Laat ons uitvind wat agter die PWM-akroniem sit, hoe dit werk, waarvoor dit is en hoe ons dit kan gebruik in die samewerking met Arduino.

PWM sein
PWM sein

Nodig

  • - Arduino;
  • - Liguitstralende diode;
  • - 'n weerstand met 'n weerstand van 200 Ohm;
  • - rekenaar.

Instruksies

Stap 1

Arduino digitale penne kan net twee waardes gee: logika 0 (LAAG) en logika 1 (HOOG). Daarom is hulle digitaal. Maar Arduino het 'spesiale' gevolgtrekkings, wat PWM genoem word. Hulle word soms met 'n golwende lyn "~" aangedui of omring of op een of ander manier van ander onderskei. PWM staan vir "Pulse-width modulation" of Pulse Width Modulation, PWM.

'N Polsbreedte gemoduleerde sein is 'n polssignaal met 'n konstante frekwensie, maar 'n veranderlike dienssiklus (die verhouding tussen die pulsduur en die herhalingsperiode). Vanweë die feit dat die meeste fisiese prosesse in die natuur 'n mate van traagheid het, sal skerp spanningsdalings van 1 tot 0 uitgestryk word, met 'n gemiddelde waarde. Deur die dienssiklus in te stel, kan u die gemiddelde spanning by die PWM-uitset verander.

As die dienssiklus 100% is, sal daar altyd 'n logiese spanning van "1" of 5 volt by die digitale uitset van die Arduino wees. As u die dienssiklus op 50% stel, dan is die helfte van die tyd by die uitset logies "1" en half - logies "0" en die gemiddelde spanning is 2,5 volt. En so aan.

In die program word die dienssiklus nie as persentasie ingestel nie, maar as 'n getal van 0 tot 255. Die opdrag "analogWrite (10, 64)" sal byvoorbeeld vir die mikrobeheerder sê om 'n sein met 'n dienssiklus van 25 te stuur % tot digitale PWM-uitvoer # 10.

Arduino-penne met 'n polsbreedte-modulasiefunksie werk teen 'n frekwensie van ongeveer 500 Hz. Dit beteken dat die pulsherhalingsperiode ongeveer 2 millisekondes is, wat gemeet word aan die groen vertikale strepe in die figuur.

Dit blyk dat ons 'n analoog sein by die digitale uitset kan simuleer! Interessant, nè?

Hoe kan ons dit gebruik? Daar is baie aansoeke! Dit is byvoorbeeld LED-helderheidsbeheer, motorsnelheidsbeheer, transistorstroombeheer, klankonttrekking van 'n piezo-emitter …

Begrip van polsbreedte modulasie
Begrip van polsbreedte modulasie

Stap 2

Kom ons kyk na die mees basiese voorbeeld - om die helderheid van 'n LED met behulp van PWM te beheer. Kom ons stel 'n klassieke skema saam.

Stroombaan vir die demonstrasie van PWM in Arduino
Stroombaan vir die demonstrasie van PWM in Arduino

Stap 3

Kom ons open die skets "Vervaag" uit die voorbeelde: Lêer -> Voorbeelde -> 01. Basis -> Vervaag.

Maak 'n voorbeeld oop om PWM in Arduino te demonstreer
Maak 'n voorbeeld oop om PWM in Arduino te demonstreer

Stap 4

Kom ons verander dit 'n bietjie en laai dit in die Arduino-geheue.

PWM demonstrasie skets
PWM demonstrasie skets

Stap 5

Ons skakel die krag aan. Die LED neem geleidelik toe in helderheid en neem dan geleidelik af. Ons het 'n analoog sein op die digitale uitset gesimuleer met behulp van die pulsbreedte modulasie.

Aanbeveel: