Drehwertgeber / Drehwinkelgeber

Ersatz- und Fremdteile, Modifikationen, etc.
Special Hints - Spare- & foreign parts, Modifications, etc.

Moderator: Jan3D

Forumsregeln
Bitte beachte die Forumsregeln!
juh
Beiträge: 346
Registriert: 23 Jan 2012, 13:48

Re: Drehwertgeber / Drehwinkelgeber

Beitrag von juh » 20 Nov 2019, 09:28

Schau mal ins Datenblatt, der Chip kann tatsächlich auf analog *oder* PWM konfiguriert werden, ersteres erledigt ein 12bit D/A. Ich habe das Signal nicht genauer angesehen, aber nehme schon an, dass da eine "echte" analoge Spannung rauskommt. pulsIn() hat in jedem Fall keine sinnvollen Flanken entdeckt.

Ob man (theoretisch) ein PWM Signal auch verlässlich analog einlesen könnte? Keine Ahnung, gefühlsmäßig würde ich erwarten, dass es da noch eine Glättungskomponente braucht.

lg
Jan
Meine fischertechnik Designs für den 3D-Druck: https://www.thingiverse.com/juh/designs

NBGer
Beiträge: 265
Registriert: 02 Aug 2013, 18:26
Wohnort: Nürnberg

Re: Drehwertgeber / Drehwinkelgeber

Beitrag von NBGer » 20 Nov 2019, 11:31

juh hat geschrieben:
20 Nov 2019, 09:28
Schau mal ins Datenblatt, der Chip kann tatsächlich auf analog *oder* PWM konfiguriert werden, ersteres erledigt ein 12bit D/A. Ich habe das Signal nicht genauer angesehen, aber nehme schon an, dass da eine "echte" analoge Spannung rauskommt. pulsIn() hat in jedem Fall keine sinnvollen Flanken entdeckt.

Ob man (theoretisch) ein PWM Signal auch verlässlich analog einlesen könnte? Keine Ahnung, gefühlsmäßig würde ich erwarten, dass es da noch eine Glättungskomponente braucht.

lg
Jan
ok...da bin ich auch nicht so ganz sattelfest! ich bin davon ausgegangen, dass per PWM eine analoge Spannung simuliert wird. Bei einem Motortreiber für einen DC-Motor wird ja auch nichts anderes gemacht, oder? Ob man glätten muß, hängt wahrscheinlich von der Frequenz ab (unabhängig vom Duty).
Die Auswertung eines PWM-Signals wäre aber schon aufwändiger, oder? Ich müsste ja die Pulse pro Zeiteinheit zählen bzw. die Dauer messen. Das geht ja wahrscheinlich nur mit entsprechender Hardware-Unterstützung.

Oder..anstatt Vermutungen anzustellen....schaue ich doch mal ins Datenblatt! :D :D

juh
Beiträge: 346
Registriert: 23 Jan 2012, 13:48

Re: Drehwertgeber / Drehwinkelgeber

Beitrag von juh » 20 Nov 2019, 11:58

Ja, aber output ist halt nicht input. Beim Ansteuern eines DC Motors per PWM spielt die Glättung des Signals wohl keine große Rolle (bin auch kein Profi) aufgrund der "Trägheit" der Magnetspulen des Motors, so denke ich mir das naiv.

Beim Input braucht eine Analogmessung beim Arduino nach meiner Erinnerung ca 0,1ms, die Frequenz des PWM Signals beim AS5600 ist aber nicht höher als 1000 Hz (Fig. 9 im Datenblatt), ein Impuls wäre also mind. 10 mal länger als die Analogmessung, das kann ohne Glättung oder softwareseitige Mittlung mehrerer (dann eher digitaler) Messungen wohl nicht gut gehen.

In jedem Fall wäre aber eine PWM Messung auch kein großes Problem. pulseIn() wäre das einfachste, blockiert aber. Alternativ per Interrupt nicht blockierend.

lg
Jan

PS: Ich merke gerade, ich weiß gar nicht, ob Du auch Arduinos benutzt, wie es da beim TX(T) aussieht, weiß ich nicht.
Meine fischertechnik Designs für den 3D-Druck: https://www.thingiverse.com/juh/designs

NBGer
Beiträge: 265
Registriert: 02 Aug 2013, 18:26
Wohnort: Nürnberg

Re: Drehwertgeber / Drehwinkelgeber

Beitrag von NBGer » 20 Nov 2019, 12:17

juh hat geschrieben:
20 Nov 2019, 11:58

