Sterownik Pompy Kolektora Słonecznego


9
Ocena: None Średnia: 9 (1 głosujący)

Układ został zbudowany w celu automatycznego uruchamiania pompy gdy temperatura na kolektorze słonecznym osiągnie ustawiony poziom. Urządzenie to jest prostym sterownikiem, nie posiada funkcji sprawdzania temperatury w zbiorniku. Całość jest zbudowana w oparciu o mikrokontroler AT89C2051 i kilka elementów pomocniczych. W roli czujnika temperatury wykorzystano popularny DS18S20 przez co pomiar jest dokładny a program dla procesora nie jest skomplikowany. Dodanie drugiego czujnika nie stanowi problemu gdyż pracują one na magistrali 1-Wire ale konieczna jest modyfikacja programu.



Działanie:


Schemat Sterownika przedstawia poniższy rysunek:

Głównym elementem sterownika jest mikrokontroler U1 (AT89C2051) oraz kondensatory C3 (33pF) i C4 (33pF) wraz z rezonatorem kwarcowym X1 (12MHz). Elementy Br1, stabilizator U2 (7805) oraz kondensatory C1 (1000uF) i C2 (47uF) tworzą zasilacz dostarczający napięcia dla całego układu. Kondensator C5 (4,7uF) pracuje w obwodzie resetu mikrokontrolera i zapewnia jego poprawną pracę po włączeniu zasilania. Rezystory R1 - R8 (220R) ograniczają prąd wyświetlaczy LED. Złącze SW (goldpin) służy do podłączenia dwu przyciskowej klawiatury, natomiast 1W jest złączem czujnika DS18S20. Tranzystory T1 - T3 (BC557) wraz z rezystorami R12 (2,7k), R13 (2,7k) i R14 (2,7k) oraz R15 (3,3k), R16 (3,3k) i R17 (3,3k) sterują pracą anod wyświetlaczy i diodami sygnalizacyjnymi. Elementy R9 (470R), R11 (220R) oraz optotriak OPT (MOC3042) i triak T (TIC226) stanowią prosty układ wykonawczy uruchamiający pompę.

Na rysunku poniżej znajduje się schemat wyświetlacza:

Budowa:


Sterownik można zmontować w oparciu o płytkę drukowaną dostępną tutaj. Rysunek płytki w odbiciu lustrzanym można ściągnąć tutaj. Montaż płytki jest bardzo łatwy, należy go rozpocząć od wlutowania jednej zworki. Kolejność pozostałych elementów nie ma znaczenia. Pod mikrokontroler należy bezwzględnie zastosować podstawkę, gdyż w przeciwnym wypadku niemożliwe będzie jego zaprogramowanie. W miejsce złącz GP1 i COM, zapewniających kontakt sterownika z wyświetlaczem można zastosować kawałek przewodu wstążkowego wlutowanego bezpośrednio w obie płytki. Pomocą przy konstrukcji może okazać się dostępny tutaj schemat montażowy.

Płytkę wyświetlacza można wykonać w oparciu o rysunek dostępny tutaj. Rysunek płytki w odbiciu lustrzanym można ściągnąć tutaj. Montaż wyświetlacza należy rozpocząć od wlutowaniu wszystkich zworek. Pod wyświetlacz dobrze jest zastosować połowę podstawki DIP40. Diody LED należy umiejscowić trochę wyżej niż wyświetlacz, aby wystawały nieco z płyty czołowej obudowy. Pomocą przy budowie może okazać się schemat montażowy dostępny tutaj.

Wykaz Elementów:

Sterownik:


2x Złącze ARK2
3x Listwa Goldpin 1x3
1x Listwa Goldpin 1x8

9x 220R
1x 470R
3x 2,7k
3x 3,3k

2x 33pF
1x 4,7uF Elektrolit
1x 47uF Elektrolit
1x 1000uF Elektrolit

1x Rezonator Kwarcowy 12MHz
1x Mostek Prostowniczy 1A
3x BC557B
1x 7805
1x AT89C2051 + Podstawka
1x MOC3042
1x TIC226

Wyświetlacz:


1x Listwa Gold Pin 1x3
1x Listwa Gold Pin 1x8

1x Wyświetlacz podwójny 7 segmentowy
2x Dioda LED

Programowanie:


