Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller mit Can Controller und Transceiver und OLED Bildschirm


von Philipp D. (mk4)


Lesenswert?

Hallo liebe Community,

Ich bin neu hier, aber habe schon des öfteren als Gast in verschiedenen 
Beiträgen gelesen und habe nun ein konkretes Projekt vor Augen und hoffe 
das mir hier weitergeholfen werden kann.

Zu mir selbst, ich bin staatl. gepr. Maschinenbautechniker und Student 
im 5. Semester des Maschinenbau im Schwerpunkt Fahrzeugsystemtechnik.
Ich beschäftige mich schon einige Jahren mit der Funktion von 
PC-Elektronik Systemen, Soft- wie Hardware, habe mir für meinen Roller 
damals mal auf ner Platine einige Schaltungen zusammengelötet für 
verschiedene LED Beleuchtungen am Roller verteilt abhängig von 
Fahrlichtschalter. Und seid 5 Jahren beschäftige ich mit CAN Bus in 
Automobilen, zuerst Oberflächliche Diagnose, dann auch Codieren und 
schreiben des Flash-speichers über CAN und auslesen von Botschaften auf 
dem CAN, sprich Sensor Daten. Das aber mit erwerbbaren tools die dafür 
gemacht wurden. Seid 3 Jahren auch mit Motorsteuerungen und deren 
Steuergeräten und damit verbunden auch verändern der Motorparameter um 
Leistung zu steigern oder verbrauch zu senken. Dazu dient mein 
Studentenauto als Versuchsobjekt :D Die Vorlesungsinhalte in die 
Realität zu übertragen.
"Programmieren" geht in VBA und Matlab/Octave sowie HTML/PHP, von allen 
anderen habe ich nur mal gehört ..

Das heißt im Gegensatz zu vielen von euch bin ich ein absoluter beginner 
was mein aktuelles Projekt betrifft.

Was ich vorhabe:

Ich möchte einen Mikrocontroller haben, der über einen Can Controller 
und einen Can Transceiver, Daten die im KFZ Can Bus gesendet werden, 
empfängt auswertet und dann Grafisch auf ein LCD-TFT oder OLED anzeigt.

Warum das ganze, um die Veränderung der Parameter im Motorsteuergerät 
auf Funktionsfähigkeit zu testen, gibt es viele Sensoren im Auto, deren 
Signale auf den Can Bus gesendet werden da sie von anderen Steuergeräten 
verwendet werden. Diese Werte sind für mich von besonderer Wichtigkeit, 
da sie mir Aufschluss darüber geben, ob sich etwas zum positiven oder 
negativen verändert. Und das jedes mal mit einem klobigen Notebook zu 
machen und dann noch während der fahrt, nicht so toll. Ich möchte das 
mir die Werte die ich haben will, auf eine Anzeige projiziert werden die 
ich im Sichtfeld positionieren kann und auch nur das anzeigt was ich 
brauche, ohne umständliche Bedienung. Weiterhin soll es danach als 
Spielerei dienen, einige Parameter während der fahrt digital im Cockpit 
angezeigt zu bekommen.

Es gibt bereits Lösungen für ca. 500€ die das können, also könnte man es 
einfach kaufen. Es gibt auch Anzeigen die einen Einbau von zusätzlichen 
Sensoren erfordern, dann habe ich 2 mal die gleichen Sensoren im Auto 
und muss da noch rumpfuschen. Ist beides nicht mein Ziel. Ich will 
lernen wie es funktioniert und auch selbst schaffen mit der Technik die 
bereits im KFZ vorhanden ist. Ich betrachte es mal als Herausforderung.

Was verspreche ich mir als Hilfestellung.
Hilfe bei der Auswahl der richtigen Hardware für meine Anforderungen und 
eine Empfehlung wie ich die Aufgaben am besten programmiere. Das 
zusammenlöten der Hardware für eine funktionierende Schaltung bekomme 
ich hin. Die Programmiersprache werde ich mir dann aneignen und hoffe 
nur bei Stolpersteinen kann mir weitergeholfen werden.
Ich habe einige Stunden mit suchen nach Bauteilen verbracht, aber ich 
gehe unter in der Flut der Angebote und verschiedenen Ausführungen.

Was ich bis jetzt rausgesucht habe und als brauchbar erachtet habe:

Dieses Entwicklungsboard
https://www.conrad.de/de/entwicklungsboard-4d-systems-uoled-160-g2-1307434.html

Diesen Transceiver
https://www.conrad.de/de/schnittstellen-ic-transceiver-infineon-technologies-tle6251d-can-11-dso-8-16-pg-1183774.html

Diesen Spannungswandler
https://www.conrad.de/de/spannungsregler-linear-infineon-technologies-tle4471g-pg-dso-20-positiv-fest-einstellbar-450-ma-100-ma-50-ma-1183761.html

