Forum: Mikrocontroller und Digitale Elektronik Fragen zu CAN-Boards/Controller


von Steffi (Gast)


Lesenswert?

Hi

Ich beschäftige mich derzeit mit einem CAN-Projekt und hab dazu ein paar 
Fragen, zum Teil auch zum Verständnis:

1.Um vordefinierte CAN Nachrichten empfangen zu können und dann über ein 
Display anzeigen zu lassen, benötige ich einen CAN-Controller und einen 
CAN-Transiver, richtig?

2.Ist der MCP2515 nur ein CAN-Controller/Transiver, der CAN-Nachrichten 
empfangen und umwandeln kann, aber keine LED’s, Taster etc steuern kann? 
Das heisst, es müsste ein weiterer Controller, z.B. ein Atmega zum 
Einsatz kommen? Was ist mit dem AT90CAN, kann der Nachrichten 
empfangen/umwandeln + Taster/LED’s ansteuern, das kein weiterer 
Controller gebraucht wird?


3.Kennt sich jemand mit dem Board “ATDVK90CAN1“ aus? Das hat den AT90CAN 
integriert. Im Prinzip, also schon einmal das womit ich was anfangen 
könnte. Wie könnte ich an diesem Board am Besten ein Display (LCD/TFT?) 
implementieren. Der AT90Can hat keinen LCD Treiber. Steckplatz auf dem 
Board auch nicht vorgesehen.
Das perfekte Board für mein Projekt wäre wohl das “AT91SAM9263“, nur 
wird das bei farnell mit über 1000.- Euro datiert. Schade.
Weiteres interessantes Board, wäre das  “ATMegaEvoBoard“, welches ich 
allerdings nicht bestückt finden kann.


4. Wie bekomme ich solche Boards programmiert / debuggen? Am Besten wäre 
es ohne weitere Hardware, solch ein Board an den PC zu schliessen und 
direkt in die Schaltung.

von Stefan Kunz (Gast)


Lesenswert?

1. richtig

2.der MCP2515 ist ein CAN-Controller der über SPI angesteuert wird 
(steht bei dem im Datenblatt) ergo brauch er unbedingt einen 
Mikrocontroller.
Der AT90CANXXX kann CAN-Narichten empfangen und verarbeiten brauch aber 
noch den Tranciver(im grunde Pegelwandler).

3.Gibt Displays die man da anschließen kann. Kommt drauf an wie das 
Display seine Daten haben will. Bin grad zu faul mir das Board genauer 
anzugucken.
Hab mit dem AT91SAM9263-EK gearbeitet. Sehr nett. Aber du brauchst dafür 
einen kommerziellen Compiler außer du kannst dich mit den paar kb mit 
dem gratiscompiler zurecht.

4. Wenn du den AT90CAN nimmst brauchst du den passenden Programmer dafür 
ISP MKII. Für den AT91SAM ist dies nicht notwendig da er einen internen 
Bootloader hat. Debuggen kannste damit aber nicht. Fürs debuggen 
brauchst du einen JTAG und der Controller muss JTAG fähig sein.

von Steffi (Gast)


Lesenswert?

Wo hast du AT91SAM9263-EK her?

von Stefan Kunz (Gast)


Lesenswert?

Farnell für damals noch 1500. Je nachdem was du genau machen willst als 
Projekt ist dies ein gutes Evulationsboard

von Wilhelm F. (Gast)


Lesenswert?

@Steffi:

Für eine CAN-Bus-Entwicklung arbeitete ich vor 3-4 Jahren mit dem 
LPC2129 von NXP, mit ARM7-Core. Der hat 2 integrierte CAN-Controller. 
Keil hatte ein Eval-Board, ich glaube es hieß MCB2100. Da sind auch die 
Transceiver schon drauf, also vollständige CAN-Schnittstellen. Brauchte 
noch ein Steckernetzteil mit etwa 9V, und das ULINK-Tool, das ist ein 
JTAG-Adapter zum Flashen und Debuggen, kommt über USB an den PC.

