Programmdateien: rotmess.py , + Mikrorechnerprogramm zur Messung Umdrehungsgeschwindigkeit
Das Python-Programm rotmess.py nutzt conf_bstring als Modul. Es bestimmt für die PWM-Perioden 2ms, 1ms und 0,5ms für PWM-Werte von -100% bis +100% (aus dem Vorzeichen wird das Richtungssignal) die Anzahl der Winkelschritte pro Sekunde und stellt das Ergebnis tabellarisch und graphisch dar.
Test:Programmdateien: test_regelung.c , regelung.py + Treiberdateien comir_lcd.h/c, comir_pc.h/c, comir_pwm.h/c und rotmess.h/c
Der zu testende PI-Regler ist ein Code-Baustein im Hauptprogramm, dass die Treiber "pwm.c", "rotmess.c", "comir.c" und "comir.lcd" nutzt. Für die Länge der Empfangs- und Sendenachrichten ist in "comir_pc.h" 10 bzw. 8 einzustellen:#define COM_PC_RMSG_LEN 10 #define COM_PC_SMSG_LEN 8Für die Anzahl der Abtastschritte je Messung ist in "pwm.h" einzustellen:
#define ABTASTSCHRITTE 40 // 40*0,5ms = 20ms
Das LC-Display zeigt für beide Motoren die aktuelle Differenz vom Sollwert in Winkelschritten und die Integralteile sowie die Restzeit der Bewegungen und Informationen über (eventuelle) Fehlfunktionen an. Die Eingabenachrichten bestehen aus zwei vorzeichenbehafteten 16-Bit-Werte für die Sollgeschwindigkeiten, einem 16Bit-vorzeichenfreien Wert für die Bewegungsdauer in Regelschritten (Regelschrittdauer 20 ms), je einem 16Bit-vorzeichenfreien Wert für die Reglerparameter kp und ki. Rückgeschickt an den PC werden die Winkelabweichungen und die Integralteile für die Auswertung auf dem PC.
Das Python-Programm "regelung.py" steuert eine verkettete Bewegungsfolge, speichert die Winkelabweichungen der Sollwerte und die Integralanteile und stellt sie tabellarisch und graphisch dar. Es dient der Veranschaulichung der Reglerfunktion, der Bestimmung geeigneter Reglerparameter und später zum Testen von Fahrfunktionen.
Test:Autor: gkemnitz, Letzte Änderung: 06.11.2024 20:33:29