Hallöchen, ich habe einen CAN-Bus(mit zwei Teilnehmern) in der Beta-Phase und schreibe seit einiger Zeit auch an der Software dafür. Heute wurde aber nach dem Einstecken des Netzteils(welches beide Knoten versorgt) ein CAN-Controller beschädigt und ich weiß nicht so ganz, an was dies liegen könnte. Wahrscheinlich irgendwelche Spannungsspitzen beim PowerUp. Als Vorlage für die Schaltung habe ich Fabian Greifs CAN-Testboard benutzt und nur ein klein wenig verändert. Könntet ihr event. mal kurz drüberguggn? Viele Grüße
CANH vom Transceiver geht an CANL vom Stecker. Und umgekehrt.
Oh... du hast Recht. Im Schaltplan, und (ich hab grad geschaut) auch auf den Boards falsch angeschlossen. Sollte ich wohl mal wechseln.;-) Danke. Die große Frage wäre nun - kann die CAN-Polung des Tranceivers für den Ausfall des Controllers verantwortlich sein??? LG
Peter K. schrieb: > Hallöchen, > > ich habe einen CAN-Bus(mit zwei Teilnehmern) in der Beta-Phase und > schreibe seit einiger Zeit auch an der Software dafür. > Heute wurde aber nach dem Einstecken des Netzteils(welches beide Knoten > versorgt) ein CAN-Controller beschädigt und ich weiß nicht so ganz, an > was dies liegen könnte. Wahrscheinlich irgendwelche Spannungsspitzen > beim PowerUp. Was genau ist beschädigt worden? Der Transceiver 2551 oder der Controller 2515? Zunächst einmal: Du hast zu wenig Abblockkondensatoren. Der AVR braucht zwei (VDD/GND und AVDD/AGND), der 2515 braucht einen und der 2551 braucht einen, und der Spannungsregler braucht welche, die Du aber drin hast. Das kanns aber nicht sein. Zum Schutz den Transceivers setzt man Schutzdioden und eine stromkompensierte Drossel ein, siehe zB (eben mal gegoogelt) http://wiki.iuse.org/wiki/doku.php?id=ueschutz Wenn es den Transceiver erwischt hat, könntest Du einen robusteren einsetzen, z.B. MAX13050. fchk
Hallo Frank, die Kondensatoren sind eigentlich alle vorhanden. Könnte es aber vielleicht bei C10 Probleme geben, den ich für ATMegaVCC UND den 2515 CAN-Controller einsetze, da sie ziemlich eng nebeneinander bestückt sind(das ist der Kondensator mittig am unteren Rand)? Im Anhang ist mal das Eagle-Layout der Platine. Und nicht der Tranceiver, sondern der CAN-Controller funktioniert nicht mehr. Ich kann auch nicht genau sagen, ob er nun gar nicht mehr geht. Ich kann nur keine weitere Kommunikation über den BUS mit ihm aufbauen. Testgeräte habe ich leider noch keine. Das mit dem Link klingt interessant, werde ich mir auf jeden Fall mal vormerken!^^ Viele Grüße
Hallo, hat denn niemand mehr einen Rat? Viele Grüße
Nun ja, das Layout sieht aus, als hättest Du noch nicht viel Erfahrung damit. Außerdem hast Du Dir die Sache unnötig schwer gemacht. Hättest Du statt dem Mega8+MCP2515 z.B. einen PIC18F26K80 genommen, hättest Du es beim Layout einfacher gehabt, und billiger und platzsparender ist es obendrein. Der 18F26K80 ist im Prinzip der gleiche CAN-Controller wie der MCP2515, hat aber als Bonus noch einen kompletten Mikrocontroller im Gehäuse mit drin, wobei die Kommunikation mit dem CAN dann natürlich nicht über SPI geht, sondern über direkte Registerzugriffe, was die Geschichte weiter vereinfacht. Ansonsten ist eine Ferndiagnose ohne weitere Infos und Messmittel auf Deiner Seite ziemlich aussichtslos. fchk
Hallo Frank, danke für dein Feedback.^^ Ich sollte gleich mal vorwegnehmen, dass es sich bei der obigen Platine um eine standardisierte Lochrasterplatine handelt! Ich habe mehrere Wochen immer wieder nachgebessert, um die Schaltung überhaupt draufsetzen und ohne externe Bedrahtung realisieren zu können. Eine Industrieplatine hätte ich von vornherein völlig anders konzipiert - aber bis dato bewegt sich mein Projekt erst einmal in einem experimentellen Rahmen. Hmmmm... dein erwähnter µC ist ja der Hammer - der wäre genau richtig!^^ Nur kann ich mit PICs absolut nicht umgehen. Ich war letztes Jahr schon froh, dass ich im Netz überhaupt ein paar lauffähige CAN-Treiber für den AVR gefunden habe(ich bin noch gar nicht so lang im µC-Bereich). Naja... dann schaut's ja recht schlecht aus.^^ Liebe Grüße
Peter K. schrieb: > CAN-Treiber für den AVR ...dann solltest Du Dir vielleicht mal die AT90CANxx Serie ansehen.
Abgesehen von einer gewissen Eleganz bei der Hardware könnte es sein, dass er mit einem extern angebundenen sehr einfach strukturierten MCP2515 schneller dabei ist, als mit dem deutlich komplexeren CAN Controller der AT90CAN Typen.
Hallöchen Stefan, mit dem Gedanken hatte ich vor einiger Zeit schon gespielt(meine derzeitige CAN-Lib unterstützt diesen Controller sogar auch). Diese Chips kosten aber erstens sehr viel mehr(zwischen sechs und acht Euro, nur für den µC). Zum anderen haben sie auch viel zu viele Pins, machen also das Löten schwer, und sind zudem auch noch völlig überdimensioniert für mein Projekt. Ich hatte mir das damals schon recht gut überlegt, mit der jetzigen Konfiguration, denke ich(nach allgemeinem Wissenstand und verarbeitbarer Technik). Der oben erwähnte PIC wäre wirklich SUPER, aber ich kenne mich halt nicht damit aus, leider. Viele Grüße
Statt 1x 120 Ohm zwischen CAN_H und CAN_L nimmst Du besser 2x 60 Ohm und schaltest vom Mittelpunkt 470nF nach Masse. Direkt an die Steckerpins CAN_H, CAN_L kommen je 47pF nach Masse. Zwischen Stecker und Transceiver solltest Du eine stromkompensierte CAN-Drossel setzen. Z.B. Epcos B82790 oder TDK ACT45.
Peter K. schrieb: > Hmmmm... dein erwähnter µC ist ja der Hammer - der wäre genau richtig!^^ > Nur kann ich mit PICs absolut nicht umgehen. Ich war letztes Jahr schon > froh, dass ich im Netz überhaupt ein paar lauffähige CAN-Treiber für den > AVR gefunden habe(ich bin noch gar nicht so lang im µC-Bereich). Meinst Du, ich konnte direkt nach der Geburt damit umgehen? Nur ran an die Materie, und immer neugierig bleiben. Das erweitert den Horizont und verschafft Dir einen Vorteil gegenüber denen, die nur AVR (die auch ihre guten Seiten haben) kennen. Der Umstieg ist gar nicht so schwer. Sicher, einige Eigenarten gibts, z.B. dass die DDRx-Register (die dort TRISx heißen) genau invertiert funktionieren, d.h. 0=o für Output und 1=i für Input. Aber ansonsten wirst Du dort vieles wiederfinden, was Dir (vielleicht unter anderem Namen) vom AVR bekannt ist. Und: Im Gegensatz zu den AVRs kannst Du auch die kleinsten PICs nicht nur programmieren, sondern auch debuggen, d.h. Schritt für Schritt durch Dein Programm gehen, Register und Variablen beobachten usw, und das alles mit einem 50€ teuren PicKit3 (Clones bei ebay ab 20€). Das macht es Dir einfacher. Also nur Mut. fchk
Ich weiß, ich weiß.^^ Die Einführung in die AVR-Chips war ja jetzt auch kein Beinbruch für mich.;-) Hmmmmm... ok... ich hab' mich grad entschieden, zumindest mal ein, zwei zu Versuchszwecken zu bestellen.^^ Und du hast nicht vielleicht noch ganz zufällig ein PIC-Tutorial(o.a. ne Library) zum CAN-Bus bei dir rumliegen???;-) Liebe Grüße
Peter K. schrieb: > Und du hast nicht vielleicht noch ganz zufällig ein PIC-Tutorial(o.a. > ne Library) zum CAN-Bus bei dir rumliegen???;-) Ich nicht, aber Microchip sorgt gut für Dich: AN878, "PIC18F ECAN C Routines", mit Quellcode für den C18 Compiler. Diese Appnote ist für eine ältere PIC18F-Generation gemacht worden, u.a. auch die PIC18F6680-Familie. Dein 18F26K80 gehört zur neueren PIC18F66K80-Familie. Allzuviel sollte sich nicht geändert haben, aber im Zweifelsfall kannst Du ja einfach die beiden Datenblätter nebeneinander halten. Die alten PIC solltest Du übrigens nicht mehr einsetzen, wenn es nicht unbedingt notwendig ist. Der alte 18F2680 kostet bei Réichelt 7.50€, der moderne 18F26K80 nur 2.75€. Beide sind funktional identisch, nur die J und K-Typen werden in einem neueren Halbleiterprozess gefertigt, der mehr Output hat. Als IDE nimmst Du MPLAB 8 in der neusten Version, und den C18 Compiler in der kostenlosen Lite-Version. Beides gibts bei Microchip zum Download. fchk
Noch ein Kandidat: LPC11C24 32 bit Cortex M0, CAN und CAN PHY auf dem Chip. Da reicht ein einziger Chip für alles. Die Software für den CAN Treiber und CANOpen ist schon fertig im Rom. Das alles für nicht mal 3€.
Boahhh... Leude, ihr machts mich fertig!;-))) Ich hab jetzt knapp drei Stunden alles rund um den PIC und dessen Entwicklungs-Zubehör recherchiert und hab' gemeint, es gäbe nun nur noch eine einzige offene Frage für mich - "... wie komme ich an die ECAN-Lib von Microchip?"... Und dann kommt "der ander" daher und gibt mir mit diesem NXP-CAN-Hightech-Chip menthal den Rest.;-)))))))))))) @Frank: Die IDE, etc. sieht gar nicht schlecht aus, und die ECAN-Note von MC ist auch ganz nett - aber in der Note sind 'scheinbar' nur die Funktionsaufrufe für eine ECAN-Lib und ein paar Registereinträge beschrieben? Nirgens auf der MC-Website kann ich Lib-Dateien finden - außer natürlich als Softwarepaket in deren CAN-Kits, die bei 105,- EUR anfangen. Hab ich da was übersehen? @Jürgen: WOW, geiles Teil! Des Ding is aber so neu, dass Farnell grad der einzige Anbieter dafür ist(5,- EUR)? Des wäre dann aber schon wieder eine Technologie, die ich absolut noch nicht kann.;-) Wahrscheinlich gibt's da auch kaum jemanden, der mir beim Aufbau/Programming einer ersten Schaltung Hilfestellung geben kann...? Liebe Grüße
Peter K. schrieb: > Boahhh... Leude, ihr machts mich fertig!;-))) Gut, dann gebe ich Dir jetzt den Rest ;-) Den LPC11C24 gibt es auf einem lpcxpresso-Modul. An Deiner Stelle würde ich mir aber überlegen, bei dem zu bleiben, was Du bereits hast und ein Gerät anzuschaffen, das definitiv funktioniert. Z. B. ein CAN-Dongle, ich habe eines von Lawicel (CANUSB). Die Dinger sind relativ teuer. Aber irgendwann ist die Zeit mehr wert, wenn die Fehlersuche endlos wird. Ob sich Dein spezifisches Problem durch den Austausch des Chips löst, das steht in den Sternen.
Hallo Roland, jepp, hab ich schon gesehen.;-) Zitat: >An Deiner Stelle würde ich mir aber überlegen, bei dem zu bleiben, was >Du bereits hast und ein Gerät anzuschaffen, das definitiv funktioniert. Wie meinst du das? Ähm... ne Fehlersuche gibt's eigentlich bei mir ned großartig. Meine CAN-Nodes funktionieren ja bereits und an einer neuen Protokollfamilie für eine effektivere CAN-Kommunikation(und selbst schon die Entwicklung davon) arbeite ich auch seit einiger Zeit. Die Kosten für die reine CAN-Schnittstelle(ohne Erweiterungsplatinen für die jeweilige Anwendung) liegen bei mir aber derzeitig bei etwa knapp 9,- EUR, weshalb es ja noch Optimierungsbedarf gäbe(da mein CAN-Projekt mit etwa 60-100 Einzelknoten geplant ist)? Hmmm... ich glaube langsam auch nicht mehr, dass mir hier jemand eine Lösung für mein eigentliches Thread-Problem geben kann. Aber bis jetzt sind mir nur Chips abgeraucht, wenn ich physikalisch an die Boards gegangen bin(umstecken der Stromkabel(Hard-PowerUp/Down);umstecken des Programmieradapters). Soll bedeuten - wenn die Anlage läuft, läuft sie ohne Probleme.;-))) Liebe Grüße
Ps.: @Roland: Außerdem wäre es natürlich auch supi, wenn man die Maße der Platinen und den Stromverbrauch etwas verringern könnte.^^
Peter K. schrieb: > Ich hab jetzt knapp drei Stunden alles rund um den PIC und dessen > Entwicklungs-Zubehör recherchiert und hab' gemeint, es gäbe nun nur noch > eine einzige offene Frage für mich - "... wie komme ich an die ECAN-Lib > von Microchip?"... > Und dann kommt "der ander" daher und gibt mir mit diesem > NXP-CAN-Hightech-Chip menthal den Rest.;-)))))))))))) Kannst Du 0.5mm TFQP löten? Sprich: Beinchen 0.3mm, Zwischenraum 0.2mm, nächstes Beinchen? Das mochte ich Dir nicht antun. > @Frank: Die IDE, etc. sieht gar nicht schlecht aus, und die ECAN-Note > von MC ist auch ganz nett - aber in der Note sind 'scheinbar' nur die > Funktionsaufrufe für eine ECAN-Lib und ein paar Registereinträge > beschrieben? Nirgens auf der MC-Website kann ich Lib-Dateien finden - > außer natürlich als Softwarepaket in deren CAN-Kits, die bei 105,- EUR > anfangen. > Hab ich da was übersehen? Ja. Wo hast Du die Appnote runtergeladen? Da gibts auch ein .zip dazu mit dem Quellcode. Den suchst Du. http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1824&appnote=en012117 Und Usermanuals und Software von den CAN-Demoboards darfst Du Dir auch so runterladen. fchk
http://de.futureelectronics.com/de/technologies/semiconductors/microcontrollers/32-bit/Seiten/5006541-LPC11C24FBD48-301,.aspx?IM=0 Da habe ich vor kurzem welche privat bestellt. Das Gehäuse ist LQFP mit einem Pin Abstand von 0,5mm. Ich dachte auch erst sowas kann man nicht mehr per Hand Löten. Geht aber ganz prima. Für mich sieht die SMD-Welt ganz anders aus, seit dem ich sie durch eine Kopflube (3x) betrachte. Zum Löten war keine Spezialausrüstung nötig. Normale Weller-Lötstation, Zinn, etwas Flussmittel und Entlötlitze. Und ein wenig Spiritus für die Flussmittelrückstände.
Hi Leude, also,... ich hab mir jetzt mal das LPCXpresso11C24-Kit UND 2 von diesen PIC18F26... bestellt. Sagen wir's mal so... jetzt will ich's wissen.;-))) @Frank: Das mit dem EIN-Löten ist, glaub ich, absolut kein Problem. Ganz egal, wie klein ein SMD-Bauteil ist. Ich hab letztens im Netz ein Video-Tutorial zu dem Thema gesehen, worin man das "Löten eines 128Pinners mittels ein wenig Löthonig in wenigen Sekunden" gezeigt bekommt. Ich war wirklich sprachlos.;-))) Mein Problem wird wohl ausschließlich sein, dass ich diese Chips nicht auf Lochrasterplatinen setzen kann. Sprich, ich muß mir dann eine extra Adapterplatine anfertigen - oder vielleicht gibt's da ja auch schon fertige. Hmmmmm... vielen lieben Dank! Diese .zip hab ich wohl übersehen.;-))) @Jürgen: Wahnsinn - 1,78 EUR???;-) Was hast du denn an Versandkosten, etc. bezahlt? Hast du auch schon ein paar Projekte damit realisiert? Und wo bekommt man nützliche(deutsche) Hilfe beim Umgang mit diesen Chips??? Insbesondere würden mich natürlich C_CAN-Projekte interessieren^^. Alles in allem muß ich sagen... ich brenne geradezu, mich dort 'reinzustürzen'!;-)))) Viele Grüße
Wenn du das LPCXpresso hast und auch die Software dazu installiert hast, sind da viele Beispiele mir drin. Mit Deutsch ist da aber nicht viel. Auf Grund der Tatsache, dass der CAN Treiber schon als Rom eingebaut ist, ist die Programmierung sehr einfach. Ich hänge mal mein aktuelles Projekt als sch und brd dran. Dank des "Platinensammlers" in diesem Forum war die Herstellung der Platinen bezahlbar. Es ist auch mein erstes SMD-Projekt mit solch kleinen Chips. Ich will mit der Platine nur ein Paar DS18S20 auf den CAN-Bus schicken.
Noch was: 1- LPC11C24FBD48/301, 10 1,7859 € 17,86 € Summe: 17,86 € Fracht: 6,00 € Steuer: 4,53 € Gesamtsumme: 28,39 € Auszug aus der Rechnung meiner Bestellung.
Klingt super. Jepp, dann werd ich mir den Laden mal vormerken.^^ Hmmmm... die Dateien kann ich nicht öffnen - werden mir als 'ungültige Daten' beschrieben? LG
>>An Deiner Stelle würde ich mir aber überlegen, bei dem zu bleiben, was >>Du bereits hast und ein Gerät anzuschaffen, das definitiv funktioniert. > > Wie meinst du das? > > Ähm... ne Fehlersuche gibt's eigentlich bei mir ned großartig. Sorry, hatte ich überlesen. Den Dongle ziehe ich hiermit zurück ;-) Peter K. schrieb: > @Roland: Außerdem wäre es natürlich auch supi, wenn man die Maße der > Platinen und den Stromverbrauch etwas verringern könnte.^^ Wenn das mit dem Löten kein Problem ist, dann ist m. E. der lpc11c24 eine gute Wahl. Es gibt aber einen Nachteil, der Dich treffen könnte, solange die Ursache für Dein Problem im Eingangsposting nicht gefunden ist: Bisher ist Dir "nur" der Controller kaputt gegangen. Mit dem lpc11c24 geht dann u. U. die CPU kaputt.
Jürgen Liegner schrieb: > Ich hänge mal mein aktuelles > Projekt als sch und brd dran. Jürgen, könntest Du evtl. die sch/brd für EAGLE 5.10 exportieren? Ich hänge noch auf der älteren Version.
Hallo Roland^^, jepp, denk ich auch. Ich werde jetzt auf jeden Fall erst mal an den CAN-Protokollen weiterarbeiten und mit derzeitiger Konfiguration testen. Mal sehen, welche Probleme noch so auftreten werden.;-))) Ich denke aber, dass ich mir bei Verwendung dieses NXP den Aufbau der restlichen Peripherie sowieso noch mal grundsätzlich überlegen muß. Dann bekomme ich hoffentlich auch den Fehler raus - wenn es nicht schon einfach nur an einem Produktionsfehler meines kaputten CAN-Controllers hing.^^ Aber auch, wenn nicht,... der NXP mit (3x mehr Power und 2x mehr I/Os wie der ATMega, inkl. CAN und und und!^^) kostet nur knapp 40 Cent mehr wie der abgerauchte MC CAN-Controller!;-))) @Jürgen: Da muß ich Roland zustimmen. Bitte BITTE exportiere mal die 2 Dateien als reine Bilddateien.^^ Viele Grüße
So im Anhang die Bilder als png. Da das Board nur 35cx60mm groß ist reicht die Light Version von Eagle. Damit kann sich dann jeder das konvertieren wohin er will. Die beiden parallelen Spannungsregler sind Bestückungsvarianten, damit auch ein Schaltregler wie der Traco TSR 1-2450 drauf passt.
Hallöchen Jürgen, nettes Teil.;-) Was genau ist denn X2 und JP1? Warum hast du denn eigentlich ein EEPROM bestückt - der µC hat doch schon um die 1k, oder? Als Unterputz-Schalteinsatz wird die Platine aber nicht herhalten können, 60mm ist da schon sehr knapp. Und die Schaltung konnte größtenteils mit Code-Samples realisiert werden, oder kennst du dich mit ARM schon so gut aus??? Viele Grüße
Hallo Peter, die ARM Cortexe haben fast alle kein eeprom. Konfigurationsdaten kann man zur Laufzeit ins Flasch schreiben. Ich hatte auch nicht an eeprom gedacht sondern an sowas wie RAMTRON FRAMS FM24V10. Da der Platz auf der Unterseite da war, habe ich ihn dafür benutzt. Muss ja nicht bestückt werden. X2 ist wie X1 eine einfache Leiterplattenklemme. An JP 1 sind GND, Reset, SWDIO, SWCLK +3,3V und 5V rausgeführt. Wozu wird sich noch zeigen. Da zum Debuggen und Programmieren nur SWDIO SWCLK und GND benötigt wird, gibts keinen Standard JTAG Anschluss. Programmieren und verstehen sollte man die Chips schon, nur Code zu Übernehmen reicht mit Sicherheit nicht aus.
Hi Jürgen, klingt gut soweit, dann dank' ich mal für die vielen Infos.^^ Viele Grüße
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.