Funktioniert diese Atmega328 Schaltung?

Gast #6967773
Lesenswert?

Diese Schaltung wird über USB mit Strom versorgt.
Zwei Pt1000 Sensoren sollen die Messwerte per MQTT senden und zwei 
Relais per MQTT gesteuert werden können. Netzwerkverbindung soll über 
Ethernet (W5500) erfolgen.
Ich habe mich an den Referenz-Schematics und an den Schematics vom 
Arduino UNO, Arduino Ethernet Shield und Arduino Relay Shield 
orientiert.
Jetzt zur Frage ob diese Schaltung so funktionieren würde oder ob mir 
Fehler unterlaufen sind. Für Rückmeldungen wäre ich sehr dankbar.
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #6967939
Lesenswert?

Maximilian S. schrieb:
> Für Rückmeldungen wäre ich sehr dankbar.
Nimm doch nach Möglichkeit die "üblichen" Symbole für Bauteile. In 
unseren Längengraden sind viereckige Kästchen für Widerstände, Dreiecke 
für OP und Diodenpfeile für LEDs üblich.

Der Stromfluss geht von oben=+ nach unten=-/GND.

Widerstandswerte von 1m sind 1/1000 = 1 milli Ohm. Wenn du 1 Megaohm 
mwillst, dann musst du da 1M hinschreiben. Dazwischen sind 9 
Zehnerpotenzen.

Und es gehen auch keine Signalleitungen quer durch Bauteilsymbole 
hindurch.

Knapp 35mA sind dann auch sicher genug für gut erkennbare rote 0603 
LEDs. Aber auch falls 0603_R wider Erwarten für grüne LEDs steht, ist 
der Strom mit 25mA immer noch übermäßig hoch.
Gast #6967951
Lesenswert?

Kannst du mal das Projekt auf public stellen? Dann kann jeder direkt auf 
der Webseite das in ruhe anschauen und gleich deine Aufgeräumte variante 
sehen.

Wird es funktionieren? Vermutlich nicht. Bei der type-C Buchse fehlen 
schonmal die CC Widerstände.

Anderes ist vermutlich versteckt wie deine ferrite/filter die Scheinbar 
keinen Kondensator brauchen.
Den Kondensator am Input vom LDO muss man wirklich wegsparren bei einem 
board was man nur ein paar mal baut?
Beim RJ-45 input fehlt auch sehr vermutlich noch mindestens ein Teil 
damit es nicht abraucht.
358s ist jetzt auch nicht so der brummer wenn es um PT100 geht.
Ohne es nachgelesen zu haben glaube ich brauchen die 328p nicht R8 zumal 
du eventuell die ext. clock garnicht brauchst.
#6967959
Lesenswert?

Und wozu muß man LDO und Spulen als separate Flicken platzieren? Könnte 
man doch gleich alles zusammen mit der USB-Buchse zusammenbringen, damit 
das Suchspiel etwas leichter wird.

user schrieb:
> Wird es funktionieren? Vermutlich nicht. Bei der type-C Buchse fehlen
> schonmal die CC Widerstände.

Soll vielleicht nur zur Stromversorgung dienen ...
#6967990
Lesenswert?

Auch wenn der WS5500 trotz 3,3V Versorgung 5V-tolerante Inputs hat, was 
verleitet dich im Gegenzug zu der Annahme, die MISO-Leitung direkt mit 
dem 5V versorgten Mega328 verbinden zu können?
Garantierter High-AusgangsPegel vom WS5500 ist 2,4V.
Mindestpegel für High am Input beim Atmega328 ist 0,6 × 5V = 3,0V.

Und wenn der SPI-Port auch noch als Programmierschnittstelle 
vergewaltigt werden soll, muß zumindest in die MISO-Leitung vom WS5500 
ein Schutzwiderstand, damit der den Programmiervorgang nicht 
beeinträchtigen kann.

Geschickter wäre es aber, gleich einen mit 3,3V versorgten μC zu 
verwenden, der auch eine sinnvollere Programmierschnittatelle als ISP 
hat, wie z.B. PDI, worüber man auch gleich debuggen kann und sich das 
unelegante sharing der SPI-Schnittstelle erspart.
Gast #6968025
Lesenswert?

user schrieb:
> Kannst du mal das Projekt auf public stellen? Dann kann jeder direkt auf
> der Webseite das in ruhe anschauen und gleich deine Aufgeräumte variante
> sehen.
>
Ich werde den Plan überarbeiten und dann auf public stellen.

> Wird es funktionieren? Vermutlich nicht. Bei der type-C Buchse fehlen
> schonmal die CC Widerstände.