Der LPC2129 hatte zu der Zeit einige Bugs, besonders im CAN-Controller, 
die aber in der Demo-Software berücksichtigt wurden. Die Bugs, müßten 
heute weitgehend behoben sein.

Boards und Adapter gibt es mit diesem Controller aber auch woanders.

Der Keil-Compiler erlaubte in der Demo-Version schon gigantische 16kByte 
Code, damit kann man schon einiges machen.

von Frank K. (fchk)


Lesenswert?

Steffi schrieb:

> 1.Um vordefinierte CAN Nachrichten empfangen zu können und dann über ein
> Display anzeigen zu lassen, benötige ich einen CAN-Controller und einen
> CAN-Transiver, richtig?

Ja. Ist wie bei Ethernet. Da gibts auch einen MAC (Media Access 
Controller) mit dem ganzen Digitalteil und den PHY für die analoge 
Ankopplung an die Leitung. Genauso ist es bei CAN auch. Der PHY ist 
immer extern.

> 2.Ist der MCP2515 nur ein CAN-Controller/Transiver, der CAN-Nachrichten
> empfangen und umwandeln kann, aber keine LED’s, Taster etc steuern kann?
> Das heisst, es müsste ein weiterer Controller, z.B. ein Atmega zum
> Einsatz kommen? Was ist mit dem AT90CAN, kann der Nachrichten
> empfangen/umwandeln + Taster/LED’s ansteuern, das kein weiterer
> Controller gebraucht wird?

Der 2515 ist ein MAC. Dazu brauchst Du noch einen PHY.

Die AT90CANxxx sind Mikrocontroller mit eingebautem CAN-MAC. Auch da 
brauchst Du einen PHY dazu.

> 3.Kennt sich jemand mit dem Board “ATDVK90CAN1“ aus?

Nein. Schau Dir das hier mal an:
http://www.olimex.com/dev/avr-can.html

> Das hat den AT90CAN
> integriert. Im Prinzip, also schon einmal das womit ich was anfangen
> könnte. Wie könnte ich an diesem Board am Besten ein Display (LCD/TFT?)
> implementieren. Der AT90Can hat keinen LCD Treiber. Steckplatz auf dem
> Board auch nicht vorgesehen.

Textmodus-Displays sind über IO-Leitungen einfach anschließbar. Bei 
Grafikdisplays brauchst Du eines mit eingebautem Grafikcontroller.

> 4. Wie bekomme ich solche Boards programmiert / debuggen? Am Besten wäre
> es ohne weitere Hardware, solch ein Board an den PC zu schliessen und
> direkt in die Schaltung.

JTAG-Debugger und AVR Studio. Das Olimex-Bard hat keinen ISP-Stecker 
(Programmieranschluss für die kleineren AVRs), d.h. Du musst einen 
JTAG-Debugger haben. Damit macht das Entwickeln aber auch viel mehr Spaß

fchk

von Steffi (Gast)


Lesenswert?

Hi,

das Olimex-Board sieht ja ganz ok aus. Tranciver ist enthalten, wie ich 
gelesen habe.

Wie bekomme ich dort z.B. das Display:
http://www.lcd-module.de/produkte/dip.html
integriert für die Anzeige?

Oder wie sieht das eigentlich aus, wenn ich ein Display mit RS-232 an 
den Port RS-232 des Boards anschliesse.
Z.B. so eines :
http://www.lcd-module.de/produkte/rs232.html

Würde das gehen? Echtzeit Daten könnte ich knicken oder?

von Stefan Kunz (Gast)


Lesenswert?

Echtzeit kommt immer drauf an wie schnell die Daten kommen.

Und das Display würdest du unten an die Pins die rausgeführt 
anschließen.

von Steffi (Gast)


