Seiten: [1] 2 3 4
|
|
|
Autor
|
Thema: Lüftersteuerung mit Microcontroller (Gelesen 82174 mal)
|
Falzo
Diktator vom Dienst
Administrator
Karma: +15/-0
Offline
Geschlecht:
Beiträge: 5088
|
sooo... hier denn mal alles rein was euch einfällt, vielleicht schonmal ne einigung welcher microcontroller, ob modularer aufbau und wenn ja, welche module und wie diese mit einander kommunizieren...
lasst euren Ideen freien lauf :-)
|
|
|
Gespeichert
|
|
|
|
Falzo
Diktator vom Dienst
Administrator
Karma: +15/-0
Offline
Geschlecht:
Beiträge: 5088
|
hier gleich mal die links, die spunky zum thema grundlagen schon im anderen Thread gepostet hat:
|
|
|
Gespeichert
|
|
|
|
|
Spunky
Case-Konstrukteur
Karma: +9/-0
Offline
Geschlecht:
Beiträge: 715
|
Prima Idee mitdem Thread!
Hier mal ein paar Punkte zum Thema AVR:
Das Programmieren sollte sehr einfch sein. Wer so eine Schaltung zusammenlöten kann, bekommt es auch hin, ein Adapterkabel für den Druckerport zu löten. Für die gängigen Programmierinterface-Schaltungen brauch man nur 4 Adren des Druckerports. Dann braucht man nur noch ein simples Programmiertool aufrufen, den fertigen HEX-Code den "Ich" oder ich liefern würden, auf "Programm" klicken, 10sek warten, fertig! Dank dem FLASH-Rom kann man das etwa 1000 mal mit dem Prozessor machen. Spezielle Spannungen sind nicht nötig, die normalen 5V reichen.
Man muß nur sich ein bisschen mit der Hardware dieser Teile beschäftigen, weil es gibt keine API oder so, sondern man prukelt die Bits von Hand in die Register. Dank Basic ist es aber nicht allzu schwer. Wer will kann aber auch problemlos in C oder Assembler programmieren. Die meisten Sprachen bekommt man auch als Freeware und muß nicht erst mühsam eine Raubkopie suchen . Von BASCOM reicht am Anfang die Demo, welche max 2k Code erzeugt Mehr passt auch nicht in die kleinsten Chips. Der Code ist aber auch sehr schlank, da er sehr Hardwarenah ist. Ansonsten kann die Demo alles, was auch die Vollversion beherrscht. Befehle für die serielle Schnittstelle, LCDs mit HD44780 oder T6369C-Cotroller, Dallas-Sensoren, Infrarot RC5 Code senden und empfangen sind schon fertig.
@Ich: Stimmt, die AVR-Controller sind IMHO auch die einfachsten und schnelllsten. Billig sind sie auch (gibts sogar bei eBay). Ich wollte, wie gesagt die Lüfter per PWM steuern. Das reduziert den Schaltungsaufwand ungemein. Füer die Temperaturüberwachung kann man sich überlegen, wie aufwändig man sie macht. Die Dallas-Sensoren sind nicht ganz billig, aber brauchen keinen weiteren Schaltaufwand und liefern die absoluten Temperaturwerte. Sie sind so groß wie ein kleiner Transistor und haben auch 3 Beinschen. Andere Möglichkeit währen NTC-Widerstände und A/D-Wandler. Könnten aber etwas ungenau sein. Wenn man die Temperatur nicht sehr genau braucht (für eine Lüftersteuerung würden +/-3°C abweichung nichts ausmachen), währe es die billigste Lösung. Kann man ja Modular aufbauen. Zum Testen der Schaltungen würde ich mir an deiner Stelle aber eine Steckplatine nehmen. Beispiel hier: http://www.htpc-board.de/album_view.php?id=22 Die sind nicht ganz billig, mit 7 bis 35 Euro bei Conrad, aber für Experimentierschaltungen lohnen sie sich wirklich! Meine halten schon seit bestimmt 15 Jahren. Microcontroller-Schaltungen bis 16MHz liefen auch damit.
Ich würde für die Takt-Erzeugung Quarze nehmen. Habe mit gerade ein kleines Sortiment von 4 bis 16MHz besorgt. Einen kleinen Vorrat on 18pF-Kondensatoren gleich mit dabei. Kamen heute zusammen mit den 5 Atmel ATmega8.
Spunky
|
|
« Letzte Änderung: März 1, 2003, 17:08:20 von Spunky »
|
Gespeichert
|
„Liebe Nachwelt! Wenn Ihr nicht gerechter, friedlicher und überhaupt vernünftiger sein werdet als wir gewesen sind, dann soll Euch der Teufel holen. Diesen frommen Wunsch mit aller Hochachtung geäußert habend bin ich Euer ehemaliger, gezeichnet: Albert Einstein.“ --->>> AFAIK? IMHO? HTH? Guckst du hier -> Chat-Akronyme / -Abkürzungen <<<---
|
|
|
Spunky
Case-Konstrukteur
Karma: +9/-0
Offline
Geschlecht:
Beiträge: 715
|
So, erste Versuche mit PWM funktionieren. Allerdings knurrt der kleine Papst (8412 N/2GM) etwas. Werde noch ein bisschen mit der Frequenz spielen und mal andere Lüfter testen. Ich lassen ihn momentan per Taster mit 10%, mit 50% und mit 90% laufen.
Nur ein ganz primitives Programm, ehe es an die Interruptsteuerung geht. Erstmal schauen, ob die Lüfter überhaupt PWM vertragen.
Hier das Programm ind Bascom-BASIC für einen 4414 (Kommentare beginnen bei Bascom mit einem '):
' Initialisierung
' Port A für die 3 Taster als Eingang schalten Config Porta = Input
' Ein paar Variablen Dim A As Byte Dim B As Integer Dim C As Integer Dim D As Integer
' Port A die Pullups einschalten Porta = 255
' Zeitvariable in ms D = 2
' Beginn der Schleife Anfang:
' Port A einlesen A = Pina
If A = 254 Then ' Erste Taste gedrueckt 10% B = D C = D * 9 Elseif A = 253 Then ' Zeite Taste gedrueckt 50% B = D * 5 C = D * 5 Elseif A = 251 Then ' Dritte Taste gedrueckt 90% B = D * 9 C = D Else ' Keine Taste gedreuckt 0% B = 0 C = D * 10 End If
' An Port C, Pin 0 hängt der Luefter If B > 0 ' Pin auf 1 Schalten Set Portc.0 ' Ein paar ms warten Waitms B End If
' Pin wieder abschalten Reset Portc.0 ' Off-Zeit warten Waitms C
'Die ganze Schleife von von vorne Goto Anfang
End
|
|
|
Gespeichert
|
„Liebe Nachwelt! Wenn Ihr nicht gerechter, friedlicher und überhaupt vernünftiger sein werdet als wir gewesen sind, dann soll Euch der Teufel holen. Diesen frommen Wunsch mit aller Hochachtung geäußert habend bin ich Euer ehemaliger, gezeichnet: Albert Einstein.“ --->>> AFAIK? IMHO? HTH? Guckst du hier -> Chat-Akronyme / -Abkürzungen <<<---
|
|
|
|
Falzo
Diktator vom Dienst
Administrator
Karma: +15/-0
Offline
Geschlecht:
Beiträge: 5088
|
auch wenn es so aussieht als ob man dich hier im thread allein lässt, ich lese alles! und nat. besteht Interesse :-))
also bitte weitermachen :b :b :b
|
|
|
Gespeichert
|
|
|
|
|
|
Spunky
Case-Konstrukteur
Karma: +9/-0
Offline
Geschlecht:
Beiträge: 715
|
Ist aber noch roh und hat noch die polnischen Kommentare aus dem Code, aus dem ich ihn übernommen habe. Das original gibt es hier: http://www.easy-soft.tsnet.pl/...metr/t_prg.html aus dem Projekt: http://www.easy-soft.tsnet.pl/.../termometr.html
Bei negativen Werten kommt es zu Darstellungsfehlern.
' Dallas Test Config 1wire = Portc.0 Declare Sub Temperature Declare Sub Crcit Declare Sub Read1820 'bufor odczytanej temperatury Dim Bd(9) As Byte Dim Crc As Byte , T As Integer , T1 As Integer , Temp As Integer Dim Tm As Integer 'Dim Led As String * 7
Crc = 0
Cls Lcd "Temp" Waitms 500
Err = 0
Do Temperature 'pomiar temperatury If Err = 0 Then If Crc = 0 Then Temp = T / 10 Tm = Temp * 10 Tm = T - Tm End If
Cls 'teraz juz. pomiar,potrzebna kropka dziesie;tna Lcd Str(temp) ; "." ; Str(tm) ; "ßC" 'Led = Str(temp) 'Led = Led +"^C " Else Cls 'komunikat-kropka wy?a;czona Lcd Err 'jes'li od?a;czony czujnik,uszkodzony itp. End If Waitms 500 Loop
Sub Temperature 1wreset 1wwrite &HCC 1wwrite &H44 Reset Porta.0 'za?a;czenie zasilania Waitms 700 'czas na konwersje; (w/g materia?ów Dallas 750ms) Set Porta.0 'wy?a;czenie zasilania Read1820 'odczyt DS1820 End Sub
'odczyt danych z DS1820 po konwersji Sub Read1820 Local Tmp As Byte 1wreset 1wwrite &HCC 1wwrite &HBE Bd(1) = 1wread(9) 1wreset 'obliczenie sumy kontrolnej crc If Crc = 0 Then Tmp = Bd(1) And 1 If Tmp = 1 Then Decr Bd(1) T = Makeint(bd(1) , Bd(2)) T = T * 50 : T = T - 25 : T1 = Bd(8) - Bd(7) : T1 = T1 * 100 T1 = T1 / Bd(8) : T = T + T1 : T = T / 10 End If End Sub
End
|
|
|
Gespeichert
|
„Liebe Nachwelt! Wenn Ihr nicht gerechter, friedlicher und überhaupt vernünftiger sein werdet als wir gewesen sind, dann soll Euch der Teufel holen. Diesen frommen Wunsch mit aller Hochachtung geäußert habend bin ich Euer ehemaliger, gezeichnet: Albert Einstein.“ --->>> AFAIK? IMHO? HTH? Guckst du hier -> Chat-Akronyme / -Abkürzungen <<<---
|
|
|
|
RedHead
Modding-Noob
Karma: +0/-0
Offline
Geschlecht:
Beiträge: 11
|
Ich will mir auch eine Lüftersteuerung bauen, aber mit einem PIC. A/D Wandler und PWM sind da integriert. Bin allerdings, was Assembler und den PIC betrifft, absoluter Neuling auf dem Gebiet, mal abwarten ob das überhaupt was wird. Hab mir jetzt erst mal ein Programmierer bei eBay ersteigert, ein Testboard zum rumexperimentieren werd ich mir die Tage selbst bauen.
Meine Vorstellung: 3 Kanäle, alle PWM, einer Temperaturgesteuert, Mindestdrehzahlen über Up-/Downtasten einstellbar. Das wars schon, mehr brauch ich nicht. Ein Alarm bei Lüfterstillstand wär vielleicht auch noch eine Idee die man einbringen könnte.
-RedHead
|
|
|
Gespeichert
|
|
|
|
Spunky
Case-Konstrukteur
Karma: +9/-0
Offline
Geschlecht:
Beiträge: 715
|
Die negativen Temperaturen habe ich mit Kältespay erzeugt. Ich wußte, das meine Routine, die die Zehntel-Grad-Temperatur zerlegt, bei negativen Temperaturen versagen würde. Wollte mal sehen wie das dann aussieht. Etwa so: -5,-3 °C
@ReadHead: Bedenke bei den PIC folgendes: Die PWM-Frequenz für den Lüfter darf zwischen 20 und 500Hz liegen. Das ist sehr gering, gegeüber üblichen PWM-Frequenzen im kHz-Bereich. Ich weiß nicht, ob der PIC es so langsam kann. Ein Atmel ATmega8 hat 6 AD-Wandler (4x10Bit und 2xBit) und 3 PWM-Kanäle. Kann bis 16MHz ab. Was ich an den Atmel AVRs mag, ist das einfache Flashen. Die brauchen keine speziellen 12V oder so, sondern können sogar in der laufenden Schaltung programmiert werden.
IMHO sind die AVRs momentan die schnellsten und preiswertesten Microcontroller. Das Programmier-Interface besteht bei mir aus einem Kabel vom Druckerport und 3 Widerständen. Kein Schalten oder Quarz ziehen zum Programmieren.
Spunky
|
|
|
Gespeichert
|
„Liebe Nachwelt! Wenn Ihr nicht gerechter, friedlicher und überhaupt vernünftiger sein werdet als wir gewesen sind, dann soll Euch der Teufel holen. Diesen frommen Wunsch mit aller Hochachtung geäußert habend bin ich Euer ehemaliger, gezeichnet: Albert Einstein.“ --->>> AFAIK? IMHO? HTH? Guckst du hier -> Chat-Akronyme / -Abkürzungen <<<---
|
|
|
RedHead
Modding-Noob
Karma: +0/-0
Offline
Geschlecht:
Beiträge: 11
|
Wenn ich das richtig verstanden hab, dann ist die Periodendauer der PWM abhäning vom Takt, einem Wert in nem Register und durch den Vorteiler, welcher sich durch Programmierung einstellen lässt. So sollte auch die niedere Frequenz kein Problem sein. Hoffe ich zumindest.
Wie gesagt, ich bin absoluter Neuling was diese Microcontroller angeht. Ich glaub der größte PIC hat 8 ADC und 2 PWM, bin mir da aber nicht sicher. Ich weiss aber das man manche PICs mit bis zu 20 MHZ takten kann.
Hab mir eigentlich keine großen Gedanken darüber gemacht welcher jetzt besser ist oder welcher mehr kann. Auch die Taktfrequenz ist mir nicht so wichtig, da ich die meisten Schaltungen eh mit 4MHZ takten werd
|
|
|
Gespeichert
|
|
|
|
|
Seiten: [1] 2 3 4
|
|
|
|
|