Projekt: Heizung Steuerung mit ESP8266 + 28BYJ + MCP16301

OP #7526472
Lesenswert?

Guten Tag zusammen!

In einem anderen Thema habe ich schon einige Fragen zum MCP16301 beantwortet bekommen.

Nun habe ich mich entschlossen das "ganze" Projekt hier zur Schau zu stellen, durchaus im Bewusstsein, das so Einige nur den Kopf schütteln werden.

Situation ist folgende :

1.) Sensor: Es gibt mehrere ESP, welche die Raumtemperaturen in Abständen überwachen. Hierbei handelt es sich um ein NodeMCU Board mit DS18B20 Sensor. Versorgt wird die Schaltung von einer 18650 Zelle.

2.) Der Aktor: Diese Seite soll die Heizung bzw. einen Schrittmotor steuern. Auf dem Steckbrett mit dem nötigsten aufgebaut funktioniert auch dies super. Hier gibt es nur den ESP, den A4988 Driver und VIN = 12V auf dem Steckbrett. Nun muss eine "bessere" Schaltung und eine Platine her.

Features bis jetzt:

  • 3 Versorgungseingänge unabhängig von einander. 1.- max 30V DC in -> Regelung durch MCP16301 2.- Akkubetrieb (2x 18650 in Reihe) -> Regelung durch MCP16031 3.- Backup -> Max 12V DC -> AMS1117 des NodeMCU nutzen

  • Batteriespannung messen, Verbindung trennbar durch Jumper für DC IN > 8.4V

  • Schrittmotor ebenfalls verschieden versorgbar über Jumper.

  • MCP16031 Ausgang trennbar (Bei Nutzung des AMS1117).

  • EEPROM 24LC32 zum Speichern der Motorposition um Flash vom ESP zu schonen. (verhindern von mehrmaligem auf/zu nach Stromunterbrechung / Wakeup aus DeepSleep)

RS vom A4988 hab ich auf Masse ziehen müssen, mit R4, weil der Motor fiept, sobald der ESP in DeepSleep geht. Bei 12V R4=4k7, bei 8V4 R4=820R.

Dieses Verhalten ist mir nicht ganz schlüssig, muss mit dem Pinzustand im Deepsleep zusammenhängen. Wenn der ESP wach ist, ist alles i.O. Scheint als wäre softwareseitiges Runterziehen im DeepSleep nichtmehr wirksam.

Mechanik für den Aktor, sowie die Batteriehalter sind selbst entworfen und 3D-gedruckt, falls sich jemand über die Batteriehalterfootprints, oder die Verwendung des Motors wundern sollte.

Würde mich freuen, wenn jemand Verbesserungsvorschläge hat, Anmerkungen, etc. Vorallem gehts hier um Teil 2, also den Aktor. Die Sensorseite funktioniert soweit prima.

LG, Marcel

Angehängte Dateien:
#7526544
Lesenswert?

Marcel B. schrieb:

Yes, muss ich. Sonst könnte ich auch gleich eine Leitung zu jeder Heizung legen. Leider keine Steckdosen in der Nähe.

Hast Du einen Heimserver?

Ich würde auf Grund der Batteriethematik kein WLAN sondern z.B. Homematic-Sensoren nehmen Auch hierfür gibt es Selberbauprojekte https://asksinpp.de/

Für die Steuerung würde ich statt ESP8266 einen ESP32 nehmen

#7526560
Lesenswert?

Ist es Absicht dass der Pin D0 bei dem Schematic zum Actor der Pin D0(GPIO16) vom NodeMCU mit dem Reset des NodeMCU verbunden ist anstatt dem A4988-Stepper Motor Treiber? Am Pin D0(GPIO16) hängt nämlich das Flag "RST". Genau so am Reset-Pin des NodeMCU - da hängt auch das Flag "RST". Am Reset-Pin des A4988 hängt aber das Flag "RS". Und im Gegenzug ist derzeit der Reset-Pin des A4988 mit nichts verbunden. Zumindest habe ich in diesem grässlichen Suchspiel kein korrespondierendes Flag mit "RS" gefunden.

OP #7526580
Lesenswert?

Andreas M. schrieb:

Layout Aktor? (Wegen dem Schaltregler)

Da sitze ich gerade dran, ein erster Entwurf sollte bis heute Abend stehen.

