Gast
#2013222
Hallo miteinander,
ich möchte gern ein Lüfter nach einer Temperatur regeln, habe da etwas
über Bascom schon probiert, aber ich komme da nicht weiter.
Auf mein Testboard läuft die Diode von dunkel nach hell, wen die
Temperatur noch unterschritten ist wen sie drüber kommt, verhält sich
die die Diode genau entgegengesetzt, so sollte fast sein nur das die PWM
nicht direkt von 0 anfängt.
Alles in einen, es sollte ein Lüfter oder ein Lötkolben immer die
gleiche Drehzahl bzw Temperatur halten, abhängig von der Temperatur,
wie funktioniert es richtig, kann mir jemand weiter helfen ?
gruß Migelito
$regfile = "m8def.dat"
$crystal = 8000000
$hwstack = 32
$swstack = 12
$framesize = 24
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 ,
Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Config Lcd = 20 * 2
Initlcd
Waitms 50
Cursor Off Noblink
Cls
Dim Tempsensor1(2) As Byte
Dim Ar1(9) As Byte
Dim Temp1 As Single
Dim Temp2 As Single
Dim Tmp1 As Byte
Dim T1 As Integer
Dim T2 As Integer
Dim Sign As Byte
Dim Solltemp As Word
Dim Isttemp As Word
Dim Temperatur As String * 3
Dim Temp As String * 3
Config 1wire = Portc.5
Tempsensor1(1) = 1wsearchfirst()
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale =
256
Enable Timer1
Enable Interrupts
Solltemp = 30
Do
Gosub Digital
Locate 1 , 1 : Lcd Fusing(temp1 , "##.#")
Isttemp = Temp1
If Isttemp < Solltemp Then
Pwm1a = Pwm1a + 10
End If
If Isttemp > Solltemp Then
Pwm1a = Pwm1a - 10
End If
'If Isttemp > 255 Then Isttemp = 255
Loop
End
Digital:
1wreset
1wwrite &HCC
1wwrite &H44
Waitms 200
1wreset
1wwrite &HCC
1wwrite &HBE
Ar1(1) = 1wread(9)
'Ar1(1) = &H92
'Ar1(2) = &HFF
Sign = 1
If Ar1(2) = &HFF Then Sign = 0
Tmp1 = Ar1(1) And 1
If Tmp1 = 1 Then Decr Ar1(1)
T1 = Makeint(ar1(1) , Ar1(2))
T1 = T1 * 50
T1 = T1 - 25
T2 = Ar1(8) - Ar1(7)
T2 = T2 * 100
T2 = T2 / Ar1(8)
T1 = T1 + T2
T1 = T1 / 10
Temp1 = T1 / 10
Return