Der USB-Port sollte eigentlich nur zur Stromversorgung dienen
>
> Anderes ist vermutlich versteckt wie deine ferrite/filter die Scheinbar
> keinen Kondensator brauchen.
> Den Kondensator am Input vom LDO muss man wirklich wegsparren bei einem
> board was man nur ein paar mal baut?
Den Kondensator werde ich noch ergänzen. Danke für den Hinweis.

> Beim RJ-45 input fehlt auch sehr vermutlich noch mindestens ein Teil
> damit es nicht abraucht.
Wenn sie den Transformator meinen, ist dieser bereits im J1B1211CCD 
integriert.

> 358s ist jetzt auch nicht so der brummer wenn es um PT100 geht.
Ich habe diese Anleitung als Vorlage verwendet: 
https://www.aeq-web.com/pt1000-temperature-sensor-arduino-lm358-messwandler/

> Ohne es nachgelesen zu haben glaube ich brauchen die 328p nicht R8 zumal
> du eventuell die ext. clock garnicht brauchst.
R8 und die ext.Clock habe ich aus der Schematic vom Arduino UNO R3
Gast #6968030
Lesenswert?

Thorsten S. schrieb:
> Auch wenn der WS5500 trotz 3,3V Versorgung 5V-tolerante Inputs hat, was
> verleitet dich im Gegenzug zu der Annahme, die MISO-Leitung direkt mit
> dem 5V versorgten Mega328 verbinden zu können?
> Garantierter High-AusgangsPegel vom WS5500 ist 2,4V.
> Mindestpegel für High am Input beim Atmega328 ist 0,6 × 5V = 3,0V.
>
Gibt es eine Möglichkeit die Pins zu verbinden? Vielleicht Optokoppler 
o.Ä.
Moderator (Firma: Titel) Persönliche Seite #6968054
Lesenswert?

Maximilian S. schrieb:
> Gibt es eine Möglichkeit die Pins zu verbinden? Vielleicht Optokoppler
Eine Optokoppler brauchst du nur, wenn du unterschiedliche 
Massepotentiale hast.

Nimm wie der Rest der Welt einen Pegelwandler.
Dabei ist der SN74LV1T04 ein heißer Tipp.

Aber wie erwähnt: der Mega328 kann auch mit 3V3 betrieben werden. 
Allerdings leider nicht mit 16MHz...
Gast #6968236
Lesenswert?

Maximilian S. schrieb:
> Der USB-Port sollte eigentlich nur zur Stromversorgung dienen

Brauchst je CC pin ein 5.1k+-5% Widerstand.

Christian M. schrieb:
> Sind PT1000 und genau diese Schaltung habe ich vorgestern erfolgreich in
> Betrieb genommen. Nur die Widerstände sollten halt 1% sein. Ich habe
> dann jeden Kanal einzeln abgeglichen.
>
> Gruss Chregu
Der 358 ist schön günstig mit unter 3 cent vom noname Hersteller jedoch 
bei einem vermutlich zentralen Bestandteil dieser Schaltung kann es Sinn 
machen doch ein paar cent mehr für einen besseren auszugeben.

Maximilian S. schrieb:
> Gibt es eine Möglichkeit die Pins zu verbinden?

BSS138 Mosfet geht auch:
https://assets.nexperia.com/documents/application-note/AN10441.pdf
#6968256
Lesenswert?

Muss die anbindung über kabel sein oder kann das wifi sein?
Falls WiFi würde ich den at328 durch einen esp32 ersetzen.
Der hat zwei 12 bit AD wandler drauf. Und nativ WiFi.
Damit würde das ganze kabel ethernet gedöns wegfallen.

Bei den relais würde ich PWM ausgänge nehmen. Dann kannst du nach dem 
einschalten den strom runterfahren.
Angehängte Dateien:
#6972529
Lesenswert?

Maximilian S. schrieb:
> So ich habe die Schaltung jetzt noch einmal überarbeitet und versucht
> die Tipps umzusetzen.

Okay ...

An die Gates der Relaistreiber könntest Du noch hochohmige Widerstände 
gegen Masse setzen, damit die FETs bei unkonfigurierten Portpins nicht 
machen, was sie wollen.

Obwohl Du viel Platz hast, sind einige Dinge noch arg eng. z.B. U12.2 
könntest Du raus rücken, evtl. die darüber liegende Leitung auch.

Eingänge links, Ausgänge rechts. (+ oben, masse unten - hast Du aber 
meist schon)

Ein pdf wär mir lieber, da man darin besser zoomen kann.


Gruß
Jobst
Gast #6972592
Lesenswert?