Mikrokontroler do sterownika został zaprogramowany w wersji demo programu BASCOM 8051 firmy MCS Electronics (http://www.mcselec.com/). Program przedstawiony jest poniżej:

$large
 
Config Timer0 = Timer , Gate = Internal , Mode = 2            'okres Timera0 250*12*Tosc=250us
Load Timer0 , 250
On Timer0 Przerwanie
Enable Interrupts
Enable Timer0
Start Timer0
 
Config 1wire = P3.2
 
'*******************************************************************************
                                  'Zmienne
'*******************************************************************************
Dim Lsb As Byte
Dim Msb As Byte
Dim Co4ms As Byte , Co100ms As Byte , Co1s As Byte
Dim Wysw As Byte , Wysw1 As Byte , Wysw10 As Byte
Dim Tempa As Byte , Tempu As Byte , Hister As Byte , Tempw As Byte
Dim Mux As Byte
Dim Liczmig As Byte , Liczmig2 As Byte
Dim Autopowrot As Byte
Dim Ustawianie As Byte
Dim Przycisk1 As Byte , Przycisk2 As Byte , Przycisk3 As Byte
 
Dim Zezw_przyc As Bit , Zezw_wysw As Bit , Zezw_uruch As Bit
Dim Praca_automat As Bit , Stan_reczny As Bit
Dim Mig As Bit , Mig2 As Bit
Dim Pompa As Bit
Dim Pomiar_odczyt As Bit
 
'*******************************************************************************
                                  'wartosci
'*******************************************************************************
Ustawianie = 0
Tempu = 40
Hister = 4
Set Praca_automat
Set Stan_reczny
Reset Pomiar_odczyt
Set Pompa
'*******************************************************************************
                                  'Petla glowna
'*******************************************************************************
Do
 
If Zezw_wysw = 1 Then                                         'wyswietlanie
  Reset Zezw_wysw
  '*****************************************      'co 4ms
  Incr Mux
  If Mux = 3 Then Mux = 0
 
  Select Case Ustawianie
   Case 0:                                                    'temp akt
    Wysw = Tempa
   Case 1:                                                    'Temp ustawiona
    If Mig2 = 1 Then Wysw = Tempu Else Wysw = 253
   Case 2:                                                    'przedzial
    If Mig2 = 1 Then Wysw = Hister Else Wysw = 253
   Case 3:
    If Praca_automat = 1 Then Wysw = 251 Else Wysw = 252
  End Select
 
  Gosub Przelicz
 
  Select Case Mux
    Case 0:
     Set P3.3
     P1 = Wysw10
     Reset P3.5
    Case 1:
     Set P3.5
     P1 = Wysw1
     Reset P3.4
    Case 2:
     Set P3.4
     Select Case Ustawianie
      Case 0:
       P1 = 255
       If Mig = 1 Then P1.6 = P3.7 Else P1.6 = 1
       P1.7 = Praca_automat
      Case 1:
       P1 = &B01111111
      Case 2:
       P1 = &B10111111
      Case 3:
       P1 = 255
     End Select
     Reset P3.3
  End Select
  '*****************************************
End If
 
If Zezw_przyc = 1 Then
  Reset Zezw_przyc
  '*****************************************   co100ms
  Incr Liczmig
  If Liczmig = 5 Then
    Liczmig = 0
    Mig = Not Mig                                             '2Hz miganie
  End If
 
  Incr Liczmig2
  If Liczmig2 = 2 Then
    Liczmig2 = 0
    Mig2 = Not Mig2                                           '5Hz miganie
  End If
 
  If Ustawianie <> 0 Then
   Incr Autopowrot
   If Autopowrot = 100 Then                                   ' po 10s wracaj do pokazywania temperatury
     Autopowrot = 0
     Ustawianie = 0
   End If
  End If
 
  'przyciski
 
  P3.0 = 1
  P3.1 = 1
 
  If P3.0 = 0 And P3.1 = 1 Then                               'tylko minus wcisniety
   Incr Przycisk1
   If Przycisk1 = 5 Then
    Przycisk1 = 0
    Autopowrot = 0
    '***********************
    Select Case Ustawianie
       Case 0:
        If Praca_automat = 0 Then Set Stan_reczny             'gdy tryb reczny wylacz pompe
       Case 1:
        If Tempu > 20 Then Decr Tempu                         'zmniejsz ustawiona temp
       Case 2:
        If Hister > 0 Then Decr Hister                        'zmniejsz przedzial temp
       Case 3:
        Reset Praca_automat                                   'zalacze prace reczna i wyl pompe
        Set Stan_reczny
     End Select
    '***********************
   End If
  Else
   Przycisk1 = 0
  End If
 
  If P3.1 = 0 And P3.0 = 1 Then                               'tylko plus wcisniety
   Incr Przycisk2
   If Przycisk2 = 5 Then
    Przycisk2 = 0
    Autopowrot = 0
    '***********************
    Select Case Ustawianie
       Case 0:
        If Praca_automat = 0 Then Reset Stan_reczny           'gdy tryb reczny wlacz pompe
       Case 1:
        If Tempu < 90 Then Incr Tempu                         'zwieksz ustawiona temp
       Case 2:
        If Hister < 20 Then Incr Hister                       'zwieksza przedzial temp
       Case 3:
        Set Praca_automat                                     'zalacza prace automatyczna i wyl pompe
        Set Stan_reczny
     End Select
    '***********************
   End If
  Else
   Przycisk2 = 0
  End If
 
  If P3.1 = 0 And P3.0 = 0 Then                               'wcisniety plus i minus
   Incr Przycisk3
   If Przycisk3 = 8 Then
    Przycisk3 = 0
    Autopowrot = 0
    '***********************
    Incr Ustawianie
    If Ustawianie = 4 Then Ustawianie = 0
    '***********************
   End If
  Else
   Przycisk3 = 0
  End If
 
  '*****************************************
End If
 
If Zezw_uruch = 1 Then
  Reset Zezw_uruch
  '*****************************************  co 1s
  If Tempa < 100 Then
    Tempw = Tempu - Hister
 
    If Tempa >= Tempu Then Reset Pompa
 
    If Tempa < Tempw Then Set Pompa
 
  Else
   Set Pompa
  End If
 
  If Praca_automat = 0 Then Pompa = Stan_reczny
 
  If P3.7 <> Pompa Then P3.7 = Pompa
  '*****************************************
End If
 
Loop
End
'*******************************************************************************
                                  'Przerwanie Timera
'*******************************************************************************
Przerwanie:                                                   'co 250us
 Incr Co4ms
 If Co4ms = 16 Then
   Co4ms = 0
   '***************************************  co 4ms
   Set Zezw_wysw
   Incr Co100ms
   If Co100ms = 25 Then
     Co100ms = 0
     '*************************************** co 100 ms
     Set Zezw_przyc
     Incr Co1s
     If Co1s = 10 Then
       Co1s = 0
       '*************************************** co 1s
       Pomiar_odczyt = Not Pomiar_odczyt
 
       Disable Interrupts
       1wreset
 
       If Pomiar_odczyt = 1 Then
        1wwrite &HCC
        1wwrite &H44
       Else
        If Err = 0 Then
 
          1wwrite &HCC
          1wwrite &HBE
          Lsb = 1wread():
          Msb = 1wread():
 
          If Msb = 0 Then
            Tempa = Lsb / 2                                   'dokladnosc 1 stopien
          Else
            Tempa = 254                                       'LA wyswietli low alert
          End If
 
        Else
          Tempa = 255                                         'Er wyswietli wyswietlacz potem
        End If
       End If
 
       Set Zezw_uruch
       Enable Interrupts
       '***************************************
     End If
     '***************************************
   End If
   '***************************************
 End If
Return
'*******************************************************************************
'procedura przeliczajaca zmienna wysw na dwie zmienne odpowiadajace wyswietlaniu na dwoch wyswietlaczach
'*******************************************************************************
Przelicz:
 If Wysw < 100 Then
   Wysw1 = Wysw Mod 10
   Wysw1 = Lookup(wysw1 , Tabela)
   If Wysw > 9 Then
     Wysw10 = Wysw / 10
     Wysw10 = Lookup(wysw10 , Tabela)
   Else
     Wysw10 = 255                                             ' znika 0 na pierwszym miejscu
   End If
 Else
   If Wysw < 251 Then
     Wysw1 = 136                                              'A
     Wysw10 = 137                                             'H
   End If
 
   If Wysw = 251 Then
     Wysw1 = 136                                              'A
     Wysw10 = 140                                             'P
   End If
 
   If Wysw = 252 Then
     Wysw1 = 175                                              'r
     Wysw10 = 140                                             'P
   End If
 
   If Wysw = 253 Then
     Wysw1 = 255                                              'nic    potrzebne do migania
     Wysw10 = 255                                             'nic
   End If
 
   If Wysw = 254 Then
     Wysw1 = 136                                              'A
     Wysw10 = 199                                             'L
   End If
 
   If Wysw = 255 Then
     Wysw1 = 175                                              'r
     Wysw10 = 134                                             'E
   End If
 End If
 
Return
'*******************************************************************************
                           'Tabela do wyswietlania na wyswietlaczu
'*******************************************************************************
Tabela:
    Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144
'znak:    0     1     2     3     4     5     6     7     8     9
'*******************************************************************************

Zdjęcia Projektu:

ZałącznikWielkość
Sterownik Schemat60.05 KB
Sterownik Płytka13.42 KB
Sterownik Płytka (odbicie lustrzane)13.4 KB
Sterownik Płytka (6 na stronie)67.21 KB
Sterownik Montowanie18.63 KB
Wyświetlacz Schemat26.68 KB
Wyświetlacz Płytka7.36 KB
Wyświetlacz Płytka (odbicie lustrzane)7.47 KB
Wyświetlacz Płytka (6 na stronie)40.26 KB
Wyświetlacz Montowanie8.46 KB
Płyta Czołowa38.83 KB
Kod źródłowy10.25 KB
Program po kompilacji (BIN)1.52 KB
Program po kompilacji (HEX)4.32 KB



Portret użytkownika igi79

Transformator

Witam
Mam pytanie ,jaki zastosowałeś transformator w tym projekcie?

Portret użytkownika mirley

Transformator

Transformator użyty tam pochodzi z jakiegoś starego radia (napięcie ok 6-8V). Można użyć dowolnego transformatora, pobór prądu powinien być mniejszy od 100mA. Polecam w roli zasilacza zastosować ładowarkę do komórki. np taką http://www.allegro.pl/item324390518_ladowarka_siec_mini_nokia_3310_6020_6310_hit.html. Jest lżejsza od trafa i tania a ma wydajność prądową ok 400mA.

-

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 gosc

programowanie sterownika

Prosze podpowiedzieć jak zaprogramować sterownik to na pewno wielu amatorom pomoże sam program to nie wszystko trzeba jeszcze wiedzieć jak to zrobić przy pomocy jakich nażędzi i jaki program zastosować jeśli będzie występował więcej niż jeden czujnik

Portret użytkownika mirley

programowanie sterownika

Opisywany sterownik zawiera mikrokontroler AT89C2051, aby go zaprogramować potrzebny jest programator na przykład http://www.sklep.avt.com.pl/p/pl/48061/programator+procesorow+89cx051.html. Sam kupiłem go wiele lat temu, kiedy zaczynałem zabawę z mikrokontrolerami (wtedy nie kosztował aż tyle :)). Tańszym rozwiązaniem jest kupienie samej płytki i elementów osobno. Jeżeli chodzi o część softwarową to polecam program BASCOM 8051 w wersji demo. Można go ściągnąć ze strony producenta. Link bespośredni dostępny jest tutaj. Drugim całkowicie innym wyjściem jest wstawienie mikrokontolera ATTINY2313 z rodziny AVR. Co znakomicie uprości sprawę zaprogramowania, gdyż wystarczą wtedy tylko 4 kabelki podłączone do portu LPT i 4 rezystory zabezpieczające ale powstanie konieczność napisania nowego programu, gdyż są pewne różnice.

Jeżeli chodzi o dwa czujniki temperatury to samo podłączenie jest proste, ponieważ zwykle łączymy równolegle dwa czujniki do tych samych przewodów. W programie wystąpi kilka problemów a mianowicie. Każdy z czujników ma swój numer, który należy odczytać i zapisać do pamieci stałej. Można to zrobić za pomocą płytki testowej z wyświetlaczem lcd i potem wpisać uzyskany kod każdego z czujników na sztywno do kodu programu. Można także napisać procedurę w programie sterownika (jeśli się zmieści) która przy pierwszym uruchomieniu odczyta czujniki i zapisze do pamięci. Drugim problemem jest lekkie przygaszenie wyświetlacza w momencie odczytu temperatury. Można to rozwiązać ale wymaga dość dużo pracy nad kodem programu. A zatem mając płytkę testową lub inny układ pomocniczy mogący odczytać numer czujnika DS18B20 lub DS18S20 i godząc się na przygaszenie wyświetlacza raz na sekundę można to zrobić w prosty sposób.

Jeżeli masz dostęp do programatora i odczytasz numery czujników posiadanych przez Ciebie to mogę zająć się tym kodem w wolnej chwili. W razie dalszych pytań proszę pisać.

-

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 gosc

Witam jeszcze raz Trochę

Witam jeszcze raz
Trochę czasu upłynęło zanim udało mi się skończyć ten sterownik ale na sam koniec mała niespodzianka i nie chce się poprawnie uruchomić.Z racji, że zbyt biegły nie jestem w temacie proszę o jakąś pomoc,wskazówkę.Gdzie leży przyczyna : http://www.fotosik.pl/pokaz_obrazek/29810ed62c8f0ac4.html
Z góry serdeczne dzięki

Portret użytkownika mirley

Dziwne znaki

Przyczyna dziwnych wskazań może leżeć w złym podłączeniu wyświetlacza (nie jestem teraz pewny czy pin 1 w złączu GP1 odpowiada pinowi 1 w tym samym złączu na wyświetlaczu bo projekt ten powstał dawno temu :) ). Najpierw sprawdź czy wyświetlacz jest podłączony poprawnie do płytki z procesorem. W tym celu wyjmij procesor z podstawki i nozki 7, 8 i 9 podłącz do masy(włączy to 3 tranzystory sterujące wyświetlaczem). Kawałek przewodu podłącz z jednej strony do masy, włącz zasilanie sterownika i drugim końcem przewodu dotykaj pokolei do wyprowadzeń 12...19 w podstawce. Zwieranie do masy kolejnych pinow w podstawce powinno zapalać na dwoch wyswietlaczach kolejne segmenty a,b...g,dp a dodatkowo jeszcze dla dwoch ostatnich pinow powinny się zaswiecac diody.

W razie dalszych problemow pytaj

Pozdrawiam

-

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 gosc

Witam Z wyświetlaczem

Witam
Z wyświetlaczem doszedłem do ładu,i tak jak mówiłeś pin 1 w złączu GP1 nie odpowiada pinowi 1 w tym samym złączu na wyświetlaczu .W tej chwili niezależnie od tego czy mam podłączony czujnik temp. czy nie cały czas wyświetla mi komunikat LA czyli temp<0 i nie reaguje na sygnał z przycisków??Wszystkie połączenie niby w porządku.
Pozdrawiam

Portret użytkownika mirley

komunikat LA

Jaki masz czujnik temperatury zastosowany, DS18S20 czy DS18B20? Jest to bardzo ważne! Dodaj jeszcze rezystor 4,7k między +5V a linie sygnałową czujnika temperatury (środkowa nożka), w tym też może być problem.

-

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 gosc

Zamawiałem DS18s20 ale na

Zamawiałem DS18s20 ale na czujniku pisze DS1820.

Portret użytkownika mirley

Sprawdź z rezystorem, tak

Sprawdź z rezystorem, tak jak pisałem wcześniej. Musi 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 MarasTej

Witam, Chciałem się

Witam,
Chciałem się zapytać autora czy czujnik DS18B20 w praktyce ma wystarczający zakres pomiaru temperatur dla płynu w solarach. Mam solary próżniowe i poszukuje właśnie jakiś czujników temp. z komunikacją 1-wire, tylko że wydawało mi się ze max +125°C to za mało. Czy solary nie nagrzewają się do wyższych temperatur? Myślałem o jakiś czujnikach do +200,250°C tylko że z komunikacja 1-wire chyba takich nie ma.

