Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > 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 >