Willkommen Gast. Bitte einloggen oder registrieren.
Mai 21, 2024, 19:46:03
Übersicht Ungelesene Beiträge auflisten Hilfe Suche Spiele Mitgliederkarte Kalender Login Registrieren

Schnellsuche
+  MODDING-FAQ FORUM
|-+  Alles rund ums Modden
| |-+  Elektronik, Elektrik (Moderator: TzA)
| | |-+  Digitale Lüftersteuerung auf AVR Basis
  « vorheriges nächstes »
0 Mitglieder und 0 Gäste betrachten dieses Thema.
Seiten: [1] nach unten Drucken
Autor Thema: Digitale Lüftersteuerung auf AVR Basis  (Gelesen 9306 mal)
blast32
LED-Tauscher

*

Karma: +0/-0
Offline Offline
Beiträge: 28


Ich liebe dieses Forum!


Profil anzeigen
Digitale Lüftersteuerung auf AVR Basis
« am: Juni 16, 2007, 09:38:00 »

Hallo,

ich habe vor einiger Zeit mal angefangen eine Digitale Lüftersteuerung zu planen.
Das Ganze basiert auf einem ATMega8515 Welcher mit 5V versorgungsspannung arbeitet. Dieser steuert einen 8Bit (ich hab einen 8er als IC gefunden, geplant waren 6Bit als Widerstandsnetzwerk) DA-Wandler. Dieser gibt dann eine Spannung zwischen 0 und 5 Volt aus. Mit einem OPV will ich diese dann auf die 12V Lüfterspannung verstärken.

