Encodermotor - Anschlußbelegung

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: Encodermotor - Anschlußbelegung

Beitrag von Karl » 13 Apr 2023, 03:17

Denke mal, erst die Zählrichtung ändern wenn der Motor sich nicht mehr bewegt sollte der "Normalzustand" sein, d. h. ,
die Zählrichtung der Impulsauswertung der einfachen Impulsausgabe des Enkoders erst umschalten wenn man sicher ist,
der Motor "bewegt" sich nicht mehr.
Auswertungen von Quadratur-Impulsen sollte mit schneller Zählelektronik eine natürlich viel günstigere Lösung sein.
Kann mir nicht vorstellen daß der Motoranker sofort stillsteht wenn man die elektrische Energiezufuhr schlagartig unterbricht,
auch wenn man die Motoranschlüsse sofort kurzschließen würde.
Glaube, auch Motore mit eisenlosem Anker, z. B. sog. Faulhaber, würden nicht schlagartig stillstehen. Natürlich vom "Gefühl her"
mal abgesehen.
Sicherlich auch nicht wenn man die zusätzlichen Massen an der Motorwelle weglassen würde.
Könntest mal versuchen einen zeit- und elektrisch größenmäßig entsprechenden Gegenimpuls an die Motoranschlüsse zu geben.
Dürfte für den ganzen Drehzahlbereich wohl etwas schwierig werden, bzw einen großen Aufwand mit sich bringen.
Willst denn einen Standard-Gleichstrommotor als "Schrittmotor" verwenden ?
Impulsmäßige Ansteuerung, PWM oder ähnlich, des Motors könnte den Anker etwas schneller zum Stillstand bringen. Bei höherer Drehzahl gibt es, bestimmt durch die Masse des Ankers selbst und mit evtl. angehängten Massen an der Motorwelle, auch erst einmal einen, wenn auch kurzzeitigen, Weiterlauf in der aktuellen Drehrichtung.
Eine kleine Verzögerung der Zählrichtung wird bestimmt fast immer erforderlich sein, vor allem bei einfacher Impulsausgabe des
Enkoders und Auswertung derselbigen.
Betreffend des vierten Kontaktes am Enkoder-Ausgang des Fischertechnik-Motors. Es soll auch 4pol. Enkoderausgang-Anschlußleitungen
gegeben haben, bzw. könnten in sog. "Industrie-Ausführungen" noch geben. Ob tatsächlich ein Quadratur-Enkoder eingebaut war oder ist, entzieht sich meiner Kenntnis.

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

Re: Encodermotor - Anschlußbelegung

Beitrag von juh » 13 Apr 2023, 09:10

Hi Florian,

PID + einfacher Encoder: ich denke es kommt auf die Art der Regelung drauf an. Wenn das Ziel eine konstante Geschwindigkeit ist, dürfte das ohne Weiteres gehen. Wenn das Ziel eine Positionsregelung ist, muss man, wie in Karls Antwort angedeutet, sicherstellen, dass der Motor zum Stillstand gekommen ist, bevor ein vom PID Algorithmus diktierter Richtungswechsel an den Motor weitergegeben wird, was natürlich die ganze Regelung auf den Kopf stellt. Vielleicht lässt sich das einigermaßen in Zaum halten, wenn man die PID Parameter so einstellt, dass Overshoot (=Richtungswechsel) so gering wie möglich gehalten wird, das versaut dann aber die Qualität der Regelung.

AS5600: konnte ich bei meinem Sensor nicht feststellen, allerdings kenne ich nur die ältere grüne Modulvariante. Liest du den Sensor per I2C oder analog aus?

vg
Jan

atzensepp
Beiträge: 660
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: Encodermotor - Anschlußbelegung

Beitrag von atzensepp » 13 Apr 2023, 10:01

Hallo Karl,