Lesenswert?

Ich meine in beiden Fällen Display ein Grafisches und kein Text-Display. 
Ein integrierter Grafikcontroller eingeschlossen.

Könnte ich also dieses
http://www.olimex.com/dev/avr-can.html
Board für meine Anwendung verwenden. Can Nachrichten empfangen, 
umwandeln und auf einem der beiden Grafik Displays anzeigen?

Das Display der DOG-Serie eher direkt an die Pins der Platine 
anschliessen oder ein externes Serielles RS-232 Display an den RS-232 
Adapter anschliessen?
Welche Variante ist sinnvoller und warum?

Gruss Steffi

von CAN_Anfänger (Gast)


Lesenswert?

Ich habe vor kurzem bei www.jtronics.de (die Seite von Martin Junghans) 
wegen dem CAN-Experimentierboard angefragt.
Nach nem tag bekam ich ne antwort und etwas später das Board auf meinen 
Wunsch hin schon komplett bestückt. Preis war auch echt ok.

http://www.jtronics.de/elektronik-boards/experimentierboard.html

Ich Arbeite jetzt schon ne Woche damit und bin voll zufrieden.
Cool ist, dass neben dem kompletten Can Bus, RS232, USB auch noch die 
verschiedensten Chips auf dem Board integriert sind.

Kann es also nur weiter empfehlen.

Als Display kann man sich ja einfach etwas über die Wannenstecker 
anschließen. Selber nutze ich ein S65 GLCD (SPI) für meine Anzeigen.


Grüße Ronald

von Stefan Kunz (Gast)


Lesenswert?

Die DOGs schließte am besten über SPI an (steht im Datenblatt) damit 
hast du eine schnellere Datenübertragung.

Aber die Frage nun zur Echtzeit. Wie schnell kommen deine 
CAN-Nachrichten? Nebenbei ist es nicht das einfachste Grafikdisplays zu 
bedienen bzw. wirst schon einiges an Zeit aufwenden müssen um Grafiken 
drauf darstellen zu können etc.

Wieviel erfahrung hast mit du mit µC?

von Steffi (Gast)


Lesenswert?

Vom Steuergerät liegen mir zu Zeiten, nur diese Infos vor:

We alternate two messages (0x220 and 0x230).
Message 0x220 is sent every main loop.
Message 0x230 is sent every 40th main loop.
The main loop is approximately 25 ms, yielding about 1 s.

Habe keinerlei Erfahrung, wie ihr , schon bemerkt habt :)

Bei der Programmierung bekomme ich Hilfe, das ist derzeit noch kein 
Problem.

Wichtig, ist dass ich die Hardware zusammen bekomme, dann staunen die 
Männer evtl :)

Wenn ihr sagt, das DOG Grafikdisplay bekomme ich an das Board von 
Olimax, dann hole ich mir die beiden Bauteile.
Bei der Anbringung üder den SPI bekomme ich sicher auch Hilfe.
Weitere Taster zur Displayansteuerung werde ich sicher auch anbringen 
können?

von Steffi (Gast)


Lesenswert?

Achja, möchte z.B. Drehzahl eines E-Motors anzeigen lassen

von Stefan Kunz (Gast)


Lesenswert?

Bei den Zeiten sollte das nicht wirklich zum Problem werden.
Da wird der AT90CAN ausreichen.

Als alternaive einen CortexM3 nehmen mit CAN. LPC175X oder LPC176X sind 
da nette Kanidaten.

http://de.farnell.com/nxp/lpc1764fbd100/mcu-32bit-arm-cortex-m3-100lqfp/dp/1718546?Ntt=LPC1764

Damit hat man defenetiv genug Reserven für alles Mögliche und dazu ist 
er noch sehr günstig.
Zum Programmieren würde ich Crossworks empfehlen mit entsprechenden 
JTAG.
Zur Not kann man sich auch immernoch ein eigenes Board Layouten.

