Hallo, ich bin ganz neu hier und bin dabei mich in die Themen Elektronik und Mikrocontroller einzuarbeiten. Leider bin ich lediglich ein Maschinenbau Ingenieur und nicht allzu erfahren mit Schaltungsentwicklung. Mein Projekt ist ein Smartes Gewächshaus. Als Grundlage der Elektronik dient ein ESP32 Node-MCU, der mit Sensoren für Luftfeuchte, Luftdruck, Lufttemperatur, Erdfeuchte und Helligkeit verbunden ist. Weiterhin sollen ein PC-Lüfter, eine Wasserpumpe und eine 230V LED-Pflanzenleuchte vom ESP gesteuert werden. Mit der Programmierung bin ich weitestgehend fertig und habe inzwischen ein Html-Webinterface zur Bedienung mit sämtlichen Sensorwerten und Aktorsteuerelementen. Versuchsweise habe ich alles an einem Breadboard aufgebaut und die Funktionen waren auch gegeben. Das nächste Ziel wäre das Design einer Platine. Wie ich jedoch anfangs dargestellt hatte, bin ich leider kein Profi und wäre sehr dankbar für ein Feedback bzw. Verbesserungsvorschlägen zu meiner Schaltung und vor allem für Hinweise bei groben Schnitzern. Im Anhang befinden sich ein Schaltplan (wenn man es so nennen kann) und eine Liste der angedachten Bauteile. Vielen Dank und schöne Ostern! Marc
Lern als erstes Schaltbilder zu zeichnen. Solche Suchbilder wie im Anhang sind zwar modern, taugen aber zum Verständnis nicht mehr als eine Verdrahtungsliste. Wozu brauche ich eine Zeichnung, wenn ich doch jede Verbindung suchen muß?
Ich nehme an, dass die Schaltung aufgebaut, getestet wurde und funktioniert. Die Adressen des Temperatursensors und des Helligkeitssensors müssen unterschiedlich sein. Ich würde mich vergewissern, dass der ADDR Pin des Helligkeitssensors einen internen Pullup oder Pulldown hat. Sonst müsste der Eingang beschaltet werden. Ich nehme weiters an, dass die Submodule verwendet werden und die zu entwickelnde Leiterplatte, ausgenommen Netzteil, nur als Trägerplatine dient. Dann sollten in der Schaltung die Steckverbindungen (Stecker) eingezeichnet werden. Wichtig bei der Platzierung des ESP32 ist es, dass die Antenne über den Leiterplattenrand heraus ragt, sonst gibt es Einbusen bei der Reichweite. Ich gehe davon aus, dass der ESP32 die 3,3V liefert. Dann ist die Richtung des Symbols am Pin 19 des ESP32 verkehrt gezeichnet. Ergänzung zum vorangegangen Post : Bis auf GND, Vcc (5V) und 3,3V sollten nach Möglichkeit alle Verbindungen gezeichnet werden. Für GND und Spannungsversorgungen gibt es spezielle Symbole.
Ich würde TX/RX mit VCC/GND noch auf eine Stiftleiste legen, so kann man auch mal etwas debuggen.
Marc U. schrieb: > Das nächste Ziel wäre das Design einer Platine. Na, dann zeig mal her :-) Schau Dir die Module genau an, was Pullups an SCL/SDA angeht. Du solltest alle Pullups von den Modulen löten, da der NodeMCU schon welche hat. P.S.: Muss EN nicht beschaltet werden?
:
Bearbeitet durch User
Vielen Dank für die Rückmeldungen! Dass die Schaltbilder nicht professionell oder gar normgerecht sind, hatte ich leider erwartet und hoffe mich bald zu verbessern. Ich habe jetzt nochmals eine Version erstellt, die die Steckverbinder und sämtliche Verbindungen enthält. Die Adressen der I2C Sensoren sind tatsächlich bereits unterschiedlich und ich kann diese bereits auf dem Breadboard lesen. Die Platine enthält nur die Stromversorgung und die Steckverbindungen für die anderen Module (im neuen Schaltplan sind die Elemente der Platine rot gestrichelt eingerahmt). Die Pullup Widerstände werde ich von den Modulen entfernen, vielen Dank für den Hinweis. EN muss in meinem Fall nicht beschaltet werden, der ESP hat hier schon einen Taster. Tatsächlich besteht die größte Unsicherheit bei der Stromversorgung, da ich diese nicht getestet habe und auf ein anderes Netzteil zurückgegriffen habe. Könnte das so funktionieren? Vielen Dank nochmals und ich freue mich auf weitere Anregungen. Grüße Marc
Hallo, wenn Du nur die beiden Sensoren am I2C dran hast, laß die PullUp wie sie sind. Üblicherweise sind da 4,7k oder 10k drauf, das passt also. Leiterplatten mache ich persöhnlich für sowas nicht, endet bei mir auf einer passend großen Lochraster mit den Buchsenleisten und den paar Teilen und wird handverdrahtet. Sind hier normalerweise Einzelstücke und außerdem kann man gut nachträglich was ändern. Schätz mal die Stromaufnahme der 5V Schiene ab, 200mA und (12-5) = 7V sind für den 7805 schon 1,4W, also Kühlkörper einplanen oder China StepDown. Pass auch auf der 230V Seite auf die Abstände auf, wenn das Netztel selbst keine hat, plane eine übliche Feinsicherung mit ein. Bei mir würde es wohl mit einer Buchse für die 12V enden und einer üblichen Wandwarze 12V/2A oder was nötig ist, die bleiben sowieso immer bei alten externen Festplatten o.ä. übrig. Beim BME280 pass mit der Anordnung auf, der stört sich auch an geringen Wärmequellen in mehreren cm Abstand noch, außerdem möglichst im ForcenMode nutzen und nicht allzu oft auslesen. BH1750 habe ich auch im Einsatz, die sind unkritisch. NodeMCU nehme ich nur noch hier zum Testen, im Einsatz nur noch den D1 mini, ist kleiner... Gruß aus Berlin Michael
:
Bearbeitet durch User
Marc U. schrieb: > Ich habe jetzt nochmals eine Version erstellt, die die Steckverbinder > und sämtliche Verbindungen enthält. Deine Schaltplanzeichenkünste kannst du noch weiter verbessern, indem du dir angewöhnst, den Signalfluss möglichst in Leserichtung von links nach rechts entsprechend dem EVA-Prinzip zu gestalten, also Eingänge/Sensoren links, Verarbeitung (µC) in der Mitte und Ausgänge/Aktuatoren rechts. Symbole für Versorgungsspannungen findest du in Eagle in supply1.lbr und supply2.lbr Um beispielsweise die ganzen Steuerleitungen für den L293D im Schaltplan optisch zusammen zu fassen, bietet sich in Eagle ein Bus zwischen µC und Treiber an. Wasserpumpe und Lüfter sollen wahrscheinlich immer in die selbe Richtung drehen. Ein Anschluss kann dafür fest an der Versorgung hängen, i.e. die brauchen nicht jeweils zwei Outputs des L293D.
p.s. C2 muss dicht an den ESP32. DAS ist der Stromverbraucher mit den Impulslasten. Anstelle des Linearreglers für die 5V-Stromversorgung könnte man wegen der geringeren Verlustleistung (und der Wärmeempfindlichkeit des Temperatursensors) auch einen kleinen DC/DC-Wandler nehmen, z.B. https://www.ebay.com/itm/201986971015
Marc U. schrieb: > Ich habe jetzt nochmals eine Version erstellt, Die Version ist schon deutlich besser, aber ... Gerald K. schrieb: > Bis auf GND, Vcc (5V) und 3,3V sollten nach Möglichkeit alle > Verbindungen gezeichnet werden. Für GND und Spannungsversorgungen gibt > es spezielle Symbole. ... das ist die Ausnahme von dem Wunsch, alle Signale wirklich zu zeichnen. Denn diese Verbindungen verwirren mehr als sie für das Schaltungsverständnis helfen.
Irgendwie kann ich nicht den Vorteil erkennen, den der überarbeitete Schaltplan haben soll. Den ursprünglichen Schaltplan mit den Labels fand ich persönlich völlig klar und übersichtlich, der überarbeitete Schaltplan mit den ganzen Verbindungen hingegen erinnert mich an eines dieser Rätsel, bei dem man in einem Wirrwarr von Linien eine bestimmte Linie vom Start bis zum Ende verfolgen soll. Und das, obwohl diese Schaltung hier ja ziemlich simpel und das Relais-Modul bei der überarbeiteten Version irgendwie verschwunden ist. Lediglich die Wahl der Labels fand ich im ursprünglichen Schaltplan etwas suboptimal: Statt bspw. die Signalleitung, über die die gemessene Feuchtigkeit an den µc übertragen wird, "ESP 34" zu nennen (nach dem GPIO-Pin des µc, an den sie angeschlossen ist), hätte ich da als Label sowas wie "MOISTURE" benutzt, damit man sofort sieht, wozu diese Leitung da ist. Ansonsten noch zwei Gedanken zum eigentlichen Schaltung: 1. Warum ein vglw. teurer L293, um einen PC-Lüfter und eine Pumpe anzusteuern? Und dafür dann auch noch gleich sechs GPIO-Pins verschwenden? Sowohl PC-Lüfter als auch Pumpe werden doch wohl nur in eine Richtung betrieben. Warum also H-Brücken, wenn für beide Komponenten doch eigentlich je eine Leitung zum Ansteuern genügt. Ein billiger ULN2803 oder so würde hier vermutlich genügen, und man könnte damit sogar noch bis zu sechs weitere Sachen steuern. 2. Im überarbeiteten Schaltplan wurde entsprechend eines Verbesserungsvorschlages nun eine Pinleiste für serielle Kommunikation eingebaut, zum Debugging etc. Die ist im Grunde aber unnötig, Du verwendest ja eine komplette NodeMCU-DevKit-Platine, da dafür bereits eine USB-Schnittstelle eingebaut hat.
Joachim schrieb: > der überarbeitete > Schaltplan mit den ganzen Verbindungen hingegen erinnert mich an eines > dieser Rätsel, bei dem man in einem Wirrwarr von Linien eine bestimmte > Linie vom Start bis zum Ende verfolgen soll. Darum: Wolfgang schrieb: > Um beispielsweise die ganzen Steuerleitungen für den L293D im Schaltplan > optisch zusammen zu fassen, bietet sich in Eagle ein Bus zwischen µC und > Treiber an.
Wolfgang schrieb: > Joachim schrieb: >> der überarbeitete >> Schaltplan mit den ganzen Verbindungen hingegen erinnert mich an eines >> dieser Rätsel, bei dem man in einem Wirrwarr von Linien eine bestimmte >> Linie vom Start bis zum Ende verfolgen soll. > > Darum: > > Wolfgang schrieb: >> Um beispielsweise die ganzen Steuerleitungen für den L293D im Schaltplan >> optisch zusammen zu fassen, bietet sich in Eagle ein Bus zwischen µC und >> Treiber an. Ja, aber im vorliegenden Fall sind die ganzen Steuerleitungen für den L293D doch eh unnötig. Wie Du ja selbst bereits geschrieben hast, werden sich PC-Lüfter und Pumpe doch wohl eh nur in eine Richtung drehen, es genügt für beide Aktoren also eigentlich je eine Leitung zum µc, nämlich das Enable-Signal. Die vier Input-Leitungen könnte man fest auf Masse bzw. 3.3V legen. Anyway, ich würde wirklich gerne verstehen, was bei der vorliegenden Schaltung der Vorteil davon sein soll, alle Verbindungen in Form von Linien einzuzeichnen, statt sinnvoll benannte Labels zu verwenden. Ich will wohlgemerkt nicht behaupten, dass es keine sehr guten Gründe dafür gibt. Ich habe vielmehr einfach nur vglw. wenig Erfahrung mit Schaltungsentwurf, und möchte daher einfach verstehen, welche Vorteile das haben soll; für mich als Laien sieht der ursprüngliche Schaltplan viel übersichtlicher und verständlicher aus.
Joachim schrieb: > Anyway, ich würde wirklich gerne verstehen, was bei der vorliegenden > Schaltung der Vorteil davon sein soll, alle Verbindungen in Form von > Linien einzuzeichnen, statt sinnvoll benannte Labels zu verwenden. Dann sieht man zum Beispiel direkt, dass da einige Teile parallel an den selben Leitungen hängen (Bus Wenn du noch die Leserichtung wie empfohlen änderst, sieht er viel besser aus. Denn wir alle werden schon in der Grundschule darauf getrimmt, von links nach rechts und oben nach unten zu lesen.
Stefan ⛄ F. schrieb: > Joachim schrieb: >> Anyway, ich würde wirklich gerne verstehen, was bei der vorliegenden >> Schaltung der Vorteil davon sein soll, alle Verbindungen in Form von >> Linien einzuzeichnen, statt sinnvoll benannte Labels zu verwenden. > > Dann sieht man zum Beispiel direkt, dass da einige Teile parallel an den > selben Leitungen hängen (Bus Dass das bei Bussen eine vorteilhaftere Darstellung sein kann, leuchtet mir durchaus ein. Aber im vorliegenden Fall gibt es doch gerade mal zwei kleine Sensoren an einem I2C-Bus. Der Nachteil, dass bei den zahlreichen anderen Leitungen (die ja allesamt Versorgungsleitungen oder Ende-zu-Ende-Leitungen sind, die an fast beliebigen GPIO-Pins des ESP32 anliegen könnten) die Darstellung dafür unübersichtlicher ist, überwiegt da meiner Meinung nach unter'm Strich.
Joachim schrieb: > Anyway, ich würde wirklich gerne verstehen, was bei der vorliegenden > Schaltung der Vorteil davon sein soll, alle Verbindungen in Form von > Linien einzuzeichnen, statt sinnvoll benannte Labels zu verwenden. Der Nachteil dieser graphisch unterstützten Netzlisten ist, dass man sich zum Auffinden des Gegenstücks zu einem Label erstmal labellesenderweise durch den ganzen Schaltplan hangeln muss, weil es keine Linie gibt, die einen dort hin führt. Du als Erfinder der Schaltung weisst - zumindest jetzt noch - wie alles zusammen gehört, ein Außenstehender erstickt im Labellesen. Wie du selbst siehst, sind auf der andere Seite Drahtverhaue von Netzlinie, wie du sie bei deinem "Motor Driver" erzeugt hast, als "Fernverbindung" zu anderen Baugruppen auch nicht hilfreich - darum die Zusammenfassung zu einem Bus. Der Bus sagt wo es hin geht und die Label an den Buseinleitungen verraten die Details.
Wolfgang schrieb: > Joachim schrieb: >> Anyway, ich würde wirklich gerne verstehen, was bei der vorliegenden >> Schaltung der Vorteil davon sein soll, alle Verbindungen in Form von >> Linien einzuzeichnen, statt sinnvoll benannte Labels zu verwenden. > > Der Nachteil dieser graphisch unterstützten Netzlisten ist, dass man > sich zum Auffinden des Gegenstücks zu einem Label erstmal > labellesenderweise durch den ganzen Schaltplan hangeln muss, weil es > keine Linie gibt, die einen dort hin führt. Das leuchtet mir grundsätzlich sofort ein. In vielen oder den meisten Schaltungen ist es offensichtlich einfacher/vorteilhafter, einfach einer Verbindungslinie zu folgen, statt im ganzen Schaltplan nach allen Vorkommen des gleichen Labels suchen zu müssen. Aber bei vielen Mikrocontroller-Schaltplänen wie dieser hier ist die Lage imho etwas anders. Denn hier gibt es doch nur eine Reihe von modularen Sensoren/Aktoren, deren Schnittstelle eigentlich nur aus zwei Arten von Leitungen besteht: - Versorgungsleitungen, bei denen ja allgemeiner Konsens zu sein scheint, dass da Labels/Symbole sinnvoller als Verbindungslinien sind - Daten-/Steuer-Leitungen, an deren einem Ende der entsprechende Sensor-/Aktor, und an deren einzigem anderen anderem Ende ein (häufig: beliebiger) GPIO-Pin des immer gleichen Mikrocontrollers hängt. In der Praxis wird man da eh nicht lange nach Labels suchen, das gesuchte Label befindet sich an einem der IO-Pins des Mikrocontrollers. Kurzum, ich sehe ein, dass Linien häufig sinnvoller sind, z.B. bei Bussen etc. Aber bei sternförmigen Punkt-zu-Punkt-Verbindungen von und zu einem zentralen Mikrocontroller erscheinen mir Labels unter'm Strich vorteilhafter.
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.