Danke für Deine Einschätzung!
Karl hat geschrieben:
13 Apr 2023, 03:17
Betreffend des vierten Kontaktes am Enkoder-Ausgang des Fischertechnik-Motors. Es soll auch 4pol. Enkoderausgang-Anschlußleitungen
gegeben haben, bzw. könnten in sog. "Industrie-Ausführungen" noch geben. Ob tatsächlich ein Quadratur-Enkoder eingebaut war oder ist, entzieht sich meiner Kenntnis.
Es gab 24V-Modelle von Encoder-Motoren mit einem Quadratur-Encoder. Die Platine der neuen Motoren haben SMD-Landing-Pads, für einen 8-poligen IC. Das könnte ein A1230 "Dual-Channel Quadrature Hall-Effect Bipolar Switch Module for Magnetic Encoder" sein.

Hallo Jan,

ich lese meinen AS5600 mittels I2C aus. Die Schwankungen hängen vom verwendeten Magneten und von seinem Abstand zum Encoder ab.
Möglicherweise sind die kleinen Würfelmagnete dafür nicht optimal.

Alles in allem denke ich, wäre Dein Quadratur-Drehgeber mit I2C-Ausgabe sehr sehr wünschenswert. Denn auch mit dem Arduino-Mega sind die Interrupt-Pins knapp. Die einen werden für die Motor-Brücke verwendet, die anderen für I2C und für 3 Motoren braucht man 6 Leitungen.

Grüße
Florian

Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: Encodermotor - Anschlußbelegung

Beitrag von Karl » 13 Apr 2023, 11:46

Hallo Florian,
Es gab 24V-Modelle von Encoder-Motoren mit einem Quadratur-Encoder. Die Platine der neuen Motoren haben SMD-Landing-Pads, für einen 8-poligen IC. Das könnte ein A1230 "Dual-Channel Quadrature Hall-Effect Bipolar Switch Module for Magnetic Encoder" sein.
danke für die Info.
Habe noch eine Meinung wo ein Enkoder, auch Quadratur-Typ, eigentlich Sinn macht. Wäre am besten am letzten Abtriebsglied wie Rad, Rolle, Walze oder sonstwas.Damit würden Getriebespiele, Schlupfe und Elastizitäten der Abtriebselemente in gewissen Maßen berücksichtigt werden.
Kann dann womöglich passieren daß eine Regelung, PID o. ä., sich auch schwieriger gestaltet.

Benutzeravatar
Fischer-Micha
Beiträge: 106
Registriert: 15 Feb 2023, 17:27

Re: Encodermotor - Anschlußbelegung

Beitrag von Fischer-Micha » 13 Apr 2023, 14:43

wenn ich euch bis hierher immer noch richtig verstanden habe... geht es euch vordringlich um "Arduino"&Co Lösungen ?

Ein FT TXT Controller kann ja maximal 1kHz Eingangsfreqeunz, und soweit ich weiß,.. auch nur ein Eingangssignal (kein A/B Signal mit 90grad Phasenverschiebung)...

Bei meinen "alten" Interfaces (wie oben auf dem Foto gezeigt), wo ich den roten Encoder Motor angeschlossen habe,
macht die "Drehrichtung" und Zählrichtung die "C64 Routine" selbst..

d.h. die Software weiß ja in dem Moment, in welche Richtung gedreht wird und wird dem entsprechend addieren oder subtrahieren. (nur A-Signal)
Ja, und da es einen Nachlauf gibt, zählt die Software (ca. 0,5 Sekunden ?) weiter, obwohl sich eigentlich nichts mehr dreht.

Daraus merkt man, dass es Schwierigkeiten gibt, wenn der Nachlauf länger ist, oder auch, wenn sich das Teil bewegt, obwohl der Motor nicht angesteuert wird.
(oder bei schnellen Umschaltvorgängen.. vielleicht spielt das aber bei roten Motoren nicht die große Rolle, da nur 3 Impulse pro Umdrehung, und nicht 300 etc..)
Der Motor wird ja nicht als Drehgeber genutzt, nur, wenn er auch mit Power angesteuert wird...

Kennt die FT Robo Pro Software überhaupt A/B Auswertung ? ich denke nicht..

atzensepp
Beiträge: 660
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: Encodermotor - Anschlußbelegung

Beitrag von atzensepp » 13 Apr 2023, 15:44

Fischer-Micha hat geschrieben:
13 Apr 2023, 14:43
wenn ich euch bis hierher immer noch richtig verstanden habe... geht es euch vordringlich um "Arduino"&Co Lösungen ?
Hallo Micha,