von Gerd (Gast)


Lesenswert?

Was willst du damit machen?

Wenn das ein Hausbus werden soll, dann lies das mal.
Sind mit PIC-Kontrollern gemacht, die sind mit internem CAN und 
preiswert:

Beitrag "Eingabepanel mit CAN-Bus Entwicklung"

Raupe hat so etwas ähnliches gemacht:

Beitrag "Can-Bus"

Im Ipsymcomforum hat Helmut was gemacht:

http://www.ip-symcon.de/forum/f48/stammtisch-hamburg-norddeutschland-9250/index10.html#post79595

von Steffi (Gast)


Lesenswert?

Nein kein Hausbus.
Das Projekt fährt und komtm draussen zum Einsatz.
Evtl brauche ich noch ein Bauteil, um die gewünschte Spannung zu 
erhalten

von Stefan Kunz (Gast)


Lesenswert?

Steffi hatte genau beschrieben was sie machen wollte.
Da ist grade keiner der Links hilfreich.

@Steffi
Wäre hilfreich zu wissen welches Steuergerät es sich handel. Soweit ich 
noch weiß besitzt einer der LPC17xx auch direkt eine Einheit zum 
anschließen eines Drehencoders.
Ansonsten solltest du nun genug alternativen haben zum Vorstellen. Die 
Variante mit dem S65 Display ist nicht schlecht, aber man sollte 
bedenken, da du wohl für eine Firma arbeitest, solche sachen 
längerfristig zur Verfügung stehen sollten. Wenn es quasi nur zum 
Probieren ist, ^^ nimm das S65. Für beide Displays findet man genug 
Quellcode um sie gut ansprechen zu können.

von Stefan Kunz (Gast)


Lesenswert?

Wenn du ein eigenes Board machst könntest du für die Spannungsversorgung 
einen MAX1551 mit einem MAX710 benutzen.  Der erste IC ist zum laden 
eines LiIo Akkus der andere in StepUp/Down Wandler um den Akku optimal 
auszunutzen.

von Steffi (Gast)


Lesenswert?

Ist ein Studienprojekt in einem Team. Die Endverseion sollte schon 
vorzeigbar bzw einsetzbar  und nicht nur vorführbar sein.
Zum Display folgendes. Es muss schon eines sein, das für draußen, sprich 
mit Sonneneinstrahlung noch ablesbar ist.
Die DOG-Teile von lcd-module gefallen mir schon.

Ich hab mich etwas, auch aufgrund der Dimensionen auf das Olimax Board 
eingeschossen.
Ich habe vor, dieses zu holen und damit rumzuspielen.

Wenn es sich dann nacher nicht für den Einsatz eignet, kann oder muss 
man aufs eigene Board umsteigen.
Interessant wäre da noch zu wissen, wie sowas von statten geht.

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

kannst du noch mehr über das Projekt verraten?

von Steffi (Gast)


Lesenswert?

Was ist denn wichtig?

Es handelt sich um ein Gefährt, welches draußen zum Einsatz kommt. 
Betrieben durch einen E-Motor. Die Motorsteuerung verschickt definierte 
Can Nachrichten. Drehzahl, Temperatur des Motors, der Steuerung etc.

Diese möchte ich während der Fahrt anzeigen lassen, z.B. die Drehzahl, 
dem zu Fahrenden anzeigen lassen.
Dimension der Platine/Board das schlussnedlich zum Einsatz kommen soll, 
ca 70x120mm. Mehr Platz gibts nicht.
Das Display soll sich, mir schwebt vor, durch 4 Tastern steuern lassen, 
um z.B. zwischen verschiedenen Parametern zu switchen.
LED's vielleicht 2, zur Anzeige für Warnungen.

Liebe Grüße Steffi

von Martin J. (bluematrix) Benutzerseite


Lesenswert?