PS: Ich merke gerade, ich weiß gar nicht, ob Du auch Arduinos benutzt, wie es da beim TX(T) aussieht, weiß ich nicht.
ja, Arduino. Ich hatte noch nie einen fischertechnik controller!
...ganz ehrlich, ist mir zu groß, zu unflexibel und vor allem zu teuer!
hab mir diese Woche nochmal 2 Arduino Mega je 11.99 € bestellt! :)

laut Beschreibung hat der TXT aber 4 schnelle Zähleingänge: Digital, Frequenz bis 1kHz, sollte also auch per PWM gehen

juh
Beiträge: 346
Registriert: 23 Jan 2012, 13:48

Re: Drehwertgeber / Drehwinkelgeber

Beitrag von juh » 28 Nov 2019, 00:09

So, das Gehäuse ist fertig. War etwas knifflig, da die Platine Anschlüsse auf zwei Seiten hat, was die Anbaumöglichkeiten einschränkt.

Bild

Ich habe die Testaufbauten für das Potis analog nachgebaut. Der Teststand zeigt, dass exakte Winkel und Linearität darauf angewiesen sind, dass die Magnetachse exakt zentral zum Sensor-chip ausgerichtet ist. Daher bin ich mit dem Design noch nicht ganz zufrieden. Weniger fehleranfällig wäre es, wenn der Magnet mit ins Gehäuse integriert wird, das würde allerdings die Flexibilität einschränken.

Der Test mit dem PID-Arm (s. Video) zeigt aber klar die Vorteile. Der kontaktlose Sensor eliminiert den Reibungswiderstand des Potis und macht die Sache wesentlich geschmeidiger und agiler.

https://www.thingiverse.com/thing:3992842

lg
Jan
Meine fischertechnik Designs für den 3D-Druck: https://www.thingiverse.com/juh/designs

NBGer
Beiträge: 265
Registriert: 02 Aug 2013, 18:26
Wohnort: Nürnberg

Re: Drehwertgeber / Drehwinkelgeber

Beitrag von NBGer » 28 Nov 2019, 01:09

super Sache!

In welchem Modus betreibst Du den Sensor jetzt? Hat PWM Vorteile in der Genauigkeit gegenüber Analog?
Braucht man den zweiten Anschluss nur für's Parametrieren oder auch für den laufenden Betrieb?

Und noch ne Frage:
Du hast doch schon ein Loch im Gehäuse mittig zum Sensor. Ist es so gedacht, dass man damit den Magneten zentrieren kann?

juh
Beiträge: 346
Registriert: 23 Jan 2012, 13:48

Re: Drehwertgeber / Drehwinkelgeber

Beitrag von juh » 28 Nov 2019, 07:57

Bisher habe ich nur den vorkonfigurierten Analogmodus verwendet. Das scheint mir für die meisten ft-Zwecke ausreichend genau und spart einem den frickeligen JST-Stecker. Einen Vorteil von PWM sehe ich beim Arduino nicht, eher Nachteile, da man dafür in der Regel Interrupts brauchen wird. Die Genauigkeit habe ich aber noch nicht verglichen, kann mir aber auch da keinen Vorteil vorstellen.

I2C habe ich noch nicht getestet. Vorteil wäre hier, dass man die digitalen Messwerte in voller 12-bit Auflösung abgreifen kann und nicht den Umweg über D/A (Chip) und A/D (Arduino) Wandler gehen muss, das sieht man gut im Blockdiagramm in fig. 2 des Datenblatts. Ob der Genauigkeitsgewinn in den üblichen ft-Anwendung eine Rolle spielt? Ich glaube eher nicht. Gleiches gilt für den konfiguierbaren Winkelbereich. Eine Auflösung von 360°/1024 scheint mir für unsere Zwecke ausreichend.

Interessant bei I2C sind noch Feinheiten wie Filter und Hysterese, die Signalglättung und Jitter-Unterdrückung bei Stillstand bieten, habe ich aber auch noch nicht getestet.

Fazit zu I2C: kann sich lohnen und interessant sein, das Modul ist aber auch gut ohne einzusetzen und funktioniert dann im Prinzip genau wie das Poti, außer dass man auf 5V festgelegt ist und halt die vollen 360° bekommt.

Ja, das Loch ist zum Zentrieren gedacht, ist aber etwas frickelig den Magneten entsprechend zu montieren. Wie gesagt, da wäre eine integrierte Lösung wahrscheinlich besser, die erzwingt dann aber einen deutlich klobigeren Formfaktor.

lgj
Meine fischertechnik Designs für den 3D-Druck: https://www.thingiverse.com/juh/designs

Antworten