Forum: Platinen Platinenkritik Hausbus/CAN Eingang


von Florian F. (flof3000)



Lesenswert?

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

von Abfallverwerter (Gast)


Lesenswert?

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.

von Florian F. (flof3000)


Lesenswert?

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.

von Guido .. (2mils)


Lesenswert?

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?

von Abfallverwerter (Gast)


Lesenswert?

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.

von Helmut L. (helmi1)


Lesenswert?

Abfallverwerter schrieb:
> Den Nutzen von
> kurzgeschlossenen Widerständen kann ich mir absolut nicht vorstellen.

Doch, "Widerstand zwecklos".

Vielleicht ist das eine Borgplatine :=)

von Guido .. (2mils)


Lesenswert?

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.

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Abfallverwerter schrieb:
> Den Nutzen von
> kurzgeschlossenen Widerständen kann ich mir absolut nicht vorstellen

Sind vermutlich pulldown Widerstaende oder Jumper zur Konfiguration?

von Guido .. (2mils)


Lesenswert?

Christopher B. schrieb:
> Sind vermutlich pulldown Widerstaende oder Jumper zur Konfiguration?

Dann wären die vermutlich auch im Schaltplan?

von Florian F. (flof3000)


Lesenswert?

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).

von Marc S. (marc_s86)


Lesenswert?

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
von Stefan (Gast)


Lesenswert?

TJA1055 braucht 5V Versorgung.

von Thomas F. (igel)


Lesenswert?

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

von Florian F. (flof3000)


Lesenswert?

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.

von Abfallverwerter (Gast)


Lesenswert?

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.

von Frank B. (f-baer)


Lesenswert?

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.

von Stefan (Gast)


Lesenswert?

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

von spontan (Gast)


Lesenswert?

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.

von Georg (Gast)


Lesenswert?

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

von Florian F. (flof3000)


Lesenswert?

@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.

von Florian F. (flof3000)


Angehängte Dateien:

Lesenswert?

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

von Marc S. (marc_s86)


Lesenswert?

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

von Schaltplankritiker (Gast)


Lesenswert?

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.

von Echt-jetzt (Gast)


Lesenswert?

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.

von Florian F. (flof3000)


Angehängte Dateien:

Lesenswert?

So, noch einmal für die 45 Grad Fraktion - mit achteckigen Vias.

von Helmut L. (helmi1)


Lesenswert?

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.

von Florian F. (flof3000)


Lesenswert?

@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?

von Florian F. (flof3000)


Lesenswert?

Ok, eine Transient-Voltage-Supressing Diode auf CANH/CANL ist sicher 
kein Fehler, beispielsweise NUP2105L.

von Christopher B. (chrimbo) Benutzerseite


Lesenswert?

Du bist im Uebrigen einen Monat weiter als der Rest von uns...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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...

von Thomas F. (igel)


Lesenswert?

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?

von Helmut L. (helmi1)


Lesenswert?

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.

von Florian F. (flof3000)


Angehängte Dateien:

Lesenswert?

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.

von Florian F. (flof3000)


Angehängte Dateien:

Lesenswert?

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?

von Marc S. (marc_s86)


Lesenswert?

CanOpen verwendet auch RJ45 ich würde deren belegung einfach übernehmen.

http://de.canopen-lift.org/wiki/CANopen-Stecker_RJ45

von Bernd M. (bernd_m)


Lesenswert?

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.

von flof3000 (Gast)


Lesenswert?

@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

von Thomas F. (igel)


Lesenswert?

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.

von Thomas F. (igel)


Angehängte Dateien:

Lesenswert?

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.

von Florian F. (flof3000)



Lesenswert?

Danke Thomas!

War heute nacht noch mal dran - jetzt ist die Masseflaeche 
durchgehender.

von Maxx (Gast)


Lesenswert?

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.

von Willivonbienemaya .. (willivonbienemaya)


Lesenswert?

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.

von Florian F. (flof3000)



Lesenswert?

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.

von Thomas F. (igel)


Angehängte Dateien:

Lesenswert?

Ich hab noch ein paar Kleinigkeiten reingekritzelt.

von Bernd M. (bernd_m)


Lesenswert?

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
von Florian F. (flof3000)


Lesenswert?

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?

von Bernd M. (bernd_m)


Lesenswert?

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
von Florian F. (flof3000)


Angehängte Dateien:

Lesenswert?

C8: D'oh!

von Eagle_Layouter (Gast)


Lesenswert?

Vom Layout kann man noch einiges verbessern.

Schau mal in den DRC -> 'Misc' -> [x] Winkel prüfen.

Dann den DRC nochmal ausführen.

von Florian F. (flof3000)


Angehängte Dateien:

Lesenswert?

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.

von Bad U. (bad_urban)


Lesenswert?

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
von Florian F. (flof3000)



Lesenswert?

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...

von FloF (Gast)



Lesenswert?

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

von Bad U. (bad_urban)


Lesenswert?

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.

von Florian F. (flof3000)


Lesenswert?

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.

von jffaxe (Gast)


Lesenswert?

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.

von jffaxe (Gast)


Lesenswert?

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?

von FloF (Gast)


Lesenswert?

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.

von Bad U. (bad_urban)


Lesenswert?

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....

von FloF (Gast)


Lesenswert?

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.

von Steffen R. (steffen_rose)


Lesenswert?

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.

von Steffen R. (steffen_rose)


Lesenswert?

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.

von FloF (Gast)


Lesenswert?

Verkabelung: Cat6e, jeweils ein Adernpaar hin, eins zurück.

Habt Ihr Vorschläge für einen Quarz?

von Bad U. (bad_urban)


Lesenswert?

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...

von Lichtgestalt (Gast)


Lesenswert?

Die LEDs werden nie leuchten...

von Florian F. (flof3000)


Lesenswert?

Danke Lichtgestalt. Ich hätte mir in Hintern gebissen...

von Canni (Gast)


Lesenswert?

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...

von FloF (Gast)


Lesenswert?

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'.

von Canni (Gast)


Lesenswert?

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

von FloF (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.