Prosty Sterownik C.O.


9
Ocena: None Średnia: 9 (13 głosujących)

Urządzenie to jak sama nazwa wskazuje jest sterownikiem do instalacji centralnego ogrzewania. Układ sprawdza się w bardzo prostych instalacjach posiadających jedną wspólną pompkę do grzejników i do wymiennika C.W.U. W wersji podstawowej nie jest oprogramowany wentylator nadmuchowy, gdyż nie było go w instalacji w której opisywany sterownik miał działać. Dodatkowe wyjście z triakiem pozwoli łatwo zmodyfikować program i dodać obsługę wentylatora. Sterownik posiada dwa tryby pracy, letni w którym głównie nastawia się na grzanie wody i pompa pracuje gdy temperatura na piecu jest większa niż w wymienniku, oraz tryb zimowy gdzie pompa pracuje zawsze gdy temperatura na piecu jest większa od minimalnej. Dodatkową funkcją sterownika jest pomiar temperatury na piecu, w bojlerze, w domu i na zbiorniku wyrównawczym. Konfiguracja w menu pozwala ustawić temperaturę minimalną i alarmową oraz zmieniać tryb pracy.

Działanie:

Schemat ideowy układu znajduje się na rysunku poniżej:

Sercem układu jest mikrokontroler U1 (ATMega8) wraz z rezonatorem kwarcowym X1(16MHz) i kondensatorami C1 (22pF) i C2 (22pF). Kondensatory C3 (220uF) i C4 (100nF) filtrują napięcie zasilania, które powinno zostać podane na złącze Zas (ARK2) z drugiej płytki sterownika. Potencjometr P1 (10k) umożliwia regulację kontrastu wyświetlacza W1 (LCD 2x16). Za pomocą tranzystora T1 (BC556) i rezystora R2 (3,3k) możliwe jest włączenie podświetlania wyświetlacza w sposób programowy. Rezystor R1 (47R) ogranicza prąd struktur LED podświetlających wyświetlacz. Buzzer z generatorem BUZ1 (5V) pełni funkcję sygnalizatora alarmu. Alarm uruchamiany jest za pośrednictwem tranzystora T2 (BC556) oraz rezystorów R3 (3,3k) i R4 (3,3k) gdy temperatura przekroczy ustawiony próg. Złącze 1W_TR (ARK3) służy do podłączenia magistrali 1-Wire z czujnikami DS18B20 (4 sztuki) oraz zapewnia połączenie sterownika z płytka wykonawczą. Układ U2 jest w praktyce podstawką pod czujnik DS18B20, która przydaje się w momencie rejestracji czujników. Zworka 1W_ENA (goldpin) umożliwia odłączenie całej magistrali od płytki na czas rejestracji czujników. Rezystor R8 (4,7k) jest konieczny do poprawnej pracy układów DS18B20. Zworki DSR1...DSR3 (goldpin) poprzez różne kombinacje pozwalają na wybranie który czujnik ma być w danej chwili zarejestrowany. Przyciski S1..S3 (uSwitch) stanowią klawiaturę urządzenia, natomiast diody D1..D3 (LED) wraz z rezystorami ograniczającymi prąd R5...R7 (470R) stanowią kontrolki pracy pompy, wentylatora oraz alarmu. Złącze Prog (goldpin) służy do zaprogramowania procesora, podobnie jak pin Res, który dodatkowo umożliwia reset procesora podczas rejestracji czujników.

Schemat ideowy układu wykonawczego znajduje się na rysunku poniżej:

W skład modułu wykonawczego wchodzi stabilizator napięcia U1 (7805) wraz z kondensatorami C1 (220uF) i C2 (47uF). Do złącza Zas (ARK) należy podłączyc napięcie o wartości w granicach 7-15V, w pierwowzorze miała to być ładowarka od telefonu. Złącze VCC (ARK) umożliwia zasilanie sterownika. W roli elementów wykonawczych pracują triaki TR1 (BT138-600E) oraz TR2 (BT138-600E), rezystory R2 (180R), R3 (180R), R5 (180R) i R6 (180R) ograniczają prąd bramek triaków. W rolli zabezpieczenia przeciwprzepięciowego zastosowano warystory WR1 (JVR-7N431) i WR2 (JVR-7N431), chociaż nie są one wymagane. Przed zwarciem zabezpiecza bezpiecznik F1 (2A). Złącze 230V umożliwia podłączenie zasilania sieciowego do płytki. Wyjściami napięciowymi dla pompy i wentylatora są złącza TRO1 (ARK) i TRO2 (ARK). Oddzielenie wysokonapięciowych obwodów sieciowych od niskonapięciowego sterownika zapewniają optotriaki OPT1 (MOC3041) i OPT2 (MOC3041). Prąd ich struktur LED ograniczają rezystory R1 (330R) i R2 (330R), a szeregowo włączone diody LED sygnalizują stan triaków. Do złącza TRI (ARK) podłączamy wyjścia sterownika.

Budowa:

Układ z powodzeniem można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj. Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj.

Układ wykonawczy można zbudować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek w odbiciu lustrzanym dostępny jest tutaj
Pomocą w konstrukcji może okazać się schemat montażowy dostępny tutaj.

Wykaz Elementów:

Sterownik:

1x Złącze śrubowe ARK2(podwójne)
1x Złącze śrubowe ARK3(potrójne)
4x Listwa Goldpin 1x2 (1W_ENA)
1x Listwa Goldpin 1x3 (DS18B20)
1x Listwa Goldpin 1x4 (Prog)
3x uSwitch

3x 3,3k
1x 47R
3x 470R
1x 4,7k
1x Potencjometr Montażowy 10k

2x 22pF
1x 100nF
1x 220uF Elektrolit

1x Rezonator Kwarcowy 16MHz
3x Dioda LED
2x BC556
1x Mikrokontroler ATMEGA8 + Podstawka
1x Buzzer z Generatorem 5V
1x 16x2

Układ Wykonawczy:

1x Bezpiecznik 2A
6x Złącze śrubowe ARK2(podwójne)

4x 180R
2x 330R
2x Warystor JVR-7N431

1x 47uF Elektrolit
1x 220uF Elektrolit

2x Dioda LED
1x Stabilizator 7805
2x BT138-600E
2x MOC3041

Programowanie:

Kod Źródłowy do sterownika został napisany w BASCOM AVR firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej:

'************* Konfiguracja uC *****************
'***********************************************
$regfile = "m8def.dat"
$crystal = 16000000
 