Der Standard-Ansatz bei ft-Modellen mit Encodermotor scheint nicht auf Regelung sondern darauf zu basieren, dass der Motor so lange läuft, bis er die gewünschte Zahl von Impulsen erzeugt hat. Dafür taugt der Encodermotor mit einem Ausgang. Und Du hast ja beschrieben, wie Du das machst.

Eigentlich geht es mir um eine kontinuierliche proportionale Motor-Regelung mit einem PID-Controller. Einen Arduino verwende ich, da ich mich damit halbwegs auskenne und keinen ft-Controller besitze. Die Problematik ist unabhähnig vom eingesetzten Microcontroller, wenn man von den Möglichkeiten der Zähleingänge absieht.
Irgendwer hat m.E. auch ein Inverses Pendel oder einen balancierenden Roboter mit ft realisiert. Dort müsste die gleiche Herausforderung bestanden haben.

Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: Encodermotor - Anschlußbelegung

Beitrag von Karl » 13 Apr 2023, 16:11

Hallo,
Ja, und da es einen Nachlauf gibt, zählt die Software (ca. 0,5 Sekunden ?) weiter, obwohl sich eigentlich nichts mehr dreht.
wieso zählt die Software weiter obwohl keine Impulse vom Geber kommen ?
Könnte irgendwelches "Prellen" sein, nicht nur vom Motor selbst, auch von dem restlichen Abtrieb.
Ein FT TXT Controller kann ja maximal 1kHz Eingangsfreqeunz, und soweit ich weiß,.. auch nur ein Eingangssignal (kein A/B Signal mit 90grad Phasenverschiebung)...
Ziemlich lahmes Verhalten. Habe irgendwo im Keller bestimmt noch altes AVR-Modul, kein Arduino, rumliegen und das hat schon eine Zählfrequenz 3-Kanaliges Quadratur -A/B für 20 kHz. Ob ich es mal wiederfinde nach 2 Umzügen in 14 Jahren, steht auf einem anderen Blatt.
Wäre sicherlich möglich die Ft-Motor-Zählimpulse mit einer monostabilen Kippstufe etwas verlängern. Vielleicht werden die "Prellungen" dann weniger berücksichtigt. Wenn keine Meßtechnik vorhanden wie Florian besitzt, einfach mal schätzungsweise rechnen und probieren.
So ein Timer-IC kostet nur ein paar Cent, dann noch wenige billige Bauteile. NE 555 oder besser die C-Mos-Variante LM 555 arbeiten bis, soweit ich weiß, 18 Volt und ohne symmetrische, d. h. mit einfacher Stromversorgung, auch mit 9 Volt. Auch besteht die Möglichkeit das gleiche IC als, falls erforderlich, als Inverter, davor oder dahinter geschaltet, zu nutzen. Besser und einfacher wäre eine Transistorschaltung. Schaltungen gibt es zuhauf im Netz, einfach NE 555 in die virtuelle Suchmaschine eingeben. Die nutzbare Flanke des vom Enkoder gelieferten Impulses dann Richtung Ende der Periode zeitlich verschieben. Damit dürfte zumindest ein Teil des "Impulsflatterns" unterdrückt werden. Mit meßtechnischer "Sichtmöglichkeit" natürlich einfacher zu bewerkstelligen.
Ist nur ein theoretischer Vorschlag von mir. Ob es letztendlich zufriedenstellend gelingt..., da hilft nur experimentieren.

Benutzeravatar
Fischer-Micha
Beiträge: 106
Registriert: 15 Feb 2023, 17:27

Re: Encodermotor - Anschlußbelegung

Beitrag von Fischer-Micha » 13 Apr 2023, 20:51

Karl hat geschrieben:
13 Apr 2023, 16:11
Hallo,
Ja, und da es einen Nachlauf gibt, zählt die Software (ca. 0,5 Sekunden ?) weiter, obwohl sich eigentlich nichts mehr dreht.
wieso zählt die Software weiter obwohl keine Impulse vom Geber kommen ?
Könnte irgendwelches "Prellen" sein, nicht nur vom Motor selbst, auch von dem restlichen Abtrieb.
..
Hallo Karl,... du hast mich vielleicht "falsch verstanden"... "die Software zählt keine Impulse, obwohl keine Impulse vom Geber kommen"..
=> im Gegenteil.. es kommen noch Impulse vom Geber, obwohl der Motor keine Spannung (für Links/Rechts Drehung) hat..
=> das hat sich FT 1986 echt pfiffig überlegt und ich finde diese über 35Jahre alte Lösung (z.B. am C64 gemacht) prima ..

