ZOE Display

Inhaltsverzeichnis [anzeigen]

ZOE-Display

:!: :!: :!: OHNE GEWÄHR, ALLES AUF EIGENE GEFAHR, NUR ZU TESTZWECKEN :!: :!: :!:

Das ZOE-Display ist eine zusätzliche Anzeige, die die Original-Ablage unterhalb des R-Link durch ein zusätzliches Display ersetzt. Es kann verschiene Daten, die im CAN-Bus bereitstehen, anzeigen und ggf. auch über einen Internet Hub ins Netz stellen.

Die Idee und das grundsätzliche Konzept des Displays stammt von eokgnah, der sie ursprünglich für den Smart entwickelt hat. Die Software des Displays wurde dann von REGLOH2 auf ein neues Level gehoben und für die ZOE angepasst. Die Hardware (PCB-Design) wurde von kepppfeff-ZOE überarbeitet und optimiert.

Hier der Link zum Beitrag im Forum.

Die folgenden Informationen hier im Wiki sind inzwischen nicht mehr aktuell, ich will sie aber nicht löschen, sondern verweise an dieser Stelle auf das GitHub-Projekt. Dort ist eigentlich alles zu finden, was man wissen muss:

Hier entlang >>> https://github.com/eokgnah/ZOE-Display

 

-----------

Da das Projekt noch sehr "jung" ist, sprudeln die Ideen gerade noch so.

  • Es ist darauf zu achten welcher ESP 32  verwendet wird da die Entwicklung nur eine bin Version anbietgen kann.
  • Behebung des "Verdrahtungsfehlers", sodass auch das resistive Display verwendet werden kann.
  • Hinzufügen der Displaydrehung (Löt-Jumper an G36)
  • Hinzufügen der Verbindung zur Helligkeitsregelung des kapazitiven Displays
  • Optional kann ein effizienteres Schaltregler-Modul zur Versorgung von ESP32, GPS-Modul und resistivem Display verbaut werden
  • Optional können anstatt der CAN-Module CAN-Transceiver-ICs im DIP8-Gehäuse verbaut werden
  • Bei Verwendung des kapazitiven Displays ist kein Levelshifter mehr nötig, da die Spannung mithilfe zweier Pull-Down-Widerstände reduziert wird
  • Bei Verwendung des resistiven Displays kommt anstatt der beiden parallel geschalteten Dioden eine Strombegrenzung mit zwei Transistoren zum Einsatz. Außerdem kann über einen weiteren Transistor die Hintergrundbeleuchtung gedimmt werden (genauso wie beim kapazitiven Display)
  • Kompatibilität zu einer schmäleren Variante des ESP32-Development-Boards
  • Kompatibilität zu einer anderen Variante des GPS-Moduls (mit 5 Pins, wie von einem User gepostet)
  • Für die Kabelanschlüsse (Power, Buzzer, CAN-Bus) können optional Schraubklemmblöcke angebracht werden
  • Ich versuche, die Ecken der Platine etwas abzuschrägen (damit sie besser passt) und zudem einen rechteckigen Ausschnitt für die Buchse des kapazitiven Displays einzufügen (damit diese nicht abgelötet werden muss). Ich kann aber nicht garantieren, dass es klappt, da ich bisher nur rein rechteckige Platinen gemacht habe. Müsste eventuell noch mit dem Platinenhersteller abgeklärt werden
  • Stomversorgung vom CAN-Bus

Forum -> Vorstellung meines ZOE-Display

Github-> ZOE Display

Workshop Listen -> Google Liste

Hardware Sammel Bestellliste -> Google Liste

Verwendete Hardware

Hardware Bestätigte Hardware Alternative Hardware nicht bestätigte Hardware
ESP32 Development Board Amazon ESP 32    
Display SPI TFT Panel 240 x320 resistiver Touchscreen, (ILI9341)  kapazitivem Touchscreen, (ILI9341)  
CAN Transceiver SN65HVD230  PCB Modul    
GPS-Modul  GPS-Modul    
CAN-Stecker für OBD Buchse      
USB Stecker      
USB Buchse      
       

Software