Optional für den AVR:
- 100nF von AREF nach GND (empfehlenswert)
- 100nF von !Reset nach GND

Du kannst den m328 ab 4.5V mit 20MHz betreiben. Bei 3,3V sind ca.12MHz 
spezifiziert.

Maximilian S. schrieb:
> Ich habe mich an den Referenz-Schematics und an den Schematics vom Arduino UNO, 
Arduino Ethernet Shield und Arduino Relay Shield orientiert.

Vergiss die Arduino Schaltpläne. Von Laien für Laien... Schaue dir 
besser Appnotes und Datenblätter vom Hersteller an.
Für die AVRs ist das ua. Microchip AN2519 ODER Atmel AVR042
#6972800
Lesenswert?

Falls du C30 benutzen möchtest, dann muss der direkt an Reset und nicht 
an den Taster (falls du letzteren überhaupt bestücken möchtest) 
Normalerweise werden die µCs per ISP programmiert und verbleiben dann in 
der Schaltung. Der Taster in Reset bringt dir nur was, wenn der µC hängt 
oder du einen Bootloader hast. (Der m328 besitzt ab Werk keinen!) Auch 
ob du Reset über C23 rausfüren musst, hängt von deiner konkreten 
Umgebung ab und gehört nicht zur "Standardbeschaltung". Um C29 zu 
nutzen, musst du, ich glaube es war REFSx in ADMUX entsprechend setzten. 
Falls die Ergebnisse des ADCs zu sehr zittern, kann es sich lohnen den 
zu bestücken.
Moderator (Firma: Titel) Persönliche Seite #6972856
Lesenswert?

Maximilian S. schrieb:
> So jetzt habe ich die Schaltung noch einmal überarbeitet.
Wie ich schon schrieb:
> Der Stromfluss geht von oben=+ nach unten=-/GND.
Bei einer Relaissteuerung ist also oben +, dann geht es senkrecht auf 
die Spule, dann geht es senkrecht auf den Transistor, dann geht es 
senkrecht auf die Masse, dann ist der Plan schön lesbar.

Und wie ebenfalls schon gesagt sieht eine LED sicher nicht so aus:
1
    .---.
2
 ---|+  |
3
 ---|-  |
4
    '---'

Sondern etwa so:
1
 |
2
 |
3
 V ->
4
 - ->
5
 |
6
 |

A. F. schrieb:
> Falls du C30 benutzen möchtest, dann muss der direkt an Reset
Stimmt, so wie die Resetbeschaltung da grade aussieht, taugt sie nicht 
für ISP und ist nicht EMV-stabil. Mein EMV-Spezi sagt, dass Pullups 
größer 2..5k quasi unwirksam sind. Sprich: wenn einer in der Nähe den 
Pulli auszieht und es anständig knistert, dann gibts einen Reset. 
Sprich: an den Reset gehört entweder ein 10n..100n Kondensator oder ein 
Pullup mit <<4k7.
Gast #6973575
Lesenswert?

Die OPs sind nicht so toll. Anscheinend optimiert nach Preis. Besser ist 
ein möglichst kleiner Offset. Zudem wäre RRIO ganz toll. Oder du baust 
eine analoge Versorgung (+8,-3) ein.

Oder du nimmst gleich einen Adafruit PT1000 RTD mit MAX31865. Das wäre 
dann ein weiterer 3V3 Chip. Und ein Grund mehr, was anderes als den 
alten 328 zu nehmen. Wenn schon AVR dann z.B. einen DA.
#6973582
Lesenswert?

> Und wie ebenfalls schon gesagt sieht eine LED sicher nicht so aus:
>
1
>     .---.
2
>  ---|+  |
3
>  ---|-  |
4
>     '---'
5
>

> Sondern etwa so:
>
1
>  |
2
>  V ->
3
>  - ->
4
>  |
5
>


Mir ist durchaus bewusst, dass LEDs nicht das Schaltsymbol haben, wie in 
meinem Plan. Jedoch habe ich mich bewusst für die Pin Header 
entschieden, da geplant ist, die LEDs nach außen sichtbar im Gehäuse 
unterzubringen und per Jumper Kabel mit der Platine zu verbinden. Um 
diese Header direkt in EASYEDA zu haben, habe ich mich dazu entschieden, 
nur die Header anstatt den LEDs einzuzeichnen.
#6974842
Lesenswert?

Maximilian S. schrieb:
> So...
> das ist dann jetzt hoffentlich die letzte Überarbeitung.

was genau hast du an