Auszug aus der Anleitung vom großen (grauen) FT C64 Trainings-Roboter:
Bildschirmfoto 2023-04-13 um 20.49.10.png
Bildschirmfoto 2023-04-13 um 20.49.10.png (1.1 MiB) 1474 mal betrachtet
Es ist also kein Bug sondern Feature ;)
Karl hat geschrieben:
13 Apr 2023, 16:11
Ein FT TXT Controller kann ja maximal 1kHz Eingangsfreqeunz, und soweit ich weiß,.. auch nur ein Eingangssignal (kein A/B Signal mit 90grad Phasenverschiebung)...
Ziemlich lahmes Verhalten. Habe irgendwo im Keller bestimmt noch altes AVR-Modul, kein Arduino, rumliegen und das hat schon eine Zählfrequenz 3-Kanaliges Quadratur -A/B für 20 kHz. Ob ich es mal wiederfinde nach 2 Umzügen in 14 Jahren, steht auf einem anderen Blatt
......
Ist nur ein theoretischer Vorschlag von mir. Ob es letztendlich zufriedenstellend gelingt..., da hilft nur experimentieren.
Und 1kHz ist mehr als genug ;) (Messtechnik ist auch vorhanden :D )

Das große Strichrad vom Traingsroboter hat ja 32 Striche/32 Lücken, auf einem Ozsi sieht das so aus (bei 6,8V Betrieb):
(bei einem Umfang von 40mm und 2mm Strichbreite) = ca. 100Hz.. Signal..
DS1Z_QuickPrint4-2.png
DS1Z_QuickPrint4-2.png (46.46 KiB) 1472 mal betrachtet
Klar,.. ist toll, was heute alles so geht (mit Arduino/Raspi&Co)... ich selbst bewege mich derzeit noch in der Fischertechnik Welt von 1985-1995 ;)
.. aber ich lerne gerne dazu

VG Micha

Benutzeravatar
fishfriend
Beiträge: 1819
Registriert: 26 Nov 2010, 11:45

Re: Encodermotor - Anschlußbelegung

Beitrag von fishfriend » 13 Apr 2023, 21:22

Hallo...
Nur so zur Info.
Wie betreibt man eigentlich Encoder-Motoren in ft-Modellen?
Momentan ist es (normalerweise) so, dass das ft-Interface (TX/TXT) die Steuerung macht.
Über RoboPro kann man festlegen, wieweit ein Motor laufen soll. Dazu nimmt man den Schnellen Zähler. Je nach Arduino ist die Anzahl dieser Zähler (Countereingang) sehr beschränkt. Man kann das auch mit dem ftduino machen. An RoboPro wir einfach nur gemeldet, dass er es erreicht hat.

Auch der (RoboPro-) Gleichlauf kommt vom ft-Interface.
Soweit ich das sehe, gibt es vom ft-Interface keine Quadratureingänge. Also keine interne Unterstützung dafür.
Das muss dan alles vom eigenen Programm ausgewertet werden.

Das "Problem" wird wohl eher sein, wenn man mehrere Interfaces hat und dann über den internen Bus erst, die Impule der "Taster" übertragen werden müssen. Also die Motoren für den Gleichlauf auf zwei ft-Interfaces sind. Hier kommen zu den einzelnen Interfacefrequenzen noch die Übertragungsgeschwindigkeiten dazu.

Beim C-64 hat man ja die serielle Ein- und Ausgabe. Ob und wie weit/schnell man das Einlesen und Auswerten kann, ist eine gute Frage. Hängt auch davon ab, ob man das "nur" in Basic macht. Es war schon damals erstaunlich, das es mit den Gabellichtschranken soweit funktionierte.