Dazu dann noch passende Dioden und Kondensatoren.

Nur einen passenden Can Controller habe ich noch nicht gefunden. Und ich 
weiß auch nicht, ob das Entwicklungsboard etwas taugt.
Vielleicht ist es sogar besser, ich baue alles auf einer Platine selbst 
auf? Aber dazu habe ich leider noch nicht das nötige wissen um das auf 
die Beine zu stellen.

Warum ich ein TFT bzw OLED haben will ist, die standard 2 Zeilen LCD 
sehen immer so "billig" aus und passen nicht so recht in den 
Fahrzeuginnenraum. Außerdem kann ich dann immer nur 2 Werte angezeigt 
bekommen. Bei einem TFT/OLED bin ich flexibel und kann skalieren und 
sozusagen frei programmieren was ich wo in welcher Farbe angezeigt 
bekommen möchte. Vielleicht sogar eine Anzeige mit Skala, aber das ist 
schon zu weit gedacht.

Das die Nachrichten auf dem CAN eine ID haben und nicht in Klartext 
gesendet werden ist mir klar. Für die Botschaften auf dem CAN die ich 
benötige kenne ich den Identifier und die Auswertung der Botschaft. Die 
Botschaften müssen nicht angefordert werden, sondern werden in 
bestimmten Zyklen automatisch auf den Bus gesendet. Eigentlich würde mir 
sogar ein Can Receiver reichen, aber für zukünftige Projekte möchte ich 
das mit den Transmitter noch mal offen lassen.

Und da ich ein Fahrzeug habe, das relativ alt ist, gibt es keinen großen 
Bus Verkehr im Auto. Alle Signale werden auf dem gesamten Bus 
übertragen, es gibt keine Unterscheidung zwischen Antriebs-Bus und 
Multimedia Bus, weil es das zu der Zeit einfach noch nicht gab =)
Einklinken in den Bus wollte ich mich direkt vor einem der eingebundenen 
Steuergeräte mit einem Zwischenstecker.

Ich hoffe ich bin nicht mit der Tür ins Haus gefallen und ihr könnte mir 
ein, zwei Hilfestellungen geben wie ich das bewältigen kann.

Mit freundlichen Grüßen
Philipp

: Verschoben durch User
von Nop (Gast)


Lesenswert?

Philipp D. schrieb:
> Alle Signale werden auf dem gesamten Bus
> übertragen, es gibt keine Unterscheidung zwischen Antriebs-Bus und
> Multimedia Bus

Du möchtest, ohne überhaupt SW entwickeln zu können, eine 
selbstgebastelte Lösung an den Antriebsbus frickeln, die mit Sicherheit 
nicht für den Betrieb im KFZ konstruiert ist? Ich sag nur 
Spannungsspitzen durch load dump.

Nicht nur, daß die Betriebserlaubnis Dir dabei flöten geht (und erst 
recht, wenn Du an Motorparametern schraubst), sondern ein Auto, das im 
öffentlichen Raum betrieben wird, ist kein Spielzeug zum Rumprobieren.

von Joschka T. (p1ngp0ng)


Lesenswert?

Nop schrieb:
> Philipp D. schrieb:
>> Alle Signale werden auf dem gesamten Bus
>> übertragen, es gibt keine Unterscheidung zwischen Antriebs-Bus und
>> Multimedia Bus
>
> Du möchtest, ohne überhaupt SW entwickeln zu können, eine
> selbstgebastelte Lösung an den Antriebsbus frickeln, die mit Sicherheit
> nicht für den Betrieb im KFZ konstruiert ist? Ich sag nur
> Spannungsspitzen durch load dump.

Muss man immer gleich so unfreundlich sein? Du kannst ihn auch 
freundlich darauf hinweisen das soetwas existiert und das es gefährlich 
ist.

Auch das kann man umgehen Sprichwort Optoentkopplung. Außerdem gibt es 
auch andere Möglichkeiten das zu verhindern. Schaffen die OEMs ja auch 
oder gehen dabei jedesmal alle Steuergeräte kaputt wenn es 
Spannungsspitzen gibt?

Nop schrieb:
> Nicht nur, daß die Betriebserlaubnis Dir dabei flöten geht (und erst
> recht, wenn Du an Motorparametern schraubst), sondern ein Auto, das im
> öffentlichen Raum betrieben wird, ist kein Spielzeug zum Rumprobieren.

Das glaube ich nicht. Die Betriebserlaubniss erlischt ja auch nicht wenn 
du ein OBD Diagnose China Gerät in den OBD steckst... . Wie er bereits 
schon erwähnt hat, hat er schon erfahrung gemacht im Bereich Einstellung 
von solchen Parametern. Er möchte sich nur ein Anzeigegerät bauen mit 
dem er sich die CAN-Botschaften anzeigen möchte. Desweiten hat er nix 
erwähnt das er mit diesem Modul auf den CAN senden möchte.


Nun zu deinen Frage.
Es gibt mehrere Möglichkeiten

1. atmega61m1 bzw at90can mit integriertem CAN-Controller dazu dann 
einen beliebigen CAN-Transceiver (ich nehme gerne den MCP2551 oder dort 
gleich einen Optenenkoppelten). Dann kann der Controller auch gleich das 
Display ansteuern und du hast weniger Hardware zu bauen.

2. Arduinoplatform dazu einen CAN-Controller (z.B. MCP2515) der per SPI 
kommuniziert und den MCP2551.

Wenn du es schnell und einfach realisieren willst würde ich dir mit 
wenig Programmieraufwand Nr.2 empfehlen, da arduino einfach ist und es 
schon Librarys für gefühlt alles gibt. Außerdem brauch du keine Hardware 
selber bauen da es dort auch schon eine fertiges Shield gibt 
(https://www.sparkfun.com/products/13262).

Zusammenstecken, Stecker dran, ein bisschen Code schreiben und freuen.

@Philipp Lass dich von solchen voreiligen Aussagen nicht abschrecken.
Wobei wenn du nicht weißt was du an der Motorsteuerung und den 
Steuergeräten änderst dann lass das lieber sein. Da kannst du sehr viel 
kaputt machen und dein und andere Leben im Straßenverkehr gefähren.


Vector lässt grüßen... unbezahlbar und total übertrieben.

Joschka

: Bearbeitet durch User
von Philipp D. (mk4)


Lesenswert?

Danke Joschka, du hast es gut auf den Punkt gebracht.

Schnell und einfach muss es nicht zwingend sein, vielmehr muss es 
nachher gut funktionieren =)

Habe ich mit der Arduino Platform die selben Möglichkeiten, wie wenn ich 
mit Atmel Produkten arbeite? Oder bin ich dann irgendwo eingeschränkt?

Gibt es was gegen Infineon Transceiver einzuwenden? Die haben als 
Zielmarkt direkt Automotiv angegeben und die kenne ich auch aus diversen 
anderen KFZ Anwendungen.
Kannst du mir ein Beispiel eines Optogekoppelten geben?

Und wo kann ich ein TFT/OLED LCD herbekommen? Bei Conrad gibt es welche 
von 4D Systems, die mit einem mitgeliefertem Adapter auch an Arduino 
Systeme gekoppelt werden können, taugt das was? Oder welche 
Bezugsquellen gibt es da noch? Pollin habe ich auch schon mal 
durchstöbert.




Und noch mal zum verändern von Parametern. Ich verändere ja nicht x 
beliebige Werte von denen ich keine Ahnung habe. In den letzten 
Semestern haben wir Motorapplikation, Thermische und Mechanische 
Vorgänge beim Verbrennungsmotor  und Steuerung von Verbrennungsmotoren 
mehr als Ausführlich bearbeitet. Wir haben an dem Formula Student 
Fahrzeug der FH, die Gemischzusammensetzung im Teillast und 
Vollastbereich appliziert. Und das ist eines meiner großen Hobbys, zu 
dem ich mir freiwillig mehrere Bücher gekauft und gelesen habe =). 
Sodass ich behaupten kann ich mache nicht irgendwas von dem ich keine 
Ahnung habe, aber ein Profi bin ich deswegen nicht, stimmt. Vielmehr 
geht es darum, Situationen im Motor die ich vorher berechnet und 
ausgewertet habe, zu übertragen, und mithilfe der Daten auf dem CAN 
auszuwerten und einen Vergleich zwischen Berechnung und Realität 
herzustellen.
Ich möchte keine Signale auf den Bus geben um damit irgendwas 
anzustellen, es geht nur um das Empfangen von verarbeiten von 
Botschaften auf dem Bus. Aber das hat Joschka ja schon richtig 
dargestellt.

von Joschka T. (p1ngp0ng)


Lesenswert?

Philipp D. schrieb:
> Habe ich mit der Arduino Platform die selben Möglichkeiten, wie wenn ich
> mit Atmel Produkten arbeite? Oder bin ich dann irgendwo eingeschränkt?

Arduino ist eig auch nur ein Atmel mit bootloader.
https://de.wikibooks.org/wiki/Mikrocontroller/_Arduino_Board_und_Software
Und du musst kein Geld für weitere Platinen ausgeben und wie schon 
erwähnt ist die Programmiersprache auch einfacher. Du kannst den sogar 
in C programmieren und die Bootloader weglassen aber dieses Aussage ist 
ohne Garantie.

