Einstieg in die Regelungstechnik mit Python

Fachbuch von Hans-Werner Philippsen

Funktionsgeneratoren

MicroPython bietet die Möglichkeit elementare technische Signale auf einem DAC-Kanal auszugeben. Das Pyboard d verfügt über zwei 12 Bit Digital-Analog-Wandler, wobei microPython noch die Methoden PWM, triangle und noise bereitstellt. Das nachfolgende Beispiel zeigt die Erzeugung eines PWM-Signals mit konstanter Frequenz von 1000 Hz und variablen Duty-Faktor sowie Ausgabe auf Pin X1.

Ein Dreiecksignal mit der Frequenz von 100 Hz kann direkt aus der Konsole mit den Befehlen

erzeugt werden.

Dreieck

Das Argument der triangle-Funktion ist die Änderungsrate des Signals. Die Frequenz des Dreiecks ist 2048-fach kleiner. Das Signal hat einen Offset von 0,216 V und eine Amplitude 0,833 V.

Die DAC-Ausgänge können sinusförmige Spannungen bis ca. 70kHz erzeugen, jedoch sind leichte Verformungen des Signals schon ab 1kHz sichtbar. Der online Dokumentation von MicroPython kann man das folgende Programm entnehmen.

Zunächst wird ein Array mit dem Typ unsigned short (H) erzeugt und mit Werten der Sinusfunktion gefüllt. Nach Zuweisung des Pins und der Datenbreite wird der Buffer in einer Endlosschleife auf dac zyklisch mit 400 Hz ausgegeben.

Theme von Anders Norén