Mit freundlichen Grüßen
fishfriend
Holger Howey
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
Fischer-Micha
Beiträge: 106
Registriert: 15 Feb 2023, 17:27

Re: Encodermotor - Anschlußbelegung

Beitrag von Fischer-Micha » 13 Apr 2023, 21:56

fishfriend hat geschrieben:
13 Apr 2023, 21:22
Beim C-64 hat man ja die serielle Ein- und Ausgabe. Ob und wie weit/schnell man das Einlesen und Auswerten kann, ist eine gute Frage. Hängt auch davon ab, ob man das "nur" in Basic macht. Es war schon damals erstaunlich, das es mit den Gabellichtschranken soweit funktionierte.
Hallo Holger...

der c64 ist natürlich ein "Relikt" :) aber die "schnellen Impulse" ( ich spreche jetzt von 32Impulsen/Umdrehung :) nicht von einem Glas-Encoder ;) )
eigentlich kein Problem... -> die Daten kommen auch nicht "seriell"... sonder gehen über den Userport (also 8Bit kodiert.. parallel ;) )
genau wie beim PC-486 am Centronic/Parallel-Port :)

BASIC => JA! mit Basic alleine würde es nie gehen.. aber das war ja der Trick von Fischertechnik damals. man hat die schnelle Zählerabfrage
in Assembler geschrieben, welche man bequem über Basic "steuern" und abfragen kann..
=> ich bin gerade dabei... zwei Roboter und zwei Förderbänder alleine über einen C64 abzuwickeln.. sieht soweit schon vielversprechend aus
VG Micha

und das war die "Werbung" von Artur in der Anleitung von Fischertechnik
Bildschirmfoto 2023-04-13 um 21.55.37.png
Bildschirmfoto 2023-04-13 um 21.55.37.png (518.63 KiB) 1454 mal betrachtet

Karl
Beiträge: 2212
Registriert: 24 Sep 2016, 17:28

Re: Encodermotor - Anschlußbelegung

Beitrag von Karl » 13 Apr 2023, 23:20

Hallo,
betreffend des großen "Strichrades" oder der "Strichtrommel". Günstigerweise sitzen diese Teile direkt am Abtrieb und nicht
auf der Motorwelle vor irgendeinem Getriebe. Dazu kommt, daß das "Strichrad" oder die "Strichtrommel" praktisch ohne oder mit
sehr wenig Nachlauf betrieben wird. Die Spindel mit den Schnecken ist ja über die Schneckenmutter mit mehr oder weniger großer
Reibung mit der übrigen Mechanik verbunden welche auch eine relativ große Last darstellt und die Spindel bremst. Hatte ja auch oben erwähnt daß es eigentlich gut ist, den Enkoder praktisch am letzten Glied des Abtriebes zu positionieren. Dazu kommt bei deiner Konstruktion noch die relativ geringe Anzahl der Impulse an der Spindel pro Zeiteinheit.
Müsstest mal probieren das "Strichrad" oder die "Strichtrommel" direkt an der Motorwelle zu befestigen und die Impulse zu zählen.
Dazu Spindeldrehzahl und Motordrehzahl anhand der Impulse unter Berücksichtigung der Übersetzungsverhältnisse "rückwärts" rechnen. Solltest eigentlich halbwegs genau die Motordrehzahl für diesen Antriebsfall ausfindig machen können. Vielleicht liefern die Strichtrommel oder das Strichrad an der Motorwelle auch korrekt die Anzahl der Impulse bei Drehrichtungsänderungen des Motors via Interface an die Software des PC. Mit dem Oszilloskop hast ja zusätzlich auch ein wunderschönes Hilfsmittel zur Verfügung.

Benutzeravatar
Fischer-Micha
Beiträge: 106
Registriert: 15 Feb 2023, 17:27

Re: Encodermotor - Anschlußbelegung

Beitrag von Fischer-Micha » 14 Apr 2023, 08:53

Karl hat geschrieben:
13 Apr 2023, 23:20
Müsstest mal probieren das "Strichrad" oder die "Strichtrommel" direkt an der Motorwelle zu befestigen und die Impulse zu zählen.
Dazu Spindeldrehzahl und Motordrehzahl anhand der Impulse unter Berücksichtigung der Übersetzungsverhältnisse "rückwärts" rechnen. Solltest eigentlich halbwegs genau die Motordrehzahl für diesen Antriebsfall ausfindig machen können. ..
Hallo Karl..
bei der Messung mit den "Schlitzrädern" wollte ich auch nur testen, ob die "selbstgedruckte Trommel" genauso funktionieren wie die alten originalen..