1. holt euch die Arduino-IDE.
Arduino Software

2. Macht die IDE bereit für den ESP32.
Setup Guide für die Arduino Software 

3. Kontrolliert die Einstellungen und Installiert auf euerem neuen ESP32 zum initialisieren den "bare minimum" Sketch aus den Beispielen. (COM-Port kann bei Euch ggf ein anderer sein)
Bild

Bild

Wenn das alles sauber durchgelaufen ist, dann geht es weiter.

4. holt euch das "Flash Download Tools (ESP8266 & ESP32)" von espressif.
Espressif bin File Flash Tool 

5. holt Euch das ZOE-Display-Binary

Aktuellste Version - >  CAN-ESP.Smart 2.075 für Hardware xxx
  CAN-ESP.ZOE 2.075 für Hardware yyy
   

6. Startet das "Flash Download Tools (ESP8266 & ESP32)", wählt den ESP32 aus und stellt ihn wiefolgt ein. (COM-Port kann bei Euch ggf ein anderer sein)
Bild

7. auf "START" drücken und ihn flashen lassen.

8. wenn er fertig ist, dann könnt Ihr beim ESP mal auf Reset drücken oder ihn kurz vom USB-Strom nehmen damit er bootet.

9. Es sollte nun ein offener WLAN-Accesspoint (Name so etwas wie ESP_12BA5C oder ZOE) bei euch erschienen sein. ;-)

10. mit dem WLAN verbinden und auf die IP "192.168.4.1" mit dem browser gehen und dann könnt Ihr alles von dort aus über den Browser weiter konfigurieren.

Alternativ mit Linux flashen

/usr/local/bin/esptool-2.6$ sudo /usr/local/bin/esptool-2.6/esptool.py --chip esp32 --port /dev/ttyUSB0 --baud 115200 --before no_reset write_flash 0x0 ~/flash_contents.bin

3D Druck information

