Arduino PWM Signalgeneratorschaltung

Arduino PWM Signalgeneratorschaltung

In diesem Beitrag untersuchen wir ausführlich, wie eine auf Arduino basierende PWM-Signalgeneratorschaltung hergestellt wird, die mit einem Potentiometer oder einem Poti auf ein beliebiges bevorzugtes Tastverhältnis eingestellt oder eingestellt werden kann.

DurchAnkit Negi



WAS IST PWM?

pwm- oder Impulsbreitenmodulation, wie der Name selbst andeutet, ist eine Modulation der Breite der Impulse, d. h. wie lange der Impuls in einem gegebenen Zeitraum hoch oder niedrig ist. Dies ändert den Arbeitszyklus des Impulses, der schließlich den Durchschnittswert des Impulses bestimmt, wenn der Arbeitszyklus eingeschaltet ist, geteilt durch die Gesamtzeitdauer.



Und die Frequenz spielt bei pwm eine sehr wichtige Rolle, die hoch genug sein muss, um eine stabile Ausgabe zu erzeugen

Pwm wird für verschiedene Zwecke verwendet, z. B. zum Ansteuern eines Geräts, das mit Niederspannung arbeitet, oder zum Schalten wie bei SMPS.



PWM MIT ARDUINO UNO

Pwm ist auch einer der Faktoren, die Arduino zu einem einfachsten Entwicklungsboard machen, da Pwm durch Hinzufügen von nur einem Zeilencode zu Ihrem Programm durchgeführt werden kann. Beachten Sie, dass auf arduino UNO separate digitale Pins für pwm verfügbar sind, was bedeutet, dass diese Pins eine pwm-Ausgabe liefern können.

Auf arduino UNO sind insgesamt 6 pwm-Pins verfügbar, dh 3, 5, 6,9,10 und 11 von 14 digitalen Pins. Beachten Sie, dass die Anzahl der PWM-Pins von einem Arduino-Board-Typ zum anderen variiert.

Nun gibt es zwei Möglichkeiten, wie pwm von arduino ausgeführt werden kann:



1. Durch direktes Zuweisen eines Analogwerts zum PWM-Pin zwischen 0 und 255.

Da digitale Pins in Arduino maximal 5 V liefern können, bedeutet dies, dass 0 Analogwerte gleich 0 Volt und 255 5 Volt entsprechen.

Und um dies durchzuführen, müssen Sie nur diesen Code zu Ihrem Programm hinzufügen:

analogWrite (PWM-Pin-Nr., Wert zwischen 0 und 255)

Zum Beispiel: analogWrite (10,64) // 64 analoge Werte in pwm Pin Nr. 10 schreiben.

Dies bedeutet nun :: (5/255) * 64 Volt = 1,25 Volt, d. H. 25% Einschaltdauer.

2. Durch Zuweisen eines Werts gemäß dem Eingang, der von den analogen Pins von Arduino empfangen wird.
Die Eingabe kann von Komponenten wie einem IR-Sensor oder einem Potentiometer erfolgen.

Beachten Sie, dass Arduino einen analogen Eingang in Bezug auf einen Wert zwischen 0 und 1023 empfängt, was 0 bis 5 Volt entspricht. Um pwm an einem Pin auszuführen, müssen Sie diesen Eingabewert äquivalent in eine Zahl zwischen 0 und 255 konvertieren. Dies wird in Arduinos Sprache als Mapping bezeichnet.

Hierfür gibt es einen einfachen Code:

y = map (x, 0,1023: 0,255) // wobei x die Eingabevariable ist

Danach können Sie pwm an einem Pin ausführen, indem Sie:

analogWrite (PWM-Pin Nr. y) // Empfangenen zugeordneten Wert auf Pin 10 schreiben

PWM-BEISPIEL:

Wir werden beide Techniken anhand dieses Beispiels lernen. Dafür benötigen Sie:

1. Ein Potentiometer
2. Zwei LEDs
3. Zwei 100 Ohm Widerstände

Stellen Sie die Verbindungen wie im Schaltplan gezeigt her:

SCHALTPLAN:

CODE:

int x// initialise variables
int y
void setup() {
pinMode(10,OUTPUT)//initialise pin 10 as output
pinMode(9,OUTPUT)//initialise pin 9 as output
pinMode(A0,INPUT)//initialise pin A0 as input from pot.
// put your setup code here, to run once:
}
void loop() {
analogWrite(9,125)// directly assigning value to pin 9 i.e. case1
x=analogRead(A0)// read values from potentiometer in terms of voltage
y= map(x,0,1023,0,255)// map those values from 0 to 255 // put your main code here, to run repeatedly:
analogWrite(10,y)// assigning value based on input from pot at pin A0 i.e. case 2
}

Wie es funktioniert

Die grundlegende Funktionsweise des vorgeschlagenen Arduino PWM-Signalgeneratorprojekts kann anhand des folgenden Abschnitts untersucht werden

Pin Nr. 9 kann ein beliebiger PWM-Wert zugewiesen werden, während Pin Nr. 10 gibt den PWM-Wert gemäß der Position des Potentiometers in Bezug auf Masse an. Ändern Sie diesen beliebigen Wert für Pin 9 und drehen Sie das Potentiometer, um unterschiedliche PWM-Ausgänge an beiden Pins zu sehen.




Zurück: Hochstrom-Motorsteuerkreis mit Arduino Weiter: 10-Kanal-Fernbedienungsschalter mit 2,4 GHz