Re: kommando zurück - fehler entdeckt Kategorie: Programmierung Basic (von UlliS - 7.10.2009 9:29) | ||
Als Antwort auf kommando zurück - fehler entdeckt von michl - 7.10.2009 4:05 | ||
| ||
> kommando zurück - logikfehler entdeckt... > > herausgefunden: port_on und port_off arbeiten genau anders herum, als ich erwartet hatte. > bin jetzt ich blöd oder isses einfach reziprok logisch? > > ps: korrekte impulsdauern sind bei dem servo-modell scheints 0,5ms - 1,25ms - 2,0ms für -90°, 0°, 90° > bei periodendauer 20ms. > > > ich fühl mich grad ein klein wenig blöd... ich find meinen denkfehler nicht. vom kratzen hab ich inzwischen > > eine glatze. > > > > ich habe einen modelcraft rs-2 servo angeschlossen an meinem c-control pro 128 app. board > > (rot an +5v, braun an masse, orange an port c.0) > > > > ich wollte jetzt einfach mal den servo von links nach rechts fahren lassen und zurück in einer endlosschleife. > > das ganze funktioniert nicht, der servo zuckt nur gelegentlich hin und her, tut aber nicht, was er soll. > > nur finde ich leider den denkfehler nicht und kann meinen scheinbar fehlerhaften code nicht korrigieren. > > kann mir einer sagen, wo hier der fehler liegt? > > > > Dim zaehler As Integer > > > > Sub main() > > Port_DataDirBit(16,PORT_OUT) > > > > Do While (True) > > links() > > rechts() > > End While > > > > End Sub > > > > Sub links() > > zaehler = 0 > > Do While (zaehler < 51) > > zaehler = zaehler + 1 > > Port_WriteBit(16,PORT_ON) > > AbsDelay(1) > > Port_WriteBit(16,PORT_OFF) > > AbsDelay(19) > > End While > > End Sub > > > > Sub rechts() > > zaehler = 0 > > Do While (zaehler < 51) > > zaehler = zaehler + 1 > > Port_WriteBit(16,PORT_ON) > > AbsDelay(2) > > Port_WriteBit(16,PORT_OFF) > > AbsDelay(18) > > End While > > End Sub > > > > ps: der motor funktioniert, mit einem heruntergeladenen demo-programm funktioniert er zwar zittrig, > > aber ansonsten tadellos. Hi, probier doch mal die eingebaute Servo Funktion aus. Bsp: // Ansteuerung von 3 Servos und beenden nach 10 Sek. void main(void) { byte servo_var[30]; // Servo interne Variablen // Max. 10 Servos, 20ms Intervall, Timer 3 Servo_Init(10, 1, servo_var, 1); Servo_Set(7, 2000); // Servo Portbit 7 2000µs Servo_Set(6, 1800); // Servo Portbit 6 1800µs Servo_Set(5, 1600); // Servo Portbit 5 1600µs AbsDelay(5000); Servo_Set(7, 1000); // Servo Portbit 7 1000µs AbsDelay(5000); Servo_Set(7, 0); // alle Servos aus Servo_Set(6, 0); Servo_Set(5, 0); } In der Hilfe findest du mehr dazu (IDE Hilfe). Grü�e Ulli | ||
Antwort schreiben Antworten: Re: kommando zurück - fehler entdeckt (von michl - 7.10.2009 12:50) Re: kommando zurück - fehler entdeckt (von michl - 7.10.2009 15:12) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum