Probleme mit Drehrichtungserkennung Drehgeber Kategorie: Programmierung (von Limdor - 1.09.2008 14:14) | ||
| ||
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 | ||
Antwort schreiben Antworten: Re: Probleme mit Drehrichtungserkennung Drehgeber (von TManiac - 3.09.2008 8:59) |