Philipp D. schrieb:
> Gibt es was gegen Infineon Transceiver einzuwenden? Die haben als
> Zielmarkt direkt Automotiv angegeben und die kenne ich auch aus diversen
> anderen KFZ Anwendungen.

Ne ich sehe keinen. Habe gerade mal das Datenblatt durchstöbert und 
festgestellt, dass der sogar Pinkompatibel zu dem MCP2551 ist.

Kannst du mir ein Beispiel eines Optogekoppelten geben?
Ich habe mal den ADM3035 verwendet. Vorteil ist der integrierte DCDC
wobei das bei dir wohl ein Nachteil ist, da du wohl die Versorgung über 
den CAN abgreifen willst.

Es gibt so viele verschiedene Shops bei denen du sowas findest. Conrad 
ist eine Apotheke. Reichelt, Digikeys, Mouser und Farnell fallen mir 
gerade so ein wo man gucken könnte.

Für das Display schmeiß google an.
Stichwort: grafik display/lcd, tft panel, arduino display, tft arduino.

Philipp D. schrieb:
> Formula Student
++

von Thomas F. (igel)


Lesenswert?

Philipp D. schrieb:
> Dieses Entwicklungsboard
> https://www.conrad.de/de/entwicklungsboard-4d-systems-uoled-160-g2-1307434.html
> Diesen Transceiver
> 
https://www.conrad.de/de/schnittstellen-ic-transceiver-infineon-technologies-tle6251d-can-11-dso-8-16-pg-1183774.html
> Diesen Spannungswandler
> 
https://www.conrad.de/de/spannungsregler-linear-infineon-technologies-tle4471g-pg-dso-20-positiv-fest-einstellbar-450-ma-100-ma-50-ma-1183761.html

Teurer Schnick-Schnack.

Warum ein Transceiver mit Wake-up der nicht mal verfügbar ist? Für dein 
Vorhaben reicht jeder MCP2551/PCA 82C250 bei 5V oder SN65HVD233 bei 
einem Controller mit 3,3V

Du kannst wie erwähnt einen 8-Bit Atmega mit CAN (AT90CANxx oder 
Atmega16M1) oder ein Arduino mit CAN-Shield nehmen. Lies erst mal hier:
https://www.mikrocontroller.net/articles/AVR-Tutorial

Oder ein STM32-Discovery oder Nucleo mit CAN mit 32-Bit Controller.

Philipp D. schrieb:
> Und wo kann ich ein TFT/OLED LCD herbekommen?

Bei Ebay gibts 240x320 RGB-LCDs für 15€

Oder hier:
https://www.adafruit.com/category/63

von Joschka T. (p1ngp0ng)


Lesenswert?

Ich weiß nicht genau wo du den CAN-Abgriff machst aber eine zusätzliche 
Spielerei mit einem ESP wireless module wäre bestimmt auch dort 
interessant.
Dann kannst du ein kleines Module bauen was du an den CAN hängst und 
eins mit Bildschirm, welches du ohne Kabel frei bewegen kannst.

von Philipp D. (mk4)


Angehängte Dateien:

Lesenswert?

Hallo, super danke für die vielen Tipps.


Ich habe jetzt mal folgende Varianten für mich zusammengestellt:

Für alle Varianten habe ich den MCP2551 I/P ausgesucht 
http://www.mouser.de/Search/ProductDetail.aspx?R=MCP2551-I%2fPvirtualkey57940000virtualkey579-MCP2551-I%2fP


Und folgende 2 Bildschirme habe ich rausgesucht, könnt ihr mir dazu 
Auskunft geben? Ich weiß nicht ob das ein großer Unterschied besteht, 
oder nur der Preis. Bezogen auf mein Vorhaben.

Bildschirm 1: 
http://www.mouser.de/Search/ProductDetail.aspx?R=1651virtualkey54950000virtualkey485-1651

Bildschirm 2: 
http://www.ebay.de/itm/142181927416?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT


Variante 1:

Dieses STM32 Entwicklungsboard mit integriertem Display.
http://www.mouser.de/Search/ProductDetail.aspx?R=STM32F746G-DISCOvirtualkey51120000virtualkey511-STM32F746G-DISCO

Zusammen mit dem MCP2551



Variante 2:

Dieses STM32 Entwicklungsboard.
http://www.mouser.de/Search/ProductDetail.aspx?R=STM32F407G-DISC1virtualkey51120000virtualkey511-STM32F407G-DISC1

Zusammen mit dem MCP2551

Und einem der beiden Bildschirme.



Variante 3:

Dieses Nucleo Entwicklungsboard.
http://www.mouser.de/Search/ProductDetail.aspx?R=NUCLEO-F411REvirtualkey51120000virtualkey511-NUCLEO-F411RE

