Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Attiny13 - Attiny13 sterowanie wentylatorem i współpraca z webastem

Marek Sp 21 Lis 2012 13:30 903 0
  • #1 21 Lis 2012 13:30
    Marek Sp
    Poziom 20  

    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

    Code:
    $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

    0 0