Ich habe jetzt erste Experimente mit einem 741er OPV und einem CA3140 gemacht und festgestellt das der 741er nur ca. 0,8V spannungsdrop gegen fast 2,1V beim CA3140 aufweist. Leider liefert der nur genug strom um einen Lüfter zu versorgen. Hier hab ich erstmal für experimentalzwecke einen BC548C eingesetzt (weil er greifbar war) bei dem gehen auch noch mal 0,7V verloren. Das heißt die gesammtspannung am Lüfter wäre bei 12V versorgung (aus meinem Netzteil kommen 12,2V) und maximaler eingangsspannung (ich rechne 5V am OPV + pin) 10,5V. (vorrausgesetzt ich bekomme aus dem DA-Wandler wirklich die vollen 5V.

Den OPV habe ich als nicht invertierten Verstärker geschaltet. Für die beiden Widerstände am invertiertem eingang benutze ich ein Poti zwichen Masse, Pin 2 und dem OPV-Ausgang. Der nicht invertierte eingang hängt an 5V (da soll in der teorie der ausgang 12V potenzial gegen Masse aufweisen) bei 2,5V eingang sollen es 6V sein und bei 0V sollen es 0V sein. Die eingangsspannungen habe ich nicht über den DAwandler erzeugt sondern über einen spannungsteiler. Ich will erstmal wissen wie ich den Lüfter versorge befor ich mit Programmieren anfange.
Meine Experiment ergebnisse lagen zwichen 1,3V und 10,5V, wobei meine spannungsquelle für die 12V nur unzureichend stabilisiert ist.
eigentlich sind diese werte schon aktzeptabel (ich hab einen Lüfter dran gehängt und bin zu frieden was die drehzalen angeht). Ich würde aber gern die 0V auf Richtige 0V bringen und nicht 1,3.  Eventuell würde hier eine Symetrische versorgung des OPV abhilfe schaffen, Aber woher ich die nehmen soll weiß ich nicht. An den Mainboard-ATX-stecker wollte ich eigentlich nicht gehen.

<Utopie>
Was ich mir als erweiterung noch vorstellen könnte (wenn die einfache Reglung dann funktioniert) sind: Drehzalmessung und visualiesirung über 7-Segment oder LC-Display (ich habe schon eine Routine mit der ich auf dem Display zumindest einen Statischen Text ausgeben kann geschrieben). Drehzalregelung des Lüfters anhand absoluter werte (die dann vom AVR angesteuert werden). Temperatur geregelte Lüftersteuerung über einen Sensor.
Die Zuletzt geladenen geschwindigkeiten können übrigens im AVR gespeichert werden und sind damit beim wiedereinschalten des PC´s abrufbar. Ich bin mir nicht sicher ob dafür eine eigene spannungsversorgung nötig ist aber falls doch könnte man die über einen speicherkondensator herstellen. (ich hab hier einen mit 100.000uF bei 5.5V)</utopie>

Vorerst ist es eine einkanalsteuerung, aber wenn die Funktionieren würde (in etwa 2-3... ähm 4-5... mh... Jahrzehnten Cheesy) kann man sie sicher noch auf 4-5 Kanäle erweitern.

Was haltet ihr von dem Vorhaben?
Welche Verbesserungsvorschläge hättet ihr für die Beschaltung?
Welche Probleme habe ich übersehen (außer das das ding "nur" 35 I/O Lines hat).
Ich habe übrigens auch daran gedacht statt des 8/6Bit wandlers eine PWM zu benutzen. Aber bei mehreren Kanälen würde das wohl problematisch werden.

mfg. Blast32
Gespeichert
b0nze
Gast


E-Mail
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #1 am: Juni 16, 2007, 11:19:10 »

Lüftersteuerung mit Mikrocontroller ist doch alt.

Die Vorschläge hörste hier alle 1-2 Monate und dann verläufts im Sand.

Eigntlich ist es nicht schwer, aber niemand ziehts dann glaub richtig durch.

Deine Ansätze sind eigentlich ganz richtig, jedoch würde ich gleich zur PWM raten. Diese PWM glättest du mit Widerstand und Kondensator und erhälst eine erträgliche Gleichspannung, die du dann mit einer leicht modifizierten NoDrop2 (Hauptseite) an den Lüfter leitest.

Ich hab sowas auch schon gemacht, jedoch hab ich dann irgendwann aufgehört, weil ichs eh nicht gebraucht hab.

Am besten steigst du gleich mit einem neueren ATMega ein. Ich favorisiere immer den m32, ncoh in DIP erhältlich, ADC und viele Pins.

b0nze
Gespeichert
vib170al
Modding-Noob

*

Karma: +0/-0
Offline Offline
Beiträge: 5


Ich liebe dieses Forum!


Profil anzeigen
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #2 am: Oktober 11, 2007, 10:49:34 »

Hallo,

dann lasst es uns doch noch mal mit diesem thread probieren! Ich hab so eine Steuerung schon aufgebaut, habe allerdings noch Probleme mit der erzeugten Gleichspannung. Ich verwende einen PIC der eine ~20kHz PWM erzeugt, diese wird durch einen Tiefpass erster Ordnung geglaettet. Zur Verstaerkung des Signals verwende ich die Schaltung auf dieser Seite http://www.modding-faq.de/index.php?artid=518, wobei TR1 und P1 entfallen, da das durch die geglättete PWM realisiert wird. In die Gegenkopplung hab ich noch einen Spannungsteiler eingebaut, damit der OPV den MOSFET auch voll durchsteuert.

Mein Problem ist nun, das die Ausgangspanng sehr wellig ist. Es wird deutlich besser, wenn ich den Tiefpass hinter dem OPV rausnehme, aber selbst dann ist die ausgangspannung ab ca. 9V recht instabil.

Hat jemand Erfahrungen mit obiger Schaltung im original. Hab die ja auch so in Verwendung, allerdings musste ich einen recht dicken C an den Ausgang hängen, damit das ganze halbwegs vernünftig lief. Ich habe ja die Vermutung, dass C1 am Ausgang des OPV das ganze System zum Schwingen anregt. Was meint ihr dazu?

EDIT: C1 muss auf jeden Fall raus, R1 hab ich gelassen. Dann läufts ganz gut! Laut meinem Osszi hat die Ausgangspannung jetzt noch ein Rauschen von ca. +/- 50mV
Ich hab aber noch das Problem, das meine Ausgangspannung bei einem Sollwert <~5V sofort 0V wird
« Letzte Änderung: Oktober 11, 2007, 11:08:22 von vib170al » Gespeichert
Crawler
Global Moderator

*

Karma: +8/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 1547



Profil anzeigen
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #3 am: Oktober 11, 2007, 11:31:39 »

Dann lass den Kondensator doch weg und beobachte das Verhalten Wink Der ist schließlich nur als Anlaufhilfe für den Lüfter gedacht, das kannst du ja problemlos in der Software umsetzen, indem du den Lüfter kurze Zeit auf 100% duty laufen lässt.
Wennn die Schaltung dann auch ohne Kondensator funktioniert, wollen wir das Ergebnis hier natürlich sehen.
Gespeichert

Ein Kluger bemerkt alles. Ein Dummer macht über alles seine Bemerkungen.
(Heinrich Heine)
vib170al
Modding-Noob

*

Karma: +0/-0
Offline Offline
Beiträge: 5


Ich liebe dieses Forum!


Profil anzeigen
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #4 am: Oktober 11, 2007, 12:34:58 »

wie gesagt, ohne C1 läufts gut! Sobald ich den wieder dazu schalte, sieht man auf der Ausgangspannung einen deutliches Schwingen. (insbesondere wenn man keinen Elko mit mind. 2200uF parallel zum Luefter schaltet)

wäre es nicht besser, den Anlaufkondensator zwischen Ucc und Uopv- zu schalten, oder hab ich da nen Denkfehler drin? (Speziell im Hinblick auf die original Schaltung ohne PWM)

Was mir aber noch unklar ist: Warum kann ich keine Ausgangspannung < 5V einstellen? Sobald ich das versuche, springt sie sofort auf ca. 1.4V (nicht null, weil der I/O Pin der PWM vom µC nicht ganz auf null zieht). Das geglättete PWM Signal sweept aber gleichmaeßig von 0.5..5V durch. Hat dazu noch jemand ne Idee?
Gespeichert
Falzo
Diktator vom Dienst
Administrator

*

Karma: +15/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 5088



Profil anzeigen WWW
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #5 am: Oktober 11, 2007, 18:56:47 »

wäre es nicht besser, den Anlaufkondensator zwischen Ucc und Uopv- zu schalten, oder hab ich da nen Denkfehler drin? (Speziell im Hinblick auf die original Schaltung ohne PWM)

nein kein denkfehler, sonder völlig korrekte änderung. der widerstand hinten kann dann auch raus, der war nur zur strombegrenzung beim ladevorgang des elkos.
das Problem mit dem schwingen ist bekannt und wurde alles im entsprechenden support-thread schon besprochen, dort findet sich auch ein geändertes layout. es fehlte mir bisher nur an der zeit alle einzelnen layout-bildchen des tutorials zu erneuern. sorry  Grin

der LM741 ist im übrigen die bessere wahl gegenüber den TLs...

das zweite Problem finde ich allerdings auch merkwürdig, am Eingang des OPV hast kannst du eine beliebige spannung zwischen 0,5 und 5V linear einstellen, was hochgerechnet 1,2 bis 12V entspricht...
aber bei beispielsweise 1 V am Eingang (aka 2,4V gewünschte Spannung) bricht die Ausgangsspannung ein?

was hast Du bei Deinen Messungen als Endlast hinterm MOSFET verwendet? Einen Lüfter oder einen Lastwiderstand? wenns ein Lüfter war, läuft der vielleicht einfach nicht mit weniger als 5 Volt?
Gespeichert

...bis einer heult!
find virtual reality related boards at https://vrforum.de
vib170al
Modding-Noob

*

Karma: +0/-0
Offline Offline
Beiträge: 5


Ich liebe dieses Forum!


Profil anzeigen
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #6 am: Oktober 11, 2007, 22:22:08 »

nein kein denkfehler, sonder völlig korrekte änderung. der widerstand hinten kann dann auch raus, der war nur zur strombegrenzung beim ladevorgang des elkos.
das Problem mit dem schwingen ist bekannt und wurde alles im entsprechenden support-thread schon besprochen, dort findet sich auch ein geändertes layout. es fehlte mir bisher nur an der zeit alle einzelnen layout-bildchen des tutorials zu erneuern. sorry  Grin
hehe, das kenn ich, die Doku ist ja immer das lästigste.
btw: der link im Artikel zum support thread ist leider tot. Hab mal kurz reingeschaut. Der ist ja doch recht umfangreich! Auf welcher Seite ungefähr findet man das geänderte layout?

Zitat
der LM741 ist im übrigen die bessere wahl gegenüber den TLs...
hab hier im forum gelesen, dass der LM324 sei als der LM741

Zitat
das zweite Problem finde ich allerdings auch merkwürdig, am Eingang des OPV hast kannst du eine beliebige spannung zwischen 0,5 und 5V linear einstellen, was hochgerechnet 1,2 bis 12V entspricht...
genau. Meine Sollspg. kommt nicht von nem Spgs-teiler sondern aus der glaettung einer PWM (im Bereich 0.4..5V linear regelbar)

Zitat
aber bei beispielsweise 1 V am Eingang (aka 2,4V gewünschte Spannung) bricht die Ausgangsspannung ein?
genau so ist es. Bis ~4.6V kann ich noch runter regeln. danach springt die ausgangsspg. sofort auf 1.xxV

Zitat
was hast Du bei Deinen Messungen als Endlast hinterm MOSFET verwendet? Einen Lüfter oder einen Lastwiderstand? wenns ein Lüfter war, läuft der vielleicht einfach nicht mit weniger als 5 Volt?
es war ein lüfter. ich habe aber die ausgangspg aufm 2. kanal des osszi, und da sehe ich, dass die spg einbricht, sowohl mit luefter als last, als auch ohne last (von dem 100uF mal abgesehn).

hoechstwahrscheinlich liegt es an der geglaetteten PWM. mit nem Potti funzt es.
Gespeichert
Reisi
Lötkolbenfreak

*

Karma: +2/-0
Offline Offline
Beiträge: 190



Profil anzeigen
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #7 am: Oktober 12, 2007, 08:03:43 »

hoechstwahrscheinlich liegt es an der geglaetteten PWM. mit nem Potti funzt es.
Ja es liegt an der PWM. Aber die ist nicht die Ursache. Schuld ist die Schaltung an sich, die ist einfach höchst instabil und fängt dadurch bei den kleinsten Störungen das Schwingen an (da reicht der Restripple des Netzteils). Das liegt an der fehlenden Frequenzgangkompensation, bau die mit ein, dann ist die Schaltung auch stabil.
Gespeichert
vib170al
Modding-Noob

*

Karma: +0/-0
Offline Offline
Beiträge: 5


Ich liebe dieses Forum!


Profil anzeigen
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #8 am: Oktober 12, 2007, 09:32:42 »

Im Anhang ist der Schaltplan von meiner Schaltung. Wobei der realen Schaltung der IRF5305 eingestzt wird.

Ja es liegt an der PWM. Aber die ist nicht die Ursache. Schuld ist die Schaltung an sich, die ist einfach höchst instabil und fängt dadurch bei den kleinsten Störungen das Schwingen an (da reicht der Restripple des Netzteils). Das liegt an der fehlenden Frequenzgangkompensation, bau die mit ein, dann ist die Schaltung auch stabil.

Wie soll ich denn die Frequenzgangkompensation einbauen? Der OpAmp hat dafuer ja keine extra PINs.

Wenn ich mir mal die Differenzspg (Ud) am Eingang des OpAmp anschaue, dann ist die im Normalbetrieb null. Wenn ich langsam unter 5V gehe, fängt Ud an um ein paar mV anzusteigen. Wenn ich jetzt noch weiter runter gehe, dann springt Ud auf ca. -1.7V. Für mich sagt das aus, das der OpAmp den MOSFET nicht mehr durchsteuern kann/ will.

* pwm_fan_controll_1.gif (33.74 KB - runtergeladen 67 Mal.)
« Letzte Änderung: Oktober 12, 2007, 10:21:54 von vib170al » Gespeichert
Reisi
Lötkolbenfreak

*

Karma: +2/-0
Offline Offline
Beiträge: 190



Profil anzeigen
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #9 am: Oktober 12, 2007, 12:28:39 »

Im Anhang ist der Schaltplan von meiner Schaltung. Wobei der realen Schaltung der IRF5305 eingestzt wird.

Ja es liegt an der PWM. Aber die ist nicht die Ursache. Schuld ist die Schaltung an sich, die ist einfach höchst instabil und fängt dadurch bei den kleinsten Störungen das Schwingen an (da reicht der Restripple des Netzteils). Das liegt an der fehlenden Frequenzgangkompensation, bau die mit ein, dann ist die Schaltung auch stabil.

Wie soll ich denn die Frequenzgangkompensation einbauen? Der OpAmp hat dafuer ja keine extra PINs.
Dafür braucht man auch keine zusätzlichen Pins, man kann die Phasenreserve auch durch entsprechende Rückkopplung beeinflussen.

"Google: ".str_replace(" ","+","Frequenzgangkompensation").""

Wenn ich mir mal die Differenzspg (Ud) am Eingang des OpAmp anschaue, dann ist die im Normalbetrieb null. Wenn ich langsam unter 5V gehe, fängt Ud an um ein paar mV anzusteigen. Wenn ich jetzt noch weiter runter gehe, dann springt Ud auf ca. -1.7V. Für mich sagt das aus, das der OpAmp den MOSFET nicht mehr durchsteuern kann/ will.
Natürlich kann der das nicht. Steht auch im Datenblatt (Input Common Mode Voltage Range!). Dafür brauchst einen Single Supply OpAmp, die können am Ein- und/oder Ausgang auch bis zur negative Versorgungsspannung runter.
Gespeichert
Falzo
Diktator vom Dienst
Administrator

*

Karma: +15/-0
Offline Offline
Geschlecht: Männlich
Beiträge: 5088



Profil anzeigen WWW
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #10 am: Oktober 12, 2007, 19:13:29 »

nur so am rande:

die urspruengliche Schaltung war auf Einfachheit ausgelegt und um Lüfter zu regeln, was sie auch hervorragend tut ;-)