kommt mir irgendwie bekannt vor :-)
hab grad die elektronik für sowas realisiert:
http://www.youtube.com/user/racetechracingteam#p/c/28A6216C27E1727F/0/B7PpiP4XlQY

War auch ne ganz schöne Arbeit, 6 einzelne Steuer- und 
Visualisierungsmodule,  ca. 40 Sensoren, pneumatik Kupplung, pneumatik 
Schaltung und alles über CAN Bus ...

von Stefan Kunz (Gast)


Lesenswert?

Wenn es dafür ist solltet ihr lieber eine eigene Platine entwickeln mit 
genügend Schutzmaßnahmen. Die Boards von Olimex sind zwar nett, aber 
nicht für sagen wir, so eine Harte umgebung ausgelegt wie einem Auto. Je 
nachdem wie ihr das Gefährt drumherum gebaut habt. kann es passieren, 
dass es zu Ausfällen kommt(worst-case).

Im Prinziep läuft es bei einem eigenen Platine so ab, dass man sich ein 
Layoutprogramm besorgt(Eagle wäre hier sicher die erste Wahl). Dann 
sucht man sich die nötigen Bauteile. In deinem Fall µC, 
Spannungsversorgung, CAN-Transicver, CAN-Isolator, Stecker fürs Display 
oder direkte Montage auf der Platine, Hühnerfutter. Damit macht man 
einen Schicken Schaltplan und darauf dann die Platine. Die Schaltpläne 
zum Olimexboard sind z.B. mit Eagle erstellt.
Dann guckt man 5 mal über die Platine und die Position der Teile um 
Fehler auszuschließen. Dann bestellt man einen Prototypen bestückt ihn 
probiert ihn aus. Beseitigt Fehler. Bestellt neu.
Für so eine Platine dürfte sich die Zeit auch gut in Grenzen halten. 
Dürfte sich aber auch am eurem Budget richten.

von Steffi (Gast)


Lesenswert?

Ich denke, ich benutze das Olimaxboard, für Testzwecke und 
Programmierung des Displays, wobei ich denke, ein Dot-Matrix Display 
reicht evtl doch für meine Anforderungen aus, mal sehen.

Und danach eine eigene Platine Layoute und bestücke.

Du bist der Meinung lieber sofort auf eine eigene Platine zu setzen?

von Stefan Kunz (Gast)


Lesenswert?

Nein im Grunde ist das besser, da ihr dann darauf vertrauen dürft, dass 
das Board funktioniert. Und bildet immer eine gute Referenzplatine. Man 
sollte sich halt nur bewußt sein, dass diese Boards nicht für alles 
geeignet sind. Beispiel wär die Stromversorgung.
Wenn ihr schon mit mehren dran arbeitet, kann man das Olimexboard 
bestellen, einer Programmiert schon wärend ein anderer parralel dazu ein 
Board designed.
Aber halt auch eine Sache des Budgets. Glaube kaum das der Kostenträger 
euch alles durchgehen lassen wird ^^.

von Steffi (Gast)


Lesenswert?

Hi,

wie kann man eigentlich CAN-Nachrichten simmulieren?

In der Realität schickt eine Motosteuerung per CAN-Nachrichten z.B. die 
aktuelle Drehzahl, die auf dem Display angezeigt wird.

Wie kann ich in der Simmulation eine Drehzahl an einem TestBoard 
vorgeben, um diese somit an einem Display anzeigen zu lassen?

von Stefan Kunz (Gast)


Lesenswert?

Der AT90CAN dürfe soweit ich weiß einen LoopBack modus haben. Anosnten 
USB-CAN-Logger kaufen damit kannst du nachrichten schicken und 
empfangen. Für ein CAN-Netz muss man immer 2 Teilnehmer haben.

von Gerd (Gast)


Lesenswert?

