Forum: Mikrocontroller und Digitale Elektronik 2-Kanal Winkelschrittgeber


von Schwamm (Gast)


Lesenswert?

Hallo

ich habe einen Motor mit 2-Kanal Winkelschrittgeber (TTL Signale), wie 
mache ich aus dem 2-Kanal Signal, am besten Position und 
Geschwindigkeit.
Gibt es da schon fertige IC's oder wie würde ein µC Programm in der 
Struktur aussehen?

Dankeschön

von klaus mustermann (Gast)


Lesenswert?

hallo,

die momentane geschwindigkeit erhält man unmittelbar aus der frequenz 
der encoderspuren.

die position bekommst du durch die auswertung des quadratursignals, d.h. 
das signal in takt und richtung umsetzen und einen zähler mitlaufen 
lassen.

wie man das ganze in software realisiert ist hier hinreichend 
beschrieben:
Beitrag "Drehgeber auslesen"

gruß jan

von Schwamm (Gast)


Lesenswert?

Hallo

Alles klar, die Position bekomme ich hin

00 - 01 - 11 - 10 -> Drehung nach rechts -> Zähler inkrementieren
00 - 10 - 11 - 01 -> Drehung nach links -> Zähler dekrementieren.

Aber wie mach ich das mit der Frequenz?

Einfach die Änderung der Zählschritte in ein Zeitfenster legen?


von Falk (Gast)


Lesenswert?

Du musst die Zeit zwischen den Codewechseln messen. Recht genau geht das 
mit Input Capture. Da du aber die Änderung von zwei Signalen messen 
musst, brauchst du entweder zwei Input Capture Pins oder noch ein wenig 
externe Logik.

MFG
Falk

von Schwamm (Gast)


Lesenswert?

Hallo

OK, hab ich verstanden, nur das mit dem Input Capture verstehe ich nicht 
so ganz. Meinst du damit Interrupts?

von Falk (Gast)


Lesenswert?

Man kann für Input Capture Interrupts verwenden, man kann sie aber auch 
pollen. Kommt auf die Anwendung an.

Mir fällt gerade ein, es geht ggf. auch einfacher. Mittels Timer eine 
definierte Torzeit "warten" und aus der Decoderroutine die Zählerstände 
vergleichen. Damit hat man dann Schritte/Zeit. Ist einfacher und kommt 
ohne Input Capture aus. Viele Wege führen nach ROM.

MfG
Falk




von Schwamm (Gast)


Lesenswert?

Hallo,

ja genau so hat ich mir das auch überlegt.

Ich probier das einfach mal, danke.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.