'Config Porta = &B00111111 : Porta = &B11111111
Config Portb = &B11111000 : Portb = &B11111111
Config Portc = &B11111111 : Portc = &B11111111
Config Portd = &B00011111 : Portd = &B11111111
 
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5       'mirley UPT M16
Config Lcd = 16 * 2
Cls
Cursor Off Noblink
 
Config 1wire = Pind.2
 
 
Sw_port Alias Pinb                                          'nazwa portu
Pompa Alias Portd.3
Went Alias Portd.4
Buzz Alias Portd.1
Light Alias Portd.0
 
Ds1r Alias Pind.7
Ds2r Alias Pind.6
Ds3r Alias Pind.5
 
Led_a Alias Portb.5
Led_p Alias Portb.3
Led_w Alias Portb.4
 
 
Config Timer0 = Timer , Prescale = 256
Enable Timer0 : On Timer0 Prztimer0
 
 
Enable Interrupts
'********** Konfiguracja uC Koniec  ************
 
'******************  Zmienne *******************
'***********************************************
Dim Stan_sw As Byte , Sw As Byte , Licznik_sw As Byte       'sw
Dim Wyswietlanie As Byte , Poz_wysw As Byte , Wyswietlono As Bit       'Lcd
Dim Mig As Bit , Poz_ust As Byte
Dim Autosave As Byte , Autopowrot As Byte , Autolight As Byte
 
 
Dim Ds1(8) As Byte , Ds2(8) As Byte , Ds3(8) As Byte , Ds4(8) As Byte , Ds(8) As Byte , Ds_adr As Byte , Ds_ok As Bit       'DS18B20
Dim Ktory_ds As Byte , Lsb As Byte , Msb As Byte , Minusy As Byte
Dim T(4) As Word
 
Dim T_min As Word , T_alarm As Word
 
Dim Dzielnik(2) As Byte                                     'dzielniki timera
Dim Flaga_4ms As Bit , Flaga_500ms As Bit , Flaga_1s As Bit 'flagi przerwa?
Dim Hbyte(2) As Byte , Hword(3) As Word , N As Byte , Hbit As Bit , M As Byte
 
Dim Buzz_en As Bit
Dim Tryb_letni As Bit                                       '0- tryb zimowy, 1- tryb letni
 
'*************  Zmienne Koniec  ****************
 
'************ Warunki Poczatkowe ***************
'***********************************************
Light = 0
 
Lcd " Sterownik  C.O."
Lowerline
Lcd "  Wersja 0.96"
 
Wait 1
 
If Ds1r = 1 And Ds2r = 0 And Ds3r = 0 Then
  Ds_adr = 30
  Gosub Ds_reg
  Cls
  Lcd "Ds Piec"
End If
If Ds1r = 0 And Ds2r = 1 And Ds3r = 0 Then
  Ds_adr = 40
  Gosub Ds_reg
  Cls
  Lcd "Ds Bojler"
End If
If Ds1r = 1 And Ds2r = 1 And Ds3r = 0 Then
  Ds_adr = 50
  Gosub Ds_reg
  Cls
  Lcd "Ds Zbiornik"
End If
If Ds1r = 0 And Ds2r = 0 And Ds3r = 1 Then
  Ds_adr = 60
  Gosub Ds_reg
  Cls
  Lcd "Ds Kuchnia"
End If
 
 
For N = 1 To 8
  Hbyte(1) = 30 + N
  Readeeprom Ds1(n) , Hbyte(1)
  Hbyte(1) = 40 + N
  Readeeprom Ds2(n) , Hbyte(1)
  Hbyte(1) = 50 + N
  Readeeprom Ds3(n) , Hbyte(1)
  Hbyte(1) = 60 + N
  Readeeprom Ds4(n) , Hbyte(1)
Next N
 
Readeeprom T_min , 2
Readeeprom T_alarm , 4
Readeeprom Hbyte(1) , 6
 
Tryb_letni = Hbyte(1).0
If T_min < 100 Or T_min > 950 Then T_min = 400
If T_alarm < 100 Or T_alarm > 950 Then T_alarm = 850
 
 
Wait 1
Wyswietlono = 1
Wyswietlanie = 1
Autosave = 5
Autolight = 0
 
'*******  Warunki Poczatkowe Koniec  ***********
 
'**************  Petla glowna ******************
'***********************************************
Do
  '***********************************************   co 4ms
  If Flaga_4ms = 1 Then
    Flaga_4ms = 0
 
    Gosub Przyciski
    If Wyswietlono = 1 Then Gosub Wysw_lcd
 
  End If
  '***********************************************
 
  '***********************************************   co 500ms
  If Flaga_500ms = 1 Then
    Flaga_500ms = 0
 
    Mig = Not Mig
 
    'Portd.6 = Buzz_en
 
    If Pompa = 0 Then Led_p = Mig Else Led_p = 1
    If Went = 0 Then Led_w = Mig Else Led_w = 1
    Led_a = Buzz
 
    Wyswietlanie = Poz_wysw
 
  End If
  '***********************************************
 
  '***********************************************   co 1s
  If Flaga_1s = 1 Then
    Flaga_1s = 0
 
    If Light = 0 Then
      Incr Autolight
      If Autolight >= 20 Then Light = 1
    Else
      Autolight = 0
    End If
 
    If Poz_wysw <> 1 Then
      Incr Autopowrot
      If Autopowrot = 6 Then
        'Poz_wysw = 1
        Wyswietlanie = 1
        Poz_ust = 0
      End If
    Else
      Autopowrot = 0
    End If
 
 
    If Autosave < 5 Then
      Incr Autosave
      If Autosave = 5 Then
        'tu zapis do eeprom
        Writeeeprom T_min , 2
        Writeeeprom T_alarm , 4
        Hbyte(1) = 0
        Hbyte(1).0 = Tryb_letni
        Writeeeprom Hbyte(1) , 6
        Poz_ust = 0
      End If
    End If
 
    Gosub Temperatura
    Gosub Sterowanie
 
  End If
  '***********************************************
 
Loop
End
'************ Petla glowna Koniec **************
 
'************ Przerwanie timer 0 ***************
'***********************************************
Prztimer0:
  Timer0 = 5
  Set Flaga_4ms
  Incr Dzielnik(1)
  If Dzielnik(1) = 125 Then
    Dzielnik(1) = 0
    Set Flaga_500ms
    Incr Dzielnik(2)
    If Dzielnik(2) = 2 Then
      Dzielnik(2) = 0
      Set Flaga_1s
    End If
  End If