Portret użytkownika mirley

Czujnik

Sterownik ten pracował z domowej roboty kolektorem pracującym na wodzie, więc jego temperatura nie mogła wyjść poza 100°C. Jeżeli masz solary zamontowane na stałe na dachu lub na statywie to może na nich wystąpić wysoka temperatura (szczegolnie wtedy gdy sterownik odłączy pompę bo temperatura w zbiorniku osiągneła ustawiony max). Należy zastosować czujnik rezystancyjny Pt100 lub inny podobny, ktorych maksymalna temperatura precy jest dużo wyższa.

W mojej prywatnej konstrukcji ktorą można oglądać tutaj zastosowałem czujniki DS18B20 ale dzięki możliwości obrotu całego kolektora do cienia uniemożliwiam wzrost temperatury powyżej 100°C

-

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 gosc

Niestety nadal nic ,cały

Niestety nadal nic ,cały czas sie wyświetla LA niezależnie od tego czy czujnik podłączony czy nie.Zastanawia mnie czy to może nie jest problem z prockiem,gdyż procedura się powtarza cały czas niezależnie od tego czy podłącze czujnik czy nie, a sygnał z czujnika na pewno dochodzi do procka i zasilanie też jest.

Portret użytkownika Robert Bar

Witam Czy kolega mógłby

