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.
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.
@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.
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
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?
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
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
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?
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?
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.
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.
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.
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.
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
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 ...
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.
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?
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 ^^.
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?
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.
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.
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.
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
@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!
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.
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?
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.