Grafische Anzeige CAN

Aus Prius Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Einleitung)
Zeile 1: Zeile 1:
-
 
== Einleitung ==
== Einleitung ==
Zeile 80: Zeile 79:
Bild:Grafische_Anzeige_Basic-Beispiel.JPG|Programmbeispiel
Bild:Grafische_Anzeige_Basic-Beispiel.JPG|Programmbeispiel
</gallery>
</gallery>
 +
 +
 +
 +
== Der CAN ==
 +
 +
Der CAN am "OBD2" - Stecker des Prius arbeitet mit 57,6 kBAUD und "11-bit Identifiern" ( somit von $000 bis $7FF).
 +
 +
Zur Anbindung wird beim Prototypen ein "CAN232 - CAN-Dongle" von LAWICE erhältlich beim "Elektronikladen" verwendet.
 +
 +
Dieses wird über "ASCII" - Kommandos (z. B. auch beliebiges Terminalprogramm) gesteuert und sendet die empfangenen Daten ebenfalls im "ASCII-Format" zurück.
 +
 +
Das "CAN - Dongle" muß vom "Basic - Programm" parametriert und initialisiert werden.
 +
 +
Um eine akzeptable Datenmenge zu erreichen, müssen weiterhin die "Akzepzanzfilter" (Das sind die ID, welche "durchgelassen werden) richtig gesetzt werden.

Version vom 24. Juni 2007, 23:39 Uhr

Inhaltsverzeichnis

Einleitung

Warnhinweis:

Das Projekt ist noch nicht fertig und weitere Arbeit daran notwendig, jedoch hat zeigt der heutige Stand (24.06.2007), dass es funktionieren wird!

Dieses Projekt dient zur (frei konfigurierbaren) Anzeige von Daten auf dem MFD.

Die "Hardware" besteht aus einem von Joerg Wolfram entwickelten Einchip - Basic - Computer und einem von mir programmierten Controller, der die Anbindung des CAN übernimmt.

Die "Software", also die verschiedenen "Bildschirme" und deren "Parametrierung" und "Datenversorgung", sind in "BASIC" programmiert und können relativ einfach eigenen Vorstellungen angepasst werden - die Programmierung des Controllers zur "CAN-Anbindung" erfolgte in "Assembler" (AVR).

Das "BASIC" entspricht ungefähr dem wohl fast jedem "Computerfreak" noch von "C64" bekannten Umfang, jedoch fehlt (leider) eine "Stringverarbeitung" komplett, die die Programmierung wesentlich vereinfacht hätte.

Für die "Grundfunktion" ist keine weitere Bedienung erforderlich, jedoch wird zur Einstellung der Uhrzeit eine beliebige "MF-2" Tastatur benötigt.


Grafische Anzeige 23-06-2007.jpg

Idee

Anzeige der Uhrzeit im 24-Stunden-Format, Innentemperatur, Bordnetzspannung und weiterer Betriebsdaten auf dem MFD.

Grafische Anzeige Idee.JPG


Vergleich einer grafischen mit einer Alphanumerischen Visualisierung


Realisierungsansätze

1. Der Einsatz eines OSD (On-Screen-Display) IC wurde verworfen, da z. T. abgekündigt oder schwer erhältlich.

2. Einbau eines "CAR-PC" wurde aus mehreren Gründen verworfen: hohe Kosten, Dauer Bootvorgang, ungenügender Bauraum

3. Als geeignet wurde "AVR-Chipbasic" von Joerg Wolfram befunden.

4. Zunächst wurde das direkte Abgreifen der relevanten Fahrzeugsignale angedacht aber schnell verworfen.

5. Es gibt einige handelsübliche "CAN-Interfaces" - für den Einsatz mit "AVR-Chipbasic" ist der "CAN232" von LAWICE geeignet.

6. Erstes Problem: Die serielle Schnittstelle des "Chipbasic" ist nicht über die UART realisiert und kann NUR 1200 BAUD

7. Zweites Problem: Das "CAN232" von LAWICE kann minimal mit 2400 BAUD betrieben werden.

8. Als Lösung wurde ein 2. Atmel-Controller programmiert, der eine Umsetzung von I2C auf 57,6 kBAUD realisiert.

9. Anbindung an das MFD - für eine Farbdarstellung wird der Anschluß über RGBS oder bei FBAS ein zusätlicher Chip benötigt.


Praktische Ausführung

Wie so oft im Leben, gibt es verschiedene Ausführungsmöglichkeiten:

1. Aufbau auf Lochrasterplatine - verworfen.

2. Aufbau auf zwei Platinen von Joerg Wolfram ( Chipbasic und RS232-Umsetzer) - für den "Prototypen" geeignet.

3. Layout einer eigenen kompakten Platine: Chipbasic, CAN-Controller und MFD-Umschaltung im Anschluß


Erste Ergebnisse

Zunächst wurde eine Platine komplett bestückt, um die Möglichkeiten zu prüfen - in dieser Zeit gab es mehrere "Updates" der "Firmware" - die aktuelle läuft auf einem "ATMEGA32" und kann 4 Programme mit je 51 Zeilen aufnehmen.



Der CAN

Der CAN am "OBD2" - Stecker des Prius arbeitet mit 57,6 kBAUD und "11-bit Identifiern" ( somit von $000 bis $7FF).

Zur Anbindung wird beim Prototypen ein "CAN232 - CAN-Dongle" von LAWICE erhältlich beim "Elektronikladen" verwendet.

Dieses wird über "ASCII" - Kommandos (z. B. auch beliebiges Terminalprogramm) gesteuert und sendet die empfangenen Daten ebenfalls im "ASCII-Format" zurück.

Das "CAN - Dongle" muß vom "Basic - Programm" parametriert und initialisiert werden.

Um eine akzeptable Datenmenge zu erreichen, müssen weiterhin die "Akzepzanzfilter" (Das sind die ID, welche "durchgelassen werden) richtig gesetzt werden.

Meine Werkzeuge