Hier beigefügt ein FreeCAD versucht (auf der Basis der hier veröffentlichten STL-Datei:

Bild1.PNG
ZOE-Display mit Handy-Dock (von oben)
Bild2.PNG
ZOE-Display mit Handy-Dock (von unten)

Dateien

Material

Druck Dienstleister

https://3d-printing-price.all3dp.com/

https://www.s3dproducts.de/3d-druck-service/

Schaltplan

ZOE-Display/blob/master/ 2018-11-10-can-display-v5_2018-11-10.zip

:!: :!: :!: ACHTUNG :!: :!: :!: 

Bekannte Fehler im Platinenlayout V5 sind:

Es funktioniert nur das Kapazitive Display! (das resistive hat leider einen Verkabelungsfehler)
Die Helligkeitsregelung ist noch nicht auf der Platine imlementiert! (von Hand bei Bedarf verkabeln)
Die Bildschirmdrehung ist noch nicht auf der Platine implementiert! (von Hand bei Bedarf verkabeln)

Platinenlayout (V7) ist fertiggestellt. Die Bauteile sind recht eng platziert, aber alles in Durchsteckmontage, also auch für Löt-Anfänger geeignet. Damit alle Bauteile Platz haben, habe ich die Platine an einer Seite etwas vergrößert und das GPS-Modul mit etwas mehr Überstand platziert. Sollte aber trotzdem alles in das 3D-Teil von erich passen.

Die EAGLE-Dateien habe ich hier hochgeladen: https://www.magentacloud.de/share/pavra7701y

Hier nochmal alle Verbesserungen im Überblick:

  • Behebung des Verdrahtungsfehlers, sodass auch das resistive Display verwendet werden kann.
  • Hinzufügen der Displaydrehung (Löt-Jumper an G36).
  • Hinzufügen der Verbindung zur Helligkeitsregelung des kapazitiven Displays.
  • Anstatt des CAN-Moduls wird ein CAN-Transceiver-IC im DIP8-Gehäuse (MCP2562) verwendet.
  • Bei Verwendung des kapazitiven Displays ist kein Levelshifter mehr nötig, da die Spannung mithilfe zweier Pull-Down-Widerstände reduziert wird. Außerdem muss die 6-Pin-Buchse nicht mehr abgelötet werden, da sich an dieser Stelle eine rechteckige Aussparung in der Platine befindet.
  • Bei Verwendung des resistiven Displays kommt für die Versorgung der Hintergrundbeleuchtung anstatt der beiden parallel geschalteten Dioden eine Strombegrenzung mit zwei Transistoren zum Einsatz. Außerdem kann über einen weiteren Transistor die Hintergrundbeleuchtung gedimmt werden (genauso wie beim kapazitiven Display). 
  • Die Stromversorgung erfolgt nicht mehr über den USB-Anschluss des R-Link (5 V), sondern über den OBD-Port(11–15 V). Hierzu überwacht eine Schaltung den CAN-Bus und schaltet automatisch bei aktiver Datenübertragung mithilfe eines MOSFETs die Spannung durch. Die Abschaltung erfolgt ebenfalls automatisch (per Software). Im Standby verbraucht die Schaltung etwa 40 μA.
  • Die 5-V-Versorgungsspannung (z.B. für die Hintergrundbeleuchtung der Displays) wird über ein Schaltregler-Modul bereitgestellt und über einen zusätzlichen Anschluss nach außen geführt. Daran kann z.B. eine USB-Buchse zum Aufladen von Geräten angeschlossen werden (so kann die hierfür vorgesehene Aussparung im 3D-Modell von erich weiterhin genutzt werden). Allerdings laden nicht alle USB-Geräte „einfach so“, manche erwarten eine bestimmte Beschaltung der USB-Datenpins. Siehe hierzu http://dh2mic.darc.de/files/usb-adapter-v12.pdf
  • Die 3,3-V-Versorgungsspannung kann entweder vom internen (linearen) Spannungsregler des ESP32 bereitgestellt werden oder es kann ein effizienteres Schaltregler-Modul verbaut werden (welches dann zusätzlich das GPS-Modul und das resistive Display versorgt). Zwischen den beiden Optionen wird per Löt-Jumpern gewählt.
  • Die Platine ist jetzt auch kompatibel zu einer schmäleren Variante des ESP32-Development-Boards.
  • Die Platine ist jetzt auch kompatibel zu einer anderen Variante des GPS-Moduls mit 5 Pins.
  • Für sämtliche Kabelanschlüsse (Power, Buzzer, CAN-Bus) können optional Schraubklemmblöcke angebracht werden (denn direkt an eine Platine angelötete flexible Kabel brechen gerne mal ab).

Es kann allerdings noch nicht garantieren, dass alles passt und funktioniert! (stand 19.02.2019)

https://jlcpcb.com/

Zum Zusammenbau mit der Platine.

Hier müsst Ihr nur etwas die Reihenfolge und die Abstände beachten.
Sonst lötet ihr euch im schlimmsten Fall selbst in eine Sackgasse. ;-)

Vorbereitung - 1. Das kapazitive Display
Schaut ob Ihr das alte oder das neue Adafruit Kapazitiv-Display habt.

Beim alten den 6-Poligen Stecker entfernen und die Lötbrücke "backlite" löten.
Bild

Beim neuen den 6-Poligen Stecker entfernen und die Lötbrücken "backlite", "13", "12" und "11" löten.
Bild
Erstmal die Bilder:
ALTE Platinenversion
Bild

NEUE Platinenversion
Bild

Die NEUE Version ist zu erkennen an der Lötbrücke IOREF (gibts beim der ALTEN Version noch nicht). Weiterhin trägt die ALTE Version direkt neben dem SD Kartenslot die Versionsnummer v2.3, diese wurde beim NEUEN Display weggelassen.

Mit den Lötbrücken kann man Datenleitungen umlegen sowie Features ein/ausschalten. Wir haben mit der ALTEN Version entwickelt, auf dieser sind die Lötbrücken 11/12/13 standardmäßig gesetzt (wer genau hinsieht bemerkt im Bild der ALTEN Platine, daß da winzige Kupferbahnen zwischen den Lötstellen laufen). Auf der NEUEN Version sind die Lötbrücken 11/12/13 offen, und müssen also von euch gesetzt werden (im Bild der NEUEN Platine sind diese bereits gesetzt)! 