Stefan S. schrieb:

Am Pin D0(GPIO16) hängt nämlich das Flag "RST". Genau so am Reset-Pin des NodeMCU - da hängt auch das Flag "RST". Am Reset-Pin des A4988 hängt aber das Flag "RS".

Ja, die Verbindung wird benötigt um den ESP aus dem Tiefschlaf zu holen. D0 gibt nach Ablauf der Zeit ein Signal aus.

Stefan S. schrieb:

Und im Gegenzug ist derzeit der Reset-Pin des A4988 mit nichts verbunden.

D5 geht an den RS vom Treiber.

Stefan S. schrieb:

Zumindest habe ich in diesem grässlichen Suchspiel kein korrespondierendes Flag mit "RS" gefunden.

Sorry, ich dachte mit Flags ists einfacher.

LG, Marcel

#7526611
Lesenswert?

Marcel B. schrieb:

Stefan S. schrieb:

Und im Gegenzug ist derzeit der Reset-Pin des A4988 mit nichts verbunden.

D5 geht an den RS vom Treiber.

Sicher? Das Flag liest sich im PNG bei D5 viel mehr wie ein "R5" anstatt "RS".

Das ist genau das Problem - man muss manuell suchen und wenn man sich mal verschreibt, dann hat man gleich ein Problem. Bei direkt gezogenen Verbindungen gäbe es kein Rätselraten.

OP #7526632
Lesenswert?

Ach du liebes Lieschen! DANKE, das hab ich selbst nicht gesehen, haha.

Edit: Doch ist RS, keine Ahnung wieso das auf dem Screenshot so aussieht. Aber du hast Recht, sieht wirklich so aus!

Mal ne andere Sache... kann mir jemand verraten was ich da für ein Gehäuse gekauft habe ? https://www.reichelt.de/eeprom-seriell-64-kb-8-k-x-8-i2c-2-5--5-5-v-so-8-24lc64-i-sn-p40079.html?&nbc=1

Im Datenblatt gibts kein SO-8, wenn ich nicht schon wieder was übersehen habe.

LG, Marcel

#7526643
Lesenswert?

Marcel B. schrieb:

Würde mich freuen, wenn jemand Verbesserungsvorschläge hat, Anmerkungen, etc.

Anmerkungen:

So eine eigene Steuerung ist natürlich ein spannendes Projekt. Aber bevor du das in deine Wohnung/Haus einbaust solltest du dir einige Fragen stellen:

  1. Wenn du plötzlich für längere Zeit weg musst oder erkrankst, wer kann diese Steuerung sonst noch bedienen, Akkus nachladen, bei Problemen reparieren?
  2. Was kann passieren wenn du/deine Familie 3 Wochen weg sind (Urlaub). Im Winter kann bei Heizungsausfall ein kapitaler Gebäudeschaden entstehen.
  3. Falls es zu einem größeren Schaden kommt, was macht dann die Haftpflicht/Gebäude/Hausratversicherung?

Ich will dir nicht das Basteln vermiesen, aber man sollte sich doch mal Gedanken machen was die Folgen sein können wenn eine Bastelei versagt.

OP #7526651
Lesenswert?

Stefan S. schrieb:

Aber sicher. SOIC mit 8 Pins.

Du meinst hier Seite 16 ? https://cdn-reichelt.de/documents/datenblatt/A300/24AA64-MIC.pdf

Udo S. schrieb:

Ich will dir nicht das Basteln vermiesen, aber man sollte sich doch mal Gedanken machen was die Folgen sein können wenn eine Bastelei versagt.

Da hast du vollkommen Recht, Urlaub ist bei mir nie, wenn dann Elektronik, so wie jetzt, haha.

Sonst ist meine Frau auch noch da. Selten dass wir mal mehr als einen Tag weg sind.

Falls die Steuerung versagen sollte, kann man jederzeit die Original Thermostatköpfe wieder draufsetzen, die liegen daneben.

LG, Marcel

#7526872
Lesenswert?

Spule um 90° drehen, so dass der Pin 1 so nah wie es geht an den MCP ran kommt. Außerdem die Leiterbahn zwischen MCP, Pin 1 und D2 nicht dicker und länger als nötig, die bildet mit der GND Plane eine Kapazität bzw. eine Antenne und wird mit den 500kHz getaktet. Ich würds nicht breiter als die Bohrung der spule machen.

