I2C Schnittstelle am TXT und TX

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
Thomas-815
Beiträge: 40
Registriert: 06 Nov 2020, 17:06

I2C Schnittstelle am TXT und TX

Beitrag von Thomas-815 » 01 Mai 2021, 15:17

Hallo FT-Freunde,
habe ein Problem:
Am TXT-Controller läuft über I2C die Servo-Ansteuerung gem. ft-pedia 2017/2 von Dirk Fox (Dank dafür). Der TXT wird über WLAN von RoboPro gesteuert.
Da ich noch einen TX-Controller habe, sollte dieser über Bluetooth aus dem RoboPro-Programm angesprochen werden und ebenfalls seine(!) I2C-Schnittstelle nutzen können.
Bei Motoren u.ä. kann man ja einstellen auf welchem Controller das ganze laufen soll. Jedoch bei I2C gibt es derartige Einstellungen nicht.
Hat jemand eine Lösung dafür - sofern dies überhaupt möglich ist.

Vielen Dank
Grüße Thomas

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1831
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: I2C Schnittstelle am TXT und TX

Beitrag von Dirk Fox » 05 Mai 2021, 08:53

Hallo Thomas,

eine interessante Frage - habe ich noch nie ausprobiert.

Das gilt auch für mehrere TXTs in Reihe... Da nicht auswählbar ist, an welchem TXT der I2C-Sensor hängt, könnte es auf zweierlei Art realisiert sein:
- I2C funktioniert nur am Master
- I2C funktioniert an allen TXTs gleichzeitig (über denselben Bus; dann musst Du den Sensor/Aktor nur über seine Adresse identifizieren).
Letzteres könnte man leicht ausprobieren, indem man den Sensor an den "letzten" Slave anschließt und versuchst, den Sensor/Aktor zu erreichen.

Bei zwei verschiedenen Controllern bin ich mir nicht sicher. Ich habe noch nie versucht, einen TX an einen TXT als "Slave" anzuhängen - physisch oder via Bluetooth. Das Protokoll ist m.W. dasselbe, aber der Teufel steckt bekanntlich im Detail... und wahrscheinlich liefert der TX nicht den Header zurück, den der TXT von einem Slave erwartet.

In jedem Fall könntest Du ein Programm für den TX schreiben und auf den TX laden (er läuft dann "offline") und mit dem zweiten Programm den TXT "online" ansprechen, dann gibt es keine Kollision.

Beste Grüße,
Dirk

Thomas-815
Beiträge: 40
Registriert: 06 Nov 2020, 17:06

Re: I2C Schnittstelle am TXT und TX

Beitrag von Thomas-815 » 05 Mai 2021, 12:57

Hallo Dirk,
vielen Dank für Deine Unterstützung und auch die vielen Programme von Dir. Das alles hat mir sehr geholfen in die I2C-Nutzung einzusteigen.

Da ich mehrere Geräte am I2C perspektivisch betreiben möchte, bin ich auf den ftExtender von Björn Gundermann gestoßen.
In der Beschreibung zum ftExtender steht, dass die Firmware des TX und TXT keinen Multi-Masterbetrieb am i2C-Bus ermöglichen :cry:
Damit bleibt als Lösung nur das von Dir vorgeschlagene - extra Programm auf den TX und Offline betreiben. Datenaustausch ggf, über Eingänge.

Nun, was soll's - hab vielen Dank.
Viele Grüße
Thomas

sven
Beiträge: 2750
Registriert: 18 Okt 2010, 18:13
Wohnort: Rahden
Kontaktdaten:

Re: I2C Schnittstelle am TXT und TX

Beitrag von sven » 05 Mai 2021, 13:05

Hallo!

Mehrere Interfaces Online sind unter RoboPro erstmal kein Problem.
Gehe auf Eigenschaften beim Hauptprogramm:

Bildschirmfoto 2021-05-05 um 13.00.13.png
Bildschirmfoto 2021-05-05 um 13.00.13.png (178.42 KiB) 3884 mal betrachtet
Bei der Interfacesteuerung sind schon einige Interfaces vorgegeben. Man kann aber auch noch weitere hinzufügen.
IF1 deklarierst Du über bearbeiten als TXT.
Den 2. Eintrag (von Haus aus EM1) deklarierst Du über bearbeiten als TX und wählst die BT Schnittstelle bei den Schnittstellen aus. Nach Klick auf bearbeiten erscheint das Fenster welches im Screenshot zu sehen ist.
Ich habe hier einfach mal auf TX umbenannt.
Was nicht geht ist bei den I2C Befehlen ein Interface auszuwählen.
Ich könnte mir aber vorstellen, das es über die Adresse geht.

