Für dieses Forum muß Javascript im Browser aktiviert werden!
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> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > Hallo, > > > > ich habe das Problem, dass zur Ansteuerung eines Servos die Funktion plm.out recht grosse Schrittweiten am Servo hervorruft (Schrittweite 1 Ganzzahlig!). Besteht die Möglichkeit plm.out von INT auf FLOAT umzustellen? (oder kann man das angeschlossene Servo irgendwie anders dazu bewegen kleinere Schritte auszuführen?) > > > > Sorry für die evtl. 'dumme' Frage. CC2 ist neu für mich und ich habe im Archiv hier nix gefunden. > > > > Vielen Dank und Grußß aus München > > > > Andreas > > Hi, > habe Dir einfach mal ein Stück Code rauskopiert: > > const PLM_OUT_FRONT =2; // PWM signal channel 2 > const PLM_FRONT_TBASE =1; // 800 nanosec. timebase > const PLM_FRONT_PERIOD =25000; // about 20 ms > const SENSOR_POS_LEFT =800; // about 1 ms > const SENSOR_POS_RIGHT =3300; // about 2 ms > > function foo() > { > int iSegment; > > // PLM output 'digital' for servo > plm.setmode(PLM_OUT_FRONT,0); > // PLM timebase: 800 nanosec. > plm.settimebase(PLM_OUT_FRONT, PLM_FRONT_TBASE); > // PLM period: about 20ms > plm.setperiod(PLM_OUT_FRONT, PLM_FRONT_PERIOD); > > // turn servo to left position > plm.out(PLM_OUT_FRONT, SENSOR_POS_LEFT); > // wait until position has been reached > sleep(1000); > > // turn slowly from left to right > for iSegment=SENSOR_POS_LEFT ... < SENSOR_POS_RIGHT step 1 > { > plm.out(PLM_OUT_FRONT, iSegment); > sleep(1); > } > > // conserve energy > plm.out(PLM_OUT_FRONT, 0); > } > > Das dürfte den Servo geschmeidiger machen. Es werden Impulse zwischen > ca. 1-2ms erzeugt, die alle 20ms wiederholt werden. Von links nach > rechts geht's in 2500 Schritten. Du kannst mit den Parametern > rumspielen bis Anschläge/Schritte/Geschwindigkeit passen. > > so long, > Wolfgang >