Platinenkritik Hausbus/CAN Eingang

#4158807
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
Angehängte Dateien:
Gast #4158832
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.
Gast #4158865
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.
#4158896
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).
#4158900
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
#4158931
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
#4158961
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.
Gast #4158977
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.
#4159016
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.
Gast #4159044
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
Gast #4159076
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.
#4159107
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.
#4159670
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
Angehängte Dateien:
#4159855
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
Gast #4159890
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.
Gast #4160046
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.
Moderator (Firma: Titel) Persönliche Seite #4161115
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...
#4161295
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.
Angehängte Dateien:
#4161994
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?
Angehängte Dateien:
Gast #4162495
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
Gast #4162646
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.
#4162677
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.
#4162755
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.
#4163061
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.
#4164859
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.
Angehängte Dateien:
#4165091
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 :)
#4174317
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...
Gast #4267238
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
#4267321
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.
#4267522
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.
Gast #4267540
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.
Gast #4267865
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.
#4268524
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....
Gast #4268665
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.
#4268704
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.
#4268710
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.
#4269586
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...
Gast #4271006
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...
Gast #4271209
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'.
Gast #4271619
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
Gast #4271646
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren