Forum: Mikrocontroller und Digitale Elektronik Arduino Lüfterdrehzahlsteuerung mit niederfrequenter PWM


von oldeurope O. (Gast)


Angehängte Dateien:

Lesenswert?

Beitrag "Re: Arduino Pro Mini Lüftersteuerung (Eingangsspannung)"

Erste Gehversuche, das funktioniert gut. :-)

Zu beachten ist, dass man ja einen Kondensator
Kurzzeitig aufladen muss.
Deshalb habe ich einen Darlingtontransistor verwendet
über dessen Basisvorwiderstand man eine Ladestrombegrenzung
einstellen kann.

Ich habe einen BD679 mit 4K7 verwendet was etwa I=2A ergibt.
U*C/I = Einschaltflankensteilheit.
Man braucht keine Diode, weil ja ein Kondensator parallel
zum Lüfter liegt.
Beitrag "Re: Arduino Pro Mini Lüftersteuerung (Eingangsspannung)"
Mit 1µF ergeben sich 12V*1µF/2A= 6µsec.
Da kann ich mir sicher noch etwas Parallelkapazität erlauben ...

Der Sketch ist aus Blinkwithoutdelay abgeleitet.
Auf der to-do-Liste: Drehzahleinstellung mit Poti
und Kurzschlussschutz.

LG
old.

von oldeurope O. (Gast)



Lesenswert?

CO2 ist ihm N. schrieb:
> Da kann ich mir sicher noch etwas Parallelkapazität erlauben ...

Habe mal 10µF zwischen Emitter und Collector geschaltet.
Das hält die Betriebsspannung frei von Einschaltimpuls.

Anbei ein Oszillogramm am Collector.
Die Hardware ist dann soweit fertig.
Widerstand, Transistor, Kondensator. Das ist es schon.

LG
old.

von oldeurope O. (Gast)


Angehängte Dateien:

Lesenswert?

CO2 ist ihm N. schrieb:
> Drehzahleinstellung mit Poti

In der neuen ino ist das Poti an Pin A0
0Volt langsam 5Volt schnell.

Frei nach
http://www.ov-meschede.de/workshop/Arduino%20Programmierhandbuch.pdf
Seiten 17 und 10.

LG
old.

von spess53 (Gast)


Lesenswert?

Hi

Wow. Für dieses programmtechnische Ejakulat solltest du mindestens den 
Nobel-Preis beantragen.

MfG Spess

von Luca E. (derlucae98)


Lesenswert?

CO2 ist ihm N. schrieb:
> Die Hardware ist dann soweit fertig.

Wo sind die Röhren, Darius?

von oldeurope O. (Gast)


Lesenswert?

So eine Lüftersteuerung wurde ja des öfteren im Forum
angefragt. Also mache ich das einfach mal.
Ob Ihr dabei mitmacht oder Euch drüber ärgert,
ist mir gleich. So oder so, ich lerne dabei.
Arduinoprojekte gehören geteilt. :-)

LG
old.

von bernte (Gast)


Lesenswert?

sieht gut und einfach aus, ich sag mal Danke
war wieso grad dabei mein Basteltisch aufzuräumen
dann kann ich gleich Platz für die neue Lötdampfpuste mit einplanen ;-)

von oldeurope O. (Gast)



Lesenswert?

CO2 ist ihm N. schrieb:
> Kurzschlussschutz

den habe ich mir so vorgestellt:
Während der Transistor leitet, wird seine
Collector --> GND Spannung kontrolliert.
Dazu muss ich mir einen Bereich nach dem
Einschalten und vor dem Ausschalten des
Transistors herauspicken.
boolean mess; t2 bis t3
Dann soll über einen Spannungsteiler 1:10 die
Collectorspannung abgefragt werden,
wenn der boolean mess == HIGH ist.
Ab 2V am Collector, int >40, wird D12, der die
Basis ansteuert, für 4 Sekunden auf LOW gesetzt.
Wenn der Kurzschluss dann noch da ist, bleibt
er LOW, sonnst läuft der Lüfter wieder.

Hardwaremässig kostet die Aktion dank Arduino
lediglich zwei Widerstände und das Ding ist
Kurzschlusssicher.

Heute habe ich mir zwei Monoflops mit millis()
programmiert und den boolean mess erzeugt.
Puh, damit tue ich mich noch schwer aber es
funktioniert. :-) Die boardled zeigt mir das Signal
für die Basis, die grüne LED den boolean mess.
Die Zeit ist so eingestellt, dass ich das mit
dem Auge überprüfen kann.
Also boardled an, dann grün an, dann grün aus,
dann die boardled aus.

Als nächstes fummel ich das in die luefter_002.ino .

von Nico W. (nico_w)


Lesenswert?

Da lohnt sich langsam mal mit StateMachine auseinander zusetzen. Da 
blickst nimmer lange durch :)


Gibt hierzu auch nen guten Artikel im Wiki. Kann ich nur empfehlen.

von oldeurope O. (Gast)


Lesenswert?

Nico W. schrieb:
> Kann ich nur empfehlen.
Dann mach das doch bitte.

LG
old.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

CO2 ist ihm N. schrieb:
> Arduinoprojekte gehören geteilt. :-)
Die allermeisten am besten in der Mitte... ;-)

CO2 ist ihm N. schrieb:
> Deshalb habe ich einen Darlingtontransistor verwendet
> über dessen Basisvorwiderstand man eine Ladestrombegrenzung
> einstellen kann.
> Ich habe einen BD679 mit 4K7 verwendet was etwa I=2A ergibt.
Das ist eine eklatante Fehlannahmne!
Dazu empfehle ich die Diskussion um die Verlässlichkeit der "typischen 
Werte" im Beitrag "Hardware-Designtipps des Monats: Datenblätter"
Oder kurz: die "Stromverstärkung" eines Transistors ist eine Variable. 
Über alle möglichen Parameter. Man kann allein mit einem Basiswiderstand 
keinen konstanten Kollektorstrom erzeugen oder gar den Kollektorstrom 
begrenzen.

: Bearbeitet durch Moderator
von oldeurope O. (Gast)


Lesenswert?

Lothar M. schrieb:
>> Ich habe einen BD679 mit 4K7 verwendet was etwa I=2A ergibt.
> Das ist eine eklatante Fehlannahmne!

Wenn Du wissen möchtest, wie man den Basis-Vorwiderstand
für etwa 2A Collectorstrom bestimmt, dann frage doch einfach.

https://www.elektronik-kompendium.de/sites/slt/1506291.htm

Wobei die Anforderungen an die Stabilität bei der Lüfter-
Steuerung bei Weitem nicht so hoch sind wie in einem Verstärker.

Wenn der Sketch fertig ist, ist die Ermittlung des
Vorwiderstandes übrigens ein Kinderspiel.

LG
old.

von oldeurope O. (Gast)


Lesenswert?

Lothar M. schrieb:
> Man kann allein mit einem Basiswiderstand
> keinen konstanten Kollektorstrom erzeugen oder gar den Kollektorstrom
> begrenzen.

Deine Aussage ist falsch. Ich kann Dir das mit LTspice beweisen.

LG
old.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

CO2 ist ihm N. schrieb:
> Wenn Du wissen möchtest, wie man den Basis-Vorwiderstand
> für etwa 2A Collectorstrom bestimmt, dann frage doch einfach
Abgesehen davon, dass dieses "Wissen" unnötig ist, ist es auch noch 
falsch.

> https://www.elektronik-kompendium.de/sites/slt/1506291.htm
Zitat daraus:
"Dabei muss man beachten, dass die Gleichstromverstärkung B 
temperaturabhängig ist."
Und noch von vielem Anderen mehr. Aber seis drum.

CO2 ist ihm N. schrieb:
> Ich kann Dir das mit LTspice beweisen.
Glaub keiner Simulation, die du nicht selber gefälscht hast!

Beweise gelten nur mit echten Bauteilen, über lange Zeit und den 
gesamten Temperaturbereich bei mehreren Geräten.

: Bearbeitet durch Moderator
von oldeurope O. (Gast)


Lesenswert?

Lothar M. schrieb:
> über lange Zeit und den
> gesamten Temperaturbereich bei mehreren Geräten.

Damit machst Du es unmöglich Dir etwas zu beweisen.
Die Kältekammer ist nacher nicht kalt genug
und die Stückzahl zu gering usw.

Da mache ich lieber mal den Sketch fertig.


LG
old.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Angehängte Dateien:

Lesenswert?

CO2 ist ihm N. schrieb:
> Wenn der Sketch fertig ist, ist die Ermittlung des Vorwiderstandes
> übrigens ein Kinderspiel.
Wenn du dann den Kollektorstrom mittels hfe=750 auf 2A "eingestellt" 
hast, bleiben für den Lüfter gerade noch 9V übrig, weil an der 
CE-Strecke 3V abfallen. Und der Transistor braucht dann einen guten 
Kühlkörper, weil er mit 6W heizt...

CO2 ist ihm N. schrieb:
> Wenn Du wissen möchtest, wie man den Basis-Vorwiderstand
> für etwa 2A Collectorstrom bestimmt, dann frage doch einfach.
Also gut: zeig doch bitte mal, wie du den Widerstand bestimmst.

von oldeurope O. (Gast)


Lesenswert?

Lothar M. schrieb:
> Wenn du dann den Kollektorstrom mittels hfe=750 auf 2A "eingestellt"
> hast, bleiben für den Lüfter gerade noch 9V übrig, weil an der
> CE-Strecke 3V abfallen. Und der Transistor braucht dann einen guten
> Kühlkörper, weil er mit 6W heizt...

Nö, weil der Lüfter ein Bruchteil davon an Strom zieht.
Beitrag "Re: Arduino Lüfterdrehzahlsteuerung mit niederfrequenter PWM"
https://www.mikrocontroller.net/attachment/334653/luefter_DSO_001.JPG
Wenn da 2A oder mehr fließen, ist irgendetwas
defekt. Dann:

CO2 ist ihm N. schrieb:
> Ab 2V am Collector, int >40, wird D12, der die
> Basis ansteuert, für 4 Sekunden auf LOW gesetzt.
> Wenn der Kurzschluss dann noch da ist, bleibt
> er LOW, sonnst läuft der Lüfter wieder.

Lothar M. schrieb:
> Also gut: zeig doch bitte mal, wie du den Widerstand bestimmst.

Labornetzteil auf 5V stellen, Strombegrenzung auf 2A.
Emitter an 0V
Collector an 5V
Transistor zwischen die Finger und die Basis über
einen Widerstand kurz an 5V tippen.
Den höchstmöglichen Widerstand ermitteln, bei dem
der Transistor noch durchschaltet.

Aber:
CO2 ist ihm N. schrieb:
> Wenn der Sketch fertig ist, ist die Ermittlung des
> Vorwiderstandes übrigens ein Kinderspiel.

LG
old.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

CO2 ist ihm N. schrieb:
> Transistor zwischen die Finger und die Basis über
> einen Widerstand kurz an 5V tippen.
"Kurz" ist hier wichtig... ;-)
Denn sonst wird das mit "Transistor zwischen die Finger" ziemlich 
schmerzhaft.

Diese Methode passt übrigens tadellos zu 90% der Ardunio-Projekte: so 
simpel, dass es jedem Anfänger einleuchtet, und er es dann unüberlegt 
nachmacht.

von oldeurope O. (Gast)


Lesenswert?

Lothar M. schrieb:
> Diese Methode

Hat nichts mit Arduino zu tun.
Du kannst das auch so auf "gib ihm" auslegen:
Beitrag "Re: Bitte Lüftersteuerungsschaltung überprüfen / korrigieren"
https://www.mikrocontroller.net/attachment/334375/uC-NMOS.png

Ich habe es aber lieber wenn eine Schaltung
mal einen Kurzschluss überlebt.

LG
old.

von avr (Gast)


Lesenswert?

CO2 ist ihm N. schrieb:
> Ich habe es aber lieber wenn eine Schaltung
> mal einen Kurzschluss überlebt.

Welcher Kurzschluss? Der entsteht doch erst durch deinen Kondensator. 
Die verlinkte Schaltung ist deutlich besser - einen Kurzschluss gibts da 
nicht.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

avr schrieb:
> Die verlinkte Schaltung ist deutlich besser
Die verlinkte ist in allen Belangen besser: Mosfet als Schalter, 
Freilaufdiode, definierte Abschaltung während des Resets durch 
zusätzlichen Gatewiderstand.

von oldeurope O. (Gast)


Lesenswert?

avr schrieb:
> Welcher Kurzschluss?

Leitungen defekt, Enden kommen aneinander etc.

avr schrieb:
> einen Kurzschluss gibts da
> nicht

Startbeitrag lesen. Im Lüfter ist ein Kondensator
eingebaut. Dehalb geht ja die schnelle PWM ohne
Drossel nicht.
https://www.mikrocontroller.net/attachment/334195/Luefter_Schema.JPG

LG
old.

von avr (Gast)


Lesenswert?

CO2 ist ihm N. schrieb:
> https://www.mikrocontroller.net/attachment/334195/Luefter_Schema.JPG

Keine Ahnung was das Bild soll. Das ist mir zu stark aus dem Kontext 
gerissen.

Es genug Möglichkeiten eine Schaltung definiert innerhalb der 
Spezifikationen zu betreiben. Wenn es für dich reicht, dass der 
Kollektorstrom sich innerhalb einer Größenordnung bewegt, dann kannst du 
die Schaltung ja nehmen, aber sie bleibt Pfusch.

Wenn man beim Verbraten der überschüssigen Spannung bleibt, dann kann 
man die Regelung auch mit einem Transistor in Linearbetrieb aufbauen. 
Ein Kondensator ist dann nicht mehr nötig.

