Hallo ihr Lieben, ich habe vor für mich Zuhause einen CAN-Bus zu realisieren. Dazu habe ich mir folgendes überlegt: Ein Raspberry mit JAVAFX + USBtin von Thomas Fischl(http://www.fischl.de/usbtin/) soll die zentrale Steuereinheit werden und die verschiedenen Knoten im CAN-Netzwerk steuern. Die einzelnen Knoten für das Netzwerk wollte ich mir jetzt selber ätzen und setzte dafür gerade den Schaltplan auf. Da ich noch Student bin und noch relativ grün hinter den Ohren bin, wollte ich gerne von euch Profis wissen, ob der Schaltplan so korrekt ist und ob ihr Verbesserungsvorschläge oder Tipps für mich habt. Zudem bin ich mir bei dem Quartz von 12Mhz unsicher, da der USBtin einen 24Mhz Quartz verwendet. Für die Kommunikation reichen mir 125kBit mit dem MCP2515 vollkommen. Anbei der Schaltplan. Schönen Gruß aus Köln!
Also für einen kleinen CAN-Knoten würde ich den ATMega16M1 empfehlen. Das Bild hatte ich hier schonmal gepostet in etwas schlechterer Auflösung, zusammen mit Beispiel-Test-Code für den CAN. Das hat den Vorteil, dass man direkt am CAN dran ist und nicht noch zusätzlich über den SPI gehen muss. Okay, das Teil ist SMD aber die AVRs sind da ja allesamt noch recht harmlos mit ihren Pin-Abständen von 0,8 mm, Der Quarz ist ein "16.000000-MT" von Reichelt, für den passen dann auch zufällig mal die 22pF Kondensatoren die man fälschlicherweise "überall" verbaut findet.
Der Reset-Pin des MCP2515 muss beschaltet werden. Ich schliesse diesen immer mit dem Reset des Atmega zusammen und dann einen 10K Widerstand nach VCC (hast du schon) und einen 100nF nach GND (fehlt noch). Pin 4,5, und 6 des MCP2515 kannst du unbeschaltet lassen. RS am Tranceiver mit einem Widerstand nach GND. Meist nehme ich hier irgendwas unter 1k. Die Quarzfrequenz des MCP2515 ist unabhängig von anderen CAN-Knoten, hier musst du dich nicht an diesen orientieren. 12 MHz für 125kBit funktioniert, 1MBit nicht mehr.
Rudolph schrieb: > Also für einen kleinen CAN-Knoten würde ich den ATMega16M1 > empfehlen. > Das Bild hatte ich hier schonmal gepostet in etwas schlechterer > Auflösung, zusammen mit Beispiel-Test-Code für den CAN. > Ein wunderbarer Vorschlag. Zuvor hatte ich die AT90CAN*-Serie im Auge, war mir aber mit einem Stückpreis von fast 9€ einfach zu teuer und überdimensioniert. Die Spezifikation des ATMega16M1 passt für mich wie die Faust aufs Auge. Ich frage mich nur welche Bibliothek du in Eagle für den ATMega16M1 nutzt? > Okay, das Teil ist SMD aber die AVRs sind da ja allesamt noch recht > harmlos mit ihren Pin-Abständen von 0,8 mm, > SMD sollte ich hinbekommen mit dem Pinabstand. Dann dazu noch ne kurze Frage zum SMD: Hintergrund: Ich möchte mir meine Platine gerne selber ätzen und das Layout mit Eagle erstellen. Wenn ich jetzt ein SMD Bauteil auf dem Top-Layer habe und für einige Pins gerne einen Pinheader haben möchte, muss ich die Leitungen doch mit einem Via auf den Bottom-Layer führen, um die Pinne dann von unten zu verlöten, richtig? Das heißt ich muss die Platine auf beiden Seiten ätzen. Ginbt es zufällig einen Trick um es nur beim Top-Layer zu belassen? Sowas wie SMD Pinouts?
Oliver schrieb: > http://shop.embedded-projects.net/downloads/embedd... > > Bitteschön! TerraX (thx) ;-)
Hallo Rudolph, ich habe jetzt den Schaltplan an deinen angepasst. Es handelt sich ausschließlich um SMD-Bauteile. Ein kritischer und Prüfender Blick wäre für mich, bevor ich das Layout erstelle wirklich hilfreich. Ich brauche noch eine Diode an der SPannungsversorgung in SMD Bauform. Irgendwelche vorschläge? (Reichelt) Kenne mich mit den Diodenwerten noch nicht wirklich aus. LG Oliver
Hallo Oliver, C6 ist falsch angeschlossen, der darf nicht an Gnd vom Ic. Das IC muss direkt an Gnd und der C6 an Vcc in Nähe vom Ic. Lg Sven
:
Bearbeitet durch User
Hallo Leute, ich habe mich jetzt entschieden das Board bei jackaltac herstellen zu lassen. Da die Sache doch ein bisschen mehr Geld kostet als erwartet, dafür aber um einiges professioneller ist, habe ich noch einige Fragen zur Bestückung. Ist es sinnvoll einen Reset-IC einzusetzen ? Welche Vorteile bringt er mir? Und sollte ich den CAN-Tranceiver galvanisch vom AVR trennen? Was kann passieren, wenn ich es nicht mache? Und noch eine kurze Frage zum Eagle-Autorouting: Ich glaube ich kann kaum was falsch machen, wenn ich die Komponenten an die richtige Stelle ziehe und alles vom Autorouter erledigen lasse? Oder sollte man lieber auf ihn verzichten und per Hand routen? LG Oliver
Oliver schrieb: > Ist es sinnvoll einen Reset-IC einzusetzen ? Welche Vorteile bringt er > mir? Atmel hat es gelernt, ordentliche reset-Schaltungen einzubauen - ich nehme seit Jahren keine extra-ICs mehr dafür. > Und sollte ich den CAN-Tranceiver galvanisch vom AVR trennen? > Was kann passieren, wenn ich es nicht mache? Kommt drauf an, wofür du es einsetzen willst. Schaden kanns nicht, ausser eben mehr Aufwand und Kosten. Nutzen: Zuhause eher keiner. Interessant wirds in industriellen Anlagen. > Und noch eine kurze Frage zum Eagle-Autorouting: Ich glaube ich kann > kaum was falsch machen, wenn ich die Komponenten an die richtige Stelle > ziehe und alles vom Autorouter erledigen lasse? Doch, fast alles (es sei denn, der ist in den letzten Jahren erwachsen geworden). Oder sollte man lieber > auf ihn verzichten und per Hand routen? Zumindest die Stromversorgung (Vcc und Gnd) selbst machen, dann kannst du dem Autorouter das Spiel überlassen. Muss aber i.a. trotzdem nachgearbeitet werden, kann man also gleich lassen.
Oliver schrieb: > Und sollte ich den CAN-Tranceiver galvanisch vom AVR trennen? Kommt auf deinen Anwendungsfall an. Aber wenn du schon eine Platine machen lässt und sicher gehen willst, dann halte die Lötpads für zusätzlichen ESD-Schutz vor, siehe Bild. Bestücken musst du ja erst mal nicht. > Und noch eine kurze Frage zum Eagle-Autorouting: Ich glaube ich kann > kaum was falsch machen, wenn ich die Komponenten an die richtige Stelle > ziehe und alles vom Autorouter erledigen lasse? Vergiss den Autorouter erst mal. Wenn du die par Bauteile sowieso schon "richtig" platziert hast ist das Routing von Hand da um Welten besser.
Hallo Leute, vielen Dank für eure tatkräftige Unterstützung bis jetzt! Anbei die aktuelle Schaltung. Hinzugekommen ist die galvanische Trennung und ein paar LED's. Soweit jemanden noch ein Fehler auffallen sollte oder Verbesserungsvorschläge hat - immer raus damit! Hoffe die Schaltung ist bis hierhin soweit korrekt und dass ich eure Vorschläge richtig umgesetzt habe. LG Oliver
CAN-Transceiver: R4 hängt am falschen Gnd Und Pin3 (Vcc) solltest du auch noch mal nacharbeiten :-)
Hallo Herr Seifert, ich habe R4 abgeändert. Jedoch verstehe ich nicht so ganz was mit dem Pin3(VCC) nicht stimmt. Könntest du mir vielleicht auf die Sprünge helfen? LG Oliver
Naja, der sollte schon direkt an Vcc angeschlossen werden, nicht über einen Kondensator :-)
Und die Rx/Tx-Dioden würde ich andersherum platzieren (L-aktive Signale), wenn sie denn überhaupt Sinn machen. Lieber eine, die vom MC gesteuert wird, manchmal ganz nützlich :-) Serielle Schnittstelle würde ich auch getrennt herausführen, zumindest eine 3polig Stiftleiste, MAX232 ö.ä. muss es ja nicht unbedingt sein. Und ganz dringend solltest eine 5V-TVS-Diode parallel zur Netzbuchse machen.
Oliver schrieb: > Ich glaube ich kann > kaum was falsch machen, wenn ich die Komponenten an die richtige Stelle > ziehe und alles vom Autorouter erledigen lasse? Wenn Du wirre undurchdringliche Muster magst, wie eine Spinne auf LSD. Autorouterlayouts sind auch elektrisch deutlich schlechter oder funktionieren garnicht erst. Ein Autorouter hat erst dann eine Chance, wenn Du ihm mit vielen Rules Vorgaben machst. Das Placen und Routen ist ein iterativer Prozess. Man schaut sich die Gummifäden an und versucht durch Drehen und Verschieben der Bauteile sie möglichst zu optimieren (kurz und wenig Kreuzungen). Ich mache da gerne Inseln, wo ein IC in der Mitte sitzt und dann erst alle dazu gehörende passiven Bauteile drumherum plaziert werden.
H.Joachim Seifert schrieb: > Und die Rx/Tx-Dioden würde ich andersherum platzieren (L-aktive > Signale), wenn sie denn überhaupt Sinn machen. > Lieber eine, die vom MC gesteuert wird, manchmal ganz nützlich :-) Stimmt per Software hat man noch mehr Möglichkeiten. Habe es abgeändert. > Serielle Schnittstelle würde ich auch getrennt herausführen, zumindest > eine 3polig Stiftleiste, MAX232 ö.ä. muss es ja nicht unbedingt sein. > > Und ganz dringend solltest eine 5V-TVS-Diode parallel zur Netzbuchse > machen. Gute Idee. Habe hier ein USB-Kabel mit eingebauten TTL<->USB per VCP den man da drauf stecken könnte. Peter Dannegger schrieb: > Wenn Du wirre undurchdringliche Muster magst, wie eine Spinne auf LSD. Da kamen wir fast die Tränen bei dieser Metapher :') Peter Dannegger schrieb: > Das Placen und Routen ist ein iterativer Prozess. Man schaut sich die > Gummifäden an und versucht durch Drehen und Verschieben der Bauteile sie > möglichst zu optimieren (kurz und wenig Kreuzungen). > > Ich mache da gerne Inseln, wo ein IC in der Mitte sitzt und dann erst > alle dazu gehörende passiven Bauteile drumherum plaziert werden. Vielen Dank für diese wertvollen Tipps. Wenn ich das Layout mache, werde ich es nochmal zur Kontrolle hochladen. LG Oliver
An B6 hätte ich LED nun nicht gerade gelegt, manchmal ist es hilfreich, einen kompletten Port frei zu haben (LCD z.B.). PC1 wäre besser. TVS-Diode ist falsch herum.
Hallo, warum hat die Zeichnung keinen Kontrast? MfG froeschl PS: Zeichenprogramm Demoversion oder individuelle Einstellung des technischen Zeichners?
Michael B. schrieb: > Hallo, > > warum hat die Zeichnung keinen Kontrast? > > MfG froeschl > > PS: Zeichenprogramm Demoversion oder individuelle Einstellung des > technischen Zeichners? Hallo Michael, ich benutze Eagle Professional in der Version 7.2. Das Schema wurde einfach über die Standarteinstellungen exportiert als Grafik. H.Joachim Seifert schrieb: > An B6 hätte ich LED nun nicht gerade gelegt, manchmal ist es > hilfreich, > einen kompletten Port frei zu haben (LCD z.B.). PC1 wäre besser. > > TVS-Diode ist falsch herum. Die Diode hatte ich analog zur LED plaziert - sollte aber andersrum sein! Vielen Dank! Anbei das Update.
Hallo, ein Laie dankt für die Info, aber bitte mal versuchen, in den Standardeinstellungen die Strichfarbe auf schwarz zu stellen. MfG froeschl
Hallo ihr Lieben, ich bin's nochmal: Ich habe mich jetzt an das Layout begeben und stoße schon auf die ersten Probleme. Das Pinout des ATMEGA16M1 ist nicht mit der Pinnummer sortiert - es scheint fast so, als sei es alles wilder Zufall. Jetzt ist es für mich sehr problematisch die Ports alle "sortiert" auf die Steckleisten rauszuführen, da sich die Leitungen alle kreuz und quer überlagern. Habt ihr einen Tipp / eine Idee wie ich das bewältigen könnte? Anbei ist das Eagle Projekt LG Oliver
Jetzt geht eben das Schieben los. SV1 passt z.B. besser nach links oben. Müssen denn die Portpins immer zusammen auf einen Stekcer gehen? Oder einfach die Portpins durcheinander herausführen? Deinen CAN-Teil habe ich mal ganz kurz von 2-lagig auf 1-lagig geändert, damit du siehts dass man immer noch optimieren kann. Und noch was: Poste deinen aktuellen Stand immer als Bild. Nur wenige wollen sich dein Projekt extra auf ihren Rechner kopieren und öffnen. Und andere haben gar kein Eagle.
Thomas Forster schrieb: > Jetzt geht eben das Schieben los. SV1 passt z.B. besser nach links > oben. > > Müssen denn die Portpins immer zusammen auf einen Stekcer gehen? Oder > einfach die Portpins durcheinander herausführen? > Einfacher wäre es natürlich nach der Pinnummer rauszuführen, aber ich möchte schon gerne die B/C/D-Ports gebündelt haben. > Deinen CAN-Teil habe ich mal ganz kurz von 2-lagig auf 1-lagig geändert, > damit du siehts dass man immer noch optimieren kann. > Ja stimmt jetzt sehe ich es auch - hatte das raster zu grob eingestellt und konnte nicht zwischen den Pins des Can-Stekers routen - jetzt klappt's aber! > Und noch was: Poste deinen aktuellen Stand immer als Bild. Nur wenige > wollen sich dein Projekt extra auf ihren Rechner kopieren und öffnen. > Und andere haben gar kein Eagle. Danke für den Tipp. Dachte mir nur, dass man so direkt was darin abändern könne. Demnächst kommt es als Bild und Projekt. Dankeschön bis hier hin ich werde einfach mal versuchen es hinzubekommen. LG Oliver
Wirf mal nen Blick auf die LPC11C22 und LPC11C24, die haben CAN-Controller und CAN-Transceiver(!) schon integriert, sind schön handlich im LQFP-Gehäuse, Das Layout wird kompakter und einfacher und kosten tun die auch nicht mehr als ein gleichwertiger Atmel (eher weniger).
Hallo Leute, es gibt Neuigkeiten: Ich habe das PCB endlich per Hand geroutet bekommen, ohne dass sich die Leiterbahnen schneiden! yuhu Anbei das Board. Seht ihr irgendwo noch Verbesserungsvorschläge? Zudem wundere ich mich über die enorme Größe der Diode? LG Oliver
1. Willst Du das Board selber ätzen und auf der Unterseite nur Drahtbrücken verwenden? Normalerweise sollte der %-Satz der Kupferbedeckung auf Ober- und Unterseite in der gleichen Größenordnung liegen, weil sich das Board sonst verzieht. 2. Galvanische Isolation: Wofür willst Du die haben? Isolation ohne geeignete Isolationsabstände ist sinnlos. Zwischen Schutzkleinspannung und Netzspannung sind etwa 8 mm Kriechstecke vorzusehen. Das ist ein 8 mm breiter Streifen quer durchs Board, wo kein Kupfer ist - Null, nix, 0. Dafür musst Du andere Gehäusetypen für den DC-DC Wandler und den ADuM wählen. http://www.reichelt.de/Wandler-Module-DC-DC/NKE0505DC/3/index.html?ACTION=3&GROUPID=4956&ARTICLE=140625&OFFSET=500&WKID=0& (das Symbolbild ist falsch, schau ins Datenblatt) http://www.analog.com/static/imported-files/data_sheets/ADuM2200_2201.pdf (Wide SOIC Gehäuse) Das klingt zwar etwas kleinlich, hat aber seinen Sinn, wenn der Bus tatsächlich mal auf Netzpotential ö.ä. sein sollte. Wenn die Isolationsabstände nicht eingehalten werden, muss Deine Leiterplatte bloß etwas schmutzig sein - etwas Fett von den Fingern oder Flussmittelreste reichen, damit das ganze leitfähig werden kann. Und dann kann es Puff machen - oder Aua. Gewöhne Dir also an, bei so etwas ganz penibel zu sein. 3. Deine Ground-Fläche ist recht zerstückelt. Denke daran, dass Du es mit Stromkreisen zu tun hast, d.h. bei jedem Signal muss der Strom nicht nur über die Leiterbahn zum Verbraucher hin, sondern auch wieder zurück, und zwar auf möglichst dem gleichen Weg. Male Dir mal für ein Signal den Stromkreis in Deinem Layout auf. Dann stelle Dir vor, dass das eine (oder mehrere) Windungen einer Spule ist. Je nachdem, wie groß die Fläche dieser Windung ist, kannst Du mehr oder weniger elektromagnetische Störungen Senden und einfangen. Also der Profitip: Flache der Leiterschleifen minimieren. Deswegen macht man so gerne eine durchgehende Massefläche. Klappt nicht immer, aber das ist ein Optimierungskriterium. Der Rest wie rechte Winkel etc ist jetzt zwar unschön, aber nicht so wichtig. fchk
Ist der ISP nicht falsch beschaltet? Der muss doch immer an die MISO/MOSI/SCK _A sofern einer existiert?
> Ist der ISP nicht falsch beschaltet? Der muss doch immer an die > MISO/MOSI/SCK _A sofern einer existiert? Du meinst hier: http://www.mikrocontroller.net/attachment/246593/CAN_NODE.png Stimmt, sieht falsch aus. Wollen wir hoffen die Platine ist noch nicht beauftragt.
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.