Ja, deine Überlegungen sind soweit auch alle richtig...
(wie gesagt,.. nur der Hinweis, dass ein Motor immer etwas nachläuft.. und wenn man dann nicht "mitzählt" hat man Schlupf)
(ja,.. die richtige Lösung wäre eine permanente A/B Auswertung.. aber dann bin ich nicht mehr bei Fischertechnik Motoren..).

Was die Impulse direkt an der Welle angeht,. so bin ich ja eigentlich genau mit diesem Thema in diesen Thread gestartet...
Bildschirmfoto 2023-04-14 um 08.42.45.png
Bildschirmfoto 2023-04-14 um 08.42.45.png (197.47 KiB) 1389 mal betrachtet
hier hatte ich dem Motor den Befehl gegeben auf 18000 Impulse zu fahren...
das hat er dann gemacht und der PRINT USR (P1) Befehl hat dann irgendwas mit 1815x gebracht.
Dann habe ich nocheinmal SYSROBOT eingegeben und erneut PRINT (USR) (P1) eingegeben und er hat dann 17842 ausgegeben (siehe Bild).
Der Motor war dabei ohne Last.
d.h. der Nachlauf war in diesem Fall 158 Impulse, wenn man davon ausgeht, dass rechnerisch der Rechner die Motorspannung
genau bei 18000 "gekappt" hat.. (und auch das wird nicht 100% funktionieren)..

ja.. ich werde mit dem Oszi noch ein paar Messungen betreiben..
vielleicht kann ich bei 2-Kanal Betrieb sogar den Zeitpunkt der Motor-Abschaltung und der weiteren Folgeimpulse darstellen.
(PS: was die Motordrehzahl selbst angeht, ist es ja u.a. vom Drehmoment/Last/Spannungversorgung abhängig)...

Ich bewege mich hier halt mit alten Gleichspannungsmotoren und Ohne A/B Signal...das kann nicht perfekt funktionieren.
Daher macht ja Fischtechnik bei den alten Robotern immer eine Referenzfahrt damit der Schlupf wieder "resetet" wird...

(Daher liebe ich auch den ersten Fischertechnik Teach-Roboter der mit dem 4k7 Poti,.. da braucht man nicht zählen :) ausser dass der Weg (Drehwinkel) maximal mit 0-255 Auflösung abgebildet werden kann.)

Schönen Freitag noch :) Micha

atzensepp
Beiträge: 660
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: Encodermotor - Anschlußbelegung

Beitrag von atzensepp » 14 Apr 2023, 14:26

Hallo Micha,

toll, was Du da für Untersuchungen machst!

Zwei Anmerkungen:
1. Um den Nachlauf zu verringern könntest Du eine "Trajectory Control" machen und den Motor nicht abrupt anhalten, sondern ein gutes Stück vorher langsamer werden lassen oder ausschalten (Rampe). Vorausgesetzt, dass keine Pulse verloren gehen, müsste das doch die Überzählung verringern. Ganz weg wird man es nicht bekommen. Prinzipiell könnte man das auch mit einem gut eingestellten PID-Regler machen. Aber die richtigen Einstellungen zu finden ist nicht einfach und wenn der Regler hin- und her schrubbt, schaukeln sich die Fehler auf.

2. Für eine genauere Potentiometer-Auswertung könntest Du einen 16-Bit-Wandler (ADS1115) anschließen. Allerdings habe ich die Erfahrung gemacht, dass auch analoge Potentiometer eine Hysterese haben können. Und normale Potentiometer haben halt nur einen begrenzten Winkelbereich. Da könnten Mehrgang-Potis Abhilfe schaffen.

Grüße und weiter so!
Florian

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

Re: Encodermotor - Anschlußbelegung

Beitrag von juh » 14 Apr 2023, 15:08

atzensepp hat geschrieben:
13 Apr 2023, 10:01
Hallo Jan,