Zusammen mit dem MCP 2551

Und einem der beiden Bildschirme



Und wie ist das jetzt mit dem Optokoppler? Brauche ich bei einer dieser 
Konfigurationen noch einen? Und wenn ja welchen?

Gibt es noch weitere Gefahren, beim abgreifen von Signalen auf dem Can?

Und wie bekomme ich den Transceiver auf einem der Boards fest? Soll ich 
den auf den Pins anlöten? Ich habe mal nach CAN-Shields bei Mouser und 
Farrell geschaut, aber so richtig das was ich suche finde ich nicht. Und 
ich will auch nicht in mehrere Shops bestellen, bezüglich Versandkosten.

Ich würde mir sonst eine kleine Lochrasterplatine bestellen und da den 
Transceiver und später das ESP Wireless Modul anlöten und dann am Board 
befestigen. Dann kann ich da noch mit bluetooth oder sowas später 
rumprobieren und das auf der Platine machen. Dann baut das nicht noch 
mehr auf.

Wenn ich das richtig verstanden habe, dann kann ich an alle 3 Boards 
direkt mit USB dran und die Firmware/Software aufspielen ohne einen 
extra programmer, oder?

Die Spannungsversorgung für das gesamte Teil, hole ich aus dem 
Fahrzeugbordnetz, das heißt 11-14,5V DC. Über den Can möchte ich die 
Spannung nicht abgreifen, ist das überhaupt möglich @Joschka?
Dafür brauche ich dann noch einen stabilen Spannungswandler, deshalb 
hatte ich den Infineon TLE4471G aus meinem ersten Post rausgesucht, der 
konstant 5V liefert, womit ich dann die ganze Geschichte betreiben 
möchte. Den würde ich dann ebenfalls auf das Lochraster schieben.
Da würde ich dann eine Sperrdiode vorsehen und einen 100nF Kondensator 
direkt vor dem Board/Transceiver.

Brauche ich für die Displays noch irgendeinen Grafikprozessor? Oder ist 
das im TFT integriert, bzw. schafft das der Mikrocontroller?

Die Signale die ich abgreifen möchte, werden mit einer Frequenz von 
100Hz auf den Bus gesendet, sofern der Bus frei ist. Da ca. 40 Werte auf 
dem Bus liegen die permanent gesendet werden, wird es in der Realität 
eher sowas um die 20-25 Hz liegen. Schafft der Mikrocontroller das alle 
Werte abgefangen werden können? Rein von der 
Verarbeitungsgeschwindigkeit?
Und ich glaube die Werte müssen ja in den Flash geschrieben werden und 
permanent überschrieben werden, damit ich sie angezeigt bekommen kann 
oder?
Falls ja, ist der interne Flash da ausreichend schnell, bzw. macht der 
die vielen Zyklen mit? Oder lieber ein externer Flash?
Oder werden die Werte einfach an das Display gesendet und das übernimmt 
die Aufgaben? Wie gesagt ich bin leider noch Neuling in der ganzen 
Materie.

Für die ESP Wireless Module: Wenn ich mir ein zweites Gehäuse mache, wo 
nur Bildschirm und ein kleines Board mit Wireless drinnen sind. Welches 
Entwicklungsbord, bzw. welchen kleinen Mikrocontroller kann ich dafür 
nehmen? Der muss ja nur das Empfangen von Signalen und den TFT Steuern 
können.

Kann mir jemand sagen, welches Symbol das auf dem Foto im Anhang ist? 
Von Infineon wird bei Automotiv Anwendungen empfohlen das in die CAN H 
und L Leitung einzusetzen.

Und letzte Frage, wie heißen solche Steckverbinder die man ins Gehäuse 
integrieren kann? Ich werde mir für das zusammengesteckte 
Entwicklungsboard ein Gehäuse aus Kunststoff mit einem 3D-Drucker 
drucken, wo nur noch der Bildschirm sichtbar ist, vielleicht ein Knopf 
und an der Seite soll sich ein Female Stecker befinden, wo CAN H L und 
V+ und V- verbunden werden. Sodass ich bei Software upgrades nix aus dem 
Auto ausbauen bzw. löten muss. Sondern ein Male Stecker fest mit dem 
Fahrzeug verbunden ist.
Und eine USB Mini B Buchse, worüber ich es aufspielen kann.
Wie heißt sowas?


Vielen Lieben Dank allen für die gute Hilfe!

von Thomas F. (igel)


Lesenswert?

Philipp D. schrieb:
> Für alle Varianten habe ich den MCP2551 I/P ausgesucht

Das ist ein Transceiver für 5V. Die STM32 haben aber 3,3V.

