(10 głosujących) Opisywany tutaj układ jest uniwersalnym termometrem dwukanałowym. Pracuje on w zakresie temperatur od -50.0 do +99.9 stopni. Układ został zaprojektowany do mierzenia temperatury w domu i na dworze ale z powodzeniem można dla niego znaleźć wiele innych zastosowań. 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/czujniki DS18B20 i mikrokontroler ATTiny2313 co znacznie uprościło jego konstrukcję i zmniejszyło wymiary. Termometr udało się tak skompresować, że prawie wszystkie elementy mieszczą się pod typowym wyświetlaczem 3-cyfry o wysokości rzędu 15mm. Projekt jest rozwinięciem układu dostępnego tutaj z tym że prawie wszystkie elementy zostały zmienione na komponenty SMD. Oczywiście można by było upakować bardziej elementy przewlekane jednak w dobie miniaturyzacji lepiej zrobić jeden krok dalej, budując układ o możliwie najmniejszych wymiarach. Daje to możliwość zamontowania gotowego modułu termometru lub prostego termostatu w już istniejące urządzenie lub zastosowanie obudowy niewiele większej od wyświetlacza. W wersji podstawowej termometr potrafi mierzyć dwie temperatury, wykorzystując dwa czujniki podłączone na niezależnych magistralach. Zmiany wyświetlanej aktualnie temperatury dokonuje się za pomocą dwóch przycisków.
Projekt został opublikowany w Elektronice dla Wszystkich 08/2011 i jest dostępny w postaci kitu AVT2985 Działanie:Schemat ideowy układu znajduje się na rysunku poniżej: Sercem urządzenia jest mikrokontroler U1 (ATTINY2313), który pracuje na wewnętrznym oscylatorze, bez dzielnika częstotliwości. Daje to w efekcie taktowanie 8MHz. Brak rezonatora kwarcowego pozwolił zmniejszyć płytkę a dodatkowo umożliwił wykorzystanie wolnego pinu XTAL jako portu wejściowego PA0, do którego obecnie dołączony jest przycisk S2. Zadaniem mikrokontrolera jest odczyt pomiaru temperatury z dwóch czujników, przeliczanie wskazań do postaci dogodnej dla wyświetlania i obsługa przycisków S1 i S2. Kondensator C1 (100nF), umieszczony blisko mikrokontrolera filtruje jego napięcie zasilania podobnie jak kondensatory C2 (10uF) i C3 (10uF), które są konieczne do prawidłowej pracy stabilizatora U3 (78L05). Prostota układu wynika z zastosowanego czujnika temperatury, którym tym przypadku jest Ds18B20. Stanowi on w typowym ustawieniu 12-bitowy termometr cyfrowy mogący pracować w zakresie -55 do +125 stopni. Czas przetwarzania (konwersji) temperatury do wartości binarnej (liczby) trwa nie dłużej niż 750ms. Odczyt temperatury jest w pełni cyfrowy, a łączność z mikrokontrolerem zapewnia popularna magistrala 1-Wire. Do prezentacji temperatury wykorzystywany jest trój-cyfrowy wyświetlacz LED (AT5636BMR-B) z wewnętrznie połączonymi segmentami, przystosowanymi do multipleksowania. Znakomicie ułatwia to proces projektowania płytki. W tym przypadku zastosowanie trzech pojedynczych wyświetlaczy uniemożliwiło by wykonanie taniej jednostronnej płytki drukowanej. Rezystory R4-R11 ograniczają prąd wyświetlacza LED do wartości maksymalnej rzędu 10-12mA (na segment). Średni prąd będzie jednak mniejszy ze względu na multipleksowanie. Do sterowania anodami wyświetlacza wykorzystywane są trzy popularne tranzystory T1-T3 (BC857). Ich prądy baz ograniczane są przez rezystory R1-R3 (3,3k). Zaświecanie cyfr na kolejnych wyświetlaczach odbywa się poprzez cykliczne podawanie stanu niskiego na bazę jednego z tranzystorów T1-T3. W tej same chwili na porcie B mikrokontrolera powinna pojawić się zakodowana wartość odzwierciedlająca wyświetlany znak. Ważnym komponentem jest tutaj złącze GP1, które stanowi jednocześnie miejsce podłączenia czujników oraz wyjście sterowania (w przypadku budowy termostatu). Nie trzeba tutaj montować złącza goldpin, jak w projekcie modelowym, wystarczy wlutować przewody bezpośrednio w płytkę. W programie termometru stan niski na wyjściu sterowania pojawia się gdy temperatura jest ujemna. Wystarczy dołączyć diodę LED z szeregowym rezystorem 470R między to wyjście a +5V aby mieć sygnalizację znaku "-". 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 będzie schemat montażowy termometru znajdujący się tutaj, natomiast elementy SMD można z łatwością zamontować posługując się rysunkiem dostępnym tutaj. Płytka została zaprojektowana jako jednostronna, a prawie wszystkie elementy są typu SMD. Wyjątek stanowią tu wyświetlacz, przyciski i złącza. Montaż nie jest skomplikowany ale wymaga niewielkiej wprawy w lutowaniu SMD. Na samym początku dobrze jest przylutować właśnie te elementy, ponieważ brak wystających części z drugiej strony ułatwi montaż. Należy zwrócić uwagę że obwód masy przechodzi w jednym miejscu przez zworkę jaką tworzy przycisk (przycisk ma 4 wyprowadzenia parami zwarte). Gdyby zaszła konieczność rezygnacji z przycisków to zamiast S1 należy wlutować zworkę po stronie masy (kolor czerwony). Wadą małej płytki jest brak wyprowadzonego złącza programującego procesora, więc gdyby zaszła konieczność zmiany programu będzie trzeba przylutować kabelek programujący do pinów mikrokontrolera. W roli złącza zasilania podobnie jak w przypadku GP1 dobrze sprawdzają się kabelki przylutowane bezpośrednio do płytki. Opis pinów złącza GP1 przedstawiony jest na rysunku poniżej: Wyprowadzenia 1 i 2 tego złącza to odpowiednio: zasilanie i masa. Wyjście sterowania (OUT) jest tutaj dostępne na pinie 3. Czujniki należy podłączyć trój-przewodowo wykorzystując wyprowadzone zasilanie, masę i linie sygnałowe 5 i 6. Linia danych czujnika pierwszego ma zostać podłączona do pinu 5, a z czujnika drugiego do pinu 6 złącza GP1. Układ termometru zasilany jest napięciem z przedziału 7-12V dzięki obecności stabilizatora 78L05. Nic nie stoi na przeszkodzie aby pominąć stabilizator a napięcie zasilania 5V podać bezpośrednio na termometr. Wykaz Elementów:2x uSwitch 3x 3,3k SMD/0805 2x 10uF SMD/3216A Tantalowy 3x BC857 Programowanie:Program sterujący pracą termometru został napisany w dobrze znanym programie BASCOM AVR . Zajmuje on około 70% dostępnej pamięci mikrokontrolera i może być z powodzeniem kompilowany w wersji demo BASCOM'a. Działanie programu nie jest skomplikowane i w skrócie wygląda to następująco: cały czas procesor kręci się w nieskończonej pętli Do Loop, czekając na ustawienie jednej z flag taktujących w przerwaniu. Za odpowiednie taktowanie odpowiada Timer0. Co około 4ms wywoływana jest procedura multipleksowania wyświetlacza, z której w odpowiednim momencie następuje skok do odczytu temperatury. Procedura obsługi przerwania Timera0 widoczna jest poniżej: Przerwanie0: Timer0 = 131 Set F4ms Incr Dziel(1) If Dziel(1) = 25 Then Dziel(1) = 0 Set F100ms Incr Dziel(2) If Dziel(2) = 10 Then Dziel(2) = 0 Set F1s End If End If Return Na początku do licznika timera ładowana jest wartość 131, daje to przerwanie po odliczeniu 125 impulsów (256-131). Timer pracuje z dzielnikiem sprzętowym przez 256 co przy częstotliwości taktowania 8MHz daje przerwanie co 4ms. Bezpośrednio po wystąpieniu przerwania ustawiana jest flaga F4ms. Zmienne Dziel(1) i Dziel(2) stanowią dzielnik częstotliwości. Pierwsza odpowiada za podział przez 25 i po przepełnieniu licznika ustawiana jest flaga F100ms (następuje to co 100ms). Druga zmienna jest licznikiem do 10 i zapewnia ustawianie flagi F1s co 1s. Pętla główna widoczna jest poniżej: Do If F4ms = 1 Then Reset F4ms 'co 4ms Wysw = T Gosub Wyswietl_zmierz End If If F100ms = 1 Then Reset F100ms 'co 100ms If Pind.2 = 0 Then Kanal = 1 If Pina.0 = 0 Then Kanal = 0 End If Loop End Działanie jest bardzo proste i zależne tylko od flag: F4ms i F100ms. Przez większość czasu procesor kręci się w nieskończonej pętli Do Loop czekając na ustawienie jednej z flag. Co 4ms wywoływana jest procedura obsługująca wyświetlacz i pomiar temperatury, natomiast co 100ms odczytywane są stany klawiszy. W podstawowej wersji programu wystarczy prosta obsługa klawiatury poprzez bezpośredni odczyt stanu pinów wejściowych. Naciśnięcie S1 powoduje przejście do odczytu drugiego czujnika, natomiast naciśnięcie S2 przechodzi do czytania czujnika pierwszego. Procedura obsługi wyświetlacza i pomiaru temperatury widoczna jest poniżej: Wyswietl_zmierz: Incr Mux If Mux = 5 Then Mux = 0 Portd.3 = Not Minus For I = 1 To 3 Wysw_pomoc = Wysw Mod 10 Ww = Wysw_pomoc W(i) = Lookup(ww , Tabela) Wysw = Wysw / 10 Next I If W(3) = 40 Then W(3) = 255 'wygaszenie zera wiodącego Select Case Mux Case 0: Portb = W(3) Reset Portd.6 Case 1: Set Portd.6 Portb = W(2) And &B11011111 Reset Portd.5 Case 2: Set Portd.5 Portb = W(1) Reset Portd.4 Case 3: Set Portd.4 Portb = 255 Gosub Temp 'Case 4: End Select Return Tabela: Data 40 , 235 , 50 , 162 , 225 , 164 , 36 , 234 , 32 , 160 Działanie składa się z 5 kroków zależnych od stanu zmiennej pomocniczej Mux. Przyjmuje ona wartości od 0 do 4 i zmienia się cyklicznie z kolejnym wywołaniem procedury. Na wyjście sterowania (Portd.3) przepisywana jest zanegowana wartość zmiennej Minus. Odpowiada ona za wyświetlanie ujemnych temperatur i tym samym na porcie d.3 mikrokontrolera pojawia się stan niski gdy mierzona temperatura jest ujemna. W dalszej kolejności dzięki pętli for, zmienna Wysw, zawierająca wartość do wyświetlenia, dzielona jest na trzy pojedyncze cyfry. Następnie są one zamieniane na kody wyświetlacza LED za pomocą polecenia Lookup (z wykorzystaniem tabeli przeliczeniowej). Po wyjściu z pętli for uzyskuje się tablicę W(n) z zakodowanymi wartościami, gdzie n=1...3 indeksuje kolejne znaki wyświetlacza. Dalsza część procedury zależy od zmiennej Mux. Dla wartości 0 do 2 zaświecane są kolejne cyfry poprzez wyłączenie poprzedniej anody, wystawienie na Portb wartości kolejnego znaku i włączenie odpowiadającej mu anody. Wyjątkiem jest tutaj znak W(2) gdzie dodatkowa operacja (And &B11011111) zapewnia dodanie kropki dziesiętnej po drugim znaku. Dla wartości Mux=3 wywoływana jest procedura pomiaru temperatury, a stan Mux=4 jest fazą oczekiwania na spokojne zakończenie pomiaru temperatury. Procedura pomiaru temperatury widoczna jest poniżej: Temp: If F1s = 1 Then Reset F1s 1wreset Pind , Kanal 1wwrite &HCC , 1 , Pind , Kanal 1wwrite &HBE , 1 , Pind , Kanal T = 1wread(2 , Pind , Kanal): Minus = T.15 T = Abs(t) T = T * 10 T = T / 16 1wreset Pind , Kanal 1wwrite &HCC , 1 , Pind , Kanal 1wwrite &H44 , 1 , Pind , Kanal End If Return Procedura ta wywoływana jest co okoł0 20ms, jednak wykonywanie pomiaru odbywa się co 1s dzięki sprawdzaniu stanu flagi F1s. Występuje tutaj typowa obsługa magistrali 1-Wire dla przypadku obecności tylko jednego układu na magistrali. Wszystkie rozkazy 1-Wire wywoływane są z parametrem Kanal, który odpowiada za to z której magistrali temperatura ma być odczytana (pind.0 czy pind.1). Po wykonaniu resetu następuje wysłanie rozkazu pominięcia sprawdzania ROM oraz wysłanie rozkazu odczytu rejestru DS18B20. Następnie odczytywane są dwa bajty temperatury do zmiennej T (integer), określany jest znak temperatury i wykonywane są proste przeliczenia. W efekcie zmienna T przyjmuje postać temperatury w stopniach pomnożonej przez 10 (np. 13 to 1.3 stopnia). Na samym końcu wysyłany jest rozkaz konwersji temperatury aby w kolejnym odczycie uzyskać aktualną jej wartość. Fusebity mikrokontrolera powinny być ustawione na pracę z wewnętrznym oscylatorem RC o częstotliwości 8MHz, co w praktyce sprowadzi się do wyłączenia jedynie dzielnika sprzętowego (Bit CKDIV). Ustawienia fusebitów, zrzut z programu burn-o-mat znajduje się poniżej: Układ da się przerobić na termostat niewielkim nakładem pracy. Rezygnujemy wtedy z dwukanałowego pomiaru temperatury oraz ujemnych temperatur na koszt sterowania wyjściem. Do wyjścia sterowania (Portd.3) można dołączyć optotriaka i triaka sterującego dowolnym odbiornikiem prądu przemiennego lub można dołączyć tranzystor MOSFET sterujący odbiornikiem prądu stałego. W pętli głównej trzeba będzie wprowadzić modyfikacje widoczne poniżej: If F4ms = 1 Then Reset F4ms If Ust = 0 Then Wysw = T Else Wysw = Tu Gosub Wyswietl_zmierz End If If F100ms = 1 Then Reset F100ms If Pind.2 = 0 Then Incr Tu Autoret = 20 End If If Pina.0 = 0 Then Decr Tu Autoret = 20 End If If Autoret > 0 Then Ust = 1 Decr Autoret Else Ust = 0 End If H = Tu + 10 L = Tu - 10 If T > H Then Set Portd.3 If T < L Then Reset Portd.3 End If Taki kod wymaga zadeklarowania zmiennych Tu, H oraz L jako Integer oraz Ust jako Bit i Autoret jako Byte, na początku programu. Dodatkowo zmienna Tu powinna mieć wartość początkową, gdyż stanowi wartość temperatury ustawianej. W procedurze wyświetlania i mierzenia należy usunąć linijkę odpowiedzialna za sygnalizację ujemnych temperatur, gdyż portd.3 służy teraz jako wyjście sterowania. Przedstawione rozwiązanie nie jest idealne, nie ma żadnego ograniczenia na ustawiane wartości ani nie potrafi zapisywać ustawień do pamięci EEPROM ale w wielu sytuacjach znakomicie się sprawdzi. Może działać z powodzeniem jako termostat do trawiarki po ustawieniu domyślnej wartości Tu na 40 stopni. Zdjęcia Projektu:
|
|||||||||||||||||||||||||||||||||||
nie działa
Po tej zmianie nie reaguje na inkrementację zmiennej "pomasw" czyli jak w kodzie początkowym. Jak policzy do 10-ciu wykonuje toggle.
oldname
Wyłączenie automatycznej zmiany wyświetlania
Trochę pogmerałem i wyszło mi coś takiego:
Tym kodem można za pomocą jednoczesnego wciśnięcia przycisków s1 i s2, ustawić czas(2sek do 10sek można zmienić w zmiennej poma_sw) zmiany wyświetlania pomiędzy DS1 a DS2. W przypadku ustawienia czasu o wartości 0.0 wyświetlana będzie stale temperatura jednego z Ds-a.Trzymając oba przyciski stale wciśnięte, wartość czasu co sek. rośnie do 10sek po czym przechodzi do zera i tak w kółko.Po ustawieniu wartości 0.0 , to który z czujników będzie wyświetlał, można zmieniać tak jak dotychczas za pomocą przycisków S1 lub S2.
Dodatkowo, wartość czasu przełączania zapisuje się do pamięci eeprom a przy jednym z czujników temperatury pojawia się ostatnia kropka.
Jeżeli ktoś z kolegów zauważy możliwość zmian by poprawić kod to proszę o sugestie.
oldname
coś nie mam stanu niskiego
coś nie mam stanu niskiego przy minusowej temperaturze na pinie, który podpina się pod led informujacy o ujemnej temperaturze.
dobra dałem rade działa
dobra dałem rade działa
Termostat i mius.
Witam, możliwe, że ktoś już o to pytał ale postów jest wiele i troche długo byłoby czytać. Mam pytanie czy jest możliwość aby w roli termostatu minus był jednak wyświetlany? Są jeszcze wolne piny w procku więc wydaje sie to realne. Jak trzebaby przerobić program?
Witam Poskładałem sobie
Witam
Poskładałem sobie termometr z tego tematu, w wersji na 2313 z termostatem, i ruszył od pierwszego uruchomienia. Dzięki za projekt. Chciałbym go używać do monitorowania temperatury zasobnika C.W.U i tu pojawia się problem. Nie wiem gdzie i jak w programie ustawić próg zadziałania alarmu przekroczenia temperatury. Nie wiem gdzie ustawić wartość początkową zmiennej Tu na powiedzmy 80st. po przekroczeniu której zadziała alarm oraz wyłączy go po opadnięciu temperatury do 70st. Może mi ktoś pomóc.
Re: Minus
Dioda minus może być jeszcze zrobiona na pinie PA1, wystaczy odkomentować linijkę 'Portd.3 = Not Minus i wstawić tam porta.1. Jeszcze na starcie programu trzeba tylko porta.1 ustawic jako wyjście
---------------
Wartość początkowa zmiennej Tu jest na starcie programu na początku jest Tu=280 wystarczy wpisać Tu=800 aby było 80 stopni. Alarm to można by ustawić tez na pinie pa.1 zamiast minusa. Trzeba dopisać poprostu na sztywno dwa ify:
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 Dziękuję za szybką
witam
Dziękuję za szybką odpowiedź. Jutro przetestuję czy to działa i dam znać
Witam Wszystko oczywiście
Witam
Wszystko oczywiście działa jak należy. Dziękuję.
Problem z dużymi wyswietlaczami
Witam serdecznie!
Składam już drugi egzemplarz tego termometru. Pierwszy działa już bez żadnych problemów ponad rok. Ale teraz mam problem ponieważ chcę użyć dużych wyświetlaczy 7segmentowych ponieważ mam takie akurat na stanie. Ze względu na to że procesor nie zapewni im odpowiedniego zasilania użyłem układu ULN2003A. I pojawił się problem - otóż wszystkie segmenty ciągle się świecą i widać tylko delikatne przebłyski przy zmianie cyfry więc sam układ działa prawidłowo tylko jakby nie pozwala gasnąć poszczególnym wyświetlaczom. Tranzystory PNP zmieniłem oczywiście na mocniejsze, wyświetlacze są zasilane 9V. Mają koledzy jakieś pomysły jak temu zaradzić?
Pozdrawiam
Grzesiek
Re: Termometr
No to pomyśl co zrobiłeś? wpakowałeś ULN na cały port procka czyli go zanagowałeś na tranzystorach ULN jest teraz masa kiedy powinien być stan wyski i na odwrót. Trzeba zanegować stany w procedurze wyświetlania. Powinna teraz wyglądac 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.
No tak,ULN przecież neguje
No tak,ULN przecież neguje sygnały.. Głupi błąd :) a poza tym chyba nie będę potrzebował zmian w układzie sterującym anodami? Chodzi mi o tranzystory T1-T3.
Dzięki wielkie za pomoc!
AT90s2313
Witam zamierzam się do wykonania termometru i stąd moje pytanie czy zamiast attiny moge zastosować AT90s2313 bo takie właśnie mam bez zmian w kodzie. Pozdrawiam.
Termometr domowy
kliknij tu
at90s2313
Kolega chyba żle przeczytał nie chodzi o 2051 tulko o układ ATMEL 90s2313 stary poczciwy z dawnych czasów nie jest to atina stąd było moje pytaie czy te układy się różnią programowo i czy wsad będzie ten sam. Ale nie otrzymałam odpowiedzi tylko zbycie z tematu szkoda.układ na 2051 znam i nie o to mi chodziło szukałam schematu na dwa niezależne czujniki. Pozdrawiam.
Re: 90S2313
Ukłąd powinien działać, ale musisz sobie przekompilowac program aby działał dla tego procka. Nie wiem czy zmieści się w at90s2313 ale warto spróbować. Trzeba by też zrobić jakieś modyfikacje bo do 90s potrzebujesz kwarcu a na nóżce kwarcu obecnie jest przycisk
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.
24m
Witam, wgrałem sobie program termostatu i na krótkich kablach działa ok ale przy kablu 24m niestety na wyświetlaczu 0.0, jak przerobić układ aby smigał na 24m kabla? Mniej nie mogę zastosować...
Kabel
Do czujnika 24 m?
Tak, w sieci ludziska się
Tak, w sieci ludziska się chwalą, że i na 60m ds'y im działają więc myslałem, że na 24m nie będzie problemu. Zastosowałem skrętkę 6-żyłową alarmową po diwie żyły na każdą noge ds'a (aby zwiększyć przekrój).
Re: DS
Po pierwsze to sprawdź czy sobie nie zrobiłeś zwarcia na tym długim kablu. Zmniejsz rezystor podciągający do 3,3k i zobacz rezultaty. Czy napięcie na czujniku na końcu kabla jest dobre. Ewentualnie daj tam jakiś kondensator. W Ostateczności trzeba by było oscyloskop żeby popatrzeć co na linii danych się dzieje.
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.
Termostat
Witam. Mam wykonane kilka sztuk tego projektu i oczywiście jak wszystkie inne wykonane urządzenia Mirleya działają bez problemu. Pytanie moje jest następujące: która część programu (termostat) odpowiada za zmniejszenie zakresu regulacji temperatury? Potrzebuję zmniejszyć ten zakres np. 15-30 st C. Z zapisem do eeprom tej wartości sobie poradziłem, ale to mi nie wychodzi.
Re: Termostat
W programie termostatu nie ma ograniczenia na ustawianie Tu ale można wprowadzić ograniczenie:
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.
Termostat
Dzięki wielkie. Oto chodziło. Działa.
witam, robilem tak jak
witam, robilem tak jak pisales mirley z tym rezystorem i niestety nadal nie dziala na dlugim kablu. Skrócilem go nawet do 15m i nadal nic. Napiszcie na jakich kablch u was to dziala bo juz nie wiem co robic...
RE, 30m kabla
Gdzieś w dokumętacji wyczytałem żeby DS najlepiej podłączyć na 4 przewodach ,
sygnał odpowiedzi z masą(GND) na jednej parze przewodów , Zasilanie z GND na drugiej parz przewodów ,skrętka lubi się łamać jak ją żle się rozwija i zaciąga
Witam. Problem wydaje mi sie
Witam. Problem wydaje mi sie ze tkwi w programie, podlaczylem ten sam czujnik (razem z tym samym dlugim kablem) do innego układu na atmega32 i wszystko pieknie dziala nawet gdy ds ma wpiete tylko dwa przewody.
w plikach źródłowych jest to
w plikach źródłowych jest to samo dla termometru i termostatu
Config Portd = &B11111011 : Portd = &B11111111
ds2-portD.0- powinny być jako IN ??
ds1-portD.1
czy nie powinno być
Config Portd = &B11111000 : Portd = &B11111111 ' gdzie pd.0-ds2, pd.1-ds1 , pd.2-s3
wiem że bezpieczniej jest ustawić port jako wyjście -
czy jest to celowo zrobione , czy literówka ?
Re: DS
Tak jako wejście powinno być tylko zawsze komendy bascoma dbały o poprawne ustawienie portu, widocznie coś się zmieniło z updatem bascoma..... sprawdźcie co się stanie jak zmieni się port na wejście
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.
Tranzystor ten pod procesorem
Tranzystor ten pod procesorem jest chyba źle wlutowany.
Witam mam problem nie działa
Witam mam problem nie działa mi ds18b20 w tym termometrze na odległości 20m .Przewód 3x1mm. proszę o pomoc.
Przy takiej odległości
Przy takiej odległości spróbuj dać skrętkę.
Temperatura ujemna.
Co trzeba zmienić w kodzie by przy temperaturze -9,9 znak ? był wyświetlany na pierwszej cyfrze ? bez zmian w układzie.
Re: Terometr
w case 0 trzeba zmienić:
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! Czy moglbym prosić o
Witam! Czy moglbym prosić o skompilowany wsad do procka, który włącza alarm po przekroczeniu 85* i wyłącza, jeśli zejdzie do 70* ? Niestety nie mam Bascoma i nie potrafie się nim posługiwać. Z góry dziękuję za pomoc. Pozdrawiam
Attiny 2313A-problem
Witam
Czy ten wsad pójdzie na procku Attiny 2313A?
Udało mi się kupić tylko taki procek,funkcjonalnie są takie same,ale po zaprogramowaniu migają mi tylko ostatnie dwie cyfry.Można to w jakiś sposób skompilować pod Attiny 2313A
Pozdrawiam
Re: Tiny
Pójdzie na tiny2313A? Sam takich używam. Sprawdź sobie czy fusebity dobrze ustawiłeś
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 Skompilowałem na nowo
Witam
Skompilowałem na nowo kod pod Attiny 2313A,w starej wersji Bascoma był tylko Attiny 2313,teraz jest2313A.
Miernik działa bez zarzutu.
Dzięki serdeczne
Pozdrawiam
Mam problem
mam problem z tym termometrem.Całość kupiłem jak gotowy kit na stronie avt z zaprogramowanym mikrokontroler.Problem dotyczy wyswietlacza który mryga po minucie tzn jak jest podczepiony czujnik wskazuje prawidłowa temperaturu i po minucie na wyswietlaczu mrygaja 2 zera i to sam sie dzieje gdy odczepie czujnik.Zauważyłem też ze jak wyswietlacz mryga odłanczam zasilanie i gdy zaraz włacze zasilanie wyswietlacz nadal mryga musze odczekac kilka chwil żeby przestał mrygać
Odp. Mam problem
Czy układ się nie grzeje? Może masz zbyt wysokie napięcie zasilania. Sprawdż na procesorze max 5V. Może np. zła masa do regulatora napięcia. Po odłączeniu zasilania może pracuje dłużej bo w Twoim zasilaczu jest kondensator. Na próbę zresetowac "od strzała" możesz zwierając pierwszy pin procesora przy kropce do masy.
BARTek
Moja strona
Re: Zasilanie
A czym to dokładnie zasilasz? Masz stabilizator na napięcie 5V
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.
zasilane jest z bateri 9 v
zasilane jest z bateri 9 v
Odp. Minitermometr
Kup nowa baterię :D To tak pół żartem pół serio.
Miernik złap. Nie masz? Pożycz albo kup - najtansze za 20zł :D przyda sie!
Zmierz baterię (w mierniku masz taką samą) a potem zmierz 5V na procesorze (najlepiej przed i za stabilizatorem).
W mierniku jest też amperomierz. Zmierzysz ile całość bierze prądu i się dowiesz na ile wystarczy baterii.
BARTek
Moja strona
Termostat-Pomocy
witam
a jak w tym odwrócić działanie termostatu
Re: termostat
Zamien miejscami Reset z Set we fragmencie:
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.
LM35 zamiast DS.
witam panowie idzie jakoś przerobić kod aby układ działał na LM35?
Re: termometr
Nie da się na LM35, LM35 to czujnik analogowy i trzeba ADC i prawdopodobnie jakiś wzmacniacz operacyjny jeszcze aby odczytać z niego temperaturę za pomocą 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.
ma ktos moze pomysł
ma ktos moze pomysł dlaczego po właczeniu układu na wyswietlaczu mryga dosc szybko 0 wszystko posprawdzałem i nie ma zwarc
ma ktos moze pomysł
ma ktos moze pomysł dlaczego po właczeniu układu na wyswietlaczu dosc szybko mryga 0 wszystko sprawdziłem i nie ma zwarc
minitermometr
Witam, fajny projekcik, niestety nawet w tak prostym układzie mam problem. Pierwsza cyfra w wyświetlaczu świeci duuuuużo słabiej od pozostałych cyfr (wyświetlacz dobry - sprawdzony w innym układzie), tranzystor sprawny, podmieniany. Od razu piszę, że rezystory w bazach zastosowałem 4,2k ze względu na to że układ ma pracować z baterii jak najdłużej. Co może być przyczyną? Wlutowałem go jak na fotografii wyżej - czy to aby dobrze? Pozdrawiam.
Witam ponownie jednak
Witam ponownie jednak tranzystor jest dobrze wlutowany. Układ już działa poprawnie pozostało tylko dodanie minusa. Pozdrawiam.