PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Servo präzise mit neuester C-Control Micro



toemchen
03.08.2006, 16:20
Hallo Gemeinde,

ich weiß, daß Servoansteuerung mit C-Control nicht unbedingt ein unbehandeltes Thema ist. Hab aber jetzt ausnahmsweise hier in der Arbeit ein Problem und kann mich nicht wochenlang einlesen. Vielmehr sollts in einer Woche fertig sein.

Ausgangspunkt: C-Control Micro Chip (8-Beiner), und Programmerboard, heute bestellt, sollte Montag da sein.

Aufgabe: Einen Servo präzise und ruckelfrei ansteuern. Genau gesagt zwischen zwei einstellbaren Positionen hin- und herbewegen. Die Positionen gibt man über zwei Potis vor, die Micro greift sich die Potistellungen über den A/D-Wandler ab. Das Signal zum Wechsel der Stellung ist ein simples 0-1-Signal an einem weiteren Port.

Ich weiß, die neueste Micro ermöglicht auch hardwaremäßig, Servos anzusteuern, aber durch die 8Bit-PWM zu grob gerastert. Gibts Assembler-Programme auch für die Micro?

Kann mir jemand (freche Frage - mach ich normal nicht) eine Art Kochrezept geben, was ich zu tun hab?

Würde mich freuen, wenn ich da schnell zu einem Ergebnis geholfen bekomme...
Tom.

PS. Oben ist die Aufgabe möglichst knapp beschrieben - hier nochmal ausführlich, muß man ja nicht lesen.

Servo ist normalerweise über einen Transistor in der Pluszuleitung abgeschaltet. (Das brauchen wir, damit der Motor keinesfalls ruckelt. Das Haltemoment des stromlosen Servos reicht uns, um die Position zu halten)

Ablauf, wenn ein Wechsel an der Eingangs-Leitung festgestellt wird:

1. Aufgrund des Pegels an der Eingangsleitung feststellen, von welchem der beiden Trimmpotis die Position abgefragt werden soll.

2. PWM-Signal für den Servo erzeugen. Der normale Stellbereich 0,8 - 2,5ms reicht aus. Das Poti kann ständig oder nur einmal beim Wechsel angefragt werden, ständig wäre aber praktischer zum Einstellen.

3. Spannungsversorgung des Servos einschalten, 2s warten (bis dahin hat der Servo locker die neue Stellung erreicht), wieder abschalten.

4. Auf den nächsten Wechsel an der Eingangsleitung warten.

Mehr hat die C-Control nicht zu tun!

DIE HARD
03.08.2006, 20:07
Hallo Gemeinde,

ich weiß, daß Servoansteuerung mit C-Control nicht unbedingt ein unbehandeltes Thema ist. Hab aber jetzt ausnahmsweise hier in der Arbeit ein Problem und kann mich nicht wochenlang einlesen. Vielmehr sollts in einer Woche fertig sein.

Ausgangspunkt: C-Control Micro Chip (8-Beiner), und Programmerboard, heute bestellt, sollte Montag da sein.

Aufgabe: Einen Servo präzise und ruckelfrei ansteuern. Genau gesagt zwischen zwei einstellbaren Positionen hin- und herbewegen. Die Positionen gibt man über zwei Potis vor, die Micro greift sich die Potistellungen über den A/D-Wandler ab. Das Signal zum Wechsel der Stellung ist ein simples 0-1-Signal an einem weiteren Port.

Ich weiß, die neueste Micro ermöglicht auch hardwaremäßig, Servos anzusteuern, aber durch die 8Bit-PWM zu grob gerastert. Gibts Assembler-Programme auch für die Micro?

Kann mir jemand (freche Frage - mach ich normal nicht) eine Art Kochrezept geben, was ich zu tun hab?

Würde mich freuen, wenn ich da schnell zu einem Ergebnis geholfen bekomme...
Tom.

PS. Oben ist die Aufgabe möglichst knapp beschrieben - hier nochmal ausführlich, muß man ja nicht lesen.

Servo ist normalerweise über einen Transistor in der Pluszuleitung abgeschaltet. (Das brauchen wir, damit der Motor keinesfalls ruckelt. Das Haltemoment des stromlosen Servos reicht uns, um die Position zu halten)

Ablauf, wenn ein Wechsel an der Eingangs-Leitung festgestellt wird:

1. Aufgrund des Pegels an der Eingangsleitung feststellen, von welchem der beiden Trimmpotis die Position abgefragt werden soll.

2. PWM-Signal für den Servo erzeugen. Der normale Stellbereich 0,8 - 2,5ms reicht aus. Das Poti kann ständig oder nur einmal beim Wechsel angefragt werden, ständig wäre aber praktischer zum Einstellen.

3. Spannungsversorgung des Servos einschalten, 2s warten (bis dahin hat der Servo locker die neue Stellung erreicht), wieder abschalten.

4. Auf den nächsten Wechsel an der Eingangsleitung warten.

Mehr hat die C-Control nicht zu tun!

Guckst du hier im Forum zur C-Control:

Demo, zwei Servos an P4 und P5
http://www.fdos.de/ccforum/codelib/ccbasic/UNIT_Micro/SYSTEMDRIVERS_MICRO/SERVODRIVER/F%DCR_OS_V_2.0x/ServoP4P5/DEMO_SERVO_P4P5.bas

Der Treiber dazu:
http://www.fdos.de/ccforum/codelib/ccbasic/UNIT_Micro/SYSTEMDRIVERS_MICRO/SERVODRIVER/F%DCR_OS_V_2.0x/ServoP4P5/SERVO_P4P5.s19

So einfach kann das Leben sein.....
ciao

toemchen
04.08.2006, 08:33
Jo super, dieses Demo ist ja schon fast was ich brauche, das kann ich bestimmt leicht umstricken. Dankeschön!

Zu meiner Ehrenrettung: Ich hatte mir schon andere Threads angeschaut, und auch solche Assemblerprogrämmchen gefunden. Aber hier ist mal explizit von der Micro die Rede, was mich schon beruhigt...

Tom