die OPV TL081/82/84 sind intern frequenzgangkompensiert!

@vib170al: bzgl kondensator im support-thread ab da http://www.modding-faq.de/Foru...topic=13311.345 ma gucken ;-)
Gespeichert

...bis einer heult!
find virtual reality related boards at https://vrforum.de
Reisi
Lötkolbenfreak

*

Karma: +2/-0
Offline Offline
Beiträge: 190



Profil anzeigen
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #11 am: Oktober 12, 2007, 19:53:07 »

die OPV TL081/82/84 sind intern frequenzgangkompensiert!
Das funktioniert aber nur bei einer Rückkopplung über rein passive Bauelemente.

Durch den FET in Sourceschaltung wird allerdings die Verstärkung (Open-Loop) des Gesamtsystems vergrößert. Das Verstärkungsbandbreiteprodukt wird dadurch aber nicht vergößert, dadurch ist die interne Frequenzgangkompensation nicht mehr ausreichend wirksam.
Gespeichert
vib170al
Modding-Noob

*

Karma: +0/-0
Offline Offline
Beiträge: 5


Ich liebe dieses Forum!


Profil anzeigen
Re: Digitale Lüftersteuerung auf AVR Basis
« Antwort #12 am: Oktober 13, 2007, 08:15:12 »

Um das Ganze abzuschließen, ich weiß jetzt wenigstens woran es liegt und damit bin ich auch erst mal zufrieden. Ich hatte ja ganz vergessen, das hier ein p-channel FET eingesetzt wird und der braucht ja bekanntlich um zu sperren eine Spg. am Gate. Ich bin mir sicher das es mit einem besseren OPV (z.B. ein Rail-to-Rail) geht. Der µA741 soll ja nicht gerade zu Besten gehören.
Ein C=100n zwischen Pin 6 und 2 des OPV unterdrückt zumindest in der Simulation das Schwingen vollständig. Praktisch bringts beeinsflusst es die minimal Ausgangspg. aber nicht.
« Letzte Änderung: Oktober 13, 2007, 08:18:30 von vib170al » Gespeichert
Seiten: [1] nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Einloggen mit Benutzername, Passwort und Sitzungslänge      

Powered by MySQL Powered by PHP
eXTReMe Tracker
Seite erstellt in 0.075 Sekunden mit 18 Zugriffen.
© 2001-2022 MODDING-FAQ FORUM | SMF
Alle Rechte vorbehalten.
Prüfe XHTML 1.0! Prüfe CSS!