17
Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter „PWM-SERVO-Quickie“ Ansteuerung eines Servomotors

Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Embed Size (px)

Citation preview

Page 1: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

1

MikrocomputertechnikJürgen Walter

„PWM-SERVO-Quickie“Ansteuerung eines Servomotors

Page 2: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

2

Lernziele:

· Ansteuerung eines Servomotors· Zusammenhang: Pulsweite – Winkelstellung· Belastung des Controllers minimieren

Page 3: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

3

Voraussetzungen

· IDE-Quickie

· PWM-LED-Quickie

Page 4: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

4

Wiederholung 1

· PWM-LED· Es werden 3 LEDs mit verschiedenem Duty-Cycle

angesteuert – 25% - 50% - 75%

Page 5: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

5

Wiederholung 2 – Vergleich PCA0 - CPx

Page 6: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

6

Funktion des Servos

· Die Pulsbreite entspricht einer Winkelstellung zwischen 0° und 180°

Page 7: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

7

Datenblatt des Servos HITEC HS-311

· 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).

Page 8: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

8

Datenblatt Servo HITEC HS-311

· 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

Page 9: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

9

T=20msU

t

Servo – Datenblatt - Übersetzung

• Wiederholrate 50Hz 20ms• 0,9ms – 2.1ms• Neutralposition: 1,5ms

0,9ms1,5ms2,1ms

Page 10: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

10

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

Sysclk 300000021,84 65536

0,9 62835 F5731,5 61035 EE6B2,1 59234 E762

Page 11: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

11

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.

Page 12: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

12

Interrupt PCA0 – Vector / ISR

;ORG ORG 05Bh ;Interrupt Vector PCAclr CF ;Interrupt bestaetigtcall ISR_PCA0 ;RETI

ISR_PCA0:djnz R2,ISR_PCA_ENDE ;Sind bereits n Interrupts

;aufgetreten?mov R2,#PCA0_INT ;Wiederladen des Zaehlregisters

Page 13: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

13

Programmteil: PCA0CPx addieren

jb P1.2,C_AB ;T2? Abfrage AUF?mov A,PCA0CPL0 ;Compare 0 Low Byte in Akkuclr C ;Carry loeschenadd A,#C_ADDmov PCA0CPL0,A ;Low Byte wieder zurücksch.mov A,PCA0CPH0 ;High Byte Compare holenjnc KEINUEBERTRAG_1inc AKEINUEBERTRAG_1:mov PCA0CPH0,A ;HB Compare schreiben

Page 14: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

14

Programmteil: PCA0CPx subtrahieren

C_AB:jb P1.3,ISR_PCA_ENDE ;T3 betaetigt?mov A,PCA0CPL0 ;Compare 0 Low Byte in Akkuclr C ;Carry loeschensubb A,#C_ADDmov PCA0CPL0,A ;Wieder zurueckschreibenmov A,PCA0CPH0 ;High Byte Compare holenjnc KEINUEBERTRAG_2dec AKEINUEBERTRAG_2:mov PCA0CPH0,A ;High Byte Compare schreibenISR_PCA_ENDE:ret

Page 15: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

15

Ü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.

Page 16: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

16

Quickies – schnell und intensiv lernen

· Ziel erreicht!

Page 17: Mikrocomputertechnik 1 Einführung Prof. J. Walter Stand Oktober 2009 1 Mikrocomputertechnik Jürgen Walter PWM-SERVO-Quickie Ansteuerung eines Servomotors

Mik

rocom

pu

tert

ech

nik

1 E

infü

hru

ng

Pro

f. J

. W

alt

er

Sta

nd

Okto

ber

20

09

17

Metaphern