uff basse schrieb:
> Was macht man denn mit der vielen heissen Luft zwischen den
> einzelnen Schaltungsblöcken? Ist es sinnvoll beim Hineinzoomen
> in ein Schaltungsdetail die anderen Teile erst mühselig wie auf
> einer Weltkarte suchen zu müssen?

nicht verstanden?
#6974962
Lesenswert?

Jobst M. schrieb:
> Hubert G. schrieb:
>> Du verwendest den ADC des 328, da solltest du dem AREF auch einen 100n
>> Kondensator spendieren. Ausser du hast eine externe Referenz die ich
>> übersehen habe.
Der Kondensator war bereits eine Version vorher da ist nur aufgrund von 
zwei verschieden Dateiversionen auf meinen PCs wieder verloren gegangen, 
was ich leider übersehen habe.
Anbei habe ich den verbesserten Plan.
Angehängte Dateien:
#6975005
Lesenswert?

Maximilian S. schrieb:
> So der gleiche Plan nur mit weniger Luft.

schon besser dafür ein Daumen hoch.

Jetzt könntest du noch an der Schönheit oder Gefälligkeit was 
verbessern.

Ventilsteuerung:
L1 mit der Leitung nach unten könnte in einem Knoten landen!
Avcc könnte ohne knick gleich gerade nach oben!
Alle +3V3 haben Werte, nur VCC nicht, klar kommt das aus Vbus und ist 
+5V, aber warum ist das nicht gleich +5V genannt worden, muss das 
geraten oder gewusst werden?
Der GND unter C22 warum knickt der wieder ab, stört dich eine gerade 
Leitung?
Warum sitzen deine GND ohne Not auf verschiedene Höhen?
Warum sitzen R22 und Y2 so tief?
Warum sitzt die Gruppe R33, R40 & R42 so tief?
Schön ist zwar im Auge des Betrachters, aber einiges geht schöner.
Moderator (Firma: Titel) Persönliche Seite #6975153
Lesenswert?

Maximilian S. schrieb:
> So der gleiche Plan nur mit weniger Luft.
Zum dreiundzwölfigsten Mal: die Reset-Beschaltung des 328 ist noch immer 
Käse. Sieht dir die Appnote AVR042 an. Dort drin steht, wie das richtig 
gehört. Und an den "External Reset" kannst du dann den Taster nach GND 
und den ISP-Pin anschließen.

Und warum hast du eigentlich 2 Reset-Taster? Willst du im Ernst die 
Bauteile unabhängig von einander in den Reset schicken? Wie sollen die 
gemeinsam wieder aus dem Reset herauskommen und zueinander finden? Ja 
klar: beide machen erst mal ein delay()...

Fazit: nimm nur 1 Resetbeschaltung und schließe beide Resetpins einfach 
parallel an. Eh' besser, wenn der Netzwerkcontroller beim Programmieren 
des µC auch in den Reset geht und zusammen mit dem neuen Programm 
startet.

So sieht eine klar und einfach erkennbare Relaisbeschaltung aus:
1
    Versorgung
2
        |
3
        |
4
    Relais       ...........   Relaiskontakt
5
    mit Freilaufdiode
6
    und Statusanzeige
7
        |
8
        |
9
    Schalttransistor
10
        |
11
        |
12
       GND
Dagegen ist deine "kreisförmig gegen den Uhrzeigersinn rotierende" 
Relaisansteuerung arg verwirrend. Man sieht erst auf den zweiten oder 
gar dritten Blick, was da passiert.

Ähnlich verwirrend ist es beim R9 bis R13. Wenn man da das erste Mal 
hinschaut, dann werden die gesammelt und gehen auf den Taster KEY1, der 
wiederum auf den Reset geht. Häh, wasn das? Also: nochmal genau 
schauen...

Und wenn du als GND-Symbol nicht das "Erde" bzw. PE-Symbol, sondern das 
allgemein verwendete GND mit einem einzigen Strich nimmst (**), dann 
brauchst du weniger Platz und kannst mehrere davon einsetzen. Und eben 
den AGND direkt an GND anschließen und die R9..R13 ebenfalls. Und zum 
Reset hatte ich schon was geschrieben.

Das Makro des W5500 ist nicht schön, denn es gruppiert keine Funktionen, 
sondern es sieht einfach so aus wie es später auf dem Layout aussieht. 
Und deshalb wird auch die Anbindung des Ethernet-Trafos, naja, 
kritzelig...

Auch nach mehrmaliger Überarbeitung sieht der Plan immer noch auch wie 
wenn ein Kindergartenkind drei Kopffüßer malt: man kann zwar erkennen, 
was das sein soll (klar: Mama und Papa und Maxi), aber ein schönes 
Gemälde ist es noch nicht.