D2 würde ich auch um 90° Drehen und die Ausgangskerkos unterhalb der Diode platzieren, also zwischen Spule und dem Bauteil links, ebenfalls gedreht. Dann kannst Du zusätzlich zur Groundplane auf der anderen Platinenseite noch eine GND Fläche über D2, C1 und Ausgangskerkos machen, da muss der Strom gar nicht erst durch die Vias

Du hast zwei Strompfade, die möglichst kurz sein müssen:

a) D2->L1->Ausgangskerkos b) C1 -> MCP -> L1 -> Ausgangskerkos

Die Leiterbahnn von L1 zu D1 muss nicht so dick sein und darf auch länger werden. Außerdem sollte es eine eigene Leiterbahn sein, nicht zusammen mit der Feedbackleitung. Der Spannungsteiler muss direkt an den Ausgangskerkos angepappt werden und sollte wirklich eine eigene Leiterbahn haben, nicht mit irgendwas anderem zusammen. Ich würde diese Feedbackleitung dann auch eher links herum um die Schaltung legen, also weit entfernt von allem was taktet.

OP #7526918
Lesenswert?

'Nabend!

Andreas M. schrieb:

a) D2->L1->Ausgangskerkos b) C1 -> MCP -> L1 -> Ausgangskerkos

Danke erstmal! Hab nochmal umgebaut um diesen Kriterien besser zu entsprechen. Nicht ganz was du vorgeschlagen hast, aber vielleicht akzeptabel ?

Außerdem hab ich mal ne Groundplane drum gemacht zur besseren Ansicht.

Edit: Bitte zweites Bild schauen, jetzt ist D1 auch richtig verbunden.

LG, Marcel

Angehängte Dateien:
#7527199
Lesenswert?

Naja ok. Ich würde C4 und C5 noch drehen, so das ground unten ist. Dann hast du eine direkte Verbindung zwischen GND C4,C5 und D1 und C1. Aktuell muss dein C4/C5 GND per VIA auf die andere Seite. dann rüber und dort per VIA wieder nach oben.

Unter die Spule gehört keine Groundplane. Zwischen GND und allen Kupferflächen, die mit dem Schaltausgang des MCP verbunden sind sollte so viel wie möglich Abstand sein. Ich hatte ja oben schon geschrieben das sich zwischen (jeglichem) Kupfer und GND Plane ein Kondensator ausbildet. Wenn du jetzt also viel Kupfer an dem Schaltausgang hast, was dann auch noch dicht an GND ran reicht, dann bekommst du eine große parasitäre Kapazität. Diese muss bei jedem Schaltvorgang vom MCP umgeladen werden verbrennt also unnötig Energie die zum Teil auch noch in Funkwellen (EM) abgestrahlt wird. Für die paar mA die Du hier hast ist das vollkommen unnötig so breite Bahnen zu machen. Die Leiterbahnen sind doch nur wenige mm lang.

Ich habe Dir mal ein Screenshot von einem meiner Projekte gemacht. Das ist ein 1A DC/DC Wandler, die Leiterbahn ist kaum breiter als der Pin. (Des SOT-23-5)

Das Projekt (Kicad) liegt hier:

https://gitlab.com/amesser-group/electronic-devices/bastelino-esp32-s2

(Achtung, der Wandler taugt für deine 9V Eingangsspannung nicht, ich habe hier max 5V Vin)

Angehängte Dateien:
OP #7527233
Lesenswert?

Mahlzeit,

Dann habe ich da was falsch verstanden, sorry. Im Datenblatt stand "bottom is GND" oder so ähnlich.

Dann halte ich einfach auf beiden Layern GND weg vom Regler ? Aber du hast ja auch GND drunter. Ich versuch mich mal deinem Layout anzunähern.

Danke Dir!

#7527437
Lesenswert?

Marcel B. schrieb:

Jemand ein paar L-09HCP 15µH

Hmm, was hast Du vor? Die ist doch gnadenlos überdimensioniert. Kein Wunder dass die so groß ist.

