Hallo Forum, ich hab mich mal an einem CAN angebundenen Taster-Ausleser zum Einbau hinter Lichtschalter versucht. Rahmenbedingungen: 5V Eingang (minus Zuleitungsverluste), 3.3V auf'm PCB, möglichst geringer Stromverbrauch, via LP2950 (weil der auch ohne ernsthaften Stromverbrauch reguliert). Stimmt das so mit dem 2 Ohm Widerstand um die ESR zu erhöhen? STM32F103 mit eingebautem CAN möglichst viele übrige IOs auf Pinleisten herausgeführt. IOs mit optionalem Vorwiderstand (falls doch mal eine LED dran soll), optionalem Pull-up, falls mal der interne nicht ausreichen sollte. CAN Anschluss über Twisted Pair mit 'virtuellem' Bus - d.h. gleich wieder zurück, mit Stichleitung zum Transreceiver (TJA1055/3), Terminierung des Buses dann in der Zentrale. Stichleitung so kurz wie möglich - vermutlich aber egal... RJ45 und IO-Pins auf der Unterseite - später vorne. Schaltplan ist nicht sehr sauber, sorry musste irgendwann ins Bett ;). Was kann ich noch verbessern? Gruss FloF
Florian F. schrieb: > Schaltplan ist nicht sehr sauber Das ist wohl etwas untertrieben. Gab's beim Eagle keine rechteckigen Widerstände mehr? Durch Spiegeln einiger Bauteile hätte man auch die wirren Kreuzungen vermeiden können. Das Layout sieht auch ziemlich wirr aus, da aber wegen fehlender Bezeichnungen die Übersicht erschwert ist, spare ich mir eine eingehende Untersuchung.
Danke lieber Abfallverwerter, dass Du die Vorzüge dieses Forums mal wieder so deutlich raus stellst. Spiegeln bringt nichts - dann sind eben die anderen Pins verdreht - der STM32 hat nun mal nicht einen Port auf einer Seite. Und lieber das Geflecht im Schaltplan als auf'm Board.
Im Schaltplan gibt's für so ein Gewirr auch Busse. Platine hat den Namen als solche nicht verdient. Warum sind die Pads der Widerstände vor den Ports eigentlich alle miteinander verbunden?
Florian F. schrieb: > Spiegeln bringt nichts Mit Spiegeln meinte ich auch nicht den Controller, sondern die Stecker, die keine Bezeichnung haben. Aber Du hättest Dir ja wenigstens mal die 24 ERC-Warnungen anschauen können, von den 54 DRC-Fehlern ganz zu schweigen. Den Nutzen von kurzgeschlossenen Widerständen kann ich mir absolut nicht vorstellen.
Abfallverwerter schrieb: > Den Nutzen von > kurzgeschlossenen Widerständen kann ich mir absolut nicht vorstellen. Doch, "Widerstand zwecklos". Vielleicht ist das eine Borgplatine :=)
Florian F. schrieb: > Was kann ich noch verbessern? Ausschlafen und noch mal neu machen. Ganz ehrlich und auch nicht böse gemeint! Platine selber machen und nicht den Autorouter drüber laufen lassen. Da sind jede Menge Vias die weg können weil völlig unnötig.
Abfallverwerter schrieb: > Den Nutzen von > kurzgeschlossenen Widerständen kann ich mir absolut nicht vorstellen Sind vermutlich pulldown Widerstaende oder Jumper zur Konfiguration?
Christopher B. schrieb: > Sind vermutlich pulldown Widerstaende oder Jumper zur Konfiguration? Dann wären die vermutlich auch im Schaltplan?
Es gibt mehr Dinge zwischen Himmel und Erde... Das sind optionale Vorwiderstände. Falls die irgendwann nötig sind wird die Leiterbahn durchtrennt und ein 0805 aufgebracht. Eagle kann das nicht vernünftig erfassen und meckert an diesen Stellen immer den Kurzschluss an. Das muss so. @Guido: Auf der anderen Seite der IO-Pinheader liegen optionale Pull-ups - die sind natürlich auf einer Seite alle Verbunden. Und danke fuer den Tipp mit den Bussen. Den Stecker drehen verdreht eben die anderen 3 Pins. DRC mit z.B. dem Elecrow Parametern ist i.O. - aber Du hast recht, hier kann man ich sicher noch verbessern. ERC hatte einen echten Fehler, und sonst viel False Positives (VSS vs GND, Bahnen die sich nicht 90 Kreuzen sind immer 'close but not connected', etc).
Guido .. schrieb: > Christopher B. schrieb: >> Sind vermutlich pulldown Widerstaende oder Jumper zur Konfiguration? > > Dann wären die vermutlich auch im Schaltplan? er hat geschrieben es sollen optionale vorwiederstände sein -> leiterbahn durchtrennen wiederstand einlöten -> spart 0R wiederstände. könnte man aber auch mal in den schaltplan zeichnen.. der ist wirklich grausig genau wie das autogeroute und die leiterbahn dicke ich würde noch den lp2950 und die RJ45 buchse in SMD ausführen, dann brauchst du nicht zwischen den THT pads durch zu routen
:
Bearbeitet durch User
Welchen Sinn macht der einsame Kondensator über dem STM? Warum führst du LED1 und UART2 quer über die ganze Platine, können die nicht einfach oben sitzen? Spannungsregler im TO92-Gehäuse? Warum keinen SMD, dann kann er wenigstens Wärme abführen. Möglichst kurze CAN-Stichleitung beim Hausbus erscheinen mir weniger wichtig. Einen Hausbus wird man kaum mit 500kBit laufen lassen. Dafür würde ich dann eher EMV-Maßnahmen für den CAN vorsehen. http://www.embedded.com/print/4019182
Die (optionalen) Vorwiederstände sind alle im Schaltplan zwischen Controller und Header drin... TAJ1055/3, nicht TJA1055... aber halt, der ist nur 3.3V Input kompatibel, braucht aber selbst trotzdem 5V, oder? Wer lesen kann ist klar im Vorteil. Der einsame Kondensator sollte einer der Abblockkondensatoren sein. - Routing ist Mist.
Florian F. schrieb: > Die (optionalen) Vorwiederstände sind alle im Schaltplan zwischen > Controller und Header drin... Klar, die W_i_derstände sind drin, aber nicht als optional gekennzeichnet. Wenn man das richtig machen will, dann muß man auch die Kurzschlussbrücken, die die Widerstände im Layout überbrücken, mit einzeichnen, z.B. als Lötbrücken mit extra Namen.
Florian F. schrieb: > Danke lieber Abfallverwerter, dass Du die Vorzüge dieses Forums mal > wieder so deutlich raus stellst. > > Spiegeln bringt nichts - dann sind eben die anderen Pins verdreht - der > STM32 hat nun mal nicht einen Port auf einer Seite. Und lieber das > Geflecht im Schaltplan als auf'm Board. Mal ehrlich, was soll das? Du kommst hier her, und möchtest Hilfe, bist aber nicht willens oder fähig, einen lesbaren Schaltplan zu präsentieren. Es gibt gute Gründe dafür, warum im Schaltplan in aller Regel ausschliesslich 90°-Ecken verwendet werden. Netzlabel helfen ungemein dabei, die Funktionsweise einer Schaltung zu verstehen. Leitungen, die im Schaltplan unter Symbolkanten verschwinden, sind auch nicht gerade hilfreich. Zumindest ein Netzlabel für die Versorgungsspannung hättest du mal spendieren müssen, dann müsste man nicht permanent durch den halben Schaltplan durch eine Leitung verfolgen um festzustellen, dass es die Betriebsspannung ist. Bevor du hier solche dummen Kommentare ablässt, überlege bitte nochmal, auf welcher Grundlage du hier Hilfe einforderst! Und jetzt bitte Schaltplan neu zeichnen, Netzlabel anlegen, dann können wir hier gern vernünftig weitermachen und dir helfen.
Wie willst Du Deinen CAN-Bus anlegen? Eine lange CAN-Leitung von Dose zu Dose, an einigen Stellen ggf. eine Stichleitung zu Nebendosen? Dann brauchst Du an jedem Node mindestens 2 RJ45 Buchsen. Falls Du Stichleitungen zulassen willst, beser 3 oder 4. Das kommende und das gehende Kabel in EINEN RJ45 Stecker zu basteln, machst Du ungern für eine Hausinstallation. Willst Du ein LCD an den Nodes anschliessen? Willst Du Temperatursensoren (SPI, IIC, OneWire?) anschliessen? Willst Du analoge Eingänge? Wenn Du mit 3.3V only fahren willst: dafür gibt es spezielle CAN-Transceiver, z.B. von TI Wie sieht es mit dem CAN-Abschlußwiderstand aus? Dein TJA1055 hat da wohl was intern (habe ich nicht genau durchgelesen), bei einer Hausinstallation finde ich einen manuell aufgesteckten Abschlußwiderstand an der letzten Dose am praktischten. Kann z.B. auf den 2. RJ45 aufgesteckt werden. Apropos Stichleitungen: Bei niedrigen CAN-Baudraten (bis 50kbaud) sind die unproblematisch, ein entspechendes pdf stand hier vor Jahren mal drin. Gruß, Stefan
florian f. schrieb >Das sind optionale Vorwiderstände. Falls die irgendwann nötig sind wird >die Leiterbahn durchtrennt und ein 0805 aufgebracht. Eagle kann das >nicht vernünftig erfassen und meckert an diesen Stellen immer den >Kurzschluss an. Das muss so Eagle kann das. Bloß du nicht. Im Schaltplan die Widerstände einzeichnen und brücken. So wie im Layout auch. Dann paßt der DRC auch. Phantasie stirbt wohl zuerst.
Hallo, warum sind eigentlich die Pads der Stiftleisten alle im Zickzack angeordnet statt auf einer geraden Linie? Normale Stiftleisten passen da womöglich garnicht rein. Georg
@Spontan: Eagle kann keine Bauteile die zwei durch verbunden Pads haben. Klar kann ich das von Hand malen, aber irgendwann ist auch mal Schluss mit Aufwand. Ich mach jetzt Nopop-O und Nopop-C Widerstände - für not populatied, normally open und normally closed. @Georg: In diesen versetzten Leisten halten die Stiftleisten schon ohne Lötzinn deutlich besser. Und ja, die passen ;). @Stefan: Es wird eine Sternverteilung Cat5e geben, läuft alles dann Zentral zusammen. Damit halte ich mir die Option offen, später auch mal einzelnen Gruppen mit mehr Spannung / anderen Protokollen anzufahren. Also wirklich jeweils hin und wieder zurück. Abschlusswiderstand gibt's dann auch in der Zentrale. >Willst Du ein LCD an den Nodes anschliessen? Nein. Wenn ja, dann I2C. >Willst Du Temperatursensoren (SPI, IIC, OneWire?) anschliessen? Wenn irgendwann, dann Huckepack - die Pins sind herausgeführt. Aber ein paar weitere Spannungsversorgungspins einzubauen ist sicherlich kein Fehler. >Willst Du analoge Eingänge? Geplant ist nichts.
Hallo Forum, vielen Dank für eure Kommentare - ich habe den Schaltplan jetzt - besonders Dank Franks direkter aber informationsreicher Zurechtweisung - verbessert. Auch das Layout habe ich nun von Hand geroutet - sicherlich kein Meisterwerk, aber zu mindesten sind die Kondensatoren kurz angebunden. Im einzelnen: -Busse statt Wirrwarr -Alles klarer beschriftet -Netzlabels -Module optisch voneinander abgegrenzt. -optionale Widerstände als NOPOP-O und NOPOP-C beschriftet, je nachdem ob sie im Grundzustand open oder closed sind. -TJA1055 durch MAX3051 ersetzt - ein 3.3V Chip -LP2590 weiterhin TO92, jetzt auf der Seite mit der Ethernetbuchse. Gruss Flof
Der schaltplan sieht auf jeden fall besser aus! du könntest aber noch mehr gebrauch von supply symbolen machen, dann spart man sich das verfolgen der leitungen zum nächsten lable/symbol! das layout würde ich noch mal überarbeiten: - leiterbahnen nur in vielfachen von 45° verlegen - PB0, PB1, PB2 neu routen spart dir den riesen weg außen um den pinheader herum - Konsistente leiterbahn dicke - "Stümpfe" entfernen: du hast ab und zu leiterbahnen die über stehen(z.B. PB0 direkt am pin header) gruß, Marc
Florian F. schrieb: > -optionale Widerstände als NOPOP-O und NOPOP-C beschriftet, je nachdem > ob sie im Grundzustand open oder closed sind. Aus dem Schaltplan geht aber immer noch nicht hervor, dass die Widerstände kurzgeschlossen sind, wenn sie nicht bestückt sind. In den Stromlaufplan gehört immer beides, der Widerstand und die parallele Kurzschlussbrücke. Und eines von beiden durchkreuzt oder ausgestrichen oder mit "n.b." oder ähnlich gekennzeichnet. Ein Stromlaufplan muß lesbar sein ohne Erklärungen.
Und das Layout, sieht am Controller immernoch nach 3 Promille aus.... Dachte nicht, dass es Leute gibt, bei dennen der Autorouter im Vorteil ist. Mal im Ernst, Quick&Dirty mag ja ab und an nuetzlich sein. Aber bei solchen Vorhaben zahlt sich etwas mehr Sorgfalt in aller Regel aus... Funktionieren wuerde es vermutlich zwar, aber am sieht deutlich, dass du entweder keine Verstaendniss und/oder einfach keine Lust hast es sauber zu machen... Da hat auch niemand Lust, dir deine Arbeit zu machen..... Dennoch gutes Gelingen.
So, noch einmal für die 45 Grad Fraktion - mit achteckigen Vias.
Ist trotzdem eine grusselige Platine. Warum fuehren bei den Pfostenleisten die Loetaugen so einen Eiertanz auf? Es gibt kein GND Plane, schon mal schlecht wegen stoerungen. Dann keine Filter/Schutz an den Eingaengen, das abstuerzen des uC ist schon mal vorbestimmt.
@Helmut: Damit die Header auch ohne Lötzinn schon mal halten - das macht das Handlöten einfacher. GND Plane kann man drüber streiten - so zerstückelt wie das im Moment wäre, weiß ich nicht ob es von Vorteil wäre. Was für Filter/Schutz erachtest Du denn für sinnvoll?
Ok, eine Transient-Voltage-Supressing Diode auf CANH/CANL ist sicher kein Fehler, beispielsweise NUP2105L.
Du bist im Uebrigen einen Monat weiter als der Rest von uns...
Helmut Lenzen schrieb: > Warum fuehren bei den Pfostenleisten die Loetaugen so einen Eiertanz > auf? Florian F. schrieb: > Damit die Header auch ohne Lötzinn schon mal halten Warum ist nicht jede Idee automatisch ein gute Idee? Und warum macht das auf der ganzen Welt sonst keiner? Ich würde an deiner Stelle einfach die Löcher ein wenig kleiner machen. Dann wird die Stiftleiste beim Bestücken an 1 Pin festgelötet und hält... Florian F. schrieb: > GND Plane kann man drüber streiten - so zerstückelt wie das im Moment > wäre, weiß ich nicht ob es von Vorteil wäre. Man layoutet zuerst eine sinnvolle Spannungsversorgung. Denn ICs brauchen eine stabile entkoppelte Spannung. Danach werden die verbleibenden paar Signale verlegt. Aber nicht mit Leiterbahnen, die unbedingt so schmal wie möglich sind. Hätten deine Buchsenleistenlöcher gleichmäßige Abstände, dann könntest du da sinnvolle Breiten verwenden... Zudem würde ich eine RJ45-Buchse so belegen, dass jemand nicht gleich seinen Router kanputtmacht, wenn er den interessehalber oder zufälligerweise mal ansteckt. Also keinesfalls 5V und GND an ein Ethernet-Leiterpaar... Darüber hinaus würde ich einen Taktgeber nehmen, wenn der CAN-Bus reibungslos laufen soll...
Christopher B. schrieb: > Du bist im Uebrigen einen Monat weiter als der Rest von uns... Vielleicht ist es ja die 710. Version. (Duck...) Kann man mit diesem Zeitsprung nicht gleich die Design-Fehler, die man innerhalb eines Monats macht, jetzt gleich im Vorraus schon beheben? Oder explodiert dann die Welt?
Lothar Miller schrieb: > Und warum macht das auf der ganzen Welt sonst keiner? Der Rest der Welt faehrt sowas ueber ein Loetbad.... OK Bastler mal davon abgesehen. Aber auch ohne sowas hatte ich da noch nie schwierigkeiten, wie du schon sagst ein Pin erstmal festloeten.
Die Pinheader hab ich mir ja nicht ausgedacht, sondern das ist eine Empfehlung von Sparkfun: https://www.sparkfun.com/tutorials/114 Und ja, es geht ganz klar um's von Hand löten. Danke für den Tipp mit dem Taktgeber - ST empfahl mal in AN2867 den CSTCE8M00G55-R0 - mittlerweile steht da nur noch ' STM32 microcontrollers are compatible with almost all the resonators available on the market'. Das Etherkiller Argument ist auch nicht von der Hand zu weißen - auch wenn die Kabel auf der einen Seite in der Wand liegen und man nicht bis zum Router kommt, und auf der anderen farbcodiert werden. Ich mach mir hier noch mal Gedanken.
Ein neuer Entwurf... Ich hab die optionalen Pull-ups auf die Rückseite verbannt - da werden eh nicht viele von aufgelötet werden, von Hand passt das schon. Damit bin ich die ganz kleinen Bahnen zwischen den Pins losgeworden. Ausserdem: - Pinbeschriftungen auf der Seite auf die auch die Pins kommen (d'oh) - Led ebenfalls auf die Seite die später 'vorne' ist. - Keramischer Resonator mit eingebauten Kondensatoren als Taktgeber (8 Mhz) - 10uF Elko in der Versorgungsleitung. - TVS für den CANbus (NUP2105L) - optionale Bestückung CAN-Terminator - Pinheader für Vin/GND - falls der Strom mal nicht vom CANbus kommen soll - hoffentlich besser geroutet, jetzt mit Groundplane. - Rückleitung CANH/CANL jetzt tatsächlich über ein Twisted-Pair - bislang unbenutztes Twisted-Pair wird jetzt auch zur Spannungsversorgung genutzt. - Revisionsnummer aus der Zukunft zurück geholt ;) Als RJ45 Alternative ist mir aber noch nichts eingefallen - hat hier jemanden einen Stecker/Buchsen-Vorschlag?
CanOpen verwendet auch RJ45 ich würde deren belegung einfach übernehmen. http://de.canopen-lift.org/wiki/CANopen-Stecker_RJ45
Aber dir ist schon klar, das CAN ein Bussystem ist? Mit zwei Enden und einem Abschlusswiderstand an jedem Ende? Nix mit Stern. Es gibt auch noch maximale Längen für die Abzweige. Stern kann funktionieren, muss aber nicht. Kommt auf die Längen und die Bitrate an.
@dummy-es ist eine Sache mich als Op anzugehen, eine andere Leute zu beschimpfen die helfen möchten. Bitte unterlass das. @Bernd: Ja, ist klar. Deswegen habe ich auch Zu- und Wegleitung des CANBuses, Stichleitung sind nur die paar cm auf dem Board. Deswegen kann ich auch nicht den CanOpen Standard nehmen. Gruss FloF
Bernd M. schrieb: > Mit zwei Enden und > einem Abschlusswiderstand an jedem Ende? Nix mit Stern. Beim aufmerksamen Lesen des Threads hätte man feststellen können, das Thema Stichleitungen (Stern) wurde bereits vor drei Tagen diskutiert.
Florian F. schrieb: > Ein neuer Entwurf... Sieht doch schon viel besser aus. Aufgefallen ist mir viele blaue Masseflächen sind nicht zusammenhängend. Indem du einige Vias oder Pads ein wenig verschiebst wären die blauen Masseflächen dann verbunden. Ich hab die möglichen Verbindungsstellen mal in gelb eingekritzelt.
Danke Thomas! War heute nacht noch mal dran - jetzt ist die Masseflaeche durchgehender.
Florian F. schrieb: > jetzt ist die Masseflaeche > durchgehender. Zieh die Leitung für die Pull-Ups mehr in die Mitte, damit du auch die Linke Seite der Massefläche anbindest und oben Rechts etwas breiter die Msssefläche nach unten führst. Der obere Masse Ring ist eine gute Antenne für des Einfangen von Störungen. Das wird verstärkt durch die wenigen Stellen an denen er mit der unteren Massefläche verbunden ist. Dennoch ist er deine Versorgung für den uC und den MAX. Die Versorgung (also auch GND) möglichst breit bis zu Vias möglichst nah an die Verbraucher (ICs, Stiftleisten, etc heranbringen) Keine langen dünnen Leitungen draus machen. An den am weitesten Entfernten Punkten ist mit Sicherheit nicht mehr das gleiche Potential vorhanden. Da du aber Kommunikation und uC an weit entfernten Punkten mit Masse/VCC (der MAX von unten, der uC von oben) nur dünn (-> verhältnismäßig hoher widerstand) verbindest liegen die Pegel von beiden Kommunikationspartnern weitmöglichst auseinander. Und achte ein wenig auf die Sauberkeit, lass Leitungen gerade verlaufen (z.b. gerade durch die linken Pull-Up-Pads) und vermeide den Versatz. Wenn du mit der gleichen Sorgfalt nachher lötest, bleiben nur Kurzschlüsse.
Ich hätte noch ein paar Punkte über die du dir Gedanken machen solltest: - Oszillator Ich weiss nicht wie genau der interne beim STM32 ist. Rechne mal den Fehler aus der dadurch entsteht. Beim CAN Bus kann es schon mal passieren dass eine Nachricht aus 120 Bit bestehen. Kannst du sicherstellen, dass auch das 120. Bit immer passt? Welche Baudrate willst du verwenden? - Mechanik Drucke das ganze mal aus, klebe es auf Karton. Steche die Stecker rein, festkleben und alle Kabel dran. Dann nimm dir mal eine Unterputzdose und steck das alles da rein. Denk dran dass das Ethernetkabel von hinten aus der Dose kommt und fest ist, das muss da dann mit reingeknäult werden. Du wirst sehen dass in diese Dose kein Lichtschalter mehr passen wird. - Leitungsverluste Wie lang ist die längste geplante Strecke von der Verteilung bis zum Schalter? Auf einer Etage kommen da gern mal 20m zustande. Bekanntermaßen ist das Ethernetkabel nicht sonderlich dick. Ist dir klar wieviel deiner 5V Versorgung bei dem Schalter ankommt? - Schutzschaltung In dem letzten geposteten Schaltplan gibt es keine Schutzschaltung am CAN Bus -> nicht gut. Mindestens eine TVS Diode brauchst du zwingend bei so langen Leitungen. - Leitungslänge Hast du mal grob überschlagen wieviel Meter kabel du verlegen musst? Wenn du es noch nicht gemacht hast, mess es mal aus (Mit Faktor 1,5, man misst da zu optimistisch) und nimm die Summe mal 2. So lange ist dein CAN-Bus. - Erweiterbarkeit Du verbaust dir einiges durch deine Sternverdrahtung. Ein Bus kannst du an jeder stelle auftrennen und erweitern. - SHDN Warum führst du den SHDN Pin nicht auf den Controller, damit kannst du eine Menge Strom sparen? Ein normaler Schalter muss in der Regel nur senden, nicht empfangen. Dh er müsste immer nur kurz an sein.
Masse/VCC - So besser? @Willivonbienemaya - Alles gute Punkte. Oszillator und Schutzschaltung sind bereits integriert - aktueller Schaltplan anbei. Mechanik werde ich testen. Shutdown heißt der Controller empfängt gar nicht, und geht von 8 uA typical im Standby auf 1uA runter. Aber du hasst ja recht, ich verschenke nichts wenn ich ihn auf einen Pin lege. Leitungslänge sind momentan im reinen Stern 190 Meter. Das muss im Zweifel auch nicht alles an einen CANBus falls die Bitrate es nicht mehr hergibt. Den Bus kann ich immer noch mit einem 'T-Stück' abzweigen, das muss nicht mit auf die Platine. Verluste sind bei 5V natürlich ein Problem. Cat5 sollte max. 174 Ohm/km haben. Hin und zurück, aber auch zwei Adernpaare, bleibt bei 1.74 Ohm/10m. Macht 0.35V bei 20 Metern und 100mA. Der LDO braucht 0.45V Dropout voltage. 5V - 0.35 - 0.35 - 3.3 sind 0.9V - passt also. Der LDO macht max. 160 mA, dann kommen noch 4V an, er muss dann 116mW an Wärme loswerden. Das TO92-Gehäuse ist nicht gut zur Wärmeabgabe - mir recht, geht er Zweifel eher in die Uebertemperaturabschaltung. Das System soll ein reines Sensornetz ohne Aktoren werden, das Board sollte die meiste Zeit seines Lebens < 10mA verbrauchen.
flof3000 schrieb: > @dummy-es ist eine Sache mich als Op anzugehen, eine andere Leute zu > beschimpfen die helfen möchten. Bitte unterlass das. Kommentar gelöscht???? Muss ja wirklich ein qualitativ hochwertiger Kommentar gewesen sein. Maxx schrieb: > Der obere Masse Ring ist eine gute Antenne für des Einfangen von > Störungen. Ich denke das gilt für alle Ringleitungen, insbesondere VCC. Wenn ich das richtig erkenne hast Du da einen Ring gebaut. btw. unter dem RJ hängt noch ein Via in der Luft. Offene Enden sind auch gute Antennen.
:
Bearbeitet durch User
Ok, keine Ringleitungen. Ist ja simpel genug umzusetzen ;). Bernd M. schrieb: > btw. unter dem RJ hängt noch ein Via in der Luft. Offene Enden sind auch > gute Antennen. Ich seh's nicht? Unter der RJ45-Buchse?
Ahh, zorry, hägt doch was dran. geht unter Pin 8 vom MAX lang. Nicht gesehn. Man sollte doch nicht zu genau hinsehen: der Block C8 vom MAX sollte auch in der unmittelbaren Nähe dessen Versorgungspins sein.
:
Bearbeitet durch User
Vom Layout kann man noch einiges verbessern. Schau mal in den DRC -> 'Misc' -> [x] Winkel prüfen. Dann den DRC nochmal ausführen.
So, jetzt sind auch endgültig alle Winkel 45 Grad oder vielfache davon. Außerdem hab ich die Verteilerplatine entworfen - 3-12 Buchsen, per Lötbrücke wählbar, wahlweise terminiert oder als Schleife, so dass ich sie auch als Unterverteiler einsetzen kann.
Ich hatte jetzt keine Lust mir aus dem Layout für die Verteilung die Beschaltung zu rekonstruieren. Aber dass Sternverkabelung beiCAN ungünstig ist wurde ja schon gesagt. Was mir aufefallen ist sind die Befestigungbohrungen. Die sehen mir arg knapp nebens Bauteile und Leiterbahnen zu sein. Bedenke, dass der Schraubenkopf grösser ist und auch auf der Platine kratzt, falls du keine zusätzliche Isolierung verwendest. OK. hab grade gesehen, dass der Schaltplan angehängt war :)
:
Bearbeitet durch User
Weiter geht's im Programm - die Verteilerplatine kann einmal als zentraler kompletter Bus an beiden Enden terminiert betrieben werden, oder als Unterverteiler mit Rückführung des Buses. Da zwischen den Buchsen noch so schön viel Platz war, hab ich sie zum aktiven Teilnehmer geupgradet - man kann sie jetzt optional mit einem STM32F105 bestücken, der USB und CAN gleichzeitig kann, und dann als Schnittstelle zum Rechner (oder RaspberryPi) gebrauchen. Oder als Knoten - I2C und ein paar Pins sind herausgeführt. Vorteil dabei ist auch, dass man dem STM32 genug Wissen mitgeben kann um ohne übergeordnete Instanz Notfall-zentrale zu spielen - falls mein Raspberry PI mal ausfällt geht dann immer noch (irgendwie) das Licht an/aus. Spannungsversorgung wahlweise ueber einen LP2950 oder einen LM317, was gerade da ist. Diesmal hab ich auch nicht den Resetknopf & Kondensator vergessen... Bootloader ist auch ueber einen Knopf erreichbar. Konstruktive Kritik ist wie immer willkommen. Ich giess das Zeug demnaechst auch mal in einen Github...
Hallo, ich hab in den letzten Wochen, nach den ersten Prototypen noch mal viel am Design gearbeitet - wäre schön wenn noch mal jemand einen Blick drauf werfen würde. Neue Features: - Reset-taster - LP2950 optional als DPAK - optionaler Micro-SD-Slot - optionale RGB LED - optionaler Thermistor zur Temperaturmessung - Beschriftungsfeld im Silkscreen - IO-Ports im 2.54er Raster - 5V Supply vom Bus optional Weggefallen: - Pullup- und Vorwiderstände für die Hälfte der IOs Gruss FloF
Was mir so beim kurzen Drüberschauen auffällt: Du hast am CAN-Eingang zwar eine TVS vorgesehen, aber keine Gleichtaktdrossel. Das habe ich in vielen Appnotes gesehen und bei mir auch drin. Die Bohrungen im Layout sind sicher zur Befestigung gedacht, oder? Denk dran, Schrauben haben Köpfe. Evtl. noch eine Scheibe zur Isolierung. Der Platz zwischen Bohrungen und den Bauteilen kommt mir zu knapp vor.
Danke. Mit der Gleichtaktdrossel, ist so 'ne Sache, Automotive sicherlich sinnvoll, kan aber böse Spikes generieren. Ich meine auch Appnotes gesehen zu haben die sagten 'eher weg lassen'. Bin aber am überlegen, die Terminatoren gegen 2x 60 Ohm mit GND dazwischen zu tauschen... Mit den Löchern hast du Recht, 3.5mm Freiraum sollten die haben, typischer M3er Unterlegscheibe ist 7mm im Durchmesser. Unter dem Quarz nehm ich das GND-Plane noch raus.
im verteiler hast du mehrere 90° leitungen den bus galv. trennen find ich gut - braucht halt platz wo ist der sinn von leds? wofuer ne micro sd karte schick deine daten doch zur zentrale wo mehr platz ist.
Florian F. schrieb: > Mit der Gleichtaktdrossel, ist so 'ne Sache, Automotive sicherlich > sinnvoll, kan aber böse Spikes generieren. Ich meine auch Appnotes > gesehen zu haben die sagten 'eher weg lassen'. wo hast du das gelesen?
jffaxe schrieb: > wo hast du das gelesen? Find's nicht mehr, ist 2 Monate her. Aber SLLA271 zeigt auf dass die Drossel zu Spannungsspitzen führen kann, falls der Bus auf Gleichstrom kommt, und erwähnt dass falsche Filterkombination zu Oszillation und falschen Bits auf'm Bus führen kann. Ich bin sicher bereit, die Footprints vorzusehen - auch und gerade wenn die anderen CAN Hausbus Projekte die man so findet keine Filter in ihren Schaltplaenen haben - habe aber bislang noch keine Appnote gefunden, die was zur Auswahl Dimensionierung der Komponenten sagt. Vielleicht hat jemand einen Tipp für mich? Eine Gleichtaktdrossel ist auch keine galvanische Trennung. Ist m.E. nach bei CAN auch unüblich. Die (optionalen) LEDs sind als Statusanzeige gedacht - auf dem Entwicklerboard ist das ganz praktisch, und auch später ist's bestimmt kein Fehler wenn die Boards zu mindestens ein Blinkmuster im Fehlerfall absetzen können. Die SD-Karte dient (nicht nur) zur Konfigurationspeicherung auf den Knoten. Ich plane z.B. auch einen Lüfter/Wärmetauscher für's Bad, der braucht einen Satz Schwellenwerte. CAN-Bootloader bleibt absichtlich weg, der STM32 hat keinen sinnvollen persistenten Speicher, also braucht's was externes.
Ja, die Problematik kenne ich auch. Ist halt immer was :) Stimmt. Einen optionalen CAN-Abschluss würde ich auch noch vorsehen. Du verwendest einen Resonator. Ich bin wieder auf Quarze umgesteigen. Mit dem Resonator gabs keine Probleme. Ging auch mit 1MBit. Aber halt nur mit 3m Leitung dran. Das war mir dann doch zu unsicher. Es gibt auch ne Appnote von Microchip mit Beispielrechnungen. Da sieht man dann, dass die Ungenauigkeit des Resonators durch die SJW abgefangen wird. Bis zu einem gewissen Grad eben. Hier wollte ich mir etwas mehr Sicherheit einbauen. Wenns Dir um dem Platz geht würde ich den Resettaster weglassen. Ist normalerweise auch das erste was ich in den Schaltplan mache. In einer UP-Dose kommst Du eh nicht ran. Man braucht ihn beim Entwickeln der Firmware. Und da steckt eh der Debugger dran und man kann über die IDE resetten. Mache ich derzeit so. Wenns sein muss kann man sich auch einen über Leitungen frei verdrahten. Wie wird der STM denn programmiert? Ich habe da keinen Stecker gesehen? Ohne Bootloader finde ich allerdings mutig....
Der CAN-Terminator-Footprint ist mit drin, aber ich stell eh gerade auf komplette Schutzbeschaltung um. Zum Thema Quarz vs Resonator: Ich hab den genauen Typ aus einer aelteren Version von AN2867. Im Zweifel muss ich halt mit der Geschwindigkeit runter. Wie macht man dass denn im KFZ, da sind ja sicherlich auch zig leicht unterschiedliche Quarze und Resonatoren im Einsatz. Programmierung läuft über UART1 und den im ST32F103 integrierten seriellen Bootloader. Hierfür ist auch der Boot0 Jumper da.
Bad U. schrieb: > Das war mir dann doch zu unsicher. Es gibt auch > ne Appnote von Microchip mit Beispielrechnungen. Da sieht man dann, dass > die Ungenauigkeit des Resonators durch die SJW abgefangen wird. Bis zu > einem gewissen Grad eben. Solche Beispiele werden häufig für 125kbit/s angegeben. Für höhere Bitraten siehts eigentlich schlechter aus. Ein hoher SJW bedingt, dass der Samplepoint recht mittig liegt. Je weiter hinten, umso länger können die Kabel sein. Anm: Wie soll die Verkabelung aufgebaut werden? Bei einer festen Verkabelung sollte man eher besseres Kabel nutzen. Vielleicht will man später ja doch mal auf CAN FD umsteigen.
FloF schrieb: > Wie macht man dass denn im KFZ, da sind ja sicherlich auch zig > leicht unterschiedliche Quarze und Resonatoren im Einsatz. Die endgültige Konfiguration ist bekannt und wird genau ausgemessen. Da geht dann auch Sternverkabelung. Du wirst deine Konfiguration sicherlich über die Jahre erweitern/ändern. Insofern solltest Du nicht an die Grenzen gehen.
Verkabelung: Cat6e, jeweils ein Adernpaar hin, eins zurück. Habt Ihr Vorschläge für einen Quarz?
Steffen R. schrieb: > Solche Beispiele werden häufig für 125kbit/s angegeben. Für höhere > Bitraten siehts eigentlich schlechter aus. Das kann sein. Ich weiss es nicht mehr. Aber da waren die Zusammenhänge und Formeln angegeben. Da kann man es sich für andere Bitraten ausrechnen und mit den Zahlen spielen. FloF schrieb: > Habt Ihr Vorschläge für einen Quarz? Da gibts ne gute Auswahl in verschiedenen Baugrößen. Ich habe mich für 3,2x2,5mm entschieden. Die sind recht klein, lassen sich aber noch gut löten. Gibts meine ich sogar bei Reichelt. Diese HC49 sind natürlich zu groß. Die brauchen ja mehr Platz als der Controller...
Hi, bei meinen Dosenknoten bin ich vom Herausführen aller möglichen Ports weggegangen, weil das in der Dose vom Verkablungsaufwand zuviel Gefummle wird. Ich verwende einen Klemmverbinder 5x für +24V, GND, CANH, CANL und Shield. einen Pfostenverbinder für Erweiterungen über I2C (5x) 5V, GND, SDA, SCL, INT. (Tasten)eingänge über direktes Anlöten von Litze soweit notwendig als Matrix max 8. Außerdem sitzt noch ein Temperatursensor auf der Platine und ein bistabiles Relais (mit 2poligem Klemmverbinder zur 230V Unterbrechung) sowie die Stromversorgung, die CAN Schutzschaltung und der MC (LPC11C24 mit Transceiver). Anschluß für einen Programmieradpter ist unnötig, da über einen CAN Bootloader geflasht wird. Die Programmentwicklung mache ich nicht auf den Dosenknoten, dafür gibts Evalboards. Deshalb konnte auf das Notwendigste in der Dose reduziert werden. Man braucht nicht in jeder Dose die Universalallgemeinaufjedenfalllösung. Weniger ist manchmal mehr...
Hallo Canni, danke fuer den Einblick in Dein Projekt. Wie machst du den Bus, wenn Du nur einmal CANH & CANL auf der Klemme hast? Zwei Adern reinfriemeln? Ich brauche an manchem Knoten eine serielle Schnittstelle, möchte keine 230V auf den Busknoten haben und auch keinen CAN Bootloader- und werde die Stiftleisten nicht in jedem Knoten voll bestücken - aber Footprints 'kosten nix'.
Hi, ja, zwei Adern, bei der Schraubklemme kein Problem. Ich verwende EIB-Kabel. Oder mit diesen WAGO EIB-Klemmen, außerhalb der Platine. Mutig finde ich, ohne CAN Bootloader zu arbeiten. Dann willst Du bei Softwareänderungen jede Dose besuchen? In einem EFH werden das ganz schnell über 100 Knoten. Ich habe derzeit 121, die sich zentral flashen lassen. Und wozu brauchst Du noch die UART? Für Erweiterungen? Grüße
UART ich mit Milights sprechen möchte, deren Bridge ist seriell (mit separater WLAN-Platine...). Die einfachen Knoten werden sehr selten Updates sehen. Bis ich die Entwicklung mit Bootloader, der ja auch adressieren können muss, etc., wieder raus habe, habe ich, bei der momentanen Projektgroesse, 5 mal alles neu geflasht denke ich.
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.