Bei den STM32-Boards musst du dir genau die Datenblätter ansehen, nicht 
jedes hat einen Controller der auch CAN kann.

> Und wie ist das jetzt mit dem Optokoppler? Brauche ich bei einer dieser
> Konfigurationen noch einen?

Vergiss das.


> Gibt es noch weitere Gefahren, beim abgreifen von Signalen auf dem Can?

Die größte Gefahr ist dass du dir für den Anfang gerade viel zu viel 
vornimmst.

Philipp D. schrieb:
> Und wie bekomme ich den Transceiver auf einem der Boards fest?

Gar nicht.
http://www.ebay.de/itm/1Pcs-Sn65hvd230-Can-Board-Network-Transceiver-Evaluation-Development-Module-T-/331969046059?hash=item4d4ae5a62b:g:nRUAAOSwHMJYIL9v

> Und ich glaube die Werte müssen ja in den Flash geschrieben werden und
> permanent überschrieben werden, damit ich sie angezeigt bekommen kann
> oder?

Nein. Im Flash steht das Programm. Variablen stehen im RAM.
http://www.diller-technologies.de/stm32.html

Ich fürchte du bist noch Meilen entfernt das Board überhaupt zum laufen 
zu bekommen. Fang doch mal klein an:

http://www.ebay.de/itm/USB-Nano-V3-0-ATMEGA328P-CH340G-5V-16M-Micro-Controller-Board-Kit-Fur-Arduino-/272308424805?var=&hash=item3f66d8d065:m:m2duvlRGRaKjmTZdT8b6XwA
http://www.ebay.de/itm/MCP2515-CAN-Bus-Modul-mit-TJA1050-Transceiver-5V-For-Arduino-Raspberry-Pi-New-/272438778454?hash=item3f6e9dda56:g:IckAAOSwMVdYHZpm
http://www.ebay.de/itm/USBASP-AVR-Programmer-Adapter-Downoader-10-Pin-Kabel-ATTiny-USBISP-/272275171388?hash=item3f64dd683c:g:u8gAAOSwnNBXYXSr
http://www.ebay.de/itm/1-8-Inch-Mini-Serial-SPI-TFT-LCD-Module-Display-with-PCB-Adapter-/201623079260?hash=item2ef1ac095c:g:jUIAAOSwUxNXh1vo

Hier hast du für ca. 10€ genug Zeug womit du das nächste halbe Jahr in 
das Thema überhaupt mal einsteigen kannst.

von Joschka T. (p1ngp0ng)


Lesenswert?

Wie Thomas schon gesagt hat, würde ich für ein Projekt auf einen Arduino 
zurück greifen. Klein und Günstig.

Philipp D. schrieb:
> Bildschirm 2:
> Ebay-Artikel Nr. 142181927416

Ich würde den Bildschirm bevorzugen, da Touch total überflüssig ist und 
der von Thomas viel zu klein.

Philipp D. schrieb:
> Kann mir jemand sagen, welches Symbol das auf dem Foto im Anhang ist?
> Von Infineon wird bei Automotiv Anwendungen empfohlen das in die CAN H
> und L Leitung einzusetzen.

Das einzige bei CAN sind die Abschlusswiderstände von je 120 Ohm.

Philipp D. schrieb:
> Und letzte Frage, wie heißen solche Steckverbinder die man ins Gehäuse
> integrieren kann? Ich werde mir für das zusammengesteckte
> Entwicklungsboard ein Gehäuse aus Kunststoff mit einem 3D-Drucker
> drucken, wo nur noch der Bildschirm sichtbar ist, vielleicht ein Knopf
> und an der Seite soll sich ein Female Stecker befinden, wo CAN H L und
> V+ und V- verbunden werden. Sodass ich bei Software upgrades nix aus dem
> Auto ausbauen bzw. löten muss. Sondern ein Male Stecker fest mit dem
> Fahrzeug verbunden ist.
> Und eine USB Mini B Buchse, worüber ich es aufspielen kann.
> Wie heißt sowas?

DSUB9 für CAN.
Wannenstecker 6Pol für ISP. Wenn du eine Arduino nimmst hat der ja schon 
USB. Dort ist ein Bootloader drauf der alles über USB steuert.

Philipp D. schrieb:
> Die Signale die ich abgreifen möchte, werden mit einer Frequenz von
> 100Hz auf den Bus gesendet, sofern der Bus frei ist. Da ca. 40 Werte auf
> dem Bus liegen die permanent gesendet werden, wird es in der Realität
> eher sowas um die 20-25 Hz liegen. Schafft der Mikrocontroller das alle
> Werte abgefangen werden können? Rein von der
> Verarbeitungsgeschwindigkeit?

