Eigenbaugetriebe: Plausibilitätsprüfung der Enkoder
von
am 03.01.2019 um 16:04 (2765 Hits)
Nachdem ich zuletzt durch eine sinnvollere Verschaltung der Enkoder mit der HW-Unterstützung und Nutzung der fallenden Taktflanken zur Auswertung am µC gute Enkoderauswertungen bekommen habe, habe ich nun versucht die Meßwerte auf Plausibilität zu überprüfen.
Dazu habe ich am aufgebockten Chassis durch die Radantriebswellen eine Gabellichtschranke unterbrechen lassen. Der Ausgang der Lichtschranke ist über einen Schmittrigger (74HC14) zum INT1 des Mega88 verdrahtet und erzeugt pro Radumdrehung einen Interrupt. In der ISR werden nach je 10 Radumdrehungen die Ticks eines Enkoders ausgelesen und in ein Array gespeichert. Nach 10 solcher Messungen wird der Inhalt des Arrays über RS232 an den PC ausgegeben.
Erwartet werden 9600 Ticks pro 10 Radumdrehungen. Die Enkoderschlitzscheibe sitzt auf der Motorwelle und hat 36 Schlitze. Da sie von zwei Fototransistoren abgetastet wird werden quasi 72 Schlitze pro Umdrehung wahrgenommen. Da pro Schlitz (bei 72 Schlitzen) ein Enkoderzählinterrupt erzeugt wird, werden pro Motorumdrehung 72 Ticks gezählt. Das Getriebe hat hat eine Übersetzung von 1 zu 13,333 Periode. Bei einer Radumdrehung, dreht der Motor also 13,333... Mal, ergibt also 13,333... * 72 = 960 Ticks pro Radumdrehung.
Gemessen bei nahezu Maximaldrehzahl der Motore (3 Volt nominal mit fast 5V knapp 100% PWM angesteuert) von ca. 85 U/s ergaben sich für Vorwärts- und Rückwärtslauf im Mittel die gleichen Meßwerte für 10 Radumdrehungen: 9600 Ticks. Die Messung der ersten 10 Radumdrehungen wurde verworfen und ist hier nicht aufgeführt, da er durch die PRINT Ausgabe der vorhergehenden Reihe verfälscht ist. Variationen in der Geschwindigkeit während der Messung ergaben keine Unterschiede und auch bei Messungen über nur eine Radumdrehung waren nur einzelne Abweichungen von plusminus 2 Ticks vom Sollwert (960) zu beobachten. Der Mittelwert war jedesmal gut; notfalls mit der vorhergehenden Messung verrechnet.
Beispielhafte Meßreihen über 10 Radumdrehungem:
Ticks von je 10 Radumdrehungen vorwärts
9599
9599
9602
9598
9601
9601
9600
9599
9601
Ticks von je 10 Radumdrehungen rückwärts
-9601
-9598
-9602
-9599
-9601
-9600
-9598
-9602
-9599
Falls also demnächst bei der Regelung unerklärbare Fehler auftauchen sollten, werd ich erst zuletzt bei den Enkodern suchen. Eher bei den Timings, vor allem, wenn beide Enkoder parallel laufen (oder bei eventuell unterschiedlichen Umfängen der selbstgeferigten Räder ) Spätere maximale Drehzahl der Motore im Normalbetrieb soll aber auch nur bei etwa 2/3 der 85U/s liegen.
Gruß
Searcher