Forum: Analoge Elektronik und Schaltungstechnik Fragen zur Umsetzung einer Ventilatorsteuerung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Julian D. (jdspecial)


Lesenswert?

Hallo,
ich möchte gerne in einem Wohnmobil am 12V-Netz über einen Raspberry Pi 
einen Ventilator ansteuern.
Es gibt für das selbe Modell (Maxxfan) schon eine Projektumsetzung, 
jedoch kabellos per Wemos D1-Chip. Wohingegen ich per Raspberry steuern 
möchte.
Der Umterschied dürften die 3,3V Steuerspannung der GPIO-Pins sein, im 
Gegensatz zu den 5V des Wemos.
Projektumsetzung: 
https://everlanders.com/2020/04/06/automation-arduino-and-blynk/
Nun hab ich erstmal ein paar Grundlegende Fragen.
1. Wozu das Darlington-Array-Teil? Man könnte doch einfach die 
Optokoppler ansteuern, fertig. Geht es dabei darum, die Steuerpins vom 
Mikrocontroller zu entlasten (z.B. bei GPIO nur 16mA möglich)?
2. Generell verstehe ich noch nicht so ganz, wie man den Strom bei 
elektrischen Bauteilen auf Platinen begrenzt. Man kann Wiederstände 
vorschalten - dann geht jedoch die Spannung auch flöten. Da muss es doch 
irgendwelche Zaubertricks geben.

Ich hab folgende Mats verfügbar:
- RPI 3B
- ULN2803 Darlington Array
- LTV 817 Optokoppler
- CNY 17F4 Optokoppler
- Sämtliches Lötwerkzeug, Platinen, Draht etc.

Das Bordnetz führt unbeständige 13,2V (Lifepo4), die Spannung schwankt 
etwas während sämtlichen Ladungsmöglichkeiten (über Lichtmaschine, 
Solar, Landstrom)

Wie stelle ich das am schlauesten an?

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich würde mir das mit dem Raspi nochmal überlegen, ich finde den für 
eine Ventilatorsteuerung völlig überdimensioniert - falls du das 
"Standardmodell" 3 oder 4 meinst.

Ausserdem muss der bei jedem Einschalten ein Linux booten, was bis zu 20 
... 30s dauern kann. Also ich würde hier eher zum Arduino oder Wemos 
(falls WLAN geünscht) greifen.

Für das Schalten des Lüfters (falls nur an oder aus), nähme ich ein 
Relais mit 5V Steuerspannung, oder, falls eine flexible 
Leistungssteuerung gewünscht, einen Fahrtregler aus dem RC-Modellbau, 
der wird wie ein Servo angesteuert, kommt mit 12V und einigen Ampere 
klar ...

von Heinz R. (heijz)


Lesenswert?

der Wemos / ESP8266 kann genau so wie der Raspberry auch nur 3.3V

: Bearbeitet durch User
von Julian D. (jdspecial)


Lesenswert?

Der Raspberry ist eh in dem Fahrzeug vorhanden, weil ich alles über Home 
Assistant steuern möchte.
Daher möchte ich ihn auch für die Steuerung des Ventilators benutzen, 
dann brauche ich keinen extra Wemos D1.

Ich sollte evtl. noch erwähnen, wie der Maxxfan gesteuert wird.
Es gibt eine Pinleiste mit 8 Pins, die in verschiedenen 
2er-Kombinationen überbrückt werden, um verschiedene Aktionen 
auszulösen. (z.B. Pin 1 + Pin 2 = Ventilator stärker).
Ich möchte also dadurch das Steuergerät ansteuern.
Es gibt 5 Funktionen des Ventilators, die ich benötige.

Dass der Wemos D1 auch mit 3,3V arbeitet, ist mit jetzt neu - Da hab ich 
wohl nicht gut genug recherchiert. Dann könnte ich es ja theoretisch 
genau so nachbauen, wie er das gemacht hat.
Nur, dass seine Relais nicht lieferbar sind.

