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
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
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?
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
Hallo OK, hab ich verstanden, nur das mit dem Input Capture verstehe ich nicht so ganz. Meinst du damit Interrupts?
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.