Return
'******** Przerwanie timer 0 Koniec ************
 
'***********************************************
'*****************  Przyciski     **************
Przyciski:
Sw = Sw_port And &B00000111                                 'maska na piny nieu?ywane jako sw
If Sw <> &B00000111 And Stan_sw = Sw Then
    Incr Licznik_sw
    If Licznik_sw = 68 Then
      Licznik_sw = 0
      Select Case Stan_sw
        Case &B00000011:                                    'incr
        '***********************************************************
          Select Case Poz_wysw
            Case 3:
              Select Case Poz_ust
                Case 0:
                   Poz_ust = 1
                Case 1:
                   If T_min < 950 Then T_min = T_min + 10
                Case 2:
                   If T_alarm < 950 Then T_alarm = T_alarm + 10
              End Select
              Autosave = 0
            Case 4:
              If Poz_ust = 0 Then Poz_ust = 1 Else Tryb_letni = Not Tryb_letni
              Autosave = 0
            'Case 5:
 
          End Select
          If Buzz = 0 Then Buzz_en = 0
          Autopowrot = 0
          Light = 0
          Autolight = 0
 
        Case &B00000101:                                    'ustaw next
        '***********************************************************
          If Poz_ust = 0 Then
            Wyswietlanie = Poz_wysw + 1
            If Wyswietlanie = 5 Then Wyswietlanie = 1
          Else
            Select Case Poz_wysw
              Case 3:
                Incr Poz_ust
                If Poz_ust = 3 Then Poz_ust = 0
              Case 4:
                Incr Poz_ust
                If Poz_ust = 2 Then Poz_ust = 0
 
            End Select
          End If
          If Buzz = 0 Then Buzz_en = 0
          Autopowrot = 0
          Light = 0
          Autolight = 0
 
        Case &B00000110:                                    'decr
        '***********************************************************
          Select Case Poz_wysw
            Case 3:
              Select Case Poz_ust
                Case 0:
                  Poz_ust = 1
                Case 1:
                  If T_min > 100 Then T_min = T_min - 10
                Case 2:
                  If T_alarm > 100 Then T_alarm = T_alarm - 10
              End Select
              Autosave = 0
            Case 4:
              If Poz_ust = 0 Then Poz_ust = 1 Else Tryb_letni = Not Tryb_letni
               Autosave = 0
 
            'Case 5:
 
          End Select
          If Buzz = 0 Then Buzz_en = 0
          Autopowrot = 0
          Light = 0
          Autolight = 0
 
      End Select
    End If
  Else
    Stan_sw = Sw
    Licznik_sw = 60
  End If
 
Return
'***********************************************
 
'***********************************************
'**************    LCD     ***********
Wysw_lcd:
 If Wyswietlanie <> 0 Then
   Wyswietlono = 0
   Select Case Wyswietlanie
     Case 1:                                                'temp piec bojler
     '**************************************************************
       If Poz_wysw <> 1 Then
         Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32  'stopien
         'Deflcdchar 1 , 4 , 32 , 14 , 17 , 17 , 17 , 14 , 32       ' o kreskowane
 
         Cls
         Lcd "Piec:"
         Lowerline
         Lcd "Bojler:"
       End If
 
       For N = 1 To 2
         Hword(1) = T(n) / 10
         Hword(2) = 12
         If Hword(1) >= 10 Then Decr Hword(2)
         If Hword(1) >= 100 Then Decr Hword(2)
         If Minusy.n = 1 Then Decr Hword(2)
         Locate N , Hword(2)
         Hword(2) = T(n) Mod 10
         If Minusy.n = 1 Then Lcd "-"
         Lcd Hword(1) ; "." ; Hword(2) ; Chr(0) ; "C"
       Next N
 
     Case 2:                                                'temb banka,dom
     '**************************************************************
        If Poz_wysw <> 2 Then
         Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32  'stopien
 
         Cls
         Lcd "Zbiornik:"
         Lowerline
         Lcd "Kuchnia:"
       End If
 
       For N = 3 To 4
         Hword(1) = T(n) / 10
         Hword(2) = 12
         If Hword(1) >= 10 Then Decr Hword(2)
         If Hword(1) >= 100 Then Decr Hword(2)
         If Minusy.n = 1 Then Decr Hword(2)
         M = N - 2
         Locate M , Hword(2)
         Hword(2) = T(n) Mod 10
         If Minusy.n = 1 Then Lcd "-"
         Lcd Hword(1) ; "." ; Hword(2) ; Chr(0) ; "C"
       Next N
 
     Case 3:
     '**************************************************************
       If Poz_wysw <> 3 Then
         Deflcdchar 0 , 7 , 5 , 7 , 32 , 32 , 32 , 32 , 32  'stopien
         'Deflcdchar 1 , 4 , 32 , 14 , 17 , 17 , 17 , 14 , 32       ' o kreskowane
 
         Cls
         Lcd "T.Min:"
         Lowerline
         Lcd "T.Alarm"
       End If
 
       If Poz_ust = 1 And Mig = 1 Then
          Locate 1 , 10
          Lcd "       "
       Else
       't minimalna
         Hword(1) = T_min / 10
         Hword(2) = 12
         If Hword(1) >= 10 Then Decr Hword(2)
         If Hword(1) >= 100 Then Decr Hword(2)
         Locate 1 , Hword(2)
         Hword(2) = T_min Mod 10
         Lcd Hword(1) ; "." ; Hword(2) ; Chr(0) ; "C "
       End If
 
       If Poz_ust = 2 And Mig = 1 Then
          Locate 2 , 10
          Lcd "       "
       Else
       't alarmowa
         Hword(1) = T_alarm / 10
         Hword(2) = 12
         If Hword(1) >= 10 Then Decr Hword(2)
         If Hword(1) >= 100 Then Decr Hword(2)
         Locate 2 , Hword(2)
         Hword(2) = T_alarm Mod 10
         Lcd Hword(1) ; "." ; Hword(2) ; Chr(0) ; "C"
       End If
 
 
      Case 4:
     '**************************************************************
        If Poz_wysw <> 4 Then
         Cls
         Lcd "Tryb: "
       End If
 
       Locate 1 , 7
       If Poz_ust = 1 And Mig = 1 Then
          Lcd "       "
       Else
         If Tryb_letni = 1 Then Lcd "Letni" Else Lcd "Zimowy"
       End If
 
 
     Case 5:
     '**************************************************************
        If Poz_wysw <> 5 Then
         Cls
         Lcd "Przedmuch:"
         Lowerline
         Lcd "Przerwa:"
       End If
 
 
   End Select
   Poz_wysw = Wyswietlanie
   Wyswietlanie = 0
   Wyswietlono = 1
 End If
