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 den "Fahrtenregler Mini FG" (bei Conrad gekauft) an PLM0 > angeschlossen. Am Fahrtenregler hängt ein 12V Motor. Der Fahrtenregler > erwartet ein Impuls zwischen 1ms (nach links...) und 2ms (nach rechts...). > Bei 1.5ms ist die Neutralstellung. > Ich habe mir zum Testen das Programm von Thomas Heinzer aus "Programme C2"-Bereich gezogen, da es genau dies zu lösen scheint. > Jedoch wenn ich das Programm in die C-Control lade und laufen lasse, laüft der Motor > ununterbrochen in eine Richtung mit immer derselben Geschwindigkeit. > Nur bei plm.out(0,0) bleibt er stehen. > Wo liegt mein Fehler? > > > Hier der Quelltext von Thomas Heinzer: > > /* HW-Voraussetzung: > /* Ein Servo angesteurt werden > /* über PLM0 soll alle 20 ms ein Impuls gehen. > /* Die Länge des Impusl ist von 1.1ms linker bis 2.1ms rechter anschlag */ > > function SetServo(int Kanal,float Value) > { > // Value ist in Prozent 0 =Links 50=Mitte 100=Rechts > // 0=1.1ms = 1375 Impulse * 800 ns Praxis 700 * 800 = 0.56ms > // 50=1.6ms = 2000 Impulse * 800 ns > // 100=2.1ms = 2625 Impulse * 800 ns Praxis 2800 *800ns = 2.24ms > int outvalue; > string s1; > > outvalue=700+(21*Value); > plm.out(0,outvalue); > } > > > // Wichtig ist natürlich die Initialisierung > > // initial PLM > plm.settimebase(0,1); //Base_800 ns > plm.setmode(0,0); //Mode=digital > plm.setperiod(0,25000); //Periodenlänge=Base_800 ns * 25000 = 20 ms oder 50 Hz > SetServo(0,50); //Servomitte > SetServo(0,0); //links > > SetServo(0,100); //rechts > > > > Für eure Hilfe schon einmal vielen Dank im voraus > > Gruß > > Thomas > >