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 Frank, > > > welchen geber benutzt Du (Hersteller Typ)? Dann werd ich mir mal > ein Datenblatt besorgen. Dem Problem muß doch auf die Schliche > zu kommen sein. > Hast Du kein Oszi um die Signale mal anzuschauen? > Hast Du schon mal einen PullUp Widerstand zwischen Port und 5V gelegt? > Oder mal zu Test Pulldown Widerstand zwischen Port und 0V? > Hast Du den Fahrweg auf dem Drehgeber mal mit Filzstift markiert, > sind es wirklich immer 104° (aber an der Drehgeberwelle um Lose auszuschliessen)? > > > mfg Tom > > > Hallo Tom! > > Hallo @all! > > > > Ich habe die Sache mal mit dem Testprogramm untersucht. Die Impulse schwanken weiter fröhlich > > vor sich hin. Es handelt sich also wohl um ein reines Hardwareproblem. > > Hier ist mein Testprogramm; ich habe deines noch um die Schaltung der Relais zur Ansteuerung > > des Motors ergänzt: > > > > > > > > function motor_rechtslauf_aus() { stports.setRel(1,0); } > > function motor_rechtslauf_ein() { stports.setRel(1,1); } > > function motor_linkslauf_aus() { stports.setRel(2,0); } > > function motor_linkslauf_ein() { stports.setRel(2,1); } > > > > thread main > > { > > stports.init(); > > lcdext.init(); > > > > long count; > > string s; > > > > loop > > { > > count = count + ports.getcount(0); > > > > lcdext.clear(); > > lcdext.home(); > > s = ""; > > str.putlongf(s,count,5); > > lcdext.print(s); > > > > if stkeyb.get() == 10 // F1 > > { > > motor_rechtslauf_aus(); > > motor_linkslauf_aus(); > > } > > if stkeyb.get() == 11 {count=0;} // F2 > > if stkeyb.get() == 12 {break;} // F3 > > if stkeyb.get() == 2 {motor_rechtslauf_ein();} // up > > if stkeyb.get() == 8 {motor_linkslauf_ein();} // down > > sleep(100); > > } > > > > motor_rechtslauf_aus(); > > motor_linkslauf_aus(); > > } > > > > > > > > An diesem Programm kann wohl nicht viel falsch sein. Wäre super, wenn jemand das > > (Hardware-) Problem identifizieren und lösen könnte. > > > > Ich habe den Motor von einer Endstellung in die andere fahren lassen (104°), die Impulse schwanken > > zwischen 855 und 917. > > > > Soweit der Stand der Dinge. Hoffe auf eine geniale Lösung! > > > > Viele Grüße, > > Frank