Return
'************** LCD Koniec ***********
 
'**********  rejestracja DS *********
Ds_reg:
  Disable Interrupts
  1wreset
  1wwrite &H33
  Ds(1) = 1wread(8):
  Enable Interrupts
  If Ds(1) <> 255 Or Ds(2) <> 255 Or Ds(3) <> 255 Or Ds(4) <> 255 Or Ds(5) <> 255 Or Ds(6) <> 255 Or Ds(7) <> 255 Or Ds(8) <> 255 Then
    Ds_ok = 1
    For N = 1 To 8
      Hbyte(1) = Ds_adr + N
      Writeeeprom Ds(n) , Hbyte(1)
    Next N
  Else
    Ds_ok = 0
  End If
Return
'******  rejestracja DS Koniec ******
 
'*************  Temperatura   ***********
Temperatura:
  Disable Interrupts
  1wreset
  Select Case Ktory_ds
    Case 0:
      1wwrite &HCC
      1wwrite &H44
    Case 1:
      1wwrite &H55
      1wwrite Ds1(1) , 8
      1wwrite &HBE
      Lsb = 1wread():
      Msb = 1wread():
    Case 2:
      1wwrite &H55
      1wwrite Ds2(1) , 8
      1wwrite &HBE
      Lsb = 1wread():
      Msb = 1wread():
    Case 3:
      1wwrite &H55
      1wwrite Ds3(1) , 8
      1wwrite &HBE
      Lsb = 1wread():
      Msb = 1wread():
    Case 4:
      1wwrite &H55
      1wwrite Ds4(1) , 8
      1wwrite &HBE
      Lsb = 1wread():
      Msb = 1wread():
  End Select
 
  Enable Interrupts
 
  If Ktory_ds > 0 Then
    T(ktory_ds) = Msb * 256
    T(ktory_ds) = T(ktory_ds) + Lsb
    Minusy.ktory_ds = Msb.7
 
    If Minusy.ktory_ds = 1 Then
      T(ktory_ds) = Not T(ktory_ds)
      T(ktory_ds) = T(ktory_ds) + 1
    End If
 
    T(ktory_ds) = T(ktory_ds) * 10
    T(ktory_ds) = T(ktory_ds) / 16
   Else
    If Poz_wysw = 1 And Wyswietlono = 1 Then Wyswietlanie = 1
  End If
 
  Incr Ktory_ds
  If Ktory_ds = 5 Then Ktory_ds = 0
 
Return
'**********  Temperatura  Koniec *********
 
 
'************   Sterowanie       ***************
'***********************************************
Sterowanie:
 
 
  If Tryb_letni = 1 Then
    If T(1) >= T_min Then
      Hword(1) = T(2) + 70
      Hword(2) = T(2) + 30
      If T(1) >= Hword(1) Then Pompa = 0
      If T(1) <= Hword(2) Then Pompa = 1
    Else
      Pompa = 1
    End If
  Else
    If T(1) >= T_min Then
     Pompa = 0
    Else
      Pompa = 1
    End If
  End If
 
 
  If T(1) >= T_alarm Or T(2) >= T_alarm Then
    If Buzz_en = 1 Then Buzz = Not Buzz Else Buzz = 1
  Else
    Buzz = 1
    Hword(1) = T_alarm - 50
    If T(1) <= Hword(1) And T(2) <= Hword(1) Then Buzz_en = 1
  End If
  'tutaj sterowanie wentylatorem
 
Return
'********    Sterowanie      Koniec ************

Ustawienia fusebitów dla mikrokontrolera ATMEGA8 przedstawione są poniżej:

Obsługa:

Wstępne uruchomienie sterownika sprowadza się do zaprogramowania czujników z którymi będzie współpracował. Przy wyłączonym zasilaniu rozwieramy zworkę 1W_ENA wkładamy pierwszy czujnik (od pieca) do złącza na płytce (układ U2), rozwieramy zworkę DSR1 i zwieramy DSR2 i DSR3. Włączamy zasilanie a na wyświetlaczu pojawia się napis "Ds Piec" co świadczy o poprawnym odczycie czujnika. W tej chwili temperatura powinna być już odczytywana. Wyłączamy ponownie zasilanie i kontynuujemy rejestrację pozostałych czujników w taki sam sposób, z tym że ustawienia zworek DSR1...DSR3 są inne. Podczas rejestracji do układu może być jednorazowo podłączony tylko jeden czujnik.

Ustawienia zworek:
Piec: DSR1 = 1, DSR2 = 0, DSR3 = 0
Bojler: DSR1 = 0, DSR2 = 1, DSR3 = 0
Zbiornik wyrównawczy: DSR1 = 1, DSR2 = 1, DSR3 = 0
Dom: DSR1 = 0, DSR2 = 0, DSR3 = 1
*"0" oznacza zworkę zwartą, a "1" rozwartą

Po zakończeniu procedury rejestracyjnej czujników podłączamy je wszystkie naraz do układu i umieszczamy w przeznaczonych miejscach. W przypadku zmiany jednego z czujników trzeba go zarejestrować w taki sam sposób pamiętając że wszystkie pozostałe muszą być odłączone (Zworka 1W_ENA).

Zdjęcia Projektu:

ZałącznikWielkość
Sterownik Schemat58.95 KB
Sterownik Płytka16.38 KB
Sterownik Płytka (odbicie lustrzane)16.51 KB
Sterownik Płytka (4 na stronie)57.41 KB
Sterownik Montowanie22.69 KB
Układ wykonawczy Schemat8.64 KB
Układ wykonawczy Płytka8.14 KB
Układ wykonawczy Płytka (odbicie lustrzane)8.2 KB
Układ wykonawczy Płytka (6 na stronie)36.54 KB
Układ wykonawczy Montowanie12.05 KB
Sterownik + Układ Wykonawczy Płytka47.56 KB
Kod Źródłowy13.82 KB
Panel przedni (SVG)9.6 KB
Panel przedni (SVG) (4 na stronie)30.71 KB
Panel przedni (PDF) (4 na stronie)158.99 KB
Kod Źródłowy (wersja z wentylatorem 2009.11.20) (nie testowana w praktyce)17.49 KB
Program po kompilacji (BIN)7.52 KB
Program po kompilacji (HEX)21.15 KB
Kod Źródłowy (wersja z wentylatorem 2016.01.30) (poprawione temperatury <10)17.57 KB
Program po kompilacji (BIN)7.55 KB
Program po kompilacji (HEX)21.25 KB



