Hallo zusammen!
Ich bin gerade dabei, mir eine kleine Platine mit einem Arduino Pro Mini
und einem W5500 Modul zu machen.
Zusätzlich ist ein RECOM Spannungsregler auf 3V3, eine Klemme für die
Versorgung und ein Anschluss für 2 Sensoren drauf.
Funktioniert alles eigentlich sehr gut, auch im Dauerbetrieb.
Mein (derzeit einziges) Problem ist, dass der Bootvorgang nicht
zuverlässig funktioniert.
Manchmal gehts, und manchmal muss ich die Reset Taste drücken. Durch
drücken der Resettaste startet die Schaltung immer.
Ich hab natürlich schon viel gelesen und gegoogelt, auch hier, aber eine
Richtige Lösung hab ich nicht gefunden.
Kann mir bitte einer einen Tipp geben, wie ich die Schaltung beim
Power-On zuverlässig starten kann?
Diagramm des W5500 Moduls, des Arduinos, sowie mein Schaltplan im
Anhang.
Danke
Martin
martin schrieb:> Kann mir bitte einer einen Tipp geben, wie ich die Schaltung beim> Power-On zuverlässig starten kann?
Ohne deinen Aufbau zu kennen ist das schwer zu sagen.
Eines ist aber sicher: auf dem zweiten Blatt des Schaltplans
kennst du plötzlich das magische Wort "Abblock-Kondensator"
nicht mehr. Sowohl Spannungsregler als auch andere Teilnehmer
werden darunter leiden.
Auch deine Energiequelle gehört zum Schaltplan, wenn die nichts
taugt, dann die ganze Schaltung auch nicht. Die W5500 brauchen
eine ganze Menge Strom!
Energiequelle ist ein MeanWell HDR-15-12 (12V/1,25A) welches über einen
passiven PoE Einspeiser die Spannung auf einem Cat5 Kabel mitüberträgt.
Die 4 Adern für Versorgung sind auf der Bordseite nicht im RJ Stecker
aufgelegt sondern gehen auf die +/- Klemme und dann in den RECOM
Spannungsregler.
Abblockkondensator sagt mir leider nichts. Ich versuche nur, die beiden
gekauften Platinen auf eine gemeinsame zu bringen/löten, damit ich mir
die fliegende Verkabelung sparen kann.
Ich bin natürlich auch für jede weitere Anregung zur "Qualität" der
Schaltung, bzw deren Verbesserung dankbar.
Das Problem mit dem nicht starten der Schaltung habe ich jedoch auch am
Labornetzteil wenn direkt versorgt.
Ist das auch die 3,3V-Version des Arduinos und ist der "Power Isolation
Jumper SJ1" getrennt?
Tritt das Problem nur im Zusammenhang mit dem W5500-Modul auf oder auch
nur mit dem Arduino und einem "Blinkprogramm"?
Ja, ist die 3V3 Version und ja, tritt nur mit dem W5500 auf.
Ich bin auf das Problem auch schon öfter im Internet gestossen, es hat
nur niemand eine ordentliche Lösung gehabt.
Anscheinend hilft, den Reset bei Power-On etwas länger LOW zu halten,
aber wie geht das? Dann würden doch beide Module resetted wenn die
Versorgung stabil ist, oder?
Hallo,
hast Du mal einfach im Sketch im setup();am Anfang ein delay(2000); oder
so eingefügt? Ich habe irgendwie den Verdacht, daß die Module nach
Poweron ziemlich lange brauchen, bis sie ansprechbar sind.
Gruß aus Berlin
Michael
Bei den W5100-Shields gab es teilweise das Problem, dass der
Reset-Impuls vom Arduino zu kurz war. Als schnellen Hack soll man 100nF
parallel zum Resetknopf des Ethernet-Shields löten, was das Problem
behebt. Vielleicht hilft das beim W5500 auch.
P.S.: Ich sehe gerade, dass Dein Ethernet-Shield gar keinen eigenen
Reset-Knopf hat. Dann müsstest Du den extra Kondensator parallel zu
C3(?) löten. Oder besser noch den Reset-Eingang des Shields auf einen
Portpin vom Arduino legen und softwaremäßig einen Reset erzeugen.
vielen Dank Mario!
Das mit dem resetten vom W5500 über Applikation funktioniert.
Drei Fragen bleiben offen:
- da der Resetpin ja über den Widerstand auf 3V3 hängt, muss ich mir
über den Strom, der über den digitalen Pin fließt, wenn dieser HIGH ist,
keine Sorgen machen, oder?
- Kann mir bitte jemand sagen, was ich am RECOM DC/DC Konverter bzw.
generell bei meiner Schaltung hinzufügen sollte, damit das Ganze in
Ordnung ist?
- Kann ich die I2C Pullups am Arduino board bestücken (Nähe A4&A5 sind
Lötpads vorhanden, oder sollen die zum Sensor. (Am I2C hängt ein BME280)
Danke!
1) Bei High fließt kein Strom. Du kannst aber zwischen Arduino und W5500
einen 100 Ohm Angstwiderstand einbauen, damit der Strom beim Umschalten
auf Low begrenzt wird. Der Arduino muss dabei ja den Reset-Kondensator
des W5500 entladen.
2) Im Datenblatt der Recom-Wandler kann ich nichts darüber finden, dass
Kondensatoren an den Anschlüssen vergeschrieben sind. Also sollte es
auch ohne funktionieren.
3) Wenn das Kabel zum Sensor nicht übermäßig lang ist, spielt die
Position der Terminierung keine Rolle. Üblicherweise wird der Master
terminiert.
https://telefab.fr/lab/media/datasheet/w5500_ds_v105e_141111.pdf
der Impuls muss min 500µS lang sein und der w5500 braucht 1ms bis der
PLL gelockt ist. Also tatsächlich etwas delay einbauen ;)
Ich habe damals 2ms eingebaut, das hat immer funktioniert. Zumal auch
die PHY etwas braucht er sie den link erkennt.
Etwas Obacht mit der Stromversorgung, das Modul sieht relativ viel
Strom..
Der Schaltregler den ich gewählt habe, sollte aber reichen, oder?
https://at.rs-online.com/web/p/products/7773291/
Muss ich den noch extern beschalten? Wie gesagt, die 12V kommen von
einem MeanWell Hutschienennetzteil
Mein handgelöteter Aufbau funktioniert und es wird auch nix wärmer als
lauwarm...