Mein Tipp:
mit dem Schaltplan malen ist es wie mit dem Schreiben: du musst erst mal 
viel von Anderen lesen, dass du lernst, wie man etwas so formuliert, das 
es sich gut liest. Und genau das Selbe ist es bei Schaltplänen auch: 
lies andere Schaltpläne. Welche lesen sich flüssig und eindeutig? Welche 
werfen Frage auf oder lassen Unklarheiten? Und warum?

(**) siehe https://de.wikipedia.org/wiki/Masse_(Elektronik)
"Zeichen 02-15-04 nach DIN EN 60617-2 für Masse, wenn keine Unklarheit 
besteht"
Angehängte Dateien:
Gast #6975222
Lesenswert?

Lothar M. schrieb:
> Und wenn du als GND-Symbol nicht das "Erde" bzw. PE-Symbol, sondern das
> allgemein verwendete GND mit einem einzigen Strich nimmst (**), dann
> brauchst du weniger Platz und kannst mehrere davon einsetzen

Hierzulande übrig. Wieso man bei einem (vermutlichen?) Hobbyisten darauf 
besteht, dass er die deutschen (oder europäischen?) Symbole benutzt und 
noch weiß, was die unterschiedlichen Masse-Symbole bedeuten, erschließt 
sich mir nicht so ganz. Mit den amerikanischen Konventionen muss man 
doch auch klarkommen. Und im Hobby kann ich es mir gut vorstellen, dass 
es praktikablen ist, selbst auch amerikanisch zu zeichnen.
Moderator (Firma: Titel) Persönliche Seite #6975230
Lesenswert?

N00B schrieb:
> Wieso man bei einem (vermutlichen?) Hobbyisten darauf besteht,
> dass er die deutschen (oder europäischen?) Symbole benutzt
Simple Gegenfrage: warum sollte er sie nicht nehmen? Welchen Vorteil hat 
es, die üblichen Symbole nicht zu nehmen?

> und noch weiß, was die unterschiedlichen Masse-Symbole bedeuten,
Jetzt weiß er, dass es unterschiedliche Symbole gibt und kann sich 
dahingehend aufschlauen.

> erschließt sich mir nicht so ganz.
Nenn es einfach "Lernen".
Gast #6975274
Lesenswert?

Lothar M. schrieb:
> N00B schrieb:
>
>> Wieso man bei einem (vermutlichen?) Hobbyisten darauf besteht,
>> dass er die deutschen (oder europäischen?) Symbole benutzt
>
> Simple Gegenfrage: warum sollte er sie nicht nehmen? Welchen Vorteil hat
> es, die üblichen Symbole nicht zu nehmen?

Ich störe mich etwas an „die üblichen“, die Linien-Rs sind noch deutlich 
üblicher, würde ich behaupten; nur halt nicht hierzulande. Und 
Konsistenz zu den eigenen Lehrmaterialien (Appnotes, Schaltpläne aus dem 
Internet) ist IMO schon ein Argument.

Den Hinweis auf europäische Schaltzeichen halte ich für gut und richtig, 
aber vielleicht nicht in der Absolutät.

>> und noch weiß, was die unterschiedlichen Masse-Symbole bedeuten,
>
> Jetzt weiß er, dass es unterschiedliche Symbole gibt und kann sich
> dahingehend aufschlauen.
>> erschließt sich mir nicht so ganz.
>
> Nenn es einfach "Lernen".

Ja, da stimme ich dir zu, wobei das Symbol mit den drei Strichen im 
amerikanischen (und ursprünglich hatte der Schaltplan ja die Konvention) 
auch anders genutzt wird.

--

Für meine Schaltpläne bekomme ich lustigerweise auch hin und wieder zu 
hören, dass wie unleserlich sie seien, weil sie so lange (aber 
kreuzungsfreie und gerade) Leitungen beinhalten und kaum Labels benutze 
und die Schaltung nicht „zerteilt“ ist. Und wenn man sich die 
Schaltpläne im Internet so anschaut, scheint es eine ganze Menge 
Befürworter:innen dafür zu geben. In Appnotes großer Hersteller ist das 
anders, ja.
Gast #6976130
Lesenswert?

Sebastian schrieb:
> Ich verstehe die Beschaltung von INTn des W5500 nicht. Warum wird INTn
> nicht an den 328P geführt?

Weil man den Interrupt-Status auch über das serielle Interface abfragen 
kann. Auf Ereignisse vom netzwerk muss man ja nicht unbedingt in einer 
echten ISR reagieren. Das Timing ist da ziemlich entspannt.

> Braucht man R18 überhaupt?

Vermutlich nicht

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