Portret użytkownika 10MM

Zgadza się kondek nie jest

Zgadza się kondek nie jest przyczyną,wlutowałem właściwy ,wyjąłem procek z USBpa i zaprogramowałem wsadem do sterownika C.O. fusy oczywiście jak na screnie i to samo.
LCD kupiłem na Allegro o takich parametrach:
Wyświetlacz LCD znakowy 2 linie po 16 znaków
wymiary: 80.0 x 36.0 x 12.0mm
wymiary okna: 64.0 x 18.0mm
wymiary znaku: 2.45 x 5.00mm
kolor podświetlenia: LED zielone
napięcie zasilania: 5V
zakres temperatur pracy: -20÷70°C
standardowy sterownik zgodny z HD44780
z tyłu pisze 1602 V1.0
mam taki:


dodaje jeszcze foty sterownika

Portret użytkownika Adrian161

Mam popdobny problem

No to widać ze nie jedyny mam problem z tym układem. U mnie jest bardzo podobnie z tym ze u mnie nie pulsuje żadna dioda a na wyświetlaczu wyświetla mi kwadraty ale tylko w górnej linii wyświetlacza dolna jest wygaszona na razie odłożyłem projekt ze względu na brak czasu i chęci.

Portret użytkownika mirley

Re: Sterownik

Dotąd mierz ścieżki aż nie znajdziesz zwarcia lub przerwy. LCD masz dobry, prawie taki sam jak ja a to co jest na stronie umieszczam dokładnie takie jak mam w swoim projekcie. Nawet płytki robię z tych samych pdfów co mama na stronie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika 10MM

Uważam ,że płytka wyszła mi

Uważam ,że płytka wyszła mi nie tak najgorzej,myślę o wytrawieniu , widać niektóre ścieżki pocynowane,szukałem zwarć jak i przerw kilka razy. Atmegę odzyskałem dołączając generator kwarcowy do XTAL1 ,Hexa wgrałem przeszedł poprawnie verify ,fusebity w/g screnów i mam to samo ,PR skręcony tak jak wcześniej same kwadraty po prawej stronie a jak reguluję to ekran tylko podświetla naciskając przycisk "-" pulsuje dioda od went. i zapala się zielona na płytce wykonawczej.
brak mi już pomysłow, co mogę jeszcze zrobić,walczę kilka dni z tym. Przeglądałem datasheet tego wyświetlacza wszystko pasuje

zamówiłem drugi wyświetlacz,może ten jakiś felerny?

Portret użytkownika damian_zet

Kwadraty w wyświetlaczu

Kolego 10MM mialem tak z kwadratami w sterowniku BGA, posprawdzaj połączenia między wyświetlaczem a Atmegą :) mi akurat źle przylutowała się atmega i niby nóżka była przylutowana a jednak tak nie było :) a z wygladu wyglądało wszystko ok :) Najlepiej to jedną końcówke miernika daj na punkt lutowniczy wyświetlacza a drugi na nóżki atmegi a nie na pkt lutownicze :)

-

Damian

Portret użytkownika 10MM

sprawdziłem są

sprawdziłem są przejścia
nadal czekam na wyświetlacz aby podmienić... mam pytanie dotyczące programowania atmegi wsad zajmuje po ściągnięciu Hex 22KB
a Bin 8KB po zaprogramowaniu podaje,że jest 7696 bajtów czy tak ma być? pytam bo po ściągnieciu kodu żródłowego i skompilowaniu w Bascom Bin ma 7KB a Hex 19KB oraz jeżeli prawidłowo się zaprogramował to po podaniu zasilania z płytki wykonawczej i naciśnięciu przycisku "-" mruga żółta dioda i świeci non stop na płytce wyk. zielona wyświetlacz się podświetli i za chwilę zgaśnie (tak zaprogramowany ?)po naciśnięciu przycisku podświetli czy to prawidłowo,może coś żle się procek programuje mimo poprawnej weryfikacji.


Portret użytkownika mirley

Re: Sterownik C.O

Bin zawsze zajmuje tyle co w procku a hex więcej. To że po kompilacji kodu wyszło ci inaczej to może być wina innej wersji bascoma albo wybrania opcji optymalizacji kodu w opcjach.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika 10MM

może doprecyzuje pytanie wsad

może doprecyzuje pytanie wsad skompilowany przez Ciebie ma 7.52KB po ściągnięciu na dysk pokazuje mi,że ma 8KB po wgraniu do procka tyle ile na screnie czyli 7696 bajtów chociaż Avrdude podaje w bajtach pytałem ,czy to prawidłowo się zapisało,jeżeli z megą jest ok to będę szukał innej przyczyny poza tym pytałem czy prawidłowo się zapalały diody co oznaczałoby poprawnie zaprogramowany procek lub nie,projektowałeś i uruchamiałeś sterownik to wiesz jak powinno być,wszystko robiłem w/g schematu i wskazówek projektu a afekty jak wyżej

Portret użytkownika mirley

RE: CO

To że na dysku masz inny rozmiar to normalne, są inne systemy plików, jakbyś to na cd nagrał to też by zajmowało inaczej.

CO do diod to bezpośrednio po włączeniu żadna dioda nie świeci. Po przekroczeniu temperatury, typowo 40 na czujniku od pieca włącza się dioda pompa po prawej stronie i miga. Do tego muszą być czujniki zarejestrowane w programie a do tego trzeba LCD.

Jak klikniesz przycisk - to zapali się dioda od wentylatora, środkowa i włączy się drugi triak na układzie wykonawczym

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika GrzesiekG

Problem z MOC3043 i BT138

Witam!
Mam problem z końcówką sterowania mocą w moim termostacie. Użyłem MOC3043 i BT138. Patrząc na twój schemat modułu wykonawczego, zrezygnowałem z R2 a R3=1k. Problem w tym, że układ raz się włączy i nie chce wyłączyć. nie wiem, gdzie jest problem. Czy zamiana miejscami kabli sieciowych (N) i (L) ma wpływ na układ wykrywania przejścia przez zero w MOC3043?
Proszę o pomoc.

Portret użytkownika mirley