Weiterhin empfiehlt es sich, die Lötbrücke "backlite #5" zu setzen. Damit ist eine Helligkeitsregelung des Backlight möglich. Für diese Regelung muss eine zusätzliche Verbindung zum ESP32 geschaffen werden, welche auf der Platine von Erich noch NICHT vorgesehen ist. Das kann man nachträglich mit einem Draht machen, aber wenn ihr die Lötbrücke "backlite #5" nicht vor dem Einlöten des Displays setzt, kommt ihr anschliessend nicht mehr ran. 

Bei der neuen Platine wird bei IOREF keine Brücke gesetzt. Da ist auf dem Bild oben zwar Lötzinn drauf, aber die Pins sind nicht verbunden!

Sollte folgender Adapter vorhanden sein muss der ausgelötet werden!
Bild


Vorbereitung - 2. Der Can-Bus Transciever
Hier habe ich die Schraubklemmen entfernt, die Pins oben gekürzt und den Lötsockel nach unten umgebaut.

Rechts das gelieferte Original-Teil, links der einbaufertige.
Bild

Vorbereitung - 3. Abstandshalter

Auf die Löt-Steckerleisten habe ich an den Ecken einen zusätzlichen Abstandshalter einer leeren Steckerleiste mit drauf geschoben.
Bild

Diese Abstands-Nupsis verhindern dann am Ende dass die Pins von einer Seite einen Kurzschluss auf der anderen Seite verursachen, weil die Platinen der gesteckten Teile doch sehr nahe zusammen sind. Und Ihr habt damit zumindest ein wenig Luft zum Löten an den engen stellen.

Bild

Lötreihenfolge
Ich finde, dass es am einfachsten ist wie folgt vor zu gehen.

1. ESP32 einlöten (auf Abstand achten)
2. CAN-Bus Transciever einlöten (auf Abstand achten)
3. Sockel für den GPS einlöten (auf Abstand achten) :!: NICHT den GPS, Nur den Sockel auf der Platine :!: 
4. Levelshifter einlöten (auf Abstand achten)
5. Kapazitives Display einlöten (auf Abstand achten) - Das Löten ist im Bereich des ESP ggf ein wenig eng, aber das schafft Ihr schon.
6. den Piezzo-Piepser auflöten und an der Platine fest kleben. (Oder wo Platz ist, je nach Grösse Eures Piepsers)
7. den GPS auf den bei 3 eingelöteten Sockel stecken und auch festlöten.
8. den ODB2 Stecker an ca 15cm Litze anlöten (ODB2 CAN Hi/Lo mit dem CAN-Bus Transciever Hi/Lo verbinden)

Das fertig gelötete "Paket" mit den gezeigten Abstandshaltern passt dann perfekt in die Kerben vom 3-D gedruckten Einleger.
Das Display mittig im "Fenster" ausrichten und mit einem Tropfen 2-Komponentenkleber oder Silikon oben an der Platine fest kleben.

Die Antenne auf am GPS an stecken und flach mit der Empfangsseite nach oben auch mit einem Tropfen Kleber am Einleger befestigen.
Bild

Wie regloh2 schon geschrieben hat nun ggf. noch 2 Drähte am ESP verkabeln.
Einmal die Drehung (G36 auf 0V oder 3,3V) und 
einmal die Helligkeitsregelung vom Display (G33 auf Pin D5 vom Display).

Dann das Kabel eines abgeschnittenen USB-Steckers durch das runde Loch fädeln und die USB-Buchse ein das quadratische Loch einpressen. Verkabeln (auf die Beschaltung achten!) und die 5V/Masse noch für die Platine abzweigen.

Wenn es Hakt könnt Ihr problemlos die Ecken der Platine noch etwas mit einer Feile abrunden.

Um den Einleger ein Stück Fenster oder Tür-Isolierband/Dichtung kleben.
Damit schliesst es dann sauber ab und scheppert nicht in der Mulde.

Das sollte es dann gewesen sein. :ugeek: 

Bild

Ich hoffe, dass es halbwegs verständlich erklärt ist?