(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:
|
|||
przyciski
po co te przyciski S1, S2 na schemacie??
przyciski
S1 i S2 są potrzebne jeśli wykorzystujemy opisywaną płytkę w roli termostatu. Konieczne jest wtedy ustawienie temperatury i ewentualnie histerezy. Gdy chcemy zbudawać zwykły termometr to przyciski te są na nic nie potrzebne :)
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.
dziwne znaki
dlaczego wyswietlaja mi sie dziwne znaki na wyswietlaczach ( H, c l )??
zmieniłem czujnik i mikrokontroler i nadal to samo, wyświetlacze są dobrze podłączone.
dziwne znaki
Na początek wyjmij procesor z podstawki. Sprawdź czy wszystkie segmenty wyświetlacza działają, zwierając w podstawce nóżki P3.0, P3.1 i P3.2 do masy a następnie wszyskie piny portu P1 do masy. Jeżeli nie zaświecą się po kolei wszystkie segmenty na wszystkich wyświetlaczach to znaczy że nie ma połączenia z mikrokontrolerem albo wyświetlacz jest uszkodzony. Jedyny znak który może pojawić się opróch wskazywanej temperatury to napis Err gdy brak jest czujnika temperatury. Termometr ten działa u mnie już rok. Mikrokontroler zaprogramowany jest dokładnie tym samym kodem co na stronie. W razie dalszych problemów 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.
Dzięki za info. Problem
Dzięki za info.
Problem rozwiązany.
Pomoc
Czy ktoś mógłby mi w prosty sposób wyjasnić w jaki sposób zaprogramować/ wprowadzić w/w program?
Z góry dziękuję.
Pomoc
Żeby zaprogramować mikrokontroler AT89C2051 lub AT89C4051 wymagany jest programator na przykład [url=http://www.sklep.avt.com.pl/p/pl/48061/programator+procesorów+89cx051.html]http://www.sklep.avt.com.pl/p/pl/48061/programator+procesorów+89cx051.html[/url]. Jeżeli nie chcesz programować więcej mikrokontrolerów w przyszłości to prostszym rozwiązaniem jest znalezienie kogoś znajomego posiadającego programator do AT89CX051. Można także zastosować mikrokontroler AVR ATTINY2313 co ułatwi programowanie ale będzie wymagało przeróbek programu. Napisz co chcesz zrobić co coś się wymyśli :)
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.
Mam pytanie odnośnie,
Mam pytanie odnośnie, temperatur ujemnych? jak wyswietlany minus ?
problem z wyświetlaniem temperatury powyżej 60*C
Witam
Zmontowałem kiedyś podobne urządzenie tylko na dwóch wyświetlanych cyfrach z DS18B20. Napisałem też soft (bascom) ale zauważyłem, że przy wyższych temperaturach (>56*C) zaczyna wyświetlać głupoty, przerobiłem Twój program żeby sprawdzić jaki będzie efekt i troszkę lepiej bo 60*C wyświetlało ale wyżej już migało na przemian Er -> 62 -> Er itd. Nie wiem co jest grane. Dodam,że ds podłączony przez dwa przewody o dł. ok. 4-5m. Co może być przyczyną?
Z góry dziękuję za pomoc. Pozdrawiam
PK.
Ujemne temperatury i problem 60*C
Odnosnie ujemnych temperatur to jest to sygnalizowane stanem niskim na wyprowadzeniu P3.7 (można tam dołączyć diodę z rezystorem sygnalizującą minus). Jest to dodatkowa funkcja bo ja potrzebowałem temperatur dodatnich. Jest to opisane w dziale "Budowa"
Odnośnie problemu z temperaturą 60*C to należy przede wszystkim sprawdzić czy DS18B20 podłączony na krotkich przewodach (trojżyłowo) działa poprawnie, testowalem układ z czujnikiem w zamrażarce ale nie pamiętam czy na wysokie temperatury też. Napewno zawsze stosuję połączenie trojprzewodowe. Proszę napisać o wynikach testow dla trzech przewodow i krotkiego kabla, to prawie napewno problem z DS18B20. Tak na marginesie od strony druku ma byc wlutowany rezystor 4,7k między magistralą 1-Wire a +5V (Opisane w dziale "Budowa")
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.
problem 60*C
Płytkę projektowałem sam, dlatego mam kilka zmian w programie, rezystorek był. Sprawdzałem to na dwóch krótkich przewodach i trochę lepiej bo 62 nawet było ale też lipa, dopiero jak dołożyłem zasilanie to pokazało ponad 80. Teraz Twój i mój program wyświetlają dla wyższych temp. Sprawdzę jeszcze na długich.. ale już nie dziś
Dziwne, bo kiedyś miałem na trzech przewodach długich i było gorzej niż na dwóch teraz. Dlatego zmieniłem koncepcję..ale trzeba będzie powrócić
Przy trzech to już nawet ten rezystor 4,7K nie potrzebny chyba.
Dziwne te DSy.
Pozdrawiam i dzięki za pomoc
problem 60*C cd..
I lipa z tymi długimi trzema przewodami ale zauważyłem jedno,że wyświetla dopóki nie załączy przekaźnika (układ wykorzystuję do sterowania pompka co) dodam ,że przekaźnik jest na całkiem osobnym przewodzie sterowany przez tranzystor.
Problem 60*C
A jak daleko masz przekaźnik od mikrokontrolera? Dałeś diodę rownolegle do przekaźnika tłumiącą przepięcia z cewki? Rezystor 4,7k jest napewno podłączony? Już miałem wielokrotnie problemy z przekaźnikami zawieszjącymi mikrokontrolery (gdy są za blisko) ale jeszcze nigdy żeby DS się coś zawieszał. W moim projekcie obrotnicy do kolektora jedną skrętką idą sygnały od DS18B20, sterowanie dwoch przekaźnikow, sygnały wykrywania faz, klawiatura i czujniki krańcowe. Wszystko na kablu 25m i nie ma problemu
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.
Problem 60*C
Pisałem już, że przekaźnik jest na osobnym przewodzie, długość ok. 4,5m, dioda jest, podobnie rezystor. Już chyba wiem co jest przyczyną: napięcia siadała do ok. 4,7V po załączaniu przekaźnika (dwa tranzystory do tego użyłem), zwiększyłem opornik między nimi i jakąś poprawę widzę. Na stabilizator podaję 7,3V to troszkę za mało (też stabilizowane..) w przyszłości to poprawie jak już zacznie wszystko działać poprawnie. Przy 61* załączyło przekaźnik i brak efektu ubocznego, jak napalę mocniej to sprawdzę przy wyższych temp.
Dzięki za pomoc.
pomiar sredniej dobowej
Czy da sie przerobic układ by pokazywal dodatkowo srednią dobową i jeszcze najlepiej trend dobowy ???
ŚREDNIA DOBOWA
Da się to zrobić w bardzo prosty sposób, tylko zależy jaka dokładność CIę interesuje, im dokładniej tym więcej pamięci potrzeba.
srednia temp
Najlepiej 0.1 ale ile sie da to bedzie i tak super wazne zeby byla dobowa i trend prosze o pomoc
pomiar sredniej dobowej
ile bedzie pomiarow na dobe to nie mam powiedziane ważne by wskazywał temperature średnią dobową i trend dobowy (dodatni czy ujemny) a zrobić to mogę w dowolny sposób np, dodatkowy przycisk do zmieniania funkci itp pozdrawiam
Pomiar średniej
Witam
Spróbuje zająć się tym dzisiaj wieczorem. Czy bardzo ważne jest żeby np doba która ma być brana pod uwagę była zawsze np od godziny 0:00 przez kolejne 24 godziny, czy jak się pomyli o minutę to bedzie problem w tym zastosowaniu?
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.
myślę że nie bedzie to
myślę że nie bedzie to problem
Pozdrawiam
pomiar sredniej dobowej
Mam jeszcze jedno zapytanie: jaką dokładność ma ten pomiar temperatury??? jak wyswietla on temperature ujemna???
Proszę o pomoc w tym pomiarze temperatury uniwersalnym albo w domowym w którym jest łatwiej do zrobienia
pozdrawiam
Dokładność to 0,5
Dokładność to 0,5 stopnia. Wyświetlanie ujemnych temperatur-> patrz opis w dziale budowa
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.
menu
Potrzebuję do tego programu zrobić menu (mam swój program ale nie jest na przerwaniach i nie podoba mi się wyświetlanie podczasa zmiany ustawień), chodzi mi o to,żeby wyświetlał temp, a po naciśnięciu p3.1(alias ok) pojawiło się menu przewijalne tz. po naciśnieciu p3.0 (alias up) wyświetlało CO->up->HI->SP->CO.. i dalej do każdej z tych opcji można wejść ->OK i tam z kolei ustawić temperaturę i na końc ->ok ->wyjście do wyświetlania temp.+autopowrót.
Ewentualnie prośba o wskazówki jak to tu dołożyć, kombinuję i plącze mi się to już.
Pozdrawiam
menu
W miejscu:
należy zastąpić linijkę Wysw = Tempa casem:
W zależności od tego ile w menu ma być pozycji tyle w Casie będzie linijek a każda z nich ma wpisywać do zmiennej Wysw inny parametr. W procedurze obsługi przyciskow będziesz ustawiał parametry lub zwiększał wartość zmiennej Poz_menu zależnie od tego jaka jest jej wartość aktualna (w zależnosci od tego gdzie jestes w menu)
Odnosnie obsługi przyciskow to ja zastosował bym jeden przycisk jako + drugi jako - a dwa naraz jako menu. Powiedz jeszcze co oznaczają te CO, HI SP itp? ile ma byc tych pozycji w menu?
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 (temperatura załączania
CO (temperatura załączania pompy centralnego ogrzewania), HI(histereza do wyłączania pompy), SP(Stan pracy i tam kolejno Au((automat) On(włączona non-stop),OF(wyłączona nonstop)oczywiście pompy). ma być taka struktura menu
wyświetlanie aktualnej TEMP.
naciśnięcie OK-> CO ->[(up lub down) wyświetla HI..-> SP]
powiedzmy wyświetla się CO naciskając OK wyskakuje nastawa temp np 50*C i teraz (up lub down) ustawiam taką jaka potrzebna dalej -> Ok i wychodzi z menu i pokazuje aktualną Temp.
Sterownik już mam działa, zamontowany w taki sposób jak opisałem tylko to wyświetlanie w menu nie takie) Trzy przyciski wydaje mi się bardziej czytelne do obsługi dla innych..
Chciałem tylko soft zmienić.
Sterownik zrobiłeś na
Sterownik zrobiłeś na podstawie mojego schematu czy masz swój na innym mikrokontrolerze?
Mówiąc o naciskaniu dwóch naraz miałem na myśli dodanie dwóch diod i trzeciego przycisku zwierającego dwa poprzednie do masy.
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.
Sterownik miałem swój.
Sterownik miałem swój. Twój sposób z diodami oszczędza nóżkę procka ale ja już mam płytkę.
Trzy osobne przyciski to większy problem w takim rozwiązaniu (z przerwaniami)?
Trzy osobne przyciski to
Trzy osobne przyciski to zaden problem, myslałem że chcesz to zrobic na mojej płytce z AT89C2051 i wtedy brakowało by pinów. W takim razie możesz mi wysłać jeszcze schemat tego co zrobiłeś (mirley(at)op.pl) albo napisać linka jeśli jest gdzieś w internecie. Napisz typ mikrokontrolera jeszcze, bedzie bardzo pomocne
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.
W sumie i na Twojej płytce
W sumie i na Twojej płytce by się dało zrobić wykorzystując P3.7. Wysłałem na maila schemat. Procek to AT89c2051.
Pozdrawiam. Dzięki za zainteresowanie
Pytanie
Witam !
Czy jest możliwe przeobienie tego programu na procesor AVR np. ATMega8 i dołożenie między innymi sterowania za pomocą PWM-a pracą wentylatora w funkcji temperatury. Wyświetlanie temperatury bez części ułamkowej tylko dziesiątki i jedności. Niestety nie jestem jeszcze mocno obeznany w bascomie a zależy mi na zastosowaniu wyświetlacza LED. Z góry dziękuję za odpowiedź.
Pozdrawiam
Piotr
A do czego to jest
A do czego to jest potrzebne? Ten wentylator to jest na 12V? Bo jeśli tak to robiłem już cos podobnego do mojego wzmacniacza, opis znajduje się tutaj. Zapoznaj się z kodem źrodłowym, przerobienie pod ATMEGA8 nie powinno sprawić problemu, kod w większości jest taki sam. Nie mogę się szybko tym zająć i napisać całości (ze względu na brak czasu), ale pytania możesz zadawać.
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.
Potrzebne to jest do
Potrzebne to jest do zasilacza 30V 3A. Wentylator od zasilacza do PC na 12V. Chodzi o to że multimetr na Atmega8 na LED-ach już mam zrobiony(pomiar prądu i napięcia) skorzystałem z gotowca w sieci. Tylko do pełni szczęścia brakuje wyświetlania temp radiatora stopnia końcowego na wyświetlaczu LED 2cyfry i 2 cyfry znaki o C w multipleksie. Do tego sterowanie PWM wentylatora od 30 do 60 C. Pełne obroty przy 60 C. Przy temp 80 C załączenie ograniczenia prądowego w zasilaczu na minimalną wartość i wyłączenie go dopiero przy spadku temperatury do 30 C. Sprawa by nie była uciążliwa gdybym zastosował wyświetlacz LCD alfanumeryczny. Uparłem się jednak na wyświetlacz LED gdyż pomiar napięcia i prądu jest na LED. Przerobiłem program na atmege i przy próbie robienia własnych wstawek procek głupieje tzn. nic nie wyświetla, a program kompiluje się bez błędów. Nie znam się dobrze na obsłudze przerwań i podejrzewam że robię swoje wstawki nie w tym miejscu gdzie trzeba. Z tego co wyczytałem na forach jest pewien problem przy obsłudze 1-wire i wyświetlaniu multipleksowanym i wykonywaniu jeszcze innych dodatkowych procedur. W takim razie proszę o poradę czy jest sens próbować uparcie dalej czy zastosować po prostu wyświetlacz LCD alfanumeryczny.
menu
Witam
Długo się nie odzywałem. W końcu znalazłem trochę czasu i przerobiłem program jaki mi był potrzebny(nie jest zoptymalizowany ale wystarcza). Dzięki wszystkim za pomoc. Pozdrawiam. Oto kod:
(jeśli ktoś zauważy błędy to śmiało pisać)
Było by świetnie gdyby
Było by świetnie gdyby ktoś przerobił kod pod attiny2313:)
to nie problem mam gdzieś
to nie problem mam gdzieś to na atmege8, ale i tak będziesz musiał przerabiać na konkretną płytkę
Re: Termometr Uniwersalny
Nie mam niestety na tyle czasu aby przerobić to w niedługim czasie. Jeśli któryś z kolegów przerabiał kod pod jakiś z AVR'ów proszę o nadesłanie kodu na mirley(at)op.pl
Naszczęście to jest jeden ze starszych projektów, teraz już większość robię na AVR'ach
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.
pod atmegę, też było by
pod atmegę, też było by świetnie, gdybyś mógł udostępnić schemat, płytkę bym już zaprojektował. W razie czego wyślij proszę
Czy stanie się coś po
Czy stanie się coś po przekroczeniu zakresu? np. jeżeli temp. dojdzie do 110C
A jakby zamienić tego
A jakby zamienić tego mikroklocka na atmega16 i dać w programie żeby pracował na oscylatorze wewnętrznym to będzie chodził poprawnie?
Mogę udostępnić program i
Mogę udostępnić program i płytkę na 2051, na atmegę8 nie mam płytki tylko program pisałem na taką płytkę tymczasową ale jakby ktoś bardzo chciał. Mogę przerobić program na AVR na konkretną płytkę ale trzeba by mi przysłąć chociażby schemat
Oczywiście że na wewnętrzym RC powinno działać.
Pozdrawiam
w jednej wersji programu
w jednej wersji programu zrobiłem alarm jak przekroczy zadaną temperaturę, w powyższym nic się nie stanie po przekroczeniu.. tylko już nie nie będzie miała sie gdzie jedynka wyświetlać
Re: Termometr
Czujnik DS18B20 mierzy do około 120 stopni a nie uszkodzi się nawet w większej temperaturze
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! Który fragment kodu
Witam!
Który fragment kodu odpowiada za sterowanie stanami na pinach P1.0 - P1.7?
Re: Termometr
Odpowiada za to procedura Wyswietl
Wcześniej wykonywana jest procedura Przelicz, która zamienia liczbę 3 cyfrową na trzy zmienne Wysw100 ... Wysw1 i koduje w ich wartościach odpowiednie znaki wyświetlacza za pomocą tabel przeliczeniowych (na samym dole programu)
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.
Zpytanie o przeróbkę
Witam
Chciałbym wzbogacić ten program o dwie funkcje, a mianowicie
opcja 1 --- temperatura przekracza (xx ) włancza się buzer i cyklicznie pika do momentu obniżenia temperatury (xx) o (x) stopni.
opcja 2 --- powiązana jest z pierwszą tylko dodatkowo można ten sygnał wyłączyć ręcznie.
Jeżeli jest to operacja prosta to prosił bym Cię o wskazówki w modyfikacji tego kodu.
Pozdrawiam
Robert
Na jaki procek chcesz to
Na jaki procek chcesz to wgrać? 2051 to trzebaby się już pobawić żeby to upchać albo zrezygnować np z migania na rzecz dźwięku.
To nie jest wcale skomplikowane żeby to dodać.
wystarczy pare if-ów w odpowiednim miejscu i po problemie
Re: Przeróbka Termometru
Jak napisał już kolega wcześniej nie powinno to sprawić problemu z tym że może to pociągnąć za sobą konieczność zmiany 2051 na 4051 gdy kod źródłowy za bardzo się rozrośnie. Czy wymagane jest ustawianie tych progów temperatury czy mogą one być na stałe zapisane w pamięci programu? Jeśli musi być konieczność ustawiania tych temperatur to bedzie problem z ich zapisem aby po wyłączeniu zasilania nie zgubiły się wartości. Ponadto konieczność ustawiania zabierze dwa przyciski i przez to aby podłączyć buzzer trzeba będzie zrezygnować z ujemnych temperatur bo braknie wyprowadzeń. Proszę się zastanowić co jest potrzebne a co nie i wtedy w wolnej chwili pomyślał bym nad tym aby zrealizować taki alarm z możliwością wyłączenia.
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.
Zmiany w projekcie
Witam
Układ o którym mowa chce wykorzystać do sygnalizacji przekroczenia temperatury przez piec CO.
W przyszłości będzie to rozbudowany układ sterujący a obecnie ma spełniać podstawową funkcje sygnalizacji .
Procesor mogę zastosować 4051 nie ma to znaczenia natomiast chciałbym wykorzystać jeden z Twoich projektów termometrów.
Temperatura może być przypisana na stałe w niczym to nie przeszkadza dobiorę podczas eksperymentów..
ilość stopni o które zostanie przekroczony próg dopuszczalny też może być na stałe.
Natomiast zależy mi aby można było ręcznie wyłączyć sygnalizacje w taki sposób aby ponowne przekroczenie spowodowało sygnalizacje.
Jeżeli to nie przeszkodzi w projekcie to jedno z wyjść może służyć do sterowania przekaźnika w momencie włączenia buzera ,na zadany czas pojawi się stan wysoki.
Pozdrawiam
Robert
Re: Termometr
Ulepszyłem trochę program. Nowa wersja jest dostępna tutaj. Przycisk S1 włącza i wyłącz alarm. Zamiast S2 należy dać buzzer wraz z tranzystorem i rezystorami tak jak do anody wyświetlacza. Na porcie P3.7 dioda sygnalizacyjna szeregowo z rezystorem 330R podłączona anodą do +5V (sygnalizuje włączony alarm)
Nie mam dostępu do płytki testowej więc program pisałem na ślepo. Jak pójdzie to proszę o info :)
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ękuje za szybką reakcję
Proszę jeszcze o podpowiedź czy to te wartości odpowiadają za progi temperatur, które trzeba przypisać na stałe.
W przyszłym tygodniu mam dostać czujniki to zaraz wypróbuje .Płytkę testową też zrobiłem lecz jeszcze nie uruchomiłem.
Jak ukończę Twoje projekty a jest ich kilka to może w przyszłym tygodniu prześle kilka fotek.
'****************************
'Wartosci Poczatkowe
'****************************
Reset Pomiar_odczyt
Reset Ur
Wysw1 = 191
Wysw10 = 191
Wysw100 = 191
Alarm = 1
Sygnal = 0
T_max = 900 ' 90 stopni
T_min = 800 ' 80 stopni