Witam
Czy kolega mógłby podać kolejność połączeń pomiędzy płytką a wyświetlaczem ,też mam z tym pewien problem

Pozdrawiam

Portret użytkownika mirley

Re: Podłączenie

Tranzystor na P3.5 -> Anoda(Wyświetlacz dziesiątek)
Tranzystor na P3.4 -> Anoda(Wyswietlacz jedności)
Tranzystor na P3.3 -> Diody

P1.0 - P1.7 -> Segmenty a,b,c,d,..,dp

-

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 Robert Bar

Witam Dzięki za cierpliwość

Witam

Dzięki za cierpliwość , ale wreszcie zrozumiałem o co chodzi z tymi wyświetlaczami led.

Pozdrawiam

Portret użytkownika Robert Bar

Mam jeszcze pytanie , czy za

Mam jeszcze pytanie , czy za początkowe wartości odpowiada ta instrukcja czy może jeszcze coś.

Ustawianie = 0
Tempu = 40
Hister = 4
Set Praca_automat
Set Stan_reczny
Reset Pomiar_odczyt
Set Pompa

Pozdrawiam

Portret użytkownika mirley

Re: Sterownik Pompy Kolektora

Wydaje mi się że tylko tu się ustawia te wartości gdzie wskazałeś. Trochę już nie pamiętam ale jestem prawie pewien