Ja. Ich habe ein Gerät gebaut, in dem ich replay funktion implementiert 
habe. Jede Emfangende Nachricht ID+100 wieder ausgegeben. Hat bei 20 
Botschaften mit 10ms ohne Probleme funktioniert.

Und dein Problem mit dem befestigen. Löte die MCPs auf eine Lochraster 
und stecke die in den Arduino.

Für das Display musst du dir halt eine Kabel-Stecker-frickel-Lösung 
überlegen.

: Bearbeitet durch User
von Thomas F. (igel)


Lesenswert?

Joschka T. schrieb:
> Philipp D. schrieb:
>> Kann mir jemand sagen, welches Symbol das auf dem Foto im Anhang ist?
>> Von Infineon wird bei Automotiv Anwendungen empfohlen das in die CAN H
>> und L Leitung einzusetzen.
https://www.mikrocontroller.net/attachment/314207/Bildschirmfoto_2016-12-17_um_15.50.16.png

> Das einzige bei CAN sind die Abschlusswiderstände von je 120 Ohm.

Um das noch aufzulösen: Das ist eine Gleichtaktdrossel.
http://www.ti.com/lit/an/slla271/slla271.pdf

von Torsten B. (tbrox)


Lesenswert?

Hallo!

Ich würde noch den LPC11C24 in den Ring werfen. Der hat einen CAN 
Transceiver bereits mit an Board, und das LPCXpresso Demoboard (OM13093) 
ist auch sehr preiswert zu bekommen und hat einen brauchbaren Debugger 
bereits mit dabei.

Für den Einsatz am Fahrzeug gehört natürlich noch Schutzbeschaltung für 
den Bus und eine robuste Spannungsversorgung für den Controller dazu.

Das gewünschte Display findet dann bspw. per SPI Anschluss.

Gruß
Torsten

von mal was sinnvolles (Gast)


Lesenswert?

Ich werfe den Raspberry Pi in die Runde. CAN-Breakouts sind käuflich zu 
erwerben, Displays auch, Programmierung dann auf einem normalen 
Linux-basierten System, was bei den angegebenen Programmierkenntnissen 
sicher ein Vorteil sein wird.

von Joschka T. (p1ngp0ng)


Lesenswert?

mal was sinnvolles schrieb:
> Ich werfe den Raspberry Pi in die Runde. CAN-Breakouts sind käuflich zu
> erwerben, Displays auch, Programmierung dann auf einem normalen
> Linux-basierten System, was bei den angegebenen Programmierkenntnissen
> sicher ein Vorteil sein wird.

Ich finde mit den drei Sachen bist du mehr als 120€ los und die Frage 
was ist für ihn das größere übel. Die nächste Frage ist, ob die 
Entscheidung nicht schon getroffen wurde.

von Philipp D. (mk4)


Lesenswert?

Hallo Leute, vielen Dank für eure Hilfe.

Es gibt folgende Neuigkeiten.

Ich hab einen Kommilitonen dessen Bruder Mathe studiert hat und sich 
sehr gut in C auskennt. Er hat sich dazu bereit erklärt mir zu helfen 
und mir eine Art "Unterricht" zu geben um das alles zum laufen zu 
bekommen.

Ich habe bis auf das Board, die Spannungsversorgung und den Transceiver 
bereits alle Artikel hier, bzw eine Leitung im KFZ verlegt die an den 
CAN dran geht und Spannungsversorgung 12V sowie ein Schaltrelais mit 
Absicherung, dass erst bei einschalten der Zündung die 
Spannungsversorgung herstellt.

Ich würde gerne ein Nucleo Board von STM nehmen, da hier der ST-Link 
Programmer und Debugger direkt am Board mit dran hängt. Ich glaube das 
ist für den Einstieg erst mal einfacher, oder was meint ihr?

Bei den ATmega Boards bzw. Mikro´s gibt es verwirrend viele und 
erstaunlich viele ohne CAN Controller und teilweise mit sehr 
unterschiedlichem Funktionsumfang. Ich finde mich da nicht so gut 
zurecht wie bei STM.

Da dies mein erstes Board ist, wäre es schön wenn es viel Unterstützt, 
da ich an diesem dann alles ausprobieren kann was mir in Zukunft noch 
irgendwie in den Sinn kommt.

Display habe ich nun folgendes: 
http://www.ebay.de/itm/142181927416?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

Da es ein TFT für Arduino ist, arbeitet es mit 5V. Ich habe jedoch 
gelesen, das dies auch an einem Mikro läuft der mit 3,3V arbeitet aber 
5V Tolerante I/O Pins hat.
Bzw. man es direkt mit 3,3V betreiben kann, wenn man an der Verkabelung 
etwas ändert. Hat das schon mal jemand gemacht?