Gruß
sven
Dieses Posting gibt ganz allein meine persönliche Meinung wieder!

Thomas-815
Beiträge: 40
Registriert: 06 Nov 2020, 17:06

Re: I2C Schnittstelle am TXT und TX

Beitrag von Thomas-815 » 05 Mai 2021, 13:59

Hallo Sven,
leider geht da nix mehr über I2C, wenn man beide in RoboPro betreiben will.
Bleibt vielleicht nur, wie vorgenannt, einen Offline und den anderen Online zu betreiben.
Habe irgendwo gelesen, dass man den TXT mit der CFW-Firmware als Slave betreiben können soll.
Hat da jemand Erfahrung?

Viele Grüße
Thomas

Benutzeravatar
Bjoern
Beiträge: 630
Registriert: 04 Jan 2018, 12:34

Re: I2C Schnittstelle am TXT und TX

Beitrag von Bjoern » 05 Mai 2021, 20:10

Hallo Thomas,

die Info mit dem Multi-Masterbetrieb des I²C hast du ja bei mir gefunden. Ich bin mir hier nicht mehr 100% sicher, aber das dürfte nur für den Fall gelten wenn beide gleichzeitig auf den Bus zugreifen.

Wenn ich dich richtig verstehe, triggerst du ja den TX und gibst ihm in diesem Fall den Befehl auf I²C zuzugreifen.

Wenn das so ist, kannst du den Zugriff auf den Bus ja über den TXT kontrollieren. Kommunikationspause auf dem TXT während der TX zugreift. Und eben umgekehrt. Im Endeffekt ist das eine Art Semaphore für den Zugriff auf I²C.

Über den ft-Extender löst du das Problem mit dem Level-Shifter für den TXT und auch die Versorgungsspannung der I²C Teilnehmer. Sofern die nicht zu viel Strom ziehen. Beim TXT kannst du die 3,3V auch nicht abgreifen. Die darf nicht zu stark belastet werden.

Ich würde das auf jeden Fall mal ausprobieren. Und wenn beide autark wären, dann könntest du jeweils einen Ausgang auf einen Eingang des anderen verbinden und somit die Zugriffe auf den Bus steuern.

Keine Ahnung ob es geht, aber wir wohllen hier ja auch forschen.

Grüße
Björn
https://gundermann-software.de/shop/
Der Shop für viele Community Projekte

Benutzeravatar
elektrofuzzis
Beiträge: 212
Registriert: 25 Jun 2016, 09:40

Re: I2C Schnittstelle am TXT und TX

Beitrag von elektrofuzzis » 06 Mai 2021, 02:33

Hallo Thomas,

der I2C Bus lässt viele Sensoren/Aktoren gleichzeitig an einem Bus zu. Damit kannst Du einfach alle I2C Geräte an einen TX/TXT hängen. Eine Kabellänge von 2-3m ist kein Problem, je nach verbauten Sensoren hatten wir schon bis zu 10m am TXT hängen.

Ich tippe darauf, dass die RoboPro I2C Kommandos immer auf den Master gehen und an den müsstest Du dann alle I2C Geräte hängen.

Gruss

Stefan

Thomas-815
Beiträge: 40
Registriert: 06 Nov 2020, 17:06

Re: I2C Schnittstelle am TXT und TX

Beitrag von Thomas-815 » 06 Mai 2021, 06:54

Hallo Stefan,
die Sache alles auf einen Rechner zu hängen ist praktikabel nur für stationäre oder mobile Dinge. Soll aber einer mobil und der Andere stionär sein ist Schluss. Tja, ist halt so - der mobile muss dann - wie von Dirk vorgeschagen - sein Programm mit nehmen und komplett lokal arbeiten. Damit hätten beide keinerlei Verbindung :-(

Das mit dem ftExtender ist interessant - aber leider auch nur für stationäre oder mobile Anwendungen machbar.

Viele Grüße
Thomas

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1831
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: I2C Schnittstelle am TXT und TX

Beitrag von Dirk Fox » 06 Mai 2021, 09:05

Hallo Thomas,

bleibt noch eine mögliche "Baustelle": Wenn Dein stationärer Controller abhängig von irgendwelchen Ereignissen beim mobilen ein I2C-Kommando (oder auch irgendetwas anderes) auslösen soll (oder umgekehrt) - dann müssen die beiden miteinander "reden". Und damit eröffnet sich die nächste zauberhafte Herausforderung: eine Kommunikationsverbindung... dafür gibt es auch eine Reihe von Möglichkeiten: Licht, Schall, Ultraschall, Funk/Bluetooth, ... viel spannender als eine profane Kabelverbindung ;-)