Selbst wenn es nun kein CAN_Hausbus wird, so ist der CAN-Bus als Hausbus 
auch nur ein CAN-Bus mit Bautrate, ID`s und so weiter.

Sei mir nicht böse, aber du versuchst CAN-Bus physikalisch und 
programmtechnisch zu verstehen.
Gleichzeitig willst du Grafik-Controller parametrieren und Messwerte von 
Motoren umsetzen.

Das wird doch nie was, allein den CAN-Bus mit allen seinen Attributen.

Compiler steht auch noch nicht fest?

"Hallo Welt" kann man auch über den CAN-Bus schicken, aber versuch es 
erst einmal über ein ganz normales LCD-Display.

von Stefan Kunz (Gast)


Lesenswert?

Sie bekommt hilfe beim Programmieren. Und so schwer ist das nun auch 
nicht. wenn sie sich auf den AT90CAN eingeschossen hat nimmt sie AVR 
studio und da gibt es mehr als genug fertige Programmcodes für so 
ziemlich alles.
Und man muss den CAN-Bus nicht bis ins letzte Bit verstehen um ihn zu 
benutzen ^^ und dafür sind Foren da, damit sie fragen kann.

Ich finde sooo schwer ist das alles nun nicht. Da man alles gut 
überblicken kann.

von Steffi (Gast)


Lesenswert?

Gerd, ich kann mit deinen Beiträgen nicht viel anfangen, schade.

Es wird vermutlich nun ein Text Display, reicht aus.

Zum Thema Can Nachrichten simmulieren muss ich mich noch informieren

von Stefan Kunz (Gast)


Lesenswert?

Mal ein zwei nette links für dich:

http://www.mikrocontroller.net/articles/CAN_Bibiliothek_f%C3%BCr_AT90CAN_Prozessoren


Das Ding eignet sich sehr gut zum Simulieren und test und abhören eines 
CAN-Busses. Wird auch gleich eine API mitgelifert wenn man ein Programm 
auf einem Windowsrechner damit erstellen will.

http://www.esd-electronics.com/esd2004/german/products/CAN/can-usb-mini_e.htm

MfG
Stefan und für heute Gute Nacht

von Gerd (Gast)


Lesenswert?

@Steffi
glaube ich dir, das ist auch nicht soo einfach.

Wenn du an den CAN-Bus geschnüffelt hast, dann wirst du es verstehen.

Wer Den einigermassen verstanden hat, wird ihn immer verwenden wollen.

Das kreative Chaos ist sehr gut, eine gute Erklärung ist auch hier:

https://www.vector.com/vl_einfuehrungcan_portal_de,,376493.html

nadenn frohes Schaffen!

von Stefan Kunz (Gast)


Lesenswert?

Was auch hilfreich ist, ist das Datenblatt zum AT90CAN. Dort wird der 
CAN-Buss erklärt.
http://www.atmel.com/dyn/resources/prod_documents/doc7679.pdf


Wenn es weiterführend sein soll, fals ihr weitere CAN-Komponenten 
einkauft, könnte dir sicher auch noch CANopen über den weg laufen.

Aber solltest ja nun schon genug Informationen. Ansonsten weiter fragen.

von Steffi (Gast)


Lesenswert?

Hi,

brauche ich für das Olimax Board noch ein zusätzliches 
Experimentierboard?

@Stefan Kunz

Den USB-Can-Mini, kann man den auch irgendwo als Privatperson kaufen?

von Stefan Kunz (Gast)


Lesenswert?

wäre hilfreich ein zweites Board zu haben für eine Kommunikation, aber 
nicht notwendig.

http://elmicro.com/de/canusb.html

dies wär eine Alternative zum CAN-USB von ESD. Bei Google wirste sicher 
nocht mehr finden. Dies ist im Grunde dann dein zweiter CAN-Knoten mit 
dem du kommunizierst.

Soweit ich weiß beliefert ESD auch Privatmenschen oder Universitäten. 
Einfach anfragen, sind nett dort.

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.