-

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 ellwod

Witam mam pytanie skoro można

Witam mam pytanie skoro można podłączyć więcej czujników DS to, czemu nie jest to regulator różnicowy,miał by bardzo szerokie zastosowanie, jeżeli koledze nie sprawi to kłopotu to może pokusi się o napisanie programu do swojego sterownika żeby działał jak różnicowy.

Portret użytkownika mirley

Re: Sterownik

Nie jest to regulator różnicowy bo jest to bardzo stary projekt. Pierwszy w którym wykorzystałem czujnik Ds18S20 i wtedy nie umiałem jeszcze zrobić dwóch ds'ów razem :)

Na opracowanie czeka właśnie termoregulator, więc dam mu po prostu opcje regulacji różnicowej zamiast modyfikować stary program :)

-

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 ellwod

Trzymam kiuki za nowe

Trzymam kiuki za nowe opracowanie i oczekuje go z niecierpliwością .
Pozdrawiam

Portret użytkownika Andrzej

pt500

Mam pytanie do kolegi jak podłączyć czujniki pt do mikrokontrolera.
Próbowałem w atmega8 przez wzmacniacz operacyjny ale jest to niestabilne.
Z góry dziękuję za odpowiedz.

Portret użytkownika mirley

RE: PT500

Pytanie jest nie na temat... niech kolega przeczyta regulamin!!! Dodatkowe pytania tylko na forum

Nie podłączałem nigdy czujnika PT do mikrokontrolera ale spróbwał bym na początku podłączyć do samego przetwornika ADC w mikrokontrolerze, polaryzując oczywiście wcześniej czujnik jakimś napięciem przez rezystor ograniczający prąd do takiej wartości jaką dany czujnik wymaga.

-

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 Andrzej

pt500

Przepraszam jeżeli coś zrobiłem nie na temat ale szukam rozwiązania problemu z ograniczeniem maksymalnej temperatury sterownika. Sam używam regulatora w swoim solarze zrobionym na wzmacniaczu różnicowym bez wyświetlania temperatury. Działa to poprawnie.
Ale? Chciałbym więcej. Dlatego samodzielnie zrobiłem podobny do kolegi sterownik na atmega8 i próbuję zrobić go na czujnikach pt500 bo takie mam.
Mam nadzieję że nie naruszam regulaminu.

Portret użytkownika mirley

Re: PT500

To co piszesz jest nie na temat i nie ma tu o czym dyskutować. Tutaj masz przedstawiony pewnien sterownik a ty nagle pytasz o całkiem inne urządzenie, które sam robisz. Pod opisem układu mogą się znaleźć tylko i wyłącznie pytania o ten układ i ani słowa o niczym innym. Zamiast zastanawiać się czy coś jest zgodne z regulaminem czy nie, poprostu go przeczytaj, zajmie to max 5min. Jak chcesz pytać o coś innego to załóź sobie konto a potem wątek na forum, link na górze strony lub pod każdym moim postem.

-

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 ziko

Wyższa temperatura

Witam zmontowałem sterownik zaprogramowałem i wszystko działa ok ale mam pytanie. Kolektor pracuje na płynie temperatura przekracza czasami 100 stopni Celsjusza jak rozbudować układ aby pokazywał temperaturę wyższą niż 100 stopni ?

Portret użytkownika mirley

Re: Sterownik

Ds18B20 działa do 120 stopni spokojnie. Ten sterownik był zbudowany dla domowej roboty kolektora pracującego na wodzie więc temp. musiała być mniejsza od 100 stopni. Obecnie w fabrycznym kolektorze też mierzę temperatuę Ds18B20 i nigdy nie miałem więcej niż 100 stopni. Druga sprawa jest taka że ja obracam panele do słońca więc w razie konieczności obracają się do cienia :)

-

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 ziko

sterownik

Podpowiesz mi jak zmodyfikować program aby atmel sterował i wyświetlał temperaturę na wyświetlaczu 7 segmentowym trzycyfrowym bez dziesiętnych to znaczy aby np. pokazał 110 st.C

Portret użytkownika mirley

Re: Sterownik

