Seiten: [1]
|
 |
|
Autor
|
Thema: Digitale Lüftersteuerung auf AVR Basis (Gelesen 10261 mal)
|
blast32
LED-Tauscher

Karma: +0/-0
Offline
Beiträge: 28
Ich liebe dieses Forum!
|
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 ) 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
|
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
Beiträge: 5
Ich liebe dieses Forum!
|
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, 13:08:22 von vib170al »
|
Gespeichert
|
|
|
|
|
vib170al
Modding-Noob

Karma: +0/-0
Offline
Beiträge: 5
Ich liebe dieses Forum!
|
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
Geschlecht: 
Beiträge: 5088
|
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 
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
|
|
|
|
vib170al
Modding-Noob

Karma: +0/-0
Offline
Beiträge: 5
Ich liebe dieses Forum!
|
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  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?
der LM741 ist im übrigen die bessere wahl gegenüber den TLs...
hab hier im forum gelesen, dass der LM324 sei als der LM741
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)
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
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
Beiträge: 190
|
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
Geschlecht: 
Beiträge: 5088
|
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
|
|
|
|
|
vib170al
Modding-Noob

Karma: +0/-0
Offline
Beiträge: 5
Ich liebe dieses Forum!
|
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, 10:18:30 von vib170al »
|
Gespeichert
|
|
|
|
Seiten: [1]
|
|
|
|
|