Re: Wykonawczy

Testowałeś sam układ wykonawczy podłączając go bezpośrednio do sterowania 0 lub 5V? Nie powinieneś rezygnować z dwóch rezystorów.... poprawia to sprawę z ryzykiem przebicia

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika sza

Uruchomienie

Witam czy sterownik bez podłączonych czujników temp włączy się tzn będzie działać klawiatura? Pytam bo jeszcze mi nie przyszły i niezależnie od wsadu klawiatura nie reaguje a na LCD temp to -0.00

Portret użytkownika 10MM

Witam i wszystko jasne nowy

Witam
i wszystko jasne nowy wyświetlacz i od razu wszystko gra,tamten jednak trafiłem na bubel,albo sprzedawca takowe posiada,kupowałem na Allegro,obecny też ale od innego sprzedawcy.
Mirley dzięki za pomoc
P.s.jak dokończę całkowicie i wstawię w obudowę wrzucę foty.

mam jeszcze pytanie czy warystory są konieczne mam tylko 14N431 275VAC 350VDC oraz odnośnie podświetlenia zaraz po włączeniu ekran gaśnie tak jest ustawione programowo? można zmienić czas wyświetlania lub włączyć non stop ,gdzie to zmienić w której linijce

Portret użytkownika ludek

Zapytanie

Witaj Mirley! Słuchaj projekt genialny! Mam jednak takie pytanie... Słuchaj masz może gdzieś na dysku schemat ideowy i później wykonawczy płytki zrealizowany w którymś z programów... Eagle bądź też Protelu i tm podobnych? Jeśli tak to prosiłbym o wysłanie na e-mail. Proszę o odpowiedź

Portret użytkownika mirley

Re: Sterownik C.O

Warystory nie są konieczne... podświetlanie zmieniasz w fragmencie:

  If Light = 0 Then
      Incr Autolight
      If Autolight >= 20 Then Light = 1 '20 oznacza że gaśnie po 20 sekundach
    Else
      Autolight = 0
    End If

tylko nie wiem po co podświetlać dłużej niż 20 sekund jak i tak pewnie będziesz już w drugim pomieszczeniu.

----------

CO do wysyłania projektów to powtarzam po raz kolejny że nie wysyłam żadnych plików poza pdf i tym co jest na stronie. Wszystko jest w załącznikach.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika 10MM

dodaje foty z uruchomionego i

dodaje foty z uruchomionego i zamontowanego sterownika

Portret użytkownika ludek

Podłaczenie czujników 1-wire

A mam takie pytanie, gdzie podłączaliście czujniki 1-wire, z tego co chyba wiem to jeden pin do złącza
1W-TR, a reszta gdzie?

Portret użytkownika Adrian161

Ja osobiscie mam tylko jeden

Ja osobiscie mam tylko jeden czujnik i mam go podpietego pod zlacze u2 1w-tr mam wolny.

Portret użytkownika 10MM

wszystko masz na schemacie

wszystko masz na schemacie 1-wire podłączyłeś do 1W-TR daj zasilanie +5v oraz gnd
schemat pinu dallasa http://stuff.nekhbet.ro/2009/08/23/how-to-use-the-ds18s20-and-ds18b20-temperature-sensors-with-arduino.html

Portret użytkownika Piotr L

Prośba o wyjaśnienie

Witam.
Nie znam się za bardzo na Bascom'ie i stad moje pytanie.
Nie bardzo rozumiem jakie warunki muszą być fizycznie spełnione aby załączy się oaz wyłączył nadmuch(wentylator)? I jak zmienia się tryb pracy wentylatora z ciągłego na przerywany?
Dzięki za wyrozumiałość i odp.

Portret użytkownika mirley

Re: C.O

Wentylator sam sie nie uruchomi. Po rozpaleniu w piecu klikasz przycisk na sterowniku (-) i rozpoczyna sie sekwencja pracy. Najpierw do uzyskania temperatury minimalnej wentylator działa ciągle, a po przekroczeniu tmin działa w cyklu praca przerwa zgodnie z ustawieniami w menu. Jesli przez ustalony czas rzedu 25-30min temperatura się nie zwiększa to sterownik zakłąda że w piecu się wypaliło i wyłacza wentylator na stałe aż do następnego kliknięcia

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Piotr L

Wentylator

Dzięki bardzo. Już "łapę" ;)
Tak patrze na kod i mam chyba ostatnie głupie pytanie go grona.
Sterownik po załączeniu zaczyna pracę od wyłączonej dmuchawy. Po rozpaleniu i załączeniu cyklu pracuje do uzyskania temp a potem z przerwani według nastaw. Hmmm a co jeśli w nocy powstanie chwilowy zanik prądu? Wszystko wróci do punktu wyjścia a piec zostanie zdławiony bo sterownik nie ma rozpoczętego cyklu pracy? Gdybym chciał się jakoś zabezpieczyć przed tym to jak? dołożyć jakiś akumulator równolegle do zasil uP? czy zmienić w programie nastawę początkową wentylatora aby zaczynał od pracy? Hehe mam nadzieję że nie namieszałem zbytnio.

Portret użytkownika mirley

Re: C.O

Najlepiej było by dołożyć baterię poprzez diodę ale tylko do zasilania samego mikrokontrolera.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Piotr L

No właśnie o takim zasilaniu

No właśnie o takim zasilaniu myślałem, ale jakie ogniwo zastosować? Bateria 3V (nie pamiętam symbolu) jak od BIOS'u wystarczy? Oraz jaka teoretyczna żywotność takiego ogniwa? Rok? Pół? Spróbuje wrzucić program na uP168 nauczę się czegoś przynajmniej ;p. Jeśli chciałbym poczytać na temat programowania uP np atmegi tzn jej obsługi nazwy portów jak ich używać w Bascom'ie to jest jakaś Polska kopalnia wiedzy?

Portret użytkownika mirley

Re: C.O

Bateria może być 3V, albo lepiej 2 takie w szeregu i dwie diody żeby było 4.8V. Prąd będzie pobierany tylko w momencie zaniku napięcia czyli rzadko. Pewnie kilka lat wytrzyma.

Co do kursów Bascoma to ja się uczyłem z "oślej łączki" a potem na własnych błędach. Pewnie jakieś książki znajdziesz na ten temat

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika ludek

Brak wyświetlania temperatury