Ich würde nur trotzdem noch gerne wissen, warum dieses Darlington Array? 
Ich verstehe den Sinn von dem Bauteil nicht.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Julian D. schrieb:
> Ich würde nur trotzdem noch gerne wissen, warum dieses Darlington Array?
> Ich verstehe den Sinn von dem Bauteil nicht.

Das fungiert als MC gesteuerter Taster und simuliert, wenn high am 
Input, eine gedrückte Taste am Maxxfan.
Ob der Maxxfan statt des Darlington einen Optokoppler als Taster 
akzeptiert, musst du ausprobieren.

von Julian D. (jdspecial)


Lesenswert?

Da man sowieso nur das Steuergerät ansteuern muss, also keine Last 
schalten, sollte ein Optokoppler ausreichen. Ich würde mal davon 
ausgehen.

Ich müsste halt den Raspberry so gut es geht entlasten, da macht das 
ULN2803 wohl doch schon Sinn.

Meine nächste Überlegung ist, was für Optokoppler.
Ich hätte da einmal den Vorschlag mit den 5V-Optokopplern. Die 5V müsste 
man allerdings (nach meinem derzeitigen Wissensstand) mit einem 
Step-Down-Wandler extra von 12V auf 5V heruntergeregelt werden. Der 
Raspberry soll nur steuern.
Dann hätte ich meine vorhandenen Optokoppler LTV817 und CNY17F4, die mit 
1,4V  arbeiten, wenn ich das dem Datenblatt richtig entnehme (Forward 
voltage 1.4V). Also noch uneffizienter als die 5V.
Wäre das nicht besser, wenn man einfach 12V Optokoppler nimmt?

Dann würde das so sein: GPIO (3,3V +) -> Darlington Array (High -) -> 
Optokoppler-Kathode (-) -> Bordnetz (12V +)
So korrekt?

Mit ist auch noch schleierhaft, wie man Wiederstände verbaut um den 
Strom zu begrenzen, ohne dabei die Spannung zu beeinträchtigen. Denn vor 
den Optokopplern müsste ja ein Widerstand und am besten nach den 
GPIO-Pins am Raspberry auch, um die 16mA max. nicht zu überschreiten. 
Richtig?

Oh man ich dachte letztens ich hätte es einigermaßen verstanden, die 
Strombegrenzung hab ich allerdings dabei außer Acht gelassen. Dachte, 
die Bauteile ziehen nur, was sie brauchen aber die haben wohl ohne 
Begrenzung eine hohe Suizidrate.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Julian D. schrieb:
> Ich hätte da einmal den Vorschlag mit den 5V-Optokopplern. Die 5V müsste
> man allerdings (nach meinem derzeitigen Wissensstand) mit einem
> Step-Down-Wandler extra von 12V auf 5V heruntergeregelt werden.

Was? Es gibt gar keine '5V Optokoppler', was soll das sein? In so einem 
Optokoppler ist eine LED und auf der anderen Seite ein Phototransistor.
Wenn es dir mit einem beliebigen Microcontroller gelingt, eine LED zu 
erhellen, dann kannst du so auch einen Optokoppler durchschalten, der 
anstelle deiner sichtbaren LED kommt.

Wie immer möchte auch die LED im OK einen passenden Vorwiderstand.
Im Optokoppler ist eine IR LED mit etwa 1,4V Flussspannung. Um den OK 
mit 10mA zu füttern, brauchst du also einen Vorwiderstand von (3,3V - 
1,4)/0.01 = 190 Ohm. Nächster Normwert sind 180 Ohm, sicher gehen auch 
220 Ohm. Ob 10mA überhaupt nötig sind, guckst du im Datenblatt deines 
Optokopplers. PC817, CNY17 oder ähnlich tun es auf jeden Fall.
(CTR sparen wir uns heute mal)

Der Phototransistor wird dann parallel zur Taste gelegt, mit dem Emitter 
an Masse und dem Kollektor Richtung Plus, wie der Ausgangstransistor des 
ULN2803.

von Wendels B. (wendelsberg)


Lesenswert?

Julian D. schrieb:
> Man kann Wiederstände
> vorschalten

Julian D. schrieb:
> wie man Wiederstände verbaut

Grrrrrrrrr!!!!!

