Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Mikrocomputertechnik Jürgen Walter Servo-Kalibrations-Quickie Kalibration eines Servosystems
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Lernziele: Ansteuerung eines Servomotors Zusammenhang: Pulsweite – Winkelstellung Kalibration eines Systems mit Servo Belastung der CPU minimieren
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Voraussetzungen PWM-Servo-Quickie PWM-P-Quickie
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Wiederholung 1 Special Function Register PCA0CPL0 PCA0CPH0 Impulsbreite Winkelstellung
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Wiederholung 2 0,9ms 0F574h 1,5ms 0EE6Ch 2,1ms 0E764h
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember T=21,84ms U t Servo – PCA0 - Übersetzung Wiederholrate 45,77Hz 21,84ms 0,9ms = – 2.1ms = Neutralposition: 1,5ms = ,9ms 1,5ms 2,1ms Sysclk , ,962836F574 1,561036EE6C 2,159236E764
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Programm: SERVO_LR-HS-53 Servo fährt in Mittenstellung T2 – Servo fährt gegen Uhrzeiger T3 – Servo fährt in Uhrzeiger Idee: Nach ca. n*21,84ms entsteht Interrupt der Inhalt von PCA0CPx wird um C_ADD geändert die Servostellung ändert sich.
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Vorgehensweise: Konstanten festlegen Interrupt-Vektoren Initialisierung (Configuration Wizard) Neutralstellung 1,5ms Programmschleife ISR_PCA0 Sind n-Interrupts aufgetreten? Taster 2? Richtung 0,9ms fahren – Addition: C_ADD Taster 3? Richtung 2,1ms fahren – Subtraktion: C_ADD
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Interrupt PCA0 – Vector / ISR ORG 05Bh;Interrupt Vector PCA clr CF;Interrupt bestaetigt call ISR_PCA0;Aufruf Interrupt-Service-Routine ;PAC0 RETI ISR_PCA0: djnz R2,ISR_PCA_ENDE;Sind bereits n Interrupts ;aufgetreten? mov R2,#PCA0_INT;Wiederladen des Zaehlregisters ISR_PCA_ENDE:
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Programmteil: PCA0CPL0 – PCA0CPH0 addieren mov A,PCA0CPL0;Compare 0 Low Byte in Akku clr C;Carry loeschen add A,#C_ADD mov PCA0CPL0,A;Low Byte wieder zurücksch. mov A,PCA0CPH0;High Byte Compare holen jnc KEINUEBERTRAG_1 inc A;+1 in HB KEINUEBERTRAG_1: mov PCA0CPH0,A;HB Compare schreiben BEMERKUNG: C_ADD <256
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Programmteil: PCA0CPx subtrahieren C_AB: jb P1.3,ISR_PCA_ENDE;T3 betaetigt? mov A,PCA0CPL0;Compare 0 Low Byte in Akku clr C;Carry loeschen subb A,#C_ADD mov PCA0CPL0,A;Wieder zurueckschreiben mov A,PCA0CPH0;High Byte Compare holen jnc KEINUEBERTRAG_2 dec A;-1 in HB KEINUEBERTRAG_2: mov PCA0CPH0,A;High Byte Compare schreiben ISR_PCA_ENDE: ret
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Programm: SERVO_LR-HS-53 Die Programmierung erfolgt in der IDE von Keil. Ebenso das Debuggen
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember ÜBUNGEN: Ü01 Kalibrieren Sie ihren Servo auf 0°; 90°; 180° Ermitteln Sie die dazugehörigen Werte von PCA0CPx Ü02 Variieren Sie die Schrittweite Ü03 Variieren Sie die Geschwindigkeit durch Veränderung der „Interruptanzahl zur Änderung“ Ü04 Ermitteln Sie die maximale Geschwindigkeit °/s, indem Sie zwischen T2: 0° und T3: 180° fahren und über 10 Messungen mitteln. Ü05 Bauen Sie jetzt einen Scheibenwischer der zwischen 0° und 180° wischt.
Mikrocomputertechnik SERVO-Kalibrations-Quickie Prof. J. Walter Stand Dezember Quickies – schnell und intensiv lernen Ziel erreicht!