Pamiętaj że 2051 i tak ma za mało wyprowadzeń aby to podłączyć, ale skoro chcesz to coś pomyślę... trochę to zmian jest więc musisz zaczekać bo przez najbliższy czas będę tylko co 2 lub 3 dni przed kompem :)

-

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 ziko

Dzięki

Ja też teraz rzadko jestem przed PCtem tak że bardzo mi się nie śpieszy.Dziękuję że zechcesz poświęcić trochę czasu ja jestem zielony w programowaniu ale sukcesywnie idę do przodu pozdrawiam ziko.

Portret użytkownika gosc

Atmega 8

Witam

Czy dało by się skompilowac ten program na Atmege 8

Portret użytkownika mirley

Re: Sterownik

Trzeba by było napisać nową wersję pod m8, tak będzie prościej, lub zmodyfikować istniejący program pod procesor m8 ale to inna rodzina uC

-

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 ziko

Dziękuje

Tak zrobiłem wykorzystałem Atmega 8 i wyświetlacz LCD + program do obsługi 1-wire.Myślę o czymś innym ,kiedyś byłem sceptyczny gdy kolega opowiadał mi że silnik klatkowy może pracować jako prądnica,zrobiłem eksperyment i co się okazało? tak może tylko że moc którą oddaje jest ściśle zależna od dołączonej pojemności.Myślę o układzie z mikroprocesorem który by zmieniał dołączoną pojemność wraz ze zmianą obciążenia.Dodam jeszcze iż silnik jako prądnica musi być wstępnie namagnesowany,jego rozruch przy uzwojeniu połączonym w gwiazdę musi przebiegać bez obciążenia,obroty muszą być wyższe niż synchroniczne.Z silnika 2,2 kW udało mi się uzyskać około 1500 watt przy prędkości znamionowej około 10 % wyższej od nominalnej.Masz jakiś pomysł jak w zależności od dołączonego obciążenia zmieniać pojemność,może wykorzystać jakiś sterownik do kompensacji mocy.A jeszcze lepiej gdyby udało się rozwiązać to na jakimś procesorze.Będę wdzięczny za jakieś przemyślenia na ten temat.

Pozdrawiam. ziko63.

Portret użytkownika mirley

Re: Sterownik Kolektora

Co to ma wspólnego ze sterownikiem do pompy?

-

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 gosc

Faktycznie nic

Witaj!
Faktycznie poruszony prze zemnie temat nie ma nic wspólnego ze sterownikiem kolektora słonecznego nie za bardzo wiem jak poruszać się po Twojej stronie aby założyć nowy temat stąd ten nieprzemyślany post. Jestem Ci wdzięczny za projekt tego sterownika kolektora.Ponieważ zamontowałeś u siebie układ naprowadzający ja również postanowiłem wykonać coś takiego tylko muszę zrzucić kolektor z dachu do ogrodu co myślisz o zastosowaniu układu np. 741 i jakiś fotoelementów aby śledzić ruch słońca.

Portret użytkownika mirley

Re: Solar

Popatrz na rozwiązanie jakie zastosowałem w mojej obrotnicy. Co do fotoelementów to zanim zamontujesz to wszystko to zrób jakiś model z listewek bo mi się nie udało takiego systemu dobrze zrobić. Tematy zakłada się na forum (link na górze strony), musisz być zalogowany

-

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 gosc

Inny kontroler ?

Witam. Bardzo zależy mi na tym projekcie, ponieważ potrzebuję prostego sterownika do pompy CO z wyświetlaczem led i najlepiej histerezą. Czy istnieje możliwość, abyś przerobił ten sterownik pod inny układ? najlepiej Atmega 8 lub nawet attiny 2313 (jeśli się zmieści oczywiście ) ;)??
z góry dziękuję i pozdrawiam
Paweł.

Portret użytkownika rafliczek22

Tu masz na

Tu masz na lcd
http://mirley.firlej.org/prosty_sterownik_co a jeśli koniecznie chcesz na led to napisać tak prosty program (zwykły termostat z histerezą) nie jest problemem.

Portret użytkownika gosc

re: inny kontroler

Tak, bardzo zależy mi na wyświetlaczu led, ponieważ to w sposób znaczący obniża koszty projektu ;) Mógłbym prosić o napisanie takiego programu, oraz o instrukcje jak należy zmodyfikować schemat połączeń pod nowy kontroler.
Pozdrawiam Paweł.

Portret użytkownika mirley

Re: Sterownik

Wyświetlacz LCD wcale nie obniży kosztów znacząco, lcd kosztuje 14zł a nawet mniej. Wyświetlacz led to około 4zł. Zrobienie nowego programu bo mowa tu o napisaniu wszystkiego od nowa, to pół dnia roboty trudnej do wycenienia

