Zähler vom Encoder Motor lesen

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
shuelsebus
Beiträge: 2
Registriert: 25 Feb 2024, 10:58

Zähler vom Encoder Motor lesen

Beitrag von shuelsebus » 25 Feb 2024, 11:39

Hallo in die Runde,

habe meinen TXT 4.0 mit einem Encoder Motor verbunden. Ich kann den Zähler des Encoder Motors aber nicht per Programm abfragen. Ich verwende das Beispielprogramm "Display Counter Encoder" aus Autonomous Driving. Das sollte ja gehen und sieht auch ganz richtig aus. Der Motor schaltet ein.

Im Beispielprogramm ist der Motor an M1, und verwendet Zähler C1. Ich habe den Motor an M1 und das blaue, dreiadrige Zählerkabel an Zähler C4. Das habe ich im Beispielprogramm entsprechend angepasst.

Was habe ich probiert:
  • im Interface Test funktioniert der Zähler. Die Anschlüsse passen also, die Kontroller Konfiguration passt also auch
  • mit einem anderen Encoder Motor funktioniert es auch nur im Interface Test, nicht aber im Programm, der Motor sollte also ok sein
Nichts.

Dann habe ich, aus dem Bauch raus, den Zähler für M1 mit an C1 angeschlossen. Weil man weiß ja nie. Und schau an, das ist zwar nicht schlüssig, aber so geht es. Keine Ahnung, warum sich Interface Test und Programm Code unterschiedlich verhalten ..

Ich habe hier im Forum schon jede Menge tolle Tipps bekommen und viel gelernt, und dachte, ich teile diese Erkenntnis, vielleicht spart es jemand Anderem den halben Sonntag: wenn der Motor an M1 hängt, dann muss der Zähler auch an C1.

Vg Sven

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

Re: Zähler vom Encoder Motor lesen

Beitrag von fishfriend » 02 Mär 2024, 11:01

Hallo...
So wie ich das sehe, ist es ein kleiner Bug.
Man -muss- einen Encoder-Motor am ensprechenden Zähler anschließen.
Auch wenn man nur einen XS Motor in einer Richtung benutzt und einen schnellen Zähler über einen Taster braucht.
Erst durch den Encodermotor werden entsprechende Programmabschnitte für den Zähler geladen.
Ich kann momentan nur vermuten, dass man über Python darauf zugreifen könnte.
Robo Pro Coding ist halt nur eine Teilmenge von Python.
Leider blockiert man den zweiten O-Ausgang, um ihn unabhängig steuern zu können.
Man kann also immer nur einen der beiden O-Ausgänge des M-Ausgangs benutzen, halt über links/rechts .
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Lars
Beiträge: 564
Registriert: 25 Okt 2016, 21:50

Re: Zähler vom Encoder Motor lesen

Beitrag von Lars » 02 Mär 2024, 13:03

Guten Tag Holger,
fishfriend hat geschrieben:
02 Mär 2024, 11:01
So wie ich das sehe, ist es ein kleiner Bug.
Man -muss- einen Encoder-Motor am ensprechenden Zähler anschließen.
Auch wenn man nur einen XS Motor in einer Richtung benutzt und einen schnellen Zähler über einen Taster braucht.
ich würde es nicht als Bug, sondern als Beschränkung sehen, zumal es in den Bauanleitungen dokumentiert ist. Die Befehle, einen Encodermotor soundso weit nach links oder rechts zu drehen, benötigten sonst mehr Konfigurationsoptionen. Vor allem die Optionen für die synchrone Steuerung zweier Encodermotore komplizierten sich. Vielleicht wollte man die Programmieroberflächen ganz einfach nicht überfrachten und den Anwender zu einer gewissen Ordnung zwingen.

Mit freundlichen Grüßen
Lars

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

Re: Zähler vom Encoder Motor lesen

Beitrag von fishfriend » 02 Mär 2024, 15:08

Hallo...
Sehe ich nicht ganz so.
Beispiel Frequenzmessung. Ich könnte eine Lichtschranke machen, wo ich statt einer "normal" leuchtender LED eine Schaltung davor setze, die eine Frequenz abgibt. Hintergrund ist z.B. die ist unempfindlicher gegen Fremdlicht. Man sollte also -ohne- einen Motor, den Zähler benutzen können. Bisher waren diese Zähler in Hardware, vom Prozessor also und unabhängig vom laufenden Programm. Ich gehe mal davon aus das es beim TXT 4.0 genau so ist. Im Grunde ist es ja so vorhanden, da im Interfacetest ja nicht vorgegeben ist, das an den Motorausgängen Encodermotoren hängen müssen.

Das "Steuern" von synchronen Motoren läuft nicht über das Programm, sondern das macht der Controller/Firmware selbst. Deswegen kann man nicht einen Motor vom Controller 1, mit einem Motor vom Controller 2 synchronisieren. Das hat auch mit den Daten zu tun, die vom PC zum Controller übertragen werden.

Ich werde da noch mal genauer nachfragen, da ich gerade die Möglichkeit habe.
Mit freundlichen Grüßen
Holger
ft Riesenräder PDF: ftcommunity.de/knowhow/bauanleitungen
TX-Light: Arduino und ftduino mit RoboPro

Antworten