I2C - TXT und LCD-Display

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
webstar
Beiträge: 12
Registriert: 02 Mai 2012, 07:19

I2C - TXT und LCD-Display

Beitrag von webstar » 10 Dez 2016, 10:21

Hallo!

Ich habe mir vor einigen Tagen das LCD-Display EAT123A-I2C gekauft und wollte diesen nun an den TXT anschließen. Doch leider funktioniert es mit RoboPro nicht.
Ich denke, dass ich die Pin-Verdrahtung richtig angeschlossen habe.
  • TXT I2C-Display
  • SCL: 1 --> 6
  • SDA: 2 --> 5
  • 3 --> Leer
  • 4 --> Leer
  • VDD: 5 --> 2
  • VSS: 6 --> 1
  • (Direkt verdrahtet)
Beim I2C-Display:
VLCD und V0 habe ich noch nicht verlötet, da diese für den Kontrast sind.


Beschreibung:
http://www.lcd-module.de/pdf/doma/t123-i2c.pdf
http://www.horter.de/i2c/i2c-anwend/anwend_eat123.html

Beim RoboPro verwende ich die Komponente "I2C Schreiben" mit folgenden Werte:
  • Geräteadresse: 0x74
  • Unteradresse: 0x0
  • Datenwert: 0 (oder über Dateneingang)
  • Länge der Unteradresse: Keine
  • Länge der Daten: 8 Bit
  • Geschwindigkeit: 100kHz
  • Fehlerbehandlung: Sofort abbrechen
  • Offen lassen: Ja (bzuw. nein)
Die Komponente geht gleich auf Fehler.

Woran könnte das liegen?

bye,
Wolfgang

hamlet
Beiträge: 332
Registriert: 12 Jan 2011, 21:41

Re: I2C - TXT und LCD-Display

Beitrag von hamlet » 10 Dez 2016, 14:22

Hallo Wolfgang,
Ich verstehe Dein Anschlussschema nicht:
Beim TXT Ext Port liegen die 3.3V I2C Clock und Data Signale auf Pin 6 und 5 (Seite 29 hinten im TXT Manual), genauso wie bei dem LCD-Modul (Datenblatt, vorletzte Seite).

Die Angaben zur Spannungs-Versorgung in dem Datenblatt Deines LCD-Moduls sind recht verwirrend. Sieht aber auf Seite 11 "Single Supply" nach VDD=5V aus. Eine Spezifikation der Spannungs-Pegel des I2C Interfaces habe ich nicht gefunden, vermutlich wie VDD ebenfalls 5V. Ob die I2C Bus-Leitungen über interne Pullup-Widerstände auf VDD gezogen werden ist nicht ersichtlich.

Wie dem auch sei, der TXT bietet auf seinem Ext Port keinerlei Spannungsversorgung, weder 3.3V noch 5V. Das TXT Ext Interface arbeitet mit 3.3V Pegeln und ich gehe davon aus, dass es nicht 5V-tolerant ist.

Also sei am besten ein bisschen vorsichtig.

Beste Grüße,
Helmut

webstar
Beiträge: 12
Registriert: 02 Mai 2012, 07:19

Re: I2C - TX und LCD-Display

Beitrag von webstar » 11 Dez 2016, 07:53

Vielen Dank für den Hinweis.

Ich habe das LCD-Display an den 6 poligen EXT2 vom TX (Sorry für die Verwechslung; Was alles ein Buchstabe ausmacht ;) ) angeschlossen.
Da habe ich eine Spannung 4,94V unbelastet. Wenn ich das Display anschließe, dann sind es 4,86V.