-

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 rafliczek22

Załóż na forum nowy temat (tu

Załóż na forum nowy temat (tu nie bo mirley wyrzuci) i opisz dokładnie co ci będzie potrzebne jakie wyśw. wspólna anoda lub katoda, to ja ci to napiszę.

Portret użytkownika Aksag

LA na wyświetlaczu

Witam !!

zbudowałem układ i na wyświetlaczu cały czas LA czy jest czujnik czy go niema urzywam DS18B20 i dodałem rezystor 4.7K Wszystko sprawdzonei nadal nic .... Pomóżcie. Pozdr.

Portret użytkownika mirley

Re: Sterownik

No to dobrze ci wyświetla bo miałeś mieć czujnik Ds18S20 a nie B20. Zamień fragment programu:

          1wwrite &HCC
          1wwrite &HBE
          Lsb = 1wread():
          Msb = 1wread():
 
          tmp = Msb*256
          tmp = tmp + Lsb
 
          If Msb.7 = 0 Then
            Tempa = tmp / 16                                   'dokladnosc 1 stopien
          Else
            Tempa = 254                                       'LA wyswietli low alert
          End If

na początku trzeba zadeklarowac zmienna tmp as word

-

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 Aksag

LA na wyświetlaczu

Dzięki za pomoc a znalazł byś chwile żeby zmienic to w kodzie i zkompilować, Ja jeszcze tego nieumiem, bo niemoge przeprowadzić kompilacji.

Portret użytkownika mirley

Re: Kompilacja

To najwyższy czas nauczyć se kompilować.
1. Ściągasz i instalujesz bascoma 8051 demo
2. ściągasz plik bas odemnie ze strony i otwierasz w bascomie
3. zmieniasz linijki które wskazałem
4. klikasz kompiluj i robi ci się plik bin do wgrania
5. wgrywasz bin do procka

-

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 Aksag

nadal LA

Dzięki udało mi się wkońcu skompilować ;) urzywalem AVR zamiast 8051 i dlatego pewnie były błędy ale ......

Zmieniłem to co podałeś i niestety to samo, być może zmieniłem nie w tym miejscu co trzeba,
wrzucam fragment programu zobacz jak możesz co jest nie tak

stałą Dim Tmp As Word dopisalem ...

a dodam że przy starcie wyświetla 0 a pochwili LA i dzieje się to z czujnikiem jak i bez...

Pozdr...

       Disable Interrupts
       1wreset
 
       If Pomiar_odczyt = 1 Then
        1wwrite &HCC
        1wwrite &H44
       Else
        If Err = 0 Then
 
          1wwrite &HCC
          1wwrite &HBE
          Lsb = 1wread():
          Msb = 1wread():
 
          tmp = Msb*256
          tmp = tmp + Lsb
 
          If Msb.7 = 0 Then
            Tempa = tmp / 16                                   'dokladnosc 1 stopien
 
          Else
            Tempa = 254                                       'LA wyswietli low alert
          End If
 
        Else
          Tempa = 255                                         'Er wyswietli wyswietlacz potem
        End If
       End If
 
       Set Zezw_uruch
 
       Enable Interrupts
 
 
 
       '(
       Disable Interrupts
       1wreset
 
       If Err = 0 Then
 
        1wwrite &HCC
        1wwrite &HBE
        Lsb = 1wread():
        Msb = 1wread():
        1wreset
 
        1wwrite &HCC
        1wwrite &H44
 
        If Msb = 0 Then
         Tempa = Lsb / 2
         Set Zezw_uruch                                       'dokladnosc 1 stopien
        Else
         Tempa = 254                                          'LA wyswietli low alert
        End If
 
       Else
        Tempa = 255                                           'Er wyswietli wyswietlacz potem
       End If
 
       Enable Interrupts
       ')
       '***************************************
     End If
     '***************************************
   End If
   '***************************************
 End If
Return

Portret użytkownika ziko63

nadal LA

Witaj czy jesteś pewien że czujnik dallasa którego używasz jest sprawny?

Portret użytkownika Aksag

re:

Oki udało mi się uruchomić wkońcu :) pogrzebałem troche w programie okazało się że duże i małe litery mają znaczenie ;) Pozdrawiam i dzięki za pomoc...

Portret użytkownika mirley

Re: Bascom

Duże i małe litery w bascomie to wszystko jedno

-

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 kaka0204

Program

Witam.
Czy można zamiast AT89C2051 użyć AVR (Attiny2313)? I czy jak zmienię ten procesor to trzeba będzie zmienić coś w programie?
Pozdrawiam.