Lassen Sie uns herausfinden, was sich hinter dem PWM-Akronym verbirgt, wie es funktioniert, wofür es ist und wie wir es bei der Arbeit mit Arduino verwenden können.
Notwendig
- -Arduino;
- - Leuchtdiode;
- - ein Widerstand mit einem Widerstand von 200 Ohm;
- - Computer.
Anweisungen
Schritt 1
Arduino-Digitalpins können nur zwei Werte liefern: logisch 0 (LOW) und logisch 1 (HIGH). Deshalb sind sie digital. Aber Arduino hat "besondere" Schlussfolgerungen, die als PWM bezeichnet werden. Sie werden manchmal mit einer Wellenlinie "~" gekennzeichnet oder eingekreist oder irgendwie von anderen unterschieden. PWM steht für „Pulsweitenmodulation“oder Pulsweitenmodulation, PWM.
Ein pulsweitenmoduliertes Signal ist ein Pulssignal mit einer konstanten Frequenz, aber einem variablen Tastverhältnis (das Verhältnis der Pulsdauer zu seiner Wiederholungsperiode). Aufgrund der Tatsache, dass die meisten physikalischen Prozesse in der Natur eine gewisse Trägheit aufweisen, werden starke Spannungsabfälle von 1 auf 0 geglättet, wobei ein gewisser Durchschnittswert angenommen wird. Durch Einstellen des Tastverhältnisses können Sie die durchschnittliche Spannung am PWM-Ausgang ändern.
Wenn das Tastverhältnis 100% beträgt, liegt am digitalen Ausgang des Arduino ständig eine logische Spannung von "1" oder 5 Volt an. Wenn Sie das Tastverhältnis auf 50% einstellen, ist die Hälfte der Zeit am Ausgang logisch "1" und die Hälfte - logisch "0" und die durchschnittliche Spannung beträgt 2,5 Volt. Usw.
Im Programm wird das Tastverhältnis nicht in Prozent, sondern als Zahl von 0 bis 255 eingestellt. Zum Beispiel weist der Befehl "analogWrite (10, 64)" den Mikrocontroller an, ein Signal mit einem Tastverhältnis von 25. zu senden % zum digitalen PWM-Ausgang # 10.
Arduino-Pins mit Pulsweitenmodulationsfunktion arbeiten mit einer Frequenz von etwa 500 Hz. Dies bedeutet, dass die Pulswiederholungsperiode etwa 2 Millisekunden beträgt, was durch die grünen vertikalen Striche in der Abbildung gemessen wird.
Es stellt sich heraus, dass wir am digitalen Ausgang ein analoges Signal simulieren können! Interessant, oder?!
Wie können wir das nutzen? Bewerbungen gibt es viele! Dies sind zum Beispiel LED-Helligkeitssteuerung, Motordrehzahlsteuerung, Transistorstromsteuerung, Schallextraktion aus einem Piezo-Emitter …
Schritt 2
Werfen wir einen Blick auf das einfachste Beispiel – die Steuerung der Helligkeit einer LED mit PWM. Lassen Sie uns ein klassisches Schema zusammenstellen.
Schritt 3
Öffnen wir die "Fade"-Skizze aus den Beispielen: File -> Samples -> 01. Basics -> Fade.
Schritt 4
Lassen Sie es uns ein wenig ändern und in den Arduino-Speicher laden.
Schritt 5
Wir schalten den Strom ein. Die Helligkeit der LED nimmt allmählich zu und dann allmählich ab. Am digitalen Ausgang haben wir ein analoges Signal mittels Pulsweitenmodulation simuliert.