Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Steffen Beutel Geändert vor über 9 Jahren
1
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 1 Mikrocomputertechnik Jürgen Walter „PWM-SERVO-Quickie“ Ansteuerung eines Servomotors
2
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 2 Lernziele: Ansteuerung eines Servomotors Zusammenhang: Pulsweite – Winkelstellung Kalibration eines Systems mit Servo Belastung der CPU minimieren
3
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 3 Voraussetzungen IDE-Quickie PWM-LED-Quickie
4
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 4 Wiederholung 1 PWM-Programm: L_25_50_75 Es werden 3 LEDs mit verschiedenem Duty-Cycle angesteuert – 25% - 50% - 75%
5
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 5 Wiederholung 2 – Vergleich PCA0 - CPx
6
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 6 Funktion des Servos Die Pulsbreite zwischen 900µs und 2100µs für den Servo entspricht der Winkelstellung zwischen 0° und 180°
7
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 7 Aus Datenblatt des Servos HITEC HS-311 Elektr. Servoimpuls – Alle HiTEC-Servos benötigen Impulse zwischen 3-5V und einer Länge von 0,9 bis 2,1 ms. Die Neutralposition liegt bei 1,5 ms. Die Wiederholrate beträgt 50 Hz (20 ms). Betriebsspannung - Sie liegt zwischen 4,8 und 6V. Farbcodierung der Kabel - SCHWARZ für Minus, ROT für Plus, GELB für Impuls-Signal Drehrichtung - Alle HiTEC Servos arbeiten im Uhrzeigersinn (CW).
8
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 8 Aus Datenblatt Servo HITEC HS-311-Mechanik Getriebe: Nylon Kugellager: 0 Geschwindigkeit bei 4,8 V: 0,19 sec/60° Geschwindigkeit bei 6,0 V: 0,15 sec/60° Drehmoment bei 4,8 V: 30 Ncm Drehmoment bei 6,0 V: 35 Ncm Abmessungen: ca. 40 x 20 x 36,5 mm Gewicht: ca. 43 g Irun 180mA – Imax bei 6V: blockieren 800mA
9
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 9 Kleine Berechnung Servomotor (Excel) SYSCLK/HzT_PWMNeutralposition/sHalbe Impulsbreite/s 3000000=65536/A20,00150,0006 PW/sSchritteComparein Hex links =Neutralposition_s- Halbe_Impulsbreite_s=RUNDEN(B5*A2;0)=RUNDEN(65536-C5;0)=DEZINHEX(D5) Mitte=Neutralposition_s=RUNDEN(B6*A2;0)=RUNDEN(65536-C6;0)=DEZINHEX(D6) rechts =Neutralposition_s+Halbe _Impulsbreite_s=RUNDEN(B7*A2;0)=65536-C7=DEZINHEX(D7) 1°=(C5-C7)/180Schritten 120=A10*B9Schritten=D5+B10=DEZINHEX(D10) SYSCLK/HzT_PWMNeutralposition/sHalbe Impulsbreite/s 3,00E+060,0218453330,00150,0006 PW/sSchritteComparein Hex links0,90E-032700,0062836F574 Mitte1,50E-034500,0061036EE6C rechts2,10E-036300,0059236E764
10
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 10 PWMPulsweitenmodulation von 90° auf 0° T=21,845ms FFFFh EE6Ch F574h E764h 0 PWM Vcc Gnd 180° 90° 0° t 0 =PCA0CPn -//-
11
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 11 PWMPulsweitenmodulation 90° auf180° T=21,845ms FFFFh EE6Ch F574h E764h 0 PWM Vcc Gnd 180° 90° 0° t 0 -//-
12
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 12 T=20msU t Servo – Datenblatt - Übersetzung Wiederholrate 50Hz 20ms 0,9ms – 2.1ms Neutralposition: 1,5ms 0,9ms 1,5ms 2,1ms
13
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 13 T=21,84ms U t Servo – PCA0 - Übersetzung Wiederholrate 45,77Hz 21,84ms 0,9ms = 62835 – 2.1ms = 59234 Neutralposition: 1,5ms = 61035 0,9ms 1,5ms 2,1ms Sysclk3000000 21,8465536 0,962835F573 1,561035EE6B 2,159234E762
14
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 14 Programm: SERVO_LR Servo fährt in Mittenstellung T2 – Servo fährt im Uhrzeiger T3 – Servo fährt gegen Uhrzeiger Idee: Nach ca. n*21,84ms entsteht Interrupt der Inhalt von PCA0CPx wird geändert die Servostellung ändert sich.
15
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 15 Interrupt PCA0 – Vector / ISR ;ORG ORG 05Bh;Interrupt Vector PCA clr CF;Interrupt bestaetigt call ISR_PCA0; RETI ISR_PCA0: djnz R2,ISR_PCA_ENDE;Sind bereits n Interrupts ;aufgetreten? mov R2,#PCA0_INT;Wiederladen des Zaehlregisters
16
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 16 Programmteil: PCA0CPx addieren jb P1.2,C_AB ;T2? Abfrage AUF? 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 KEINUEBERTRAG_1: mov PCA0CPH0,A;HB Compare schreiben
17
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 17 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 KEINUEBERTRAG_2: mov PCA0CPH0,A;High Byte Compare schreiben ISR_PCA_ENDE: ret
18
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 18 Ü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.
19
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 19 Quickies – schnell und intensiv lernen Ziel erreicht!
20
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 20 Metaphern
21
Mikrocomputertechnik PWM-SERVO-Quickie Prof. J. Walter Stand Dezember 2014 21
Ähnliche Präsentationen
© 2025 SlidePlayer.org Inc.
All rights reserved.