Wenn es ein bisschen effizienter sein darf, packt man eben eine Spule 
vor den Kondensator.

von oldeurope O. (Gast)


Lesenswert?

avr schrieb:
> Keine Ahnung was das Bild soll.

Das ist ein Innenschaltbild eines Lüfters.

LG
old.

von spess53 (Gast)


Lesenswert?

Hi

>Das ist ein Innenschaltbild eines Lüfters.

Gut das es nur einen Lüfter mit einer Innenschaltung gibt.

MfG Spess

von Teddy (Gast)


Lesenswert?

Warum nimmt man einen teuren Arduino für eine Lüftersteuerung?
Ein einfache NE555 Beschaltung hätte es auch getan

von oldeurope O. (Gast)


Lesenswert?

Teddy schrieb:
> Ein einfache NE555 Beschaltung hätte es auch getan

Mehr als das hier:
Beitrag "Re: Arduino Lüfterdrehzahlsteuerung mit niederfrequenter PWM"
kannst Du damit nicht machen.

Ab hier:
Beitrag "Re: Arduino der Kurzschlußschutz für den Transistor"
wird es diskret unverhältnismässig aufwändig.
Deshalb habe ich das noch nie vorher realisiert.
Am durchgeschalteten Transistor eine Zeitspanne
herauszupicken, um zu prüfen ob er in der Sättigung
ist, das hat schon was.

LG
old.

von Teddy (Gast)


Lesenswert?

Dann pack eine Z Diode hin.
Kurzschluss? Strom fließt durch die Z Diode.

von oldeurope O. (Gast)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> definierte Abschaltung während des Resets durch
> zusätzlichen Gatewiderstand.

Den braucht der BJT prinzipbedingt nicht.
Trotsdem würde ich einen einsetzen wenn er
nicht schon da wäre, siehe Bild aus einem Datenblatt.
Das verhagelt Dir auch die hfe-Messung mit einfachen
Messgeräten. Deshalb die Prüfung so:
Beitrag "Re: Arduino Lüfterdrehzahlsteuerung mit niederfrequenter PWM"

LG
old.

von Axel R. (Gast)


Lesenswert?

22K und 2M2 bilden keinen Spannungsteiler im Verhältnis  1 zu 10...
1
(R1+R2)/R2
2
3
(22K+2M2)/2M2 = 2222000/2200000= 1.01 zu 1
4
 90K und 10K 1z10
5
(90K+10K)/10K = 100k/10k = 1z10
6
150K und 10K  = 160k/10k = 1z16
7
8
 33K und 11K 1z4

glaub ich :))

bau doch einfach nen kleinen Widerstand in die Emitterleitung ein. Wenn 
die Spannung 0.8V dort übersteigt, steuerst Du einen kleinen Transistor 
durch, der dann dem Darlington den Basistrom klaut.
StromTuner

von oldeurope O. (Gast)


Angehängte Dateien:

Lesenswert?

In der Codeansicht fehlt leider die Nummerierung.
So ist es sehr schwierig eine ino Datei zu besprechen.
Muss ich dann doch noch eine jpg anhängen.

CO2 ist ihm N. schrieb:
> Als nächstes fummel ich das in die luefter_002.ino .

Das habe ich in ino 003 gemacht. Bin jetzt bis zum
boolean kurzschluss gekommen.
Fehlt noch ein drittes Monoflop und eine logische
Verknüpfung. Dann kann ich das testen.
Ihr könnt ja mal drüber schauen ob alles bisher
in Ordnung ist.
Sorgen mache ich mir bezüglich Zeile 56 ob da ein
Glitch entsteht. Aber ich meine, dass der
Programmablauf das verhindert.

Axel R. schrieb:
> 22K und 2M2
22K und 2K2
> glaub ich
Ja Dreisatz ...
Schau mal bitte ob Zeile 60 stimmt.
Ich habe das noch nicht getestet.

Axel R. schrieb:
> StromTuner
Halte ich beim BJT für unnötigen zusätzlichen Aufwand.

LG
old.

von oldeurope O. (Gast)


Lesenswert?

CO2 ist ihm N. schrieb:
> In der Codeansicht fehlt leider die Nummerierung.

Nach über einer Woche fehlt die immernoch.
Beitrag "Codeansicht hat keine Nummerierung"
Ohne Nummerierung kann man keinen Sketch diskutieren.
Stellt Euch mal vor in einer Schaltung lassen sich die
Bauteile nicht bezeichnen. Auf dem Stand ist das Forum
hier in der Codeansicht.
@ Moderatoren: Tut sich da noch etwas?

LG
old.

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.