Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Verständnisproblem MICRO Servoansteuerung Kategorie: C-Control I Micro (von deep thought - 24.08.2005 16:04)
deep thought nutzt:  Micro
Hallo allerseits

Ich brauche bitte mal Hilfe – wahrscheinlich ist es nur ein Verständnisproblem meinerseits.

1. Thema

Ich versuche derzeit, (wenn man sich so umschaut, bin ich da auch nicht alleine) einfach einen Servo an Port1 der MICRO zu betreiben.

2. Ausstattung

P/E Board
MICRO (Label "520")
Basic (V1.33), wahlweise Basic++ (bisher gleiche Ergebnisse)

3. Versuchsaufbau

Servo direct angeschlossen an:
+5V
GND
P1 (Steuerleitung)

4. Versuch

Testprogramm (Beispiele: 7_einführung_servodr) in MICRO eingespielt.

5. Ergebnis

Der Servo verhält sich nicht, wie in der Beschreibung des Beispielprogrammes dargestellt. (In 12 Steps vom unteren zum oberen Anschlag)

Vielmehr stept er zwischen einem Ausschlag von ca. 30 Grad und 60 Grad hin- und her.

6. weiteres Vorgehen

In der Annahme, daß der Servo nicht korrekt bedient wird habe ich einige Änderungen am Testprogramm vorgenommen und versucht den Servo direkt auf bestimmte Positionen zu stellen:

Die Schleife wurde entfernt und die DA Werte direkt gesetzt, so daß folgender Ablauf entstand:
#LOOP
DAC1=0
DAC1=xx
PAUSE 1
GOTO LOOP

Das Ergebnis war für mich überraschend:
Bei einem DAC1-Wert von 12 stept der Servo zwischen ca. 30 Grad und 60 Grad hin- und her
Bei einem Wert von 16 stept der Servo zwischen ca. 75 Grad und 105 Grad hin- und her (um die Mittelstellung)
Bei einem Wert von 24 stept der Servo zwischen ca. 120 Grad und 150 Grad hin- und her (um die Endstellung)

O.K. – offensichtlich wird der Servo nicht korrekt bedient.

Wenn ich richtig informiert bin, benötigt ein Servo folgende Impulse:
Unterer Anschlag: PWM 1 MSec.
Mittelstellung:       PWM 1,5 MSec.
Oberer Anschlag:  PWM 2 Msec.

Zwischenstellungen über Zwischenwerte.

Frage: Ist die Impulsdauer über die gesamte Stellzeit des Servo notwendig?

Offensichtlich gibt es da eine Abhängigkeit, denn wenn ich die „PAUSE“-Werte verändere, stellt der Servo bei „Pause 50“ an den unteren, bei „PAUSE 100“ an den oberen Anschlag und bekommt noch weitere Stellimpulse („brummt noch“) – bewegt sich aber nicht mehr vor- und zurück.


7. Frage

Ich habe versucht, meine Vorgehensweise so detailliert wie möglich zu beschreiben, komme aber in der aktuellen Situation nicht weiter. Ich komme eigentlich eher aus dem Bereich der Programmierung als aus dem Bereich der Elektrotechnik – somit fehlen mir hier auch noch mit Sicherheit einige Grundlagen.

Nichts desto weniger würde ich gerne verstehen, warum der Servo so reagiert und wie ich ihn zu der gewünschten Reaktion veranlassen kann (Stellen auf einen bestimmten Winkel – und dort BLEIBEN – bis zum nächsten Stellkommando).

Das „Tanzen“ des Servo ist für meine Anwendung nicht wünschenswert.

Sollte dafür Assemblercode (wg. Der Impulsdauer/Geschwindigkeit) notwendig sein, stellt zumindest das Verständnis kein größeres Problem dar – wie gesagt nehme ich allerdings an, daß ich hier in ein Standardproblem gelaufen bin.

Wäre dankbar, mir jemand helfen könnte.


 Antwort schreiben

Bisherige Antworten:

Re: Verständnisproblem MICRO Servoansteuerung (von Jens - 24.08.2005 19:27)
    Re: Verständnisproblem MICRO Servoansteuerung (von deep thought - 25.08.2005 11:03)
        Re: Verständnisproblem MICRO Servoansteuerung (von Jens - 25.08.2005 20:38)
            Re: Verständnisproblem MICRO Servoansteuerung (von deep_thought - 29.08.2005 1:27)