von Julian D. (jdspecial)


Lesenswert?

Wendels B. schrieb:
> Julian D. schrieb:
>> Man kann Wiederstände
>> vorschalten
>
> Julian D. schrieb:
>> wie man Wiederstände verbaut
>
> Grrrrrrrrr!!!!!

Zu meiner Verteidigung: Ich habe es auch aus Versehen einmal richtig 
geschrieben! :D

So okay, ich hab schon einen Testaufbau gemacht mit LEDs und das hat 
jetzt funktioniert.
Ich würde gerne bevor ich es am Maxxfan ausprobiere mal einen Schaltplan 
erstellen und hier einstellen, habt ihr da einen Tipp für eine Freeware 
für Windows?

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Julian D. schrieb:
> mal einen Schaltplan
> erstellen und hier einstellen, habt ihr da einen Tipp für eine Freeware
> für Windows?

Viel hier benutzen Eagle, wenn man sich mit dem Autodesk Blabla 
arrangiert. Aber das ist keine Software, mit der man 'mal einen 
Schaltplan' erstellt.
Das GUI ist doch recht merkwürdig und erfordert Einarbeitung. Allerdings 
gilt das für die meisten dieser Programme.
https://www.autodesk.com/products/eagle/free-download

Beitrag #7037815 wurde vom Autor gelöscht.
von Julian D. (jdspecial)


Angehängte Dateien:

Lesenswert?

...
Mit Eagle kam ich nicht klar, daher hab ich jetzt mal einfach mit 
Photoshop einen Schaltplan erstellt.
Und einfach heißt, ca. 4h. 👍

Ich hab mir Mühe gegeben, ich hoffe es wird klar wie ich mir das denke.
Die Drahtbrücken werden auf der Vorder- und Rückseite verlegt, daher 
kreuzen sich auf dem Schaltplan einige Linien und gehen auch (scheinbar) 
durch Bauteile durch.

Vom Maxxfan werden nur Pin 4-8 benötigt, daher tauchen die restlichen 
Pins nicht auf.

Wäre sehr nett, wenn sich das mal jemand anguckt. 🙂

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Julian D. schrieb:
> Wäre sehr nett, wenn sich das mal jemand anguckt.

Wozu ist denn der 220 Ohm Widerstand in der 3,3V Leitung? Ersetze den 
bitte durch eine Drahtbrücke und spendiere jedem Optokoppler einen 
eigenen Vorwiderstand an der LED. Es fehlt ein Abblockkondensator auf 
der 3,3V Schiene gegen Masse.

Das Datenblatt äussert sich nicht dazu, ob /RESET ein Schmitt-Trigger 
Eingang ist, es kann sinnvoll sein, vom Pin einen C gegen Masse zu 
schalten, um /Reset verzögert zu heben, wenn VDD anliegt.

Da der MCP garantierte 8mA (abs. maximum 20mA) am Augang gegen Masse 
liefert, ist die Verwendung des ULN u.U. überflüssig, wenn man mit der 
umgekehrten Logik leben kann.

von Julian D. (jdspecial)


Angehängte Dateien:

Lesenswert?

Danke für die Antwort.
So in etwa?
Der C (Capacitor ist gemeint?) wäre gleich mit an dem Reset-Pin.
Weiß nur nicht was das bringt, weil der jeweilige Optokoppler ja nur 
sehr kurz an ist.

von Wolfgang (Gast)


Lesenswert?

Julian D. schrieb:
> Weiß nur nicht was das bringt, weil der jeweilige Optokoppler ja nur
> sehr kurz an ist.

Ein 100nF Kondensator gehört am MCP23017 direkt zwischen VDD und VSS.
"Kurz" ist ein relativer Begriff. Der Kondensator kümmert sich um Spikes 
und Spannungseinbrüche im ns- bis µs-Bereich. Der Rest ist Aufgabe des 
Stepdown-Wandlers.

von Julian D. (jdspecial)


Angehängte Dateien:

Lesenswert?

So?
Dann werde ich das morgen mal aufstecken und testen.

von Julian D. (jdspecial)


Lesenswert?

