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 ! > Ich habe 2 Drehrgeber an die Interuptports der CC2 Station angeschlossen. > Der Drehgeber soll die jeweils zurückgelegte Strecke messen. > > Der Drehgeber hat 2 Kanäle A und B die Signale der Drehgeber sind um jeweils um eine > Halbeimpulsbreite versetzt. > > Ich habe jetzt versuchte die Drehrichtung der des Gebers zu erkennen indem ich alle > zustandsfolgen Programmiert habe. > > Wäre die Zustandsabfolge für Rechtsdrehung > A* 0 1 1 0 > B* 0 0 1 1 > ---------------- > A 1 1 0 0 > B 0 1 1 0 > > > Wäre die Zustandsabfolge für Linksdrehung > > A* 0 0 1 1 > B* 0 1 1 0 > ----------------- > A 0 1 1 0 > B 1 1 0 0 > > das programm sieht quasi so aus > counter =0 > A=ports.get (8) > B=ports.get (9) > > Loop > //Programmteil Rechtsdrehung > If A==0 and B==0 and ports.get(8)==-1 and ports.get(9)==0 > counter=counter+ports.getcount(8) > A=-1 > B=0 > } > > If A==-1 and B==0 and ports.get(8)==-1 and ports.get(9)==-1 > counter=counter+ports.getcount(8) > A=-1 > B=-1 > } > If A==-1 and B==-1 and ports.get(8)==0 and ports.get(9)==-1 > counter=counter+ports.getcount(8) > A=0 > B=-1 > } > und so weiter > > Ich habe jetzt das Problem das das Programm zu langsam ist um richtig zu Zählen > Es werden immer mal wieder Impulse übersprungen. > Der Drehgeber bewegt sich relativ schnell ca 60 Pluse bekomme ich Sekunde. > > Hat jemand eine Idee wie ich das Programm technisch realieren kann oder muss ich > da noch Hardware Componeten mit einbauen? > Wenn ich nur ports.getcount nutze ohne die erkennung der Drehrichtung werden die Pulse richtig gezählt