ich lese meinen AS5600 mittels I2C aus. Die Schwankungen hängen vom verwendeten Magneten und von seinem Abstand zum Encoder ab.
Möglicherweise sind die kleinen Würfelmagnete dafür nicht optimal.
Hmm, ich habe ja diametral magnetisierte 4mm Rundmagnete verwendet, die haben selbst bei Variation des Abstands stabile Werte geliefert, allerdings hatte ich damals nur analog ausgelesen. I2C als Ursache scheint aber wenig plausibel, von daher hätte ich doch eher die Magnetform verdächtigt.
atzensepp hat geschrieben:
13 Apr 2023, 10:01
Alles in allem denke ich, wäre Dein Quadratur-Drehgeber mit I2C-Ausgabe sehr sehr wünschenswert. Denn auch mit dem Arduino-Mega sind die Interrupt-Pins knapp. Die einen werden für die Motor-Brücke verwendet, die anderen für I2C und für 3 Motoren braucht man 6 Leitungen.
Für die Quadratur-Auswertung braucht es ja nicht unbedingt Interrupts, sie können sogar Probleme machen, wenn das Signal schneller flattert als die Interrupts abgearbeitet werden können. Problem ist eher, dass schnelles Polling leichter ist, wenn der IC sonst nichts zu tun hat.

In jedem Fall könntest Du meine I2C-Lösung sofort mit deiner Hardware aus dem Tintenstrahler probieren, du bräuchtest nur einen weiteren Arduino-Kompatiblen (muss kein ATtiny85 sein) und die aktuelle Firmware (direkt von Github installiert, nicht vom Library Manager, da im aktuellen Release RotaryEncoderI2C noch nicht drin ist). Bei Interesse sag Bescheid.

Meine Hardware-Lösung wird auch noch irgendwann fertig und publiziert, aber wenn wir ehrlich sind ist das im Nachbau wahrscheinlich viel zu aufwändig für andere.

vg
Jan

Benutzeravatar
Fischer-Micha
Beiträge: 106
Registriert: 15 Feb 2023, 17:27

Re: Encodermotor - Anschlußbelegung

Beitrag von Fischer-Micha » 14 Apr 2023, 15:19

Hallo Florian..

danke für die aufmunternden Wort :) wir denken auch oft in die gleiche Richtung :D
(ich finde "eure Arduino"-Ansätze auch sehr interessant..habe da aber mit Baujahr 70, leider keine Ahnung.. wobei es günugend schlaue Menschen über 50 gibt, die sich damit prima auskennen :) )

Zu 1.) bei den FT Motoren kann man leider keine direkte "Rampe" fahren.. aber mit "grober PWM", man arbeitet mit einer "Bremsphase" d.h. man schaltet den Motor schnell ab und wieder an, so kann man sich dem idealen Stopp-Punkt annähern...
das hat sogar der Teachroboter für den Arm (hoch und runter) 1985 im Programm schon so gehabt).

Zu 2.) ja.. genau..eine höhere Analog-Auflösung wäre von Vorteil.. mein jetziges Interface erwartet aber leider (genau) 4k7 Ohm.
Ich habe mir schon überlegt, der Einfachhalber ein 10KOhm Poti zu nehmen, dann habe ich zwar nur den "halben" Weg als Möglichkeit, aber "mehr-Delta-Ohm" pro mm :)

Happy Weekend...

Benutzeravatar
fishfriend
Beiträge: 1819
Registriert: 26 Nov 2010, 11:45

Re: Encodermotor - Anschlußbelegung

Beitrag von fishfriend » 14 Apr 2023, 17:09

Hallo...
Der C64 hat zwar einen Userport der paralell Daten Ein- und Auslesen kann, aber die Daten werden hier trotzdem seriell über einzelne Pinne übertragen. Das gilt für die Ein- und Ausgabe. Du hast im Interface jeweils dafür "ein" Schieberegister.
Durch dieses Füllen der Register und dem Verarbeiten verlierst du halt Zeit. Man kann also nur bis zu einer gewissen Anzahl von Impulsen, diese sicher einlesen. Dann kommt man in einen Bereich wo auch mal Impulse fehlen können. Danach, wenn man viel Pech hat und in Resonanz kommt, kann es zeitweise sein, dass man nur Null oder nur 1 erhält.

