Wat Is PWM En Hoe Wordt Het Gebruikt In Arduino

Inhoudsopgave:

Wat Is PWM En Hoe Wordt Het Gebruikt In Arduino
Wat Is PWM En Hoe Wordt Het Gebruikt In Arduino

Video: Wat Is PWM En Hoe Wordt Het Gebruikt In Arduino

Video: Wat Is PWM En Hoe Wordt Het Gebruikt In Arduino
Video: Arduino Tutorial 8: Understanding Pulse Width Modulation (PWM) and the Arduino Analog Write Command 2024, November
Anonim

Laten we eens kijken wat er achter het PWM-acroniem zit, hoe het werkt, waar het voor is en hoe we het kunnen gebruiken bij het werken met Arduino.

PWM-signaal
PWM-signaal

Noodzakelijk

  • -Arduino;
  • - Lichtgevende diode;
  • - een weerstand met een weerstand van 200 Ohm;
  • - computer.

instructies:

Stap 1

Arduino digitale pinnen kunnen maar twee waarden geven: logisch 0 (LAAG) en logisch 1 (HOOG). Daarom zijn ze digitaal. Maar Arduino heeft "speciale" conclusies, die PWM worden genoemd. Ze worden soms aangeduid met een golvende lijn "~" of omcirkeld of op de een of andere manier onderscheiden van anderen. PWM staat voor "Pulse-width modulation" of Pulse Width Modulation, PWM.

Een pulsbreedte-gemoduleerd signaal is een pulssignaal met een constante frequentie, maar een variabele werkcyclus (de verhouding van de pulsduur tot de herhalingsperiode). Vanwege het feit dat de meeste fysieke processen in de natuur enige traagheid hebben, zullen scherpe spanningsdalingen van 1 naar 0 worden afgevlakt, waarbij een gemiddelde waarde wordt aangenomen. Door de duty cycle in te stellen, kunt u de gemiddelde spanning op de PWM-uitgang wijzigen.

Als de duty-cycle 100% is, zal er altijd aan de digitale uitgang van de Arduino een logische spanning van "1" of 5 volt zijn. Als u de duty-cycle instelt op 50%, is de helft van de tijd aan de uitgang logisch "1" en half logisch "0", en de gemiddelde spanning is 2,5 volt. Enzovoort.

In het programma wordt de duty cycle niet ingesteld als een percentage, maar als een getal van 0 tot 255. Het commando "analogWrite (10, 64)" zal bijvoorbeeld de microcontroller vertellen om een signaal te sturen met een duty cycle van 25 % naar digitale PWM-uitgang #10.

Arduino-pinnen met pulsbreedtemodulatiefunctie werken met een frequentie van ongeveer 500 Hz. Dit betekent dat de pulsherhalingsperiode ongeveer 2 milliseconden is, wat wordt gemeten door de groene verticale strepen in de figuur.

Het blijkt dat we een analoog signaal aan de digitale uitgang kunnen simuleren! Interessant, toch?!

Hoe kunnen we dit gebruiken? Er zijn veel toepassingen! Dit zijn bijvoorbeeld LED-helderheidsregeling, motortoerentalregeling, transistorstroomregeling, geluidsextractie uit een piëzo-emitter …

Pulsbreedtemodulatie begrijpen
Pulsbreedtemodulatie begrijpen

Stap 2

Laten we eens kijken naar het meest eenvoudige voorbeeld: het regelen van de helderheid van een LED met behulp van PWM. Laten we een klassiek schema samenstellen.

Circuit voor het demonstreren van PWM in Arduino
Circuit voor het demonstreren van PWM in Arduino

Stap 3

Laten we de "Fade"-schets uit de voorbeelden openen: Bestand -> Samples -> 01. Basics -> Fade.

Een voorbeeld openen om PWM in Arduino te demonstreren
Een voorbeeld openen om PWM in Arduino te demonstreren

Stap 4

Laten we het een beetje veranderen en het in het Arduino-geheugen laden.

PWM demonstratie schets
PWM demonstratie schets

Stap 5

We zetten de stroom aan. De LED neemt geleidelijk in helderheid toe en neemt vervolgens geleidelijk af. We hebben een analoog signaal aan de digitale uitgang gesimuleerd met behulp van pulsbreedtemodulatie.

Aanbevolen: