Seite 1 von 2

TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 04 Sep 2018, 18:42
von FischRob
Hallo,
ich habe den TXT über FT-Extender mit Ftduino verbunden und will den FtDuino als EM1 unter RoboPro ansprechen. Welches Programm muss ich auf den FtDuino aufspielen damit mir das gelingt ?
Wie muss ich RoboPro sagen, dass ich ftduino als Erweiterung will ?
Kann mir jemand weiterhelfen ?
Viele Grüße
FischRob

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 04 Sep 2018, 19:01
von Bjoern
Hi FischRob,

EM1 = Erweiterungsmodul1?

Kenne mich mit denen nicht aus, aber das dürfte eher nicht gehen weil vermutlich eigenes Protokoll.

Aber warum machst du nicht folgendes?
Ansteuerung des ftDuinos als Erweiterungsboard aus RoboPro via I2C-Bus für den fischertechnik TX und TXT Controller
https://github.com/elektrofuzzis/ftDuinoTX-T-

Björn

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 05 Sep 2018, 10:44
von MasterOfGizmo
Das interessiert mich auch, aber ich bin Laie, was RoboPro angeht. Wenn das klappt würde ich das gerne in die Anleitung des ftDuino aufnehmen. Wenn Du das zum Laufen bringt würde ich mich über 1-2 Screenshots freuen.

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 05 Sep 2018, 10:47
von FischRob
Hallo,
danke für die information. Ich bekomme jedoch unter RoboPro wenn ich ftDuino aufrufe folgenden Fehler:" I/O handler not set in document template".
Auf Ftduino habe ich ftduino_TXT laufen. Was mache ich falsch?
Gruß
FischRob

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 05 Sep 2018, 11:30
von ski7777
Das geht so nicht. Am TXT müsstest du dich mit dem CAN Bus auf dem EXT Port verbinden, am TX müsstest du dich mit dem RS485 Bus verbinden. Am TX ist das Protokoll bekannt, am TXT müsste es reverse engineert werden.

Raphael

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 05 Sep 2018, 11:46
von Bjoern
Hi Raphael,

Stefan hatte was in RoboPro geschrieben um mit dem ftDuino per I2C zu kommunizieren. Deswegen ja auch mein Hinweis auf dieses Projekt.

Ich schriebe Stefan noch mal ne Mail vielleicht schaut er gerade nicht hier rein. Der sollte helfen können damit das fliegt.

@Till: vielleicht ja eine Option für die Convention das so auszustellen.

Grüße
Björn

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 05 Sep 2018, 18:13
von FischRob
Hallo,
gemäß elektrofuzzizis habe ich folgende Dateien: ftDuino-txt.ino(läuft auf ftDuino),für RoboPro habe ich die Dateien ftDuino und ftDuinoX.
Die Datei ftDuino_txt läuft auf dem FtDuino. Die anderen beiden Dateien habe ich unter RoboPro versucht- leider die genannte Fehlermeldung.
Der TXT steht auf Master.
Wie kann ich Robopro dazu bringen den Ftduino als EM1 zu erkennen?
Was habe ich falsch gemacht?
Gruß
FischRob

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 05 Sep 2018, 21:17
von MasterOfGizmo
Ich glaube als EM1 wirst Du ihn nie sehen. Wenn ich es recht verstehe müsstest Du in ROBOPro ein neues I²C-Gerät vorfinden, wie z.B. die ganzen Sensor-Treiber vom Dirk Fox. Und dieser neue I²C-Baustein im ROBOPro gibt Dir dann Zugriff auf die Ein- und Ausgänge des angeschlossenen ftDuino.

Zumindest habe ich es so verstanden ....

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 05 Sep 2018, 21:48
von elektrofuzzis
Hallo zusammen,

die Integration in RoboPro geht leider nicht als Erweiterungsmodul. Mit dem Menüpunkt "Interface testen" kannst Du den ftDuino nicht ansteuern, auch nicht über die Auswahl Interface am Motor-Kommando.

Die Integration geht über eine RoboPro Bibliothek. Diese gibt es in zwei Fassungen, ftDunino und ftDuinoX. Die erste, ftDuino, ist die 1:1-Abbildung von Till's Arduino-Kommandos für den ftDuino. ftDuinoX hat eine einfachere Programmierung und kann nicht alles. Für den Anfang ist die ftDuinoX aber topp.

Damit es leichter wird, die Funktion nachzuvollziehen, habe ich vorhin in github noch ein Beispielprogramm hochgeladen: https://github.com/elektrofuzzis/ftDuin ... Pro/Sample.

Als erstes musst Du Deinen ftDuino und den TXT an den ftExtender anschließen. ftDuino_TXT.ino hasst Du ja bereits auf den ftDuino geladen. An den ftDuino bitte einen Motor an M1 anschließen. Jetzt startest Du das Demo-Programm. Der Motor sollte zunächst für 10 Sekunden links drehen, dann für 10 Sekunden stehenbleiben und danach für 10 Sekunden mit halber Geschwindigkeit rechts drehen.

Wenn das klappt, dann kannst Du an Dein erstes eigenes Programm gehen. RoboPro starten, ein leeres Programm anlegen und die beiden rpp's ftduinoX und ftduino_const laden. Zurück in Dein leeres Programm. Hier kannst Du nun auf der linken Seite in den Elementgruppen "Geladene Programme" - ganz unten - aufklappen. Auf ftDuino clicken und in Programmelemente moto_set auswählen und in Deinem Programm positionieren. Jetzt musst Du nur noch die Eingänge des Unterprogramms beschalten: An Po (Port) muss der Motor M1..M4 angegeben werden. Die Konstanten hierfür findest Du in "Geladene Programme" / "ftduino_const". An MO muss der Modus - LEFT, RIGHT, BRAKE und an PW die Geschwindigkeit. Hier kannst Du entweder mit den Werten 0..64 agieren oder die Konstante MAXON benutzen.

Schaust Du Dir in Deinem Programm nun die Kartenreiter der Unterprogramme an, so siehst Du dass hier einige Unterprogramme automatisch hinzugekommen sind. RoboPro kopiert nämlich aus den Bibliotheken den Code - inkl. benötigter weiterer Unterprogramme. Nachdem Du Deinen Code gespeichert hast, brauchst Du für dieses Programm auch nicht mehr die Bibliotheken - es ist alles in Deinem Quelltext übernommen worden.

In den einzelnen Unterprogrammen habe ich in der Beschreibung den Text von Till's Manual gestellt. Du findest dort die genaue Beschreibung, welche Konstanten Dir an welchem Eingang weiterhelfen.

Es braucht wohl noch ein ausführliches Tutorial auf github..,

Melde Dich mal ob es klappt oder wenn Du noch Fragen hast. Gerne auch als PN.

Viel Spaß beim Ausprobieren,

Stefan

*** Achtung: Das Beispielprogramm ist nicht debugged, sollte aber passen. So kurz vor der Convention sind TXT und ftDuino andersweitig verbaut :-) ***

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 06 Sep 2018, 15:03
von FischRob
Hallo,
vielen Dank für die Information.
Ich habe alles so gemacht wie beschrieben. In RoboPro bekomme ich den gleichen Fehler bei M1onoff wie vorher. " I/O handler not set in document template".
Ich habe jedoch in RoboPro unter geladene Programme M1OnOff stehen. Nach Anklicken geschieht nichts.
Ich bitte nochmals um mmehr Information.
Gruß
FischRob

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 06 Sep 2018, 16:11
von FischRob
Hallo,
der Fehler ist beseitigt - RoboPro läuft nur der Ftduino macht keinen Zucker.
Man sieht in RoboPro, dass das Programm läuft nur bewegt sich nichts.
Ich probiere mal weiter.
Kann es sein, dass die I2C Adresse falsch ist ???
Gruß
FischRob

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 06 Sep 2018, 22:25
von elektrofuzzis
Hallo FishRob,

das Programm bleibt stehen, wenn die I2C Verbindung
nicht funktioniert. Das gilt auch für die I2C Adresse.

Wie versorgst Du den ftDuino? Powerbank, USB am PC?
Das ist beides 5V - das Programm läuft aber die Strom-
Versorgung reicht nicht für die Motoren. Im jeden Fall
den ftDuino über ein Netzteil versorgen.

Gruß

Stefan

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 07 Sep 2018, 11:00
von FischRob
Hallo,
also ich betreibe den TXT und den Ftduino mit einem Ft-Netzgerät. Heute morgen habe ich alles neu installiert und der Motor an M1 dreht. Er hört aber nicht mehr auf auch wenn ich das Programm beende.
Bei einem Neustart läuft er nicht mehr an.
Also ich bin auf folgende Sachen gestoßen. Der ftDuino zeigt mir :Waiting on I2C interface with address 32 to receive TX(T) commands...
Diese 32 muß ich die in RoboPro irgendwo eingeben ? Heißt das ev. 0x32?
Im RoboPro Programm bei fDuinoX_sendData bei P4 steht <16bitM und der Haken bei offen lassen fehlt - ist das richtig so?
An allen Eingängen steht I2C 0x20 - ist das richtig?
Bei FtduinoX_motor steht 0x3 - ist das so richtig?

Es gibt also viele offene Fragen.
Gruß
FischRob

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 07 Sep 2018, 19:31
von elektrofuzzis
Hallo FishRob,

ich habe ein paar Ideen, muss es aber mal nachstellen.

Den ftDuino habe ich bei mir immer mit eigenem Netzteil laufen lassen. Ob das Nutzen der 9V vom TXT problemlos läuft, will ich mal probieren. Mit einem Adafruit Motor Hat hatte ich so schon Probleme.

0x20 Hex beim TXT sind 32 dezimal. Da muss ich mal in ins ino schauen, was ich da eigentlich ausgebe.

Ich teste und melde mich.

Gruß

Stefan

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 07 Sep 2018, 21:13
von elektrofuzzis
Hallo FishRob,

die Debug-Ausganbe des ftDuino ist dezimal, die Angabe in RoboPro ist Hexadezimal. Da 32 = 0x20 ist, passt hier schon mal alles.

ftDuino_sendData schickt in einer Übertragung ein Kommando und 4 Parameter an den ftDuino. Cmd, P1-P3 sind 8-bit-Werte, P4 ist ein 16-bit-Wert. Deshalb hat P4 die EIgenschaft "<-16bit".
Um aus den einzelnen I2C-Schreibbefehlen eine Übertragung zu machen, haben die ersten 4 Schreibkommandos das Häckchen "offen lassen" gesetzt - der letzte Befehl schließt die Übertragung ab. Auch das ist so richtig.

Kannst Du bitte im RoboPro-Testprogramm die Wartekommandos auf 4 Sekunden setzen? ftDuino mit dem Reset-Taster resetten, kurz warten und dann das RoboPro-Programm neu starten?
Jetzt geht es, oder?! Das Geheimnis ist ein Bug von ft. Der I2C-Bus bleibt hängen, wenn mehr als 5 Sekunden keine Kommandos geschickt werden. Der Motor bekommt sein Startkommando, anschließend bekommt er keine I2C-Kommandos mehr, da die Wartezeit 10s war. Du kannst das umgehen, indem Du in einer unabhängigen Schleife alle 5 Sekunden ein I2C-Lesekommand an eine nicht existente Adresse absetzt und die Fehlerbehandlung auf "sofort abbrechen" stellst.

Die Konstanten für die Motoren stammen letztendlich aus Till's Arduino-Implementierung. Hinter der Konstante M1 steht allerdings die Zahl 0.

Gruß,

Stefan

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 08 Sep 2018, 11:00
von FischRob
Hallo,
es funktioniert. Es war eine schwere Geburt aber wer denkt denn an so etwas 10s ändern in 4s.
Eine Kleinigkeit ist mir noch aufgefallen - nach dem Drücken des stopp Knopfes läuft der Motor weiter.
Ich habe dieses Problem umgangen in dem ich noch ein BRAKE eingebaut habe und den stopp Knopf innerhalb der BRAKE-Zeit drücke.

Ich möcht mich recht herzlich für die Einführung bedanken.

Gruß

FischRob

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 08 Sep 2018, 14:52
von elektrofuzzis
Hallo FishRob,

schaue Dir jetzt ftDuino.rpp an. Sie hat viel mehr Funktionen. Darin sind zwei interessante Funktionen, ftDuino_Watchdog und ftDuino_Break.

In einem eigenen Thread rufst Du ftDuino_Watchdog im Hauptprogramm auf. Sie hat kein Ende!

Diese Funktion sendet regelmäßig an den ftDuino, dass der TXT sein Programm noch ausführt. Kommt das Kommando nicht mehr über den Bus, so läuft
offensichtlich das Programm auf dem TXT nicht mehr. Der ftDuino stoppt dann alle Motoren.

Wenn Dein Hauptprogramm auf dem TXT ein echtes Ende hat, dann musst Du dort als letztes Kommando ftDuino_Break aufrufen. Dies sendet an die Watchdog-Funktion das Programmende - die Endlosschleife beendet sich. Ohne das Kommando läuft das RoboPro Programm noch weiter.

Im Nebeneffekt quatscht die Watchdog-Funktion jede Sekunde mit dem ftDuino und umschifft den 5s-Bug.

Deine Anlaufprobleme zeigen, dass ich mir mal die Mühe eines Tutorials machen sollte.

Viel Spaß beim programmieren! Kann man das Ergebnis in Dreieich bewundern?

Stefan

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 08 Sep 2018, 17:59
von FischRob
Hallo,

ein Tutorial wäre Spitze. Es ist doch Neuland, dass man mit dem I2C Bus betritt.
Mit dem Laser und dem OLED Display hat es wunderbar geklappt nur eben mit TXT und dem Ftduino hatte ich erhebliche Schwierigkeiten.
Das läuft jetzt aber auch und ich werde mir in aller Ruhe die ftDuino.rpp und die anderen Programme ansehen.
Nach Dreieich werde ich nicht kommen, das ist mir einfach zu weit.

Gruß
FischRob

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 18 Mai 2019, 09:20
von elektrofuzzis
Hallo zusammen,

es gibt eine neue Version des Codes auf github. Nun wartet die Firmware auf dem ftDuino nicht mehr darauf, dass über USB eine serielle Konsole angeschlossen ist. Das Modell funktioniert jetzt auch ohne PC am ftDuino.

Gruß

Stefan

Re: TXT über Ft_Extender mit Ftduino verbunden und RoboPro

Verfasst: 13 Jun 2019, 23:20
von elektrofuzzis
Hallo zusammen,

die neueste Version auf GitHub löst ein paar Unschönheiten mit get_counter (Eingang CH kann jetzt verbunden werden) und motor_counter_active (liefert jetzt 0 und 1 zurück).

Viel Spaß damit,

Stefan