Deswegen sind die schnellen Counter, wie z.B. bei den Arduninos, in Hardware und relativ unabhängig vom Prozessor.

BTW Wenn man statt eines linearen ein log. Poti nimmt, hat man je nach Position eine Verschiebung der Auflösung.
So kann man das Greifen etwas ungenauer machen und das absetzen genauer, oder halt umgekehrt.

Mit freundlichen Grüßen
fishfriend
Holger Howey
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

atzensepp
Beiträge: 660
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: Encodermotor - Anschlußbelegung

Beitrag von atzensepp » 14 Apr 2023, 17:16

Es hat mir keine Ruhe gelassen und ich habe jetzt einen ft-Motor auf Quadraturbetrieb umgebaut:
Motor-Mod1.JPG
Motor-Mod1.JPG (1.01 MiB) 1309 mal betrachtet
Motor-Mod2.JPG
Motor-Mod2.JPG (1.71 MiB) 1309 mal betrachtet
Die beiden Signale sind nicht ganz 90 Grad. Die Phase kann man noch genauer einstellen durch Verschieben des Hall-Sensors.
Der Mod ist ja recht unkritisch, da der Motor immer noch wie ein normaler Encodermotor verwendet werden kann.

Benutzeravatar
fishfriend
Beiträge: 1819
Registriert: 26 Nov 2010, 11:45

Re: Encodermotor - Anschlußbelegung

Beitrag von fishfriend » 14 Apr 2023, 17:27

Hallo...
Kannst du mal ein Foto vom Motor machen. Also dem Aufdruck.
Ist der Motor von einem TX oder TXT Kasten.
Die TX Motoren fallen gerade Reihenweise bei mir aus. Auch sind die Bürstenfeuer immer wieder sichtbar. Es scheint im Motor erhebliche Kontaktschwierigkeiten zu geben. Mir sieht das schon fast nach einem Serienfehler aus. Es liegt nicht an der Schmierung der Lager.
Im Grunde hat der innen einen Kurzschluss.
Als einzige Möglichkeit sehe ich, den Vorwiderstand zu überbrücken und den Motor somit etwas vor Gebrauch laufen zu lassen.

Frage. Hat jemand schon mal den reinen Motor auseinandergenommen? Also nicht nur das Getriebe.
Mit freundlichen Grüßen
fishfriend
Holger Howey
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Benutzeravatar
Widi
Beiträge: 59
Registriert: 04 Mär 2019, 22:00

Re: Encodermotor - Anschlußbelegung

Beitrag von Widi » 14 Apr 2023, 18:33

Hallo fishfriend

Das ist auch so ein Motor wie von Dir beschrieben :x
TX oder TXT weiss ich nicht
gruss widi
Dateianhänge
Mot Nr 2.jpg
Mot Nr 2.jpg (1.77 MiB) 1291 mal betrachtet
Zuletzt geändert von Widi am 14 Apr 2023, 20:23, insgesamt 1-mal geändert.

atzensepp
Beiträge: 660
Registriert: 10 Jul 2012, 21:40
Wohnort: Uttenreuth

Re: Encodermotor - Anschlußbelegung

Beitrag von atzensepp » 14 Apr 2023, 18:47

Den Motor hatte ich von Fischerfriendsman. Er ist auch deutlich stärker als die anderen Encodermotoren, die ich gebraucht gekauft habe.
(Den neuen kann man nicht von Hand anhalten, was bei den alten ohne Probleme möglich ist)
Die alten Motoren haben auch keine Ausbuchtung hinten und das PCB keinen vierten Kontakt.
Mot3.JPG
Mot3.JPG (1.19 MiB) 1277 mal betrachtet
Mot2.JPG
Mot2.JPG (1.12 MiB) 1277 mal betrachtet
Mot1.JPG
Mot1.JPG (1.04 MiB) 1277 mal betrachtet
D.h. die neuen Motoren lassen sich modden. Die Positionsregelung mit Quadratur-Mod funktioniert übrigens astrein. Ich überlege mir daher, weitere zu organisieren.

Antworten