(14 głosujących) Termometr ten pracuje w zakresie temperatur od -50.0 do +99.9 stopni lub w drugiej wersji oprogramowania aż do +125 stopni. Układ został zaprojektowany do mierzenia temperatury w akwarium ale z powodzeniem można dla niego znaleźć wiele innych zastosowań. Na płytce znajduje się miejsce na dwa przyciski oraz dodatkowe złącze ogólnego przeznaczenia. Po zmianie oprogramowania urządzenie może pełnić funkcję prostego termostatu, lub bardziej złożonego regulatora temperatury. Układ został zbudowany w oparciu o popularny, często stosowany czujnik DS18B20 i mikrokontroler AT89C2051 co znacznie uprościło jego konstrukcję i zmniejszyło wymiary. W układzie można też bez większego trudu zastosować mikrokontroler ATTiny2313, wymaga to tylko wprowadzenia kilku prostych modyfikacji.
Działanie:Schemat termometru przedstawia poniższy rysunek: Sercem urządzenia jest mikrokontroler U2 (AT89C2051) wraz z rezonatorem kwarcowym X1 (12MHz) i dwoma kondensatorami C4 (33pF) i C5 (33pF). Kondensator C3 (1uF) resetuje procesor po włączeniu napięcia zasilającego, a C1 (220uF) filtruje to napięcie. Do złącza zas podłączamy napięcie zasilające o wartości 5V. Rezystory R9 - R16 (330R) ograniczają prąd wyświetlaczy. Tranzystory T1 - T3 (BC557B) wraz z rezystorami R1 - R6 (3,3k) sterują anodami wyświetlaczy. Budowa:Termometr można zbudować z wykorzystaniem dostępnej tutaj płytki drukowanej. Wersja płytki w odbiciu lustrzanym dostępna jest tutaj. Montaż elementów można dokonać w dowolnej kolejności, najlepiej od najmniejszych do największych. Pod wyświetlacz dobrze jest wlutować kawałek podstawki DIP40, natomiast pod mikrokontroler podsatwka jest bezwzględnie konieczna. Od strony druku należy wlutować rezystor 4,7k podciągający magistralę 1-Wire (nóźka 9 układu U2) do plusa zasilania. Złącze GP1 w wersji podstawowej służy do podłączenia diody sygnalizującej ujemną temperaturę (katodą do portu procesora, anodą do VCC) gdyby miało być wykorzystywane w inny sposób należy usunąć z kodu programu linijkę: P3.7 = Not Minus. Przód obudowy można z powodzeniem wykonać z kawałka laminatu. Płytkę termometru mocujemy do panelu przedniego za pomocą dwóch przylutowanych do niego śrub. Pomocą przy konstrukcji może okazać się schemat montażowy dostępny tutaj. Jeżeli w układzie będzie zastosowany mikrokontroler ATTiny2313 zamiast AT89C2051, nie należy montować kondensatora C3, a kondensatory C4 i C5 powinny mieć wartość 22pF. Wykaz Elementów:8x 330R 2x 33pF 1x Rezonator Kwarcowy 12MHz Programowanie:Oprogramowanie do termometru zostało napisane w wersji demo programu BASCOM 8051 firmy MCS Electronics (http://www.mcselec.com/). Program w całości przedstawiony jest poniżej: '**************************** 'Konfiguracja '**************************** $crystal = 12000000 '12MHz $regfile = "89C2051.DAT" Config 1wire = P3.5 Config Timer0 = Timer , Gate = Internal , Mode = 2 On Timer0 Przerwanie0 Load Timer0 , 250 Enable Timer0 Start Timer0 Enable Interrupts '**************************** 'Zmienne '**************************** Dim Lsb As Byte Dim Msb As Byte Dim Co4ms As Byte , Co100ms As Byte , Co1s As Byte Dim Wysw As Word , Wysw1 As Byte , Wysw10 As Byte , Wysw100 As Byte Dim Tempa As Word Dim Mux As Byte Dim Zezw_wysw As Bit Dim Pomiar_odczyt As Bit Dim Minus As Bit Dim Ur As Bit '**************************** 'Wartosci Poczatkowe '**************************** Reset Pomiar_odczyt Reset Ur Wysw1 = 191 Wysw10 = 191 Wysw100 = 191 '**************************** 'Petla glowna '**************************** Do If Zezw_wysw = 1 Then Reset Zezw_wysw 'co 4ms Wysw = Tempa If Ur = 1 Then Gosub Przelicz Gosub Wyswietl End If Loop End '**************************** 'Przerwanie timer0 '**************************** Przerwanie0: Incr Co4ms If Co4ms = 16 Then Co4ms = 0 '*************************************** co 4ms Set Zezw_wysw Incr Co100ms If Co100ms = 25 Then Co100ms = 0 '*************************************** co 100 ms 'ew flaga obslugi przyciskow Incr Co1s If Co1s = 7 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(): Minus = Msb.7 Tempa = Msb * 256 Tempa = Tempa + Lsb If Minus = 1 Then Tempa = Not Tempa Tempa = Tempa + 1 End If Tempa = Tempa * 10 'temperatura *10 Tempa = Tempa / 16 If Ur = 0 Then Ur = 1 Else Tempa = 10000 'Er wyswietli wyswietlacz potem End If End If Enable Interrupts '*************************************** End If '*************************************** End If '*************************************** End If Return '**************************** 'Inne Etykiety '**************************** Przelicz: If Wysw < 1000 Then Wysw1 = Wysw Mod 10 Wysw = Wysw / 10 Wysw10 = Wysw Mod 10 Wysw = Wysw / 10 Wysw100 = Wysw Mod 10 If Wysw100 = 0 Then Wysw100 = 10 'wygaszenie zera wiodcego Wysw1 = Lookup(wysw1 , Tabela) Wysw10 = Lookup(wysw10 , Tabela2) Wysw100 = Lookup(wysw100 , Tabela) Else Wysw1 = 175 'r Wysw10 = 175 'r Wysw100 = 134 'E End If Return Wyswietl: Incr Mux If Mux = 3 Then Mux = 0 P3.7 = Not Minus Select Case Mux Case 0: Set P3.0 P1 = Wysw100 Reset P3.2 Case 1: Set P3.2 P1 = Wysw10 Reset P3.1 Case 2: Set P3.1 P1 = Wysw1 Reset P3.0 End Select Return 'Tabele do wyswietlania na wyswietlaczu Tabela: Data 192 , 249 , 164 , 176 , 153 , 146 , 130 , 248 , 128 , 144 , 255 'znak: 0 1 2 3 4 5 6 7 8 9 pusty Tabela2: Data 64 , 121 , 36 , 48 , 25 , 18 , 2 , 120 , 0 , 16 , 255 'znak: 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. pusty Ustawienia Fusebitów dla mikrokontrolera ATTiny2313: Zdjęcia Projektu:
|
|||
i pewnie taki program będzie
i pewnie taki program będzie wiele więcej "ważył " ( zajmował FLASH'a ) . A ja mam pewne pytanko do autora co do katalogów schematów ... Zna pan moze jakieś właśnie katalogi schematów elektronicznych ?
Re: Termometr
A co rozumiesz przez katalogi schematów elektronicznych... nie spotkałem się z takim sformułowaniem?
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.
mam pytanko jaką diodę należy
mam pytanko jaką diodę należy podłączyć do wujćia gp1? pozdro;)
BASCOM
Witam
Jak wyglądałoby ustawienie Fusebitów w Bascomie ? Sam nie potrafię tego rozkminić.
3 wyświetlacze 7-segmentowe
Witam serdecznie
Chciałbym się dowiedzieć jak trzeba zmienić program żeby zamiast wyświetlacza potrójnego wstawić 3szt. 7- segmentowe?
Re: termometr
Należy zastosować dowolną diodę LED z szeregowym rezystorem 330R-510R... katoda idzie do złącza GP1(ten pin co trafia do procka) a anoda idzie do +5V
-----------
fusebity są tutaj, ze starego bascoma ale ustawienia są podobne.... nowy może mieć oddzielone linijki CKSEL i SUT ale wartości maja być takie jak na zrzucie
--------
Nic nie trzeba robić, normalnie 3 wyświetlacze zamiast mojego jednego będą działać identycznie. Ten potrójny wyświetlacz jest właśnie tak zbudowany
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.
Witam ! A czy ten schemat
Witam !
A czy ten schemat co kolega podał na górze jest poprawny ?
Re: Termometr
Ten główny z opisu czy ten 2 posty wyżej?
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.
Jeśli chodzi o mój schemat to
Jeśli chodzi o mój schemat to jest on przede wszystkim niedokończony
RST
Dzięki za pomoc Mirley. Attiny już zaprogramowane. Mam jednak jeszcze jedno pytanie. Wytrawiłem już PCB. Zapomniałem elektrolita 1uF masą do resetu ( reset nie jest połączony ). Może to wpłynąć na działanie układu ?
Według mnie tak , i to
Według mnie tak , i to znacznie .... Ale wysłuchaj autora , zobaczymy co powie
Re: Attiny
Jeśli masz attiny2313 to nie powinieneś montować kondensatora do resetu (wyżej to napisałem).... jest on potrzebny dla 2051 i to jeszcze dla starszych wersji tego 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.
Kondensatory przy rezonatorze
Mam jeszcze jedno pytanie. W nocie katalogowej Attiny jest napisane,że zalecana pojemność to wartość od 12-22 pF przy rezonatorze. Wiec dlaczego tu mamy 33pF ? Czy można zamiast tych co na schemacie dać 22p lub 27 pF ?
Kondensatory przy rezonatorze
możesz 22p lub 33p
Re: tiny2313
Jak bys przeczytał opis wyżej to byś wiedział że po zmianie procka na tiny2313 nie nalezy montować C3 a kondensatory przy kwarcu powinny mieć po 22pF. Tak czy inaczej jak zostawisz 33pF to i tak będzie wszystko 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.
Malutki termostat
Fajny projekt na bazie tego projektu zbudowalem termostat do zalaczania wentylatora w sterowniku do maszyny CNC calaosc zmiescila sie razem z wyswietlaczem na plytce o wymiarach 25 mm na 28 mm .
3 wyświetlacze jednocyfrowe
A czy jest możliwość podłączenia 3 wyświetlaczy jednocyfrowych zamiast jednego dużego?
re: 3 wyświetlacze jednocyfrowe
Tak bezproblemu mozesz uzyc 3 wyswietlaczy jednocyfrowych tylko ze podczas łączenia musisz zajrzec do katalogu po kolejność wyprowadzeń dla tych wyswietlaczy
a gdzie ten katalog znajde?
a gdzie ten katalog znajde?
odp
Wpisz w googlach oznaczenia ze swoich wyświetlaczy - na pewno coś Ci wyszuka:-).
Dało by radę podłączyć do tego wyświetlacze ze wspólną katodą? Chodzi mi o ewentualną zmianę programu, bo można jeszcze się pobawić z tranzystorami...
Re: Termometr
Co do wyświetlaczy to musisz sobie połączyć je w taką samą konfigurację jak ten duży 3-cyfrowy
-----
Można zastosować wyświetlacze ze wspólną katodą, ale tylko na tiny2313, 2051 nie da rady. Dodatkowo należy zamienić tranzystory na npn i podłączyć je od strony masy, a w programie zanegować wartości w tabelach przeliczeniowych i zanegować stan podawany na tranzystory
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.
równolegle na kabelkach z
równolegle na kabelkach z otworów?
odp
Każdy wyświetlacz ma wspólną końcówkę (anodę lub katodę) i wyprowadzenia segmentów a,b,c,d,e,f,g,dp. Wyprowadzenia segmentów każdego wyświetlacza musisz podłączyć równolegle z wyprowadzeniami odpowiednich segmentów na płytce. A wspólne wyprowadzenia pod wyjścia (kolektory) z tranzystorów T1 T2 T3.
dobra to ja naliczyłem u
dobra to ja naliczyłem u Ciebie 9 wyprowadzeń a ja w każdym wyśietlaczu mam po 10. 5 u góry, 5 na dole. które nóżki są od poszczególnych segmentów?
Wiesz co to takiego nota
Wiesz co to takiego nota katalogowa ?? Wpisz w google wyświetlacz np. pojedynczy. Wchodzisz w plik pdf i tam masz wszystko rozrysowane . Jak i gdzie są poszczególne schematy. Masz nawet kilka rysunków pod różnym kątem , więc się nie pomylisz.
ta wiem. ale
ta wiem.
ale poza:
D1-056AGN
53751 p
nic nie jest napisane a w googlach tez nic nie moge znaleźć więć nie są takie niezawodne
Re: Wyswietlacze
Jak nie ma opisu wyświetlacza to bierzesz zasilacz 5V, rezystor 680R i sprawdzasz gdzie i co świeci.... to najprostsza metoda. Jak znajdziesz wyprowadzenie wspólne to juz będzie z górki. Wszystko masz podłączyc żeby było tak jak potrójny wyświetlacz czyli:
http://sklep.avt.pl/p/pl/481658/wyswietlacz+zielony+3+cyfry+14-2mm+wa.html
Zobacz czy twój pojedynczy nie ma czasem typowych wyprowadzeń:
http://sklep.avt.pl/photo/product_big/9/4/3/1_9435a73ac3c7.jpg
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.
ma typowe ;)
ma typowe ;)
czy oba wyprowadzenia (3,8) muszą być podłączone?
odp
Wystarczy jedno z nich.
kalibracja
Witam!
Czy po zmontowaniu układu należy w jakiś sposób skalibrować czujnik?? Czy wystarczy złożyć i już jest wszystko jak nalezy??
Z góry dziękuję za odpowiedź!
Pozdrawiam!
Złożyć i działa
Złożyć i działa
długość przewodu
Jakim najdłuższym przewodem mogę połączyć czujnik DS z płytką?? Czy t bez znaczenia?? przykładowo 2 metry może być??
Re: DS
2m może być 20m też nie powinno przeszkadzać
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.
wyświetlacz
Super :) to ostatnie pytanie czy taki wyświetlacz pasuję?? http://www.tvsat.com.pl/pdf/L/ltc5648wc.pdf
czy będę musiał pozmieniać piny aby pasował??
Pozdrawiam!
Re: Wyświetlacz
Mam za ciebie sprawdzać czy piny pasują? przecież w pdfie który podałeś są wyprowadzenia a na schemacie są napisane wyprowadzenia mojego wyświetlacza. Nie widzę problemu abyś to sprawdził
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.
odp
Mirley jeśli miałbyś chwilę to mógłbyś jednak przerobić kod na wyświetlacze ze swpólną katodą (ten na attiny2313 oczywiście)? Bo mam z tym problemy.
Re: Termometr
Na początku powinno być:
Trzeba zmienić wyświetlanie na ten kod:
W tabelach trzeba zanegować wszystkie wartości, tak jak niżej:
Jak złożysz cały działający kod to podeślij plik bas na mojego maila, umieszczę w załącznikach. Pamiętaj że tranzystory sterujące muszą byc teraz npn (BC547) od strony masy, na bazie szeregowy rezystor 3,3k
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.
Witam, na wstępie gratuluję
Witam,
na wstępie gratuluję cierpliwości do pytających.
Moja przygoda z elektroniką zaczęła się w latach 80-tych, gdzie obwody robiło się zupełnie innymi metodami :)
Po blisko 30 latach zapragnąłem odświeżyć hobby.
No i pytanie.
Zbudowałem ten obwód (metodą pisaka i wytrawienia w B327).
Płytkę zaprojektowałem w ExpressPCB, ponieważ musiałem to zmieścić w istniejącej obudowie.
Dołożyłem czwartą cyfrę i podłączyłem wg wskazówek.
Podmieniłem wskazany fragment kodu do obsługi czwartej cyfry.
Układ ruszył po dwukrotnym wrzuceniu tego samego programu do Attiny2313. Nie mam pojęcia dlaczego.
Układ powinien wygaszać zero nieznaczące... a u mnie tego nie robi. mamy np. 07.1
Wyższe temperatury wskazuje jak trzeba..
Ujemne wskazuje np tak -08.1
Na dzień dobry pokazuje 4 minusy i po chwili działa jak trzeba. Jeśli odłączę w trakcie pracy czujnik pokazuje mi Err, jeśli podłączę z powrotem przez chwilkę 85.0 czyli wszystko gra.
Przyznam że to nieznaczące zero mnie irytuje :)
Co pominąłem ?
pozdrawiam
Paweł
----------
Już znalazłem odpowiedź...
0 zamiast 192.
Ale programator został w pracy... jutro sprawdzę :)
pozdrawiam
Paweł
P.S. Szkoda, że nie ma edycji własnego posta. Muszę spamować :) Proszę o wybaczenie.
----------
A sam nieraz mówię.. czytaj ze zrozumieniem.. jeśli czegoś nie rozumiesz.. przeczytaj jeszcze raz.
Przegapiłem ten fragment zmiany 0 na 192 :)
Ale programator został w pracy...sprawdzę jutro.
P.S. Przydałaby się możliwość edycji własnego posta.
Proszę o wybaczenie spamu i scalenie moich postów.
P.
Re: Termometr
Edycja jest możliwa dla zalogowanych użytkowników. Jak napiszesz posta jako niezalogowany to nie można edytować
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.
Co oznacza Minus = Msb.7 ???
Witam.
O co chodzi w poniższej linijce ???
Minus = Msb.7
Msb to zmienna ale co oznacza ta kropka z tą siódemką na końcu ???
Pozdrawiam matek
Re: Minus
Do zmiennej minus (typu bit) przypisywany jest 7 bit ze zmiennej Msb (typu byte). Działa to tak samo jak np portd.7 lub pind.7 itp
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.
Dzięki. Znowu się
Dzięki. Znowu się dowiedziałem jak jeszcze mało wiem...
Pozdrawiam
Temperatura 0.0
Nie moge spać:)
Sebastian
Pominąłem rezystory..
..włączone między bazą i emiterem tranzystorów.
Po prostu przy projektowaniu płytki o nich zapomniałem :)
Zauważyłem to dopiero wczoraj przy ponownym pakowaniu Tiny'ego w podstawkę :)
Układ mimo to działa normalnie. Pytanie, czy może tak działać na dłuższą metę ?
Testowo zostawiłem go na 48h w malutkiej obudowie bez żadnych otworów, nic się nie grzeje, ale czy po miesiącu się nie sfajczy ?
Bo jedyne co zauważyłem to ciut jaśniejsze świecenie tej cyfry gdzie jest wyświetlany minus lub jedynka.
Tak sobie myślę, że być może tranzystor nie jest wysterowany jak należy jeśli mu brakuje tych rezystorów ?
Tak jeszcze odnośnie mojego poprzedniego posta, to wszystko gra :) Dzięki !
Sterowanie KATODĄ
aby sterować katodami wyświetlacza musze zastosować tranzystory PNP. a kod ulegnie zmianie?
Sebastian
Jeśli się nie ma potrójnego
Jeśli się nie ma potrójnego wyświetlacza tylko trzy pojedyncze czy da się to połączyć?? i jak ?? pozdrowienia.
Jeśli się nie ma potrójnego
Da siękolego podłączyć. Kłania się pierwsza zasada mulitpleksowania.
Czyli spinasz piny odpowiadające segmentom do kupy a do a b do b itd itd i z kazdego wyświetlacza oznaxczasz sobie sygnał sterujący tzw + ( Anoda )
Wg schematu to te piny odpowiadające za załączenie wyświetlacza przez tranzystor.
Jesli jesteś kumaty poradzisz sobie jeśli nie poszukaj o mulitpleksowaniu wyświetlaczy led. Zrozumiesz napewno :)
Sebastian
Odnośnie sterowania katodami.
2xTAK, a konkrety już w tym wątku są podane.
P.
Re: Termometr
Rezystory między emiterami a bazami tranzystorów nie są potrzebne gdy używasz tiny2313 i tranzystory są na tym samym zasilaniu co procek.
Jak wyświetlacz jest z anodą wspólną to tranzystory pnp tak jak na schemacie. Jak jest ze wspólną katodą to npn od strony masy. Co trzeba zmienić w programie napisałem już wyżej
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.
Napięcie zasilania wyświetlaczy.
wszystko jest ok :) rezystory wywalone Bc547 wstawione od strony masy.
Ale jest problem. Dopiero po podłączeniu wszystkiego do kupy skojarzyłem fakt że mam wyswietlacze na napięcie większe niż 5v.
I tu są schody bo nie bardzo mam pomysł jak zasilić wyświetlacz.
Bo sposób dwóch stabilizatorów 7805 na attiny i 7909 na wyświetlacze chyba nie zda egzaminu.....
Sebastian