Witam ponownie. Uruchomiłem sterownik, gdy rejestruję czujnik pojawia się napis Ds piec, ale później temperatura nie pokazuje się na wyświetlaczu, w opisie "Włączamy zasilanie a na wyświetlaczu pojawia się napis "Ds Piec" co świadczy o poprawnym odczycie czujnika. W tej chwili temperatura powinna być już odczytywana" napisane jest, że powinna się temperatura wyświetlać.

Co może być tego przyczyną?

Portret użytkownika mirley

Re: Sterownik C.o

A w momencie rejestracji czujnika tylko on jest podłączony czy inne też? Ma być tylko jeden podłączony podczas rejestracji

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika ludek

Tak, tylko jeden czujnik jest

Tak, tylko jeden czujnik jest podłączony.

Portret użytkownika mirley

Re: CO

W takim razie zwierasz zworkę od rejestracji włączasz zasilanie na podłączonym jednym Ds i wyłączasz zasilanie. Potem rozwierasz zworkę rejestrującą i włączasz jeszcze raz zasilanie. Powinno wtedy działać. Sprawdź tak.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Piotr L

I2C

Witam chciałbym zwolnić parę portów i wykorzystać je inaczej. Myślę o wykorzystaniu I2C/TWI mianowicie LCD zwolnić uP. MEGI => PCF8574P => LCD. Mam problem z komunikacja. Przykłady jakie znalazłem są w C, a ja nie dawno dopiero zacząłem z Bascom'em i ewidentnie robię coś nie tak. Proszę o jakieś wsparcie.

Portret użytkownika ludek

Mirley spróbowałem też tak

Mirley spróbowałem też tak jak napisałeś, ale dalej pokazuje 0 st.C :/ Nie mam pojęcia co się z tym dzieje...

Portret użytkownika mirley

Re: Sterownik C.O

Odnośnie expendera to nie dawał bym na nim LCD, prędzej dął bym wszystkie wyjścia, diody sygnalizacyjne, triaki itp. Chyba że chcesz się bawić dodatkowo w napisanie własnej procedury do LCD.... szczególnie nie polecam a zwłaszcza że zacząłeś niedawno bascoma.

-------

Odnoście czujnika to czy jak odłaczysz go całkowicie podczas pracy to też masz zero? Możesz mieć zwarcie na linii ds, przy mikrokontrolerze albo gdzieś na kablu z czujnika.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika ludek

Wiesz ja rejestruję czujnik w

Wiesz ja rejestruję czujnik w gnieździe do tego przeznaczonym i pozostawiam go tam później (nie zrobiłem jeszcze linii z czujnikami), po wyjęciu czujnika w trakcie pracy na ekranie dalej zostaje zero stopni. Czasami przed cyfrą pojawia się znak "-".

Portret użytkownika mirley

Re: Sterownik C.O

No to podłącz ds'a na krótkim kabelku zaraz przy sterowniku. Jak to zadziała to próbuj. Może masz problem z podłączeniem czujnika

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika sza

Problem z LCD

Witam ponownie.
Po dłuższym czasie testów postanowiłem wytrawić płytkę i dać nowe elementy nie z odzysku a nie jak do tej pory wszystko na uniwersalnej.
Problem się pojawił przy uruchomieniu mianowicie pierwszy rząd wyświetla same kwadraty. I tak co do LCD to nie jego wina był podmieniany i w inny miejscu działa. Układ poprawnie zaprogramowany sprawdzałem na "prototypie". Teoretycznie pozostaje ciągłość ścieżek no właśnie teoretycznie bo nie ma nigdzie zwarć ani przerwań czy pęknięć dla pewności ścieżki pocynowane a potem płytka umyta z pozostałości. Czy np kwarc może być przyczyną?

Portret użytkownika mirley

Re: Kwarc

Jak kwarc może być przyczyną? chyba że go nie ma albo masz podejrzenia że jest uszkodzony. Bez taktowania LCD napewno nic nie wyświetli bo procek nie działa

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika sza

Re: Kwarc

A co mi innego pozostało obstawić? Skoro LCD jest ok uP tez to pozostaje tylko płyta z elementami które są sprawdzone poza kwarcem. Dlatego już nie wiem czego się chwytać.

Portret użytkownika mirley

Re: Sterownik C.O

A da się zaprogramować procka na płycie sterownika? podłącz programator do sterownika i sprawdź czy procek się programuje. Jesli nie to wymień tego kwarca.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika sza

I jednak w roli głównej

I jednak w roli głównej negatywnego bohatera wystąpił kwarc...
Dzięki za pomoc. Widziałem Ze ktoś myśli o Expanderze i racja lepiej LCD nie ruszać tylko wykorzystać wyścia sterownicze od pompy i dmuchawy za deklarować je jako line danych i w ten sposób bez przerabiania płytki można by dołożyć dodatkowy moduł który by tymi dwoma urządzeniami sterowa plus czymś jeszcze. Widz tu ktoś jakby wkomponować zamiast np zmiennej Pompa polecenie zapisu do Exp hmm np

 If T(1) >= T_min Then 
 I2cstart
 I2cwbyte 112
 I2cwbyte 0100XXX0
 I2cstop

Ciekawe jakby to było... Pomysły?

Portret użytkownika neronik

Witam mam prośbę do kol.Mirka

Witam mam prośbę do kol.Mirka lub innych kolegów,którym czas pozwoli i będą chcieli pomóc w sprawie powyższego sterownika.Chciałbym aby zmodyfikować wsad aby wykonywał następujące funkcje
-pomiar temperatury w jednym punkcie przez DS 18B20
-płynna regulacja wentylatora(nie jest niezbędna ale byłaby mile widziana) + funkcja przedmuchu (konieczna).
-alarm przegrzania (jest)
-automatyczny stop pompy i wentylatora po wygaśnięciu (wiem ta funkcja już jest).
-na linii odzyskanej np. z rejestracji jednego z dallasów sterowanie podajnikiem (przykładowo czas załączenia od 0-2 min,czas przerwy 0-15 min.).Jeżeli oczywiście miejsce odzyskane (z funkcji,które występują w obecnej wersji a nie są mi potrzebne) w procku pozwoli.Elementy wykonawcze dorobię sam i oczywiście się podzielę (jeśli ktoś będzie zainteresowany).Oczywiście z niecierpliwością czekam na rozbudowany sterownik.Przyznam,że zależy mi na czasie (używany obecnie sterownik dokonuje żywota) stąd prośba na razie o modyfikacje istniejącego wsadu (na sterownik zaawansowany pewnie przyjdzie poczekać co rozumiem ze względu na wszechobecny brak czasu).Dziękuję za ewentualną pomoc i pozdrawiam.

