drnicolas
17.05.2011, 18:10
Ich probiere einfach mal hier mein Glück.
Ich will zwar keinen Roboter bauen, aber mein Projekt benötigt eine relativ genaue Psoitionierung.
Ich möchte für meine Keller-Flugsimulator ein Instrument bauen, welches grob aus 3 Zeigern und Scheibenanzeigen besteht, die auf ineinander laufenden Hohlachsen basieren.
Entsprechend kann man sich vielleicht einige Parameter vorstellen:
- Drehgeschwindigkeit gering, typisch etwa 2°/s, max. vielleicht 60°/sek
- Positionierung nur über kurze Strecken, maximal 1 Umdrehung
Ein etwas älteres Projekt habe ich mit einem Schrittmotor und Ansteuerung über einen TMC222 realisiert
Vorteil:
- Fire and forget, i.e. einmalig Position setzen und den Rest macht der TMC
Nachteil:
- der eingeschränkte Target-Positionsbereich des TMC222 (16-Bit signed, also 32767 Schritte links oder rechts drehen)
- zu hohe Minimalgeschwindigkeit des Motors (TMC-bedingt)
Eine Positionierungskontrolle habe ich komplett weggelassen. :gift
Um das Geheimnis zu lüften: Es handelt sich um einen Höhenmesser, d.h. der TMC dreht die Zeigerachse.
Um die ganze Geschichte zu eichen, lässt man eine Korrekturfahrt des Steppers machen bis die Zeiger auf 0 stehen. Danach wird die Endposition für später im EEPROM gespeichert.
Das funktioniert so ganz gut, ist aber nicht wirklich komfortabel.
Jetzt soll alles besser werden - mit Positiionserkennung
3 Verfahren habe ich mir ausgedacht und wüsste gerne von jemanden mit mehr Erfahrung ob das so funktioneiren kann:
1. Endlos-Poti
Es gibt Endlos-Potis, die haben aber meines Wissens alle einen Arbeitsbereich deutlich unter 360° oder sind sehr teuer. Typisch scheinen etwa 340° zu sein.
Da bei mir eine Absolut-Erkennung über längere Wege nicht unbedingt erforderlich ist, sollte der reduzierte ARbeitsbereich nicht stören.
Ich schätze, das Poti fängt bei 0 Ohm an, steigt linear bis x° an und was ist im toten Bereich ?
Ist die AUflösung per A/D-Wandler und Poti so gut, dass ich wenigstens eine saubere Grundposition (z.B. Nord) detektieren kann?
Was gibt es da für Typen ? Gibt es Hohl-Potis (zur Montage auf der durchlaufenden Welle ?
2. kontaktloser Absolut-Encoder, z.B. A5043 von AUstria-Microsystems
Dieser Baustein scheint recht interessant zu sein.
Kontaktlose Erkennung über volle 360° mit Magneten bei einfacher externer Beschaltung.
Hat jemand Erfahrungen mit diesem Baustein ?
Lt. Datasheet scheint die Genauigkeit deutlich abzusinken, sobald der Magnet etwas exzentrisch ist.
Was für einen Magneten braucht man ?
Gibt es spezielle Magneten für diesen Zweck gelich mit Halterung um an einer Welle befestigt zu werden ?
3. inkremental-Encoder mit Index
ideal wäre dafür der AMT103 - gibt Gray-Code + Index aus. Der Geber ist mit ca. 23€ noch halbwegs erschwinglich und vor allem klein.
Aber nach dem Einschalten hätte ich noch immer keine Absoluterkennung, sondern müsste eine Eichfahrt bis zum Index machen. Ich wäre also nur unwensentlich komfortabler als bei meiner bisherigen Lösung.
4. Nur index-Erkennung
noch primitiver als oben aber vielleicht ausreichend. Gibt es da was vorgefertigtes ?
Ich will zwar keinen Roboter bauen, aber mein Projekt benötigt eine relativ genaue Psoitionierung.
Ich möchte für meine Keller-Flugsimulator ein Instrument bauen, welches grob aus 3 Zeigern und Scheibenanzeigen besteht, die auf ineinander laufenden Hohlachsen basieren.
Entsprechend kann man sich vielleicht einige Parameter vorstellen:
- Drehgeschwindigkeit gering, typisch etwa 2°/s, max. vielleicht 60°/sek
- Positionierung nur über kurze Strecken, maximal 1 Umdrehung
Ein etwas älteres Projekt habe ich mit einem Schrittmotor und Ansteuerung über einen TMC222 realisiert
Vorteil:
- Fire and forget, i.e. einmalig Position setzen und den Rest macht der TMC
Nachteil:
- der eingeschränkte Target-Positionsbereich des TMC222 (16-Bit signed, also 32767 Schritte links oder rechts drehen)
- zu hohe Minimalgeschwindigkeit des Motors (TMC-bedingt)
Eine Positionierungskontrolle habe ich komplett weggelassen. :gift
Um das Geheimnis zu lüften: Es handelt sich um einen Höhenmesser, d.h. der TMC dreht die Zeigerachse.
Um die ganze Geschichte zu eichen, lässt man eine Korrekturfahrt des Steppers machen bis die Zeiger auf 0 stehen. Danach wird die Endposition für später im EEPROM gespeichert.
Das funktioniert so ganz gut, ist aber nicht wirklich komfortabel.
Jetzt soll alles besser werden - mit Positiionserkennung
3 Verfahren habe ich mir ausgedacht und wüsste gerne von jemanden mit mehr Erfahrung ob das so funktioneiren kann:
1. Endlos-Poti
Es gibt Endlos-Potis, die haben aber meines Wissens alle einen Arbeitsbereich deutlich unter 360° oder sind sehr teuer. Typisch scheinen etwa 340° zu sein.
Da bei mir eine Absolut-Erkennung über längere Wege nicht unbedingt erforderlich ist, sollte der reduzierte ARbeitsbereich nicht stören.
Ich schätze, das Poti fängt bei 0 Ohm an, steigt linear bis x° an und was ist im toten Bereich ?
Ist die AUflösung per A/D-Wandler und Poti so gut, dass ich wenigstens eine saubere Grundposition (z.B. Nord) detektieren kann?
Was gibt es da für Typen ? Gibt es Hohl-Potis (zur Montage auf der durchlaufenden Welle ?
2. kontaktloser Absolut-Encoder, z.B. A5043 von AUstria-Microsystems
Dieser Baustein scheint recht interessant zu sein.
Kontaktlose Erkennung über volle 360° mit Magneten bei einfacher externer Beschaltung.
Hat jemand Erfahrungen mit diesem Baustein ?
Lt. Datasheet scheint die Genauigkeit deutlich abzusinken, sobald der Magnet etwas exzentrisch ist.
Was für einen Magneten braucht man ?
Gibt es spezielle Magneten für diesen Zweck gelich mit Halterung um an einer Welle befestigt zu werden ?
3. inkremental-Encoder mit Index
ideal wäre dafür der AMT103 - gibt Gray-Code + Index aus. Der Geber ist mit ca. 23€ noch halbwegs erschwinglich und vor allem klein.
Aber nach dem Einschalten hätte ich noch immer keine Absoluterkennung, sondern müsste eine Eichfahrt bis zum Index machen. Ich wäre also nur unwensentlich komfortabler als bei meiner bisherigen Lösung.
4. Nur index-Erkennung
noch primitiver als oben aber vielleicht ausreichend. Gibt es da was vorgefertigtes ?