Hallo zusammen Ich habe eine Platine entworfen, die einen Arduino Nano 33 ioT beherbergt (da bei diesem alle benötigten Teile schon sauber montiert vorhanden sind), und die unter anderem die Temperatur eines Schrankes überwachen und gegebenenfalls eine Lüftung anwerfen soll. Die Temperatursensoren werden dabei über einen analogen Multiplexer abgefragt, die Zündungscontroller der Fans sind direkt am Mikrocontroller angeschlossen. Allerdings macht diese Platine Probleme, die meiner Vermutung nach hardwarebedingt sind. Was funktioniert: Die Temperatursensoren messen die Temperatur und geben sie auf dem Display aus. Über einen Potentiometer, der ebenfalls am Mux hängt, kann ich einen Wert zwischen 0 und 100 einstellen und ebenfalls auf dem Display ausgeben. Ein am Mux angehängter Knopf kann zu Testzwecken eine LED ein- und ausschalten. Die Fans können per digitalWrite (ein/aus) oder analogWrite (PWM Ansteuerung) ein und ausgeschaltet werden. was nicht funktioniert: Versuche ich per PWM mit halbem Dutycyle die Lüfter langsam drehen zu lassen, zeigt sich die Fehlfunktion sofort. Schalte ich sie nur temperaturabhängig eine Zeit lang ein und dann wieder aus, dauert es einige Stunden, bis die Fehlfunktion auftaucht. Diese sieht folgendermassen aus: die Werte, die ab dann vom Mux zurück kommen, sind allesamt 0, egal wie die Adressierung lautet. Der Code scheint aber noch ausgeführt zu werden, denn die TestLED kann ich mit dem Knopf noch ein- und ausschalten. Den Enablepin einmal high und wieder low zu schalten bringt nichts. Seltsamerweise schafft auch ein Reset der Arduinoplatine keine Abhilfe. Wenn ich das externe Netzteil entferne funktioniert die Logik und Anzeige wieder, während der uC per USB versorgt wird, die Lüfter jedoch natürlich nicht, da sie über das Netzteil versorgt werden. Trenne ich das Board eine Zeit lang komplett von Strom und Computer, funktioniert danach wieder einige Zeit lang alles. Evtl. funktioniert ausserdem delayMicroseconds(xxx) nach Eintreten der Fehlfunktion nicht mehr (funktioniert mit einem hardware-Timer), müsste ich allerdings genauer austesten. In der Software kann ich keinen Fehler finden. Ausserdem lässt mich die Sache mit dem Netzteil eher an einen Hardwarefehler denken. Mein Hauptverdacht fällt auf die Versorgungsleitung auf Screenshot 1, die einige Pins des Mux auf der Rückseite der Platine kreuzt. Könnte dies bei schnellem Ein- und Ausschalten zu Problemen führen? Elektromagnetische Induktion oder so Zeug...? Die Leitung sollte eigentlich nicht mehr als 160mA bei 12V führen. Ebenfalls unter Verdacht stehen die Kondensatoren an VDD (3.3V) des Motortreibers, die ich mit 100nF bemessen habe und gemäss dem angehängten Datenblatt des Motortreibers wohl auch auf 0.47uF erhöht werden könnten. Link Datenblatt Motortreiber: https://www.diodes.com/assets/Datasheets/ZXBM5210.pdf Link Datenblatt Multiplexer: https://www.diodes.com/assets/Datasheets/ZXBM5210.pdf Ich lasse euch mal meinen Code und und mein Platinendesign hier. Würde mich über euer Mitdenken sehr freuen! Hardwarespezifikationen zu den verbauten Teilen oder Datenblätter kann ich nachliefern, wenn jemand etwas brauchen sollte. btw.: Leiterbahnen, die scheinbar ins Nichts führen, sind mit GND verbunden (Polygon, dass die Restfläche auffüllt). Vielen Dank im Voraus und Gruss Hitsuji
Schaltpläne besser als PDF exportieren, dann kann man beliebig zoomen und die Schrift ist viel besser lesbar. Ich sehe da keinerlei Versorgungsanschlüsse, Spannungsregler, Abblockung, Schutzbeschaltung.
Peter D. schrieb: > Ich sehe da keinerlei Abblockung sehr lange Wege, der TO verlässt sich zu sehr auf die auf dem nano verbauten Teile. Auch hier muss man mal wieder betonen: An jeden VCC nach GND ob IC oder Modul gehören nah Abblockkondensatoren, das ist nichts wo man sparen müsste! https://de.wikipedia.org/wiki/Blockkondensator https://rn-wissen.de/wiki/index.php/Abblockkondensator Beitrag "Im Detail betrachtet: Abblockkondensatoren" https://www.elektronik-kompendium.de/news/thema/abblock-kondensator/
Hitsuji schrieb: > Link Datenblatt Multiplexer: > https://www.diodes.com/assets/Datasheets/ZXBM5210.pdf Das ist der falsche Link. Du könntest auch einfach statt "Value" die Bauteilbezeichung in den Schaltplan schreiben, dann kann man selber suchen. > sind mit GND verbunden (Polygon, dass die Restfläche auffüllt). Du zerschneidest dieses Polygon aber beliebig mit Leiterbahnen. Das ist letztlich nicht 1 Masse, sondern das sind viele kleine Massen, die irgendwie zusammengeschaltet sind. So ein Mux ist übrigens was zutiefst Analoges, da kann man mit dem Multimeter messen, ob tatsächlich ständig 0 herauskommt...
:
Bearbeitet durch Moderator
Hey! Vielen Dank für die Antworten! PDF hänge ich euch an. Datenblatt hab ich zweimal das selbe erwischt, sorry. Hier das richtige für den Multiplexer: https://www.ti.com/lit/ds/symlink/cd74hc4067.pdf?HQS=dis-mous-null-mousermode-dsf-pf-null-wwe&ts=1630488998692 Die Versorgungsleitung ist die dicke, mit VDD beschriftete Leitung. Oben rechts führt sie zu einem Schraubblock, wo ein 12V 1A Netzteil dran hängt (https://www.mouser.ch/datasheet/2/670/smi12-1878671.pdf). Diese versorgt die Motortreiber mit 12V und genügend Stromstärke und die Arduinoplatine am Vin Pin. Die Arduino Platine hat eine Wandlungsschaltung integriert, welche ich für die Versorgung der restlichen Bauteile nutze. Auf der 3.3V Seite habe ich mich tatsächlich voll und ganz auf die Arduinoplatine verlassen, die sollte aus bis zu 21V saubere 3.3V machen. Dachte, besser als die kann ich das eh nicht ;) Zu den Abblockkondensatoren: Danke für die Links! Vor der Arduinoplatine habe keine Kondensatoren platziert, könnte ich aber noch nachrüsten, wenn ihr mir das empfehlt. Bei den Strommess-ICs (unten links im Schaltplan) hab ich sie total vergessen, mal kucken, was ich da noch machen kann, aber im Moment sind die sowieso noch abgeschaltet und sollten nicht für das Problem verantwortlich sein. Beim Multiplexer und den beiden Motorzündungscontrollern habe ich jeweils 100nF nah am IC platziert. Sollte ich da was ändern? Sollte ich allenfalls direkt nach dem Netzteil, also beim Schraubblock auch noch etwas hinzufügen? Oder vor den Steckverbindern, wo die Fans angeschlossen werden? Grüsse und vielen Dank für die Hilfe!
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.