Wczoraj zainstalowałem sobie webasto w samochodzie, na razie cześć mechaniczną , niestety pojawiły się problemy z wysterowaniem 400W dmuchawy ogrzewania . Pomyślałem sobie że może użyć mikrokontrolera a chyba wystarczy Attiny13
Zasada działania :
po włączeniu zasilania miękki start na okolo 50% po uzyskaniu tej prędkości oczekiwanie na uzyskanie temperatury około 20 st we wnętrzu samochodu , po uzyskaniu tej temperatury wyłączenie webasta . Proszę kolegów o uwagi i sugestie jak i rzut oka na wstępnie napisany program
Zasada działania :
po włączeniu zasilania miękki start na okolo 50% po uzyskaniu tej prędkości oczekiwanie na uzyskanie temperatury około 20 st we wnętrzu samochodu , po uzyskaniu tej temperatury wyłączenie webasta . Proszę kolegów o uwagi i sugestie jak i rzut oka na wstępnie napisany program
$regfile = "ATTINY13.DAT"
$crystal = 4800000
$hwstack = 16
$swstack = 8
$framesize = 24
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Config Timer0 = Pwm , Prescale = 8 , Compare A Pwm = Clear Down
Config Timer0 = Timer , Prescale = 1
Enable Timer0
On Timer0
Config Pinb.0 = Output
Config Portb.4 = Input 'pin pomiaru adc z LM35
Config Portb.2 = Output ' wyjscie blokujące prace webasta
Enable Interrupts
Dim Temp As Word
Dim Obroty As Byte
'napięcie wyjściowe LM35 to 0V-1V (0*C-100*C),
'wewnętrzne napięcie odniesienia Vbg to ok.1V
'temperatura pokojowa (temperatury załączania dobierane eksperymentalnie,
'różnią się niewiele od wartości niżej, (240=ok.22*C)
'If Temp > 250 And Temp < 300 Then
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
Declare Sub Poczatek
Declare Sub Grzanie
'poczekaj 5 minut potem uruchom pwm
'stopniowe przyspieszanie dmuchawy do wartosci sredniej . 1/2 mocy
Poczatek:
Do
Obroty = 0
Incr Obroty
Wait 1 '
'End If
If Obroty = 150 Then Goto Grzanie
Loop
'praca dmuchawy na srednich obrotach ok 1/3 predkosci
Grzanie:
Do
Temp = Getadc(2)
If Temp > 350 Then Temp = 350 'pomiar temperatury i warunki brzegowe
If Temp < 100 Then Temp = 100
'
If Temp > 100 Then Decr Obroty
If Obroty > 100 Then Obroty = 100
'jesli temp wnetrza bedzie wiekasza niż 20 st wyłacz webasto
If Temp > 300 Or Temp < 240 Then Obroty = 0
Set Portb.2 'ustawianie stanu wysokiego blokujacego prace webasta .
'End If
Loop