Herzliche Grüße,
Dirk
Zuletzt geändert von Dirk Fox am 06 Mai 2021, 18:03, insgesamt 1-mal geändert.

Thomas-815
Beiträge: 40
Registriert: 06 Nov 2020, 17:06

Re: I2C Schnittstelle am TXT und TX

Beitrag von Thomas-815 » 06 Mai 2021, 10:32

Hallo Dirk,
das sind ja ganz neue Herausforderungen - Funk z.B. :)

Hab mich da schon umgesehen aber ein Funkmodul für I2C hab ich noch noch nicht gefunden.

Viele Grüße
Thomas

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1831
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: I2C Schnittstelle am TXT und TX

Beitrag von Dirk Fox » 06 Mai 2021, 17:23

Hallo Thomas,

schau` mal hier (habe ich allerdings nicht getestet): I2C-Funksender 433 Mhz
Kann man direkt mit der Arduino-Steuerung aus unserem Buch koppeln...

Und dann gibt es natürlich noch BLE: RN4870/71 Bluetooth

Eine Funkverbindung sollte also hinzubekommen sein.

Beste Grüße,
Dirk

Thomas-815
Beiträge: 40
Registriert: 06 Nov 2020, 17:06

Re: I2C Schnittstelle am TXT und TX

Beitrag von Thomas-815 » 06 Mai 2021, 19:58

Hallo Dirk,
vielen Dank für die Links.
Leider bin ich in der Elektronik nicht ganz so bewandert aber die Sache mit dem 433 Mhz Funksender ist interessant, obwohl dieses eigentlich für Funkschalter verwendet werden soll.

Viele Grüße
Thomas

Thomas-815
Beiträge: 40
Registriert: 06 Nov 2020, 17:06

Re: I2C Schnittstelle am TXT und TX

Beitrag von Thomas-815 » 07 Mai 2021, 12:59

Hallo Dirk,
könnte man damit was anfangen? https://funduino.de/nr-03-433mhz-funkverbindung
Nur wie gesagt, ich bin leider in Elektronik nicht bewandert und vielleicht auch schon etwas alt dafür ;)

Viele Grüße
Thomas

Benutzeravatar
Bjoern
Beiträge: 630
Registriert: 04 Jan 2018, 12:34

Re: I2C Schnittstelle am TXT und TX

Beitrag von Bjoern » 07 Mai 2021, 14:18

Hallo Thomas,

das sollte mit einem Arduino ganz einfach gehen. Du müsstest dir anschauen wie das Protokoll am Ende ist. Siehe github Link.
Wenn du das am TX/TXT nachbilden könntest.....

Wolltest du jetzt den TX als Erweiterungsinterface am TXT betreiben?
Falls ja, probier doch wirklich mal ob das mit I²C nicht geht.

1) der Befehl geht immer zum Master: wäre ja für dich ideal, denn dann bekommst du die Daten so. I²C ist ein Bus
2) der Befehl bleibt beim TX: entweder 2ten I²C Bus machen oder wenn alle an einem hängen, dir eine Semaphore basteln. Würde erwarten das dies geht. In dem Fall dürfen eben nicht beide (TX + TXT) gleichzeitig aktiv werden.

Probeiren geht über studieren, dein Setup hat noch nie einer ausprobiert. Könnte also sein das es geht. Auf jeden Fall eine der Varianten.

Grüße
Björn
https://gundermann-software.de/shop/
Der Shop für viele Community Projekte

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1831
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: I2C Schnittstelle am TXT und TX

Beitrag von Dirk Fox » 09 Mai 2021, 20:53

Hallo Thomas,
Thomas-815 hat geschrieben:
07 Mai 2021, 12:59
könnte man damit was anfangen? https://funduino.de/nr-03-433mhz-funkverbindung
das ist schon fast eine "Standardplatine" für 433 MHz-Verbindungen. Wir haben sie auch in unserem Arduino-Buch für eine Fernsteuerung verwendet. Klappt aber so nur mit dem Arduino - das Board wird direkt angesteuert, nicht über das I2C-Protokoll.

Beste Grüße,
Dirk

Antworten