Joa läuft...
Home Assistant hat anscheinend die Unterstützung von I2C bzw. dem 
MCP23017 vor einigen Tagen rausgepatched.
Hab jetzt die Platine fertig zusammengelötet und kann sie nicht testen 
bzw. nutzen.

Hat jemand eine alternative Idee, wie ich sowas umsetzen kann und 
möglichst wenig GPIO-Pins dazu verwende?

Ich hab auch ka, wie ich meine anderen Projekte nun umsetzen soll, denn 
die passen garantiert nicht auf die paar GPIO-Pins der GPIO-Pinleiste 
des RPI3B.

Zum Glück passiert das jetzt und nicht erst, wenn ich alle Platinen 
fertig und verbaut habe. Dann würde jetzt nichts mehr funktionieren. Oo

von Julian D. (jdspecial)


Lesenswert?

Okay, mit einer "Custom Integration" bringt man das doch wieder zum 
laufen.

Die Platine funktioniert problemlos, ich danke euch für die große Hilfe!

Eine Sache noch zum Schluss.
Ich würde die Platine gerne absichern. Wenn man mit einem leitenden 
Material an die Lötpunkte kommt oder z.B. Wasser drüber läuft, wäre das 
doof.
Es gibt ja so extra Sicherungen zum drauflöten... Was ist da 
empfehlenswert bei diesem Setup?
Die 12V-Zuleitung wäre evtl. mit einem Printsicherungshalter auf der 
Platine und einer entsprechenden Sicherung abzusichern. Allerdings gibt 
es wahrscheinlich keine Flachsicherungen unter 1A...

: Bearbeitet durch User
von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Julian D. schrieb:
> Allerdings gibt
> es wahrscheinlich keine Flachsicherungen unter 1A...

Nö, aber es gibt Kleinstsicherungen, wie sowas hier:
https://www.pollin.de/p/kleinstsicherung-0-160a-t-260045
Die werden eingelötet. Du kannst auch Printfassungen für normale 
Feinsicherungen verbauen.
Aber wird da wirklich Wasser über den Ventilator geschüttet?

von Julian D. (jdspecial)


Lesenswert?

Die Steuerung für den Ventilator wird zum RPI, unter die Kochfelder im 
Wohnmobil gebaut. Ca. 2m Steuerleitung zum Dachventilator. Da unten wäre 
es u.U. möglich, dass es mal nass wird. Man muss ja mit dem Schlimmsten 
rechnen.

Das wahrscheinlichere Szenario für einen Kurzschluss ist aber wohl, dass 
ich irgedwas an der Unterseite der Platine zu nah verlötet hab und das 
mit der Zeit Berührungen gibt.. Ka, wie wahrscheinlich das ist. Aber da 
sind Stellen, an denen nur 1mm Platz zwischen + und - ist.
Eine Sicherung würde mir zumindest das sichere Gefühl geben, dass mein 
Fahrzeug nicht spontan in Flammen aufgeht. :p

Eigentlich müsste ja eine einzige Sicherung am 12V-Terminal reichen.
0,16A meinst du reichen? Ich würde dann eher einen Feinsicherungshalter 
verlöten.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Julian D. schrieb:
> 0,16A meinst du reichen?

Ich habe keine Ahnung. Da musst du messen, wieviel Strom da im 
Normalfall fliesst. Das war nur ein Beispiel für solche 
Kleinstsicherungen.

von Andreas (Gast)


Lesenswert?

Julian D. schrieb:
> Mit ist auch noch schleierhaft, wie man Wiederstände verbaut um den
> Strom zu begrenzen, ohne dabei die Spannung zu beeinträchtigen.

https://de.wikipedia.org/wiki/Ohmsches_Gesetz

von HildeK (Gast)


Lesenswert?

Julian D. schrieb:
> So?
Fast.
Der Kondensator am Resetpin hat nur Wirkung, wenn der Pin über einen 
Widerstand auf VCC angebunden ist. So, direkt mit Draht, dient er gerade 
mal als zusätzlicher Entkoppel-Kondensator. Das war an der Stelle aber 
nicht gemeint.

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
Noch kein Account? Hier anmelden.