Forum: Mikrocontroller und Digitale Elektronik Der rotierende Sensor


von Martin B. (martinburka)


Lesenswert?

Hallo,
Ich habe folgendes Projekt:

Ein optischer Distanzsensor wird von einem Motor um die eigene Achse 
gedreht.
Man kann nicht davon ausgehen das die Drehgeschwindigkeit konstant ist.
Der Motor-Encoder gibt pro Umdrehung 15 Impulse aus. Einen je 24°.
Der Distanzsensor misst 2000 mal pro Umdrehung den Abstand zu seiner 
Umwelt.
Jeder Distanzmesswert und Impuls vom Encoder hat einen Zeitstempel.

Wie kann ich jedem Distanz-Messwert einen Winkel zuordnen?
Die naheliegende Lösung ist für jeden der 15 Abschnitte eine 
durchschnittliche Winkelgeschwindigkeit auszurechen.
Danach kann über die Zeit ein Winkel für den Messwert berechnet werden.

Fallen euch noch andere/bessere/elegantere Lösungen ein?

: Verschoben durch Moderator
von Frank (Gast)


Lesenswert?

Da du nur keine absolute Winkelinformation hast, brauchst du zu 
allererst mal eine Referenz wo null Grad ist. Ab da kannst du rein 
inkrementell den Winkel berechnen (solange du keine Impulse verlierst).

Ansonsten kommt es sehr stark auf die Rotationsgeschwindigkeit und die 
Dynamik des Sytems an.

Normalerweise wird man eine Messgröße mit einem festen Raster (so 
schnell wie möglich) erfassen und den anderen Wert passend zu diesem 
Wert/Zeitstempel interpolieren.

Du wirst aber immer Fehler machen bei Beschleunigungen. Zumindest bei 
einer linearen Interpolation.
Man kann das natürlich noch beliebig komplex erweitern...

von Martin B. (martinburka)


Lesenswert?

Hallo Frank,

vielen dank für die schnelle Antwort.

Eine Null-Referenz habe ich.
Einen weiteren Impulsgeber der nur einmal pro Umdrehung eine Impuls an 
einer festen Stelle ausgibt.

von frank (Gast)


Lesenswert?

Gehen tut das prinzipiell.
Nur wie gesagt wirst du, wenn du nicht eine absolut konstante 
Geschwindigkeit hast, Fehler machen.
15 Striche pro Umdrehung ist halt echt wenig wenn du eigentlich >2000 
brauchst.

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.