Portret użytkownika sza

Mam jeszcze pytanie.

Mam jeszcze pytanie.
pobieram stan portów

       I2cstart
       I2cwbyte 65
       I2crbyte Pcf8574port , Noack                         '
       I2cstop

zmienna pcf8574port jest tupu Byte i chciałbym mieć dostęp do poszczególnych bitów tego bajtu. Chciałem to załatwić np if pcf8574port.0 = 1 then.... tyle że w tej zmiennej stan portów jest zapisany w postaci dziesiętnej :/ jest jakiś sposób konwersji? Coś jak Printbin(pcf8574port) tyle że to polecenie tylko do wyświetlania na lcd. Można prosić o jakiś przykład?

Portret użytkownika Rosiak

sterownik zacierania

Witam!
Czy na podstawie tego projektu da sie zrobić urzadzenie sterujace procesem zacierania (np. http://bolecki.pl/spz.php )?

Portret użytkownika sza

wszystko się da tylko kwestia

wszystko się da tylko kwestia jakie parametry chciałbyś mieć ustawiane. Czym miałby sterować. Na którym etapie miałby być zainstalowany.

Portret użytkownika damian_zet

Zaawansowany sterownik C.O.

mirley powiedz czy dałoby rade przerobić sterownik aby miał kontrole na posuwem jak pisałem wcześniej? :) bo na wiosne chciałbym zrobić sobie piec z posuwem więc bardzo byłbym wdzięczny za to :)

PoZdR :)

-

Damian

Portret użytkownika Rosiak

RE:wszystko się da tylko kwestia

Do sterownika ma być podłaczona pompa CO ( http://www.sklepco.pl/pompa-grundfos-up-15-14b-o_4814.html ), 1 lub 2 grzalki po 2kw kazda oraz czujnik temp np. DS18B20. Port pozwalajacy podłączyć do komputera np. RS 232

- Możliwość ustawienia do 8 etapów temperatura/czas z różnym sposobem odliczania czasu (odliczanie w tyl i w przod).
- Obliczanie czasu pozostałego do zakończenia pracy.
- Możliwość zawieszenia, przejścia do następnego etapu lub przerwania pracy w każdej chwili.
- Funkcja pracy w trybie ręcznym z podglądem temperatury i czasu.
- Automatyczne lub manualne dobieranie mocy grzałek
- Możliwość kalibracji czujnika temperatury (histereza 0,5 stopnia).
- Wpływ na parametry pracy algorytmu regulatora i funkcji wykrywającej wrzenie pozwalające dostosować sterownik do każdego kotła.
- Diagnostyka czujnika i pamięci.
- Funkcja resetu ustawień do wartości fabrycznych.

To chyba wszystko

Portret użytkownika sza

Kolego Rosiak według mnie to

Kolego Rosiak według mnie to już wyłoby zupełnie inne urządzenie. Myślę, że od strony elektronicznej moduł sterownik od złego mógłby pozostać bez zmian ale wsad już raczej od nowa do pisania oraz moduł wykonawczy. Ja jestem za świeży w temacie ale myślę, że znajdzie się tu ktoś kto pomoże.

Prośba do mentora strony lub kogoś bieżącego w bascom'ie o rzucenie okiem na drobną modyfikacje kodu narazie o i2c. Poza źródłem w którym jeszcze trochę namieszam to do układu sterownika dodałem zasilanie podtrzymujące stan sterownika (wraz z diodami i niewielkimi zmianami w ścieżkach)i podmiana uP na ATM168 nowy moduł wykonawczy narazie cztero-wyjściowy i dodatkowy moduł z Expanderem. Będę potrzebował kogoś chętnego do pomocy przy kodzie bo raczej nie dam rady sobie z wszystkim sam jak już pisałem ledwie zaczynam programować.

Portret użytkownika neronik

Mam takie pytanie czemu we

Mam takie pytanie czemu we wsadach zarówno kolegi Mirka jak i Szymona po przekroczeniu 100 stopni i po jej spadnięciu na wyświetlaczu pozostaje 1 z przodu (np.135 stopni)nie jest jakaś wielka wada ale denerwująca.Dziękuję za super projekt i za ewentualną pomoc co zmienić.Dodatkowo chciałem zapytać czy buzer musi być z wbudowanym generatorem,mój tylko pyka.

Portret użytkownika sza

Więc masz uszkodzony buzzer

Więc masz uszkodzony buzzer lub to zwykły głośnik piezo bez generatora. Co do owej jedynki to zostaje bo nie jest usunięta po wyświetleniu ;p są kasowanie dwa znaki temp trzeci teoretycznie chyba mial sie nie pojawiać bo 99 stopni to prawie wrzenie więc po alarmie.

Portret użytkownika neronik

To już wiem prawie

To już wiem prawie wszystko,buzer jest bez generatora.Może mi ktoś wskazać co trzeba zmienić by ta jedynka była kasowana? Druga sprawa który fragment programu odpowiada za tzw.wygaszanie,bo za nic w świecie nie chce się automatycznie wyłączyć po wygaśnięciu w piecu ( jeśli to możliwe proszę o wstawienie tu tego fragmentu poszukam u siebie błędu).Dziękuję kol.Sza i proszę o odpowiedź.

Portret użytkownika mirley

Re: Sterownik C.O

Trochę sie namnozyło róznych propozycji.... od razu mówię po raz kolejny że dopisywanie czegoś do tego sterownika ma mały sens, chyba że coś prostego. Wszystkie te funkcje chciałem zamknąć w zaawansowanym sterowniku C.O, który bedzie powstał w niedługim czasie.

Co do tych 100 stopni to trzeba to zrobić po prostu po chamsku kasując pozycję na której pojawia się jedynka przed wyświetleniem:

       For N = 1 To 2
         Hword(1) = T(n) / 10
         Hword(2) = 12
 
         Locate N , 10   'dopisac
         Lcd " "   'dopisać
 
         If Hword(1) >= 10 Then Decr Hword(2)
         If Hword(1) >= 100 Then Decr Hword(2)
         If Minusy.n = 1 Then Decr Hword(2)
         Locate N , Hword(2)
         Hword(2) = T(n) Mod 10
         If Minusy.n = 1 Then Lcd "-"
         Lcd Hword(1) ; "." ; Hword(2) ; Chr(0) ; "C"
       Next N

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.