Denk noch mal drüber nach, ob du nicht doch besser ne SMD Spule willst. Ich vermute mal Du bestellst bei Reichelt? Die hier reicht dicke aus: L-1616FPS 15µ. Pads zum anlöten etwas breiter machen so dass Du mit dem Lötkolben dran kommst.

Moderator (Firma: Titel) Persönliche Seite #7527790
Lesenswert?

Marcel B. schrieb:

weil meine Bauteile größer sind.

Diese L1, was ist denn das? Ist das so eine offene Tonnenspule, die super als Sendeantenne taugt? Ja, tatsächlich. Mein Tipp: nimm eine vernünftige magentisch geschlossene Spule.

Marcel B. schrieb:

In einem anderen Thema habe ich schon einige Fragen zum MCP16301 beantwortet bekommen.

Und genau dort wurde auch die Spule auch schon angesprochen:

Um das Thema aus einer anderen Richtung anzupacken: wenn du eine völlig andere Spule verwendest als der Hersteller in seinen Schaltungsbeispielen einsetzt, dann solltest du dir vollkommen sicher sein, dass die für die Anwendung taugt. Bei dieser riesigen Sendespule ist die Antwort: nein, die taugt nicht als Speicherspule für Schaltregler. Nimm eine SMD-Spule, die im MHz-Bereich spezifiziert ist.

OP #7527996
Lesenswert?

Marcel B. schrieb:

Darauf wirds hinauslaufen, danke. :)

Dummerweise gibts in KiCad keinen passenden Footprint.

Musste einen ändern. Kann jemand mal drüberschauen ob das so passt ?

Sieht irgendwie komisch aus, aber im Datenblatt steht Padbreite : 1,5 / Padlänge: 3,6 und der Padabstand ist "nur" 1,55 ? (4,55 - 3)?

Edit: Quelle - https://cdn-reichelt.de/documents/datenblatt/B400/DS_1616FPS.pdf

LG, Marcel

Angehängte Dateien:
#7528463
Lesenswert?

Habe das hier einfacher gelöst. Raumsensoren über Funk (TiNo-Projekt), CR2032 Zelle hält ca. 3 Jahre.

https://github.com/nurazur/TiNo/blob/master/dokumentation.md

Als Gateway hatte ich erst wie im Projekt einen Raspi im Einsatz, jetzt einen ESP32.

Vorlauftemperatur weit runter, ca 35 Grad. Alle Thermostate komplett auf, wenn einer der wichtigen Räume 30 Minuten über 21,5 Grad ist wird der Brenner im Gaskessel eine Zeit zwangsweise deaktiviert (Brennersperre), Umwälzpumpe läuft weiter.

Wenn die Räume künftig bei tieferen Aussentemperaturen zu sehr auseinanderlaufen schrittweiser thermischer Abgleich über Durchfluss, ggf. auch Nutzung des Thermostats.

#7528477
Lesenswert?

Marcel B. schrieb:

Sieht besser aus, denke ich!

Ja, bis auf C4,C5. Ich würde die Spule um 180° drehen, C4 und C5 dann direkt unterhalb der spule platzieren. Siehe mein Bild, Ich habe da auch die Stromschleifen eingezeichnet die sich im Betrieb des DC/DC ergeben.

Ich würde dann vermutlich auch noch c3 drehen und parallel zu D1 setzen. Und dann den ganzen Block aus D2, L1, C4,C5 etwas nach rechts und nach oben ran schieben.

Angehängte Dateien:
OP #7528700
Lesenswert?

Was lange währt... ... wird doch nur so halb gut.

Aaber ich habe ne kleinere Diode (DBoost) gefunden, auch aus dem MCP Datenblatt. BF140, hat einen kleineren FP und macht die ganze Sache ein bisschen schöner.

Nochmals riesen Dank für deine Hilfe!

Lutz S. schrieb:

Vorlauftemperatur weit runter, ca 35 Grad. Alle Thermostate komplett auf, wenn einer der wichtigen Räume 30 Minuten über 21,5 Grad ist wird der Brenner im Gaskessel eine Zeit zwangsweise deaktiviert (Brennersperre), Umwälzpumpe läuft weiter.

Sehr guter Ansatz, hab ich leider keinen Zugriff drauf. Danke dir trotzdem!

LG, Marcel

Edit: Falsches Bild. (_202315) ist das Richtige.

Angehängte Dateien:

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