Eigenbaugetriebe: auf dem Prüfstand
von
am 01.01.2019 um 18:21 (2665 Hits)
Die beiden neuen Platinen mit den H-Brücken und HW-Unterstützung der Enkoderauswertung sind im Chassis untergebracht und getestet. Dazu habe ich auf dem Breadboard einen Mega88PA aufgebaut und hinüber zum Chassis verkabelt. Über eine RS232 zum PC gibt es Meßwerte, hauptsächlich vom Enkoder am PC-Bildschirm.
Bild hier
Dabei gab es einige interessante Beobachtungen.
zB kommt von der HW-Unterstützung ein Taktsignal und ein UP/DOWN Signal pro Enkoder. Das UP/DOWN muß nach jetzigem Verzögerungsglied mit 4,7k Widerstand und 10nF Kondensator spätestens nach etwa 40µs nach Taktflanke ausgewertet worden sein. Da das Timing wegen der vier Fototransistoren der beiden Enkoder recht stramm ist, läuft der µC mit 16MHz und es soll nur jede zweite Taktflanke ausgewertet werden. Im Prinzip kann die steigende oder fallende Flanke hergenommen werden. In der Praxis hat sich aber gezeigt, daß, je näher man einer Grenze zwischen Taktperiodendauer und eingestellter Verzögerung des Verzögerungsgliedes kommt, nur die Auswertung nach fallender Taktflanke noch die richtigen Ergebnisse liefert.
Grund liegt in dem jitterbehafteten Signal von den Enkodern (Jitter hervorgerufen vermutlich durch unrunden Lauf der Schlitzscheiben, Zwangsspiel in den nicht idealen Zahnrädern, etc.). Hinzu kommt die Wirkung der Verzögerung in der HW-Unterstützung. Dazu gehört auch noch die richtige Verschaltung des A/B Signale. Soll heißen, es ist nicht egal, ob das 90° nacheilende Signal an A oder an B angeschlossen wird. Man kann Stunden am Oszi verbringen um endlich hinter die Differenzen im Grenzbereich zu kommenLinks auf dem Schaltplan der HW-Unterstützung kommen die zwei, um 90° versetzte, anähernd sinusförmig aussehende Wellen der Fototransistoren eines Enkoders an.
Bild hier
Durch den Jitter im Quadratursignal liefert der Sample-Interrupt bei anscheinend gleichmäßig laufendem Motor ohne Last keine gleichen Sample Werte. In 16ms zB unterschiedliche Werte zwischen 40 und 44 Ticks in schneller Folge. Ich hab noch keine Ahnung, ob mir das später die Regelung erschwert. Zunächst hab ich versucht, die Ticks in der Form zu glätten, in dem ich zu jedem neuen Sample immer die letzten 3 Samples addiere und durch 4 dividiere. Sampleabstand ist auf 10ms herabgesetzt. Sieht viel besser aus, bedeutet aber eine gewisse Trägheit. Bin gespannt, wie das weiter geht.
Im Augenblick überlege ich, ob ich nicht doch von einem ATtiny861 auf einen ATMega88 umsteige. Auf dem Steckbrett läuft der ATMega mit einem 16MHz Keramik Resonator und hat einen HW-Multiplizierer und noch viele Pins frei. Schließlich muß vorne auf das Vehikel auch noch was drauf und wenn es zunächst nur Scheinwerfer werden würden
Gruß
Searcher