--
Eigentlich wollte ich wie in der ft:pedia 1/2014 beschrieben den LCD2004 an den TX anschließen. Nur den habe ich diesen bei Conrad.at oder getgoods.com nicht gefunden. Dadurch habe ich mir gedacht, dass ich mir eben ein billiges LCD-Display kaufe und mit dem herum experimentiere. Aber anscheinend bleibe ich schon am Anfang stecken. :(
Vielleicht wäre es doch besser gewesen, wenn ich das "C-Control I²c-Bus Lc-Display" gekauft hätte.

Wolfgang

hamlet
Beiträge: 332
Registriert: 12 Jan 2011, 21:41

Re: I2C - TXT und LCD-Display

Beitrag von hamlet » 11 Dez 2016, 08:35

Hi Wolfgang,
TXT<->TX ... na klasse, aber zum TX EXT2 Port passt Dein Anschlussschema ebensowenig. Laut TX-Anleitung und LCD-Datenblatt haben beide Ports, abgesehen von Pin 3 und 4, die gleiche Belegung:
1 GND / VSS
2 5V / VDD
...
5 SDA
6 SCL
Gruß, Helmut

webstar
Beiträge: 12
Registriert: 02 Mai 2012, 07:19

Re: I2C - TXT und LCD-Display

Beitrag von webstar » 11 Dez 2016, 15:28

Hallo!

Laut dem Heft ft:pedia 3/2012 Seite 36 habe ich folgenden PIN-Belegung gefunden
(Da ich keine Nummerierung gefunden habe, habe ich von links/oben mit eins angefangen, dann rechts/oben usw. und bis nach rechts/unten mit 6 durchgezählt).

Also:
1 (links/oben): SCL
2 (rechts/oben): SDA
3 (links/mitte): nicht belegt
4 (rechts/mitte): nicht belegt
5 (links/unten): +5V
6 (rechts/unten): GND

Auch im Bild:
https://i0.wp.com/www.kinder-technik.de ... ctions.png
Bild
gabs keine Nummerierung.
Anscheinend war meine Vermutung falsch. :(

Ich habe in der Schulzeit ein bisschen Elektrotechnik (Abteilung TGM/Kunststofftechnik in Wien) gelernt. Nur das waren einfache Schaltungen für Gleichstrom und Wechselstrom mit Schalter, Taster, Lampen, Wiederstände, Dioden, Relais. Nur jetzt möchte mich halt ein bisschen in die Schwachstrom-Materie (Transistoren, ICs, usw.) einarbeiten.
Meine Kinder und ich möchten dann mit dem TX- und TXT-Computer (wie haben beide, deswegen auch die Verwechslung :-) ) herum experimentieren und einiges damit Steuern, was Fischertechnik nicht liefert oder nicht mehr liefert.

bye,
Wolfgang

hamlet
Beiträge: 332
Registriert: 12 Jan 2011, 21:41

Re: I2C - TXT und LCD-Display

Beitrag von hamlet » 11 Dez 2016, 17:01

Hi Wolfgang,
In der TX-Anleitung sind die Pins genau andersherum durchnummeriert, d.h. dass Du alles richtig verbunden hast. Schade, ein Verkabelungsproblem wäre einfach zu lösen gewesen.
RoboPro gibt ja leider keine Fehlercodes aus. Eigentlich bräuchtest Du jetzt ein Scope oder einen Logic-Analyzer, um dem Problem auf die Schliche zu kommen.
Hast Du Dein Test-Programm im Online- als auch im Download-Mode probiert? Du solltest am Anfang Deines Programms, bevor Du versuchst auf dem I2C-Bus zu senden, auf jeden Fall ein Warten-Element von ein paar 100ms einfügen. RoboPro-Programme verhalten sich auf dem TX kurz nach dem Start oft ein bisschen merkwürdig.
Du kannst Dein Test-Programm ja mal hier hochladen. Vielleicht ist ja doch noch ein Fehler drin. Wobei Deine Beschreibung des Tests oben absolut vernünftig klingt.
Viel Glück ,
Helmut

hamlet
Beiträge: 332
Registriert: 12 Jan 2011, 21:41

Re: I2C - TXT und LCD-Display

Beitrag von hamlet » 11 Dez 2016, 17:24

Hi Wolfgang,
Mit einem Multimeter könntest wenigstens prüfen, ob beide I2C Busleitungen stabil auf 5V liegen, bevor Du versuchst das Test-Byte zu senden. Falls das LCD eine der Leitungen dauerhaft auf Masse zieht, geht gar nichts auf dem I2C-Bus.
Beim Einschalten des TX passiert schon eine ganze Menge auf dem I2C-Bus, weil der TX beim Hochfahren ein internes EEPROM über den gleichen I2C-Bus ausliest (viewtopic.php?f=8&t=1546&p=10089&hilit=eeprom#p10089). Vielleicht bringt das dein LCD-Modul durcheinander. Versuch mal einen Reset des LCD-Modul nach dem Hochahren des TX bevor Du versucht das Test-Byte zu senden.
Viel Glück,
Helmut

chehr
Beiträge: 193
Registriert: 07 Apr 2015, 21:07
Wohnort: Friedrichshafen

Re: I2C - TXT und LCD-Display

Beitrag von chehr » 11 Dez 2016, 19:25

Hallo Wolfgang,
das erste was man machen sollte, nachdem man den Baustein richtig am I2C angeschlossen hat, ist die Geräteadresse auslesen.
Die sollte nämlich 0x3A oder 0x3B sein und nicht 0x74 (hängt vom SA0 Pin ab) falls ich den Baustein richtig identifiziert habe (PCF2116). Das rechte Bit ist R/W und wird für Robo Pro nicht in der Geräteadresse berücksichtigt. Deshalb hast du 0x74 verwendet, stimmt?
Zum auslesen der Geräteadresse ist das folgende Programm von Georg super hilfreich und kann dir viel Zeit bei der Fehlersuche einsparen:
http://ftcommunity.de/data/downloads/ro ... on_v15.rpp
Wenn das Programm eine Geräteadresse anzeigt, bedeutet das, das die Kommunikation funktioniert, wenn nicht dann stimmt was nicht mit der Verdrahtung, oder der Baustein hat zuwenig Strom oder etwas ist defekt.


webstar
Beiträge: 12
Registriert: 02 Mai 2012, 07:19

Re: I2C - TXT und LCD-Display

Beitrag von webstar » 15 Dez 2016, 06:34

Hallo!

Vielen Dank,
Also ich habe das Programm i2cidentification_v15.rpp durchlaufen lassen und das Ergebnis war $3A.
Danach habe ich ein Programm geschrieben, dass auf diese Adresse schreibt und die i2c-Komponente liefert kein Fehler mehr. Was schon sehr gut ist.
Leider war es noch nicht möglich ein Zeichen darzustellen.

bye,
Wolfgang

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

Re: I2C - TXT und LCD-Display

Beitrag von elektrofuzzis » 15 Dez 2016, 22:44

Hallo Wolfgang,

das Datenblatt ist etwas gewöhnungsbedürftig. Was fehlt ist auf jeden Fall das Anschalten des Displays (ist nach dem Einschalten aus).

Zum Initialisieren schicke mal die Datenbytes 0x2C, 0x0E, 0x06 als Initialisierung an den Baustein. Dabei bei den beiden ersten Datenbytes "offen lassen" anclicken, beim letzten Byte "offen lassen" aus. Das sind die Steps 1-6 aus dem Datenblatt auf Seite 8.

Danach zur Sicherheit einen WAIT von 0,1 s. Wahrscheinlich ist der WAIT hier nicht notwendig, schadet aber erst mal nichts.

Im zweiten Schritt schickst Du die Zeichen. 0x31, 0x32, 0x33. Wieder die ersten beiden Bytes mit "offen lassen", das letzte Byte "offen lassen" aus.
Mit etwas Glück hast Du jetzt 123 im Display stehen. Das sind im Prinzip die Steps 7-17.

Viel Spaß beim Tüfteln,

Stefan

webstar
Beiträge: 12
Registriert: 02 Mai 2012, 07:19

Re: I2C - TXT und LCD-Display

Beitrag von webstar » 18 Dez 2016, 15:42

Hallo!

Ich habe dies und vieles andere probiert, doch leider funktioniert es nicht. :(
... und das Datenblatt ist Schrott.

bye,
Wolfgang

webstar
Beiträge: 12
Registriert: 02 Mai 2012, 07:19

Re: I2C - TXT und LCD-Display

Beitrag von webstar » 18 Dez 2016, 18:36

Hallo!

Wieder ein paar Stunden später :(

Und ein Link habe ich auch noch gefunden.
http://www.horter.de/i2c/i2c-anwend/anwend_eat123.html

Aber jetzt habe ich ein kleinen Erfolg. Das Display zeigt jetzt ein paar kryptische Zeichen und ein paar Buchstaben, die ich haben wollte (z.b. ABC), an. Aber in der letzten Zeile und von rechts nach links. :?

bye
Wolfgang

Antworten