Die STM Boards haben einen Arduino Connector, wo das TFT direkt mit den 
Headern aufgesteckt werden kann, wie ich das sehe. Leider steht in der 
Beschreibung der STM Boards, das die I/O Pins 5V tolerant sind, auf der 
Beschreibung in den Onlineshops steht jedoch das sie es nicht sind. Wem 
kann man nun trauen?

Und was ist mit Schutzschaltung gemeint?
Einen Opto-Koppler?
Und muss ich einen 120 Ohm Widerstand für dieses Projekt nutzen?
Wie sieht es mit der Gleichtaktdrossel aus die in den Infineon 
Automotive Transceiver im Schaltplan als Optional dargestellt ist, 
sollte ich das machen?

Grüße

von Robin S. (der_r)


Lesenswert?

Philipp D. schrieb:
> Ich würde gerne ein Nucleo Board von STM nehmen, da hier der ST-Link
> Programmer und Debugger direkt am Board mit dran hängt. Ich glaube das
> ist für den Einstieg erst mal einfacher, oder was meint ihr?
Nein! Die STM32-Familie ist, wie alle Cortex-Controller, unheimlich 
komplex und mächtig, wenn man es mal mit einem popeligen 8-Bit AVR 
vergleicht.
An sich sind die STM32-Controller echt eine tolle Sache, gerade weil die 
Boards so günstig und brauchbar sind, aber für den Einstieg holt man 
sich da auch einiges an Frust ins Haus. Zumal man -wenn man die 
Libraries von ST verwendet- nur lernt, die API der ST-Software zu 
verwenden. Wenn einem das nichts ausmacht, kann man für kleine Projekte 
direkt einen Arduino nehmen, da ist das nämlich auch so, man kommt aber 
viel schneller zum Ziel.

Per USB an den PC-fertig. In der Arduino IDE kann man auch reinen C-Code 
tippen und Register direkt ansprechen, wenn man will. Ansonsten Atmel 
Studio herunterladen, auch hier lässt sich der Arduino als Programmer 
einbinden. Ansonsten einfach den verlinkten USBASP-Programmer kaufen, 
damit kann man den Bootloader vom Arduino runterhauen und die Software 
auch direkt flashen.

> Bei den ATmega Boards bzw. Mikro´s gibt es verwirrend viele und
> erstaunlich viele ohne CAN Controller und teilweise mit sehr
> unterschiedlichem Funktionsumfang. Ich finde mich da nicht so gut
> zurecht wie bei STM.
Seltsam, mein Eindruck war immer genau umgekehrt ;-) Die 
Allerwelts-Arduinos sind der Uno (ATmega 328), Nano (ATmega 328) und 
Mega (ATmega2560).
Die haben alle keinen CAN-Controller, aber man kann durch ein CAN-Shield 
einfach den Controller extern nachrüsten, meist ist es der MCP2515.
Für deine Aufgabe sollte ein Uno (wenn du ein Shield verwenden willst) 
oder ein Nano dicke reichen.


> Da es ein TFT für Arduino ist, arbeitet es mit 5V. Ich habe jedoch
> gelesen, das dies auch an einem Mikro läuft der mit 3,3V arbeitet aber
> 5V Tolerante I/O Pins hat.
> Bzw. man es direkt mit 3,3V betreiben kann, wenn man an der Verkabelung
> etwas ändert. Hat das schon mal jemand gemacht?
Schau mal hier: https://www.mikrocontroller.net/articles/Pegelwandler
Kurz: Kann funktionieren, wird wahrscheinlich funktionieren, muss es 
aber nicht. Sauberer ist ein Pegelwandler, ansonsten ins Datenblatt vom 
Display schauen, ab wann ein Signal als logisch 1 erkannt wird.

> Die STM Boards haben einen Arduino Connector, wo das TFT direkt mit den
> Headern aufgesteckt werden kann, wie ich das sehe. Leider steht in der
> Beschreibung der STM Boards, das die I/O Pins 5V tolerant sind, auf der
> Beschreibung in den Onlineshops steht jedoch das sie es nicht sind. Wem
> kann man nun trauen?
Ein Blick ins Datenblatt des verbauten Controllers beantwortet diese 
Frage, aber bevor ich mir das alles antun würde und mit Kanonen auf 
Spatzen schieße, würde ich mir beim freundlichen Chinesen einen Arduino 
Uno für 3€ bestellen und ein CAN-Shield draufklatschen.
Man muss ja auch dazu sehen: Das Grafikdisplay von dir möchte auch 
angesprochen werden, für den Arduino gibt es mit Sicherheit Bibliotheken 
für dein Display, beim STM ist das fraglich.

> Und was ist mit Schutzschaltung gemeint?
> Einen Opto-Koppler?
Schaden wird's nicht.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.