Termometr Uniwersalny


9.28571
Ocena: None Średnia: 9.3 (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
6x 3,3k

2x 33pF
1x 1uF
1x 220uF

1x Rezonator Kwarcowy 12MHz
1x AT89C2051 (lub ATTiny2313)
3x BC557B
1x DS18B20
1x AT5636BG-B Pb-free (TOT-5362BG-B) Wyświetlacz potrójny

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:

ZałącznikWielkość
Schemat87.5 KB
Płytka11.03 KB
Płytka (odbicie lustrzane)11.01 KB
Płytka (6 na stronie)61.72 KB
Montowanie15.44 KB
Kod źródłowy (wersja podstawowa)4.46 KB
Program po kompilacji (BIN) (wersja podstawowa)1.03 KB
Program po kompilacji (HEX) (wersja podstawowa)2.96 KB
Kod źródłowy (obsługuje temperatury powyżej 100 stopni)4.91 KB
Kod Źrodłowy (wersja z termostatem) (jeszcze nie testowana)7.57 KB
Program po kompilacji (wersja z termostatem) (BIN)1.72 KB
Program po kompilacji (wersja z termostatem) (HEX)4.85 KB
Kod Źródłowy (dla ATTiny2313, Bascom AVR)4.43 KB
Kod Źrodłowy (wersja z termostatem, dla ATTiny2313, Bascom AVR) (jeszcze nie testowana)7.28 KB
Program po kompilacji (BIN) (dla ATTiny2313, Bascom AVR)1.59 KB
Program po kompilacji (HEX) (dla ATTiny2313, Bascom AVR)4.49 KB
Kod źródłowy (dla ATMega8, Bascom AVR)4.6 KB
Nadruk na obudowę64.22 KB



Portret użytkownika mirley

Re: Termometr

Tak zmienne T_max i T_min to temperatury. Po przekroczeniu T_max włącza się buzzer i działa do momentu opadnięcia poniżej T_min. Jeśli zostanie klikniety przycisk to alarm zostanie wyłączony aż do ponownego kliknięcia. Gdy temperatura opadnie poniżej T_min to alarm zostanie ponownie włączony automatycznie

-

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

Prośba o płytkę

Witam
Mam do Ciebie prośbę czy mógłbyś jeszcze raz wyeksportować do PDF płytkę tego termometru . Zrobiłem sobie i okazało się że jej wymiary są mniejsze i układ nie pasuje .Przy wydruku jako 100 procent jest źle , a nie jestem w stanie zrobić powiększenia o 10% tylko kolejne po 100 to 125%.
Eksport do Worda psuje dokładność .

Pozdrawiam
Robert

Portret użytkownika mirley

Re: Płytka

Zrobiłem nowe pdf'y zpłytkami i wydrukowałem, są w dobrej skali. Prosze drukować z Adobe Reader z opcją "Skalowanie Strony=Brak" i wszystko będzie ok :)

-

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

Czy jest taka możliwość,

Czy jest taka możliwość, żeby przerobić kod aby termometr wyświetlał temperaturę pow. 100C z dokładnością 1C?

Portret użytkownika mirley

Re: Termometr 100C

Da sie bez problemu tak program zmodyfikować, jednak mogę się tym zająć najwcześniej w piatek :) (no chyba że okaże się że to bardzo mało roboty a ja znajdę trochę czasu to wtedy może byc wczesniej) Dam znać i umieszcze odpowiedni kod w załączniku jak zrobię

-

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

Było by świetnie. ps.

Było by świetnie.

ps. Świetna stronka:) pozdrawiam

Portret użytkownika mirley

Re: Termometr 100C zrobiony

Ulepszyłem trochę kod źródłowy i teraz powinien działać dla temperatur powyżej 100 stopni. Powinna zniknąć wtedy kropka i zmienić sie dokładność wyświetlania do jednego stopnia C. Proszę sprawdzić czy idzie bo nie mam czasu podłączać płytki testowej. Kod źródłowy dostępny jest w załącznikach

-

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

Portret użytkownika Robert Bar

ZAPYTANIE O PRZYCZYNE

Witam

Proszę o podpowiedz co jest przyczyną iż termometr oszukuje o ok. 2,5 % przy temperaturze 20.5 *C
Zostało to sprawdzone w porównaniu do innych termometrów.

Pozdrawiam

Robert

Portret użytkownika mirley

Re: 2,5% niedokładności

Ds18B20 (1820) może miec nawet 0.5 stopnia różnicy między dwoma czujnikami w tej samej temperaturze. Proszę zajrzeć do karty katalogowej jest tam zawarty algorytm kalibracyjny w oparciu o specjalne rejestry układu DS18(B)20

-

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

zaprogramowałem układ

zaprogramowałem układ pierwszą wersją programu termometr nie działa poprawnie. zamiast temperatury świecą wszystkie segmenty wyświetlacza. tylko niektóre świecą mocniej i gdy dotknie się termometru widać, że coś się zmienia ale nie wiadomo co. zamiast kwarcu leżącego dałem stojący, a zamiast rezystora podciągającego 4,7k, połączyłem szeregowo 3,6k i 1,2k w sumie wyszło dokładnie 4,7k Termometr podłączyłem do zasilacza komputerowego, czy to może być przyczyną?

Programuje Programatorem progar i programem Progat XP. Podczas uruchamiania programu wyświetla się komunikat "Failed to get data for 'cor'" ale jak klikne ok to program się włącza, rozpoznaje procesor i programuję się.
Pomocy

Portret użytkownika gosc

ciąg dalszy

a bez czujnika pokazuje świecą zera, pierwsza i ostatnia kropka

Portret użytkownika mirley

Re: Termometr

Niestety nie programowałem nigdy takim programatorem i nie znam też programu o którym wspomniałeś. Niestety nie mogę pomóc nic więcej w sprawie tego programatora.

Rezonator kwarcowy może być dowolny byle by był 12MHz i najlepiej nie pochodził z odzysku bo często są z takimi problemy. Połączenie rezystorów jest jak najbardziej poprawne i nie powinno stanowić problemu. Zasilacz komputerowy jest dobrym źródłem napięcia, sam testowałem podobny układ przy komputerze i nie było problemów.

Bez czujnika na wyświetlaczu powinno być Err a nie zera. Mikrokontroler napewno się nie zaprogramował poprawnie lub coś z wyświetlaczem jest nie tak. Sprawdzałeś czy wszystkie segmenty świecą, zwierając w podstawce (po wyjęciu procesora) odpowiednie piny?

-

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

Wszystkie segmenty świecą

Wszystkie segmenty świecą poprawnie, spróbuje jeszcze z innym mikroprocesorem

Portret użytkownika gosc

Potrafiłby przerobić kod

Potrafiłby przerobić kod pod attiny2313?

Portret użytkownika mirley

Re: Termometr na ATTINY2313

Przeróbka na attiny nie jest skomplikowana ale nie dam rady teraz (sesja się zbliża, a termin oddania inżynierki tuż tuż). Umieszczę odpowiedni plik na stronie jak znajdę trochę czasu.

-

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 Dominik

Zmiana procesora

Witam,

żeby przerobić program na uP attiny 2313 lub atmega8 wystarczy w kodzie pozmieniać nazwy portów (pinów)?
Czy dobrze myślę?

Pozdrawiam
Dominik

Portret użytkownika mirley

Re: Zmiana Procesora

Przede wszystkim inna jest konfiguracja timera a także nalezy dodac konfigurację wyprowadzeń. Pozamieniać odpowiednio nazwy pinow i zadbać o to aby wszystkie procedury były wykonywane z taką samą częstotliwością jak w programie dla 2051

-

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

Problem z niedziałającym

Problem z niedziałającym termometrem rozwiązany (świeciły wszystkie segmenty).

Przyczyną problemu były tranzystory, po wymianie wszystko działa jak należy.

Dzięki za pomoc, świetny projekt:)

Portret użytkownika M

A może dwa DS-y

Witam
Czy możesz zrobić termometr na tych czujnikach, tak by mierzył dwie temperatury (w dwóch miejscach)?
Pozdrawiam

Portret użytkownika mirley

Re: Dwa czujniki

Można ale trzeba bardzo dobrze kod przemysleć bo takie proste nadawanie numeru seryjnego i wyłącznie przerwań powoduje że wyświetlacz sobie mruga jak choinka :)

-

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 bubzon

Pod Atmege 8

Czy można ten termometr przerobić pod Atmege 8?

Chodzi mi konkretnie o ten, bo wszystkie inne projekty które znalazłem są na wyświetlaczach lcd, a ja posiadam ledowy.

Jestem w tym zupełnie zielony, a projekt zrobić i tak trzeba :/

Portret użytkownika Krzysztof

termostat - wsad?

Witam, mam pytanie który wsad realizuje funkcje termostatu, wgrałem soft termometru uniwersalnego ale przyciski nie reagują ? pozdrawiam Krzysztof.
P.S super projekty i strona.

Portret użytkownika mirley

Re Termometr na M8

Dało by się przerobić program na ATmega 8 ale nie dam rady teraz tego zrealizować (dopiero po 6 lutym). Planuje wykonać termoregulator uniwersalny, umozliwiający pomiar w wielu miejscach z wyświetlaczem LED bo już wiele osob pyta o termometr na jakimś mikrokontrolerze AVR

-

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 mirley

Re: Termostat

Umieściłem właśnie kod źrodłowy do termostatu ktory kiedyś pisałem. Nie jest on jednak sprawdzony narazie więc nie wiem czy dobrze 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 bubzon

ok

ok

Portret użytkownika mirley

Re: Schemat Termostatu

Poprzedni wpis niestety skasował się przy aktualizacji. Schemat jest taki sam jak termometr, dokładnie proszę sprawdzić w kodzie źrodłowym

-

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

Zmiana procesora

Dopisuję się do prośby o przeróbkę oprogramowania termostatu na ATmegę i życzę powodzenia na sesji.

Portret użytkownika Robert Bar

Termostat

Witam

Testowałem kod tego termostatu i wygląda na to że jest wszystko w porządku.
Dla pewności proszę o potwierdzenie sposobu ustawiania .
Testowałem ustawiając górny próg załączenia i przy obniżeniu się temperatury o wartość ustawioną parametrem drugim w stosunku do górnej granicy termostat się wyłączał.

Mam jeszcze pytanie ,czym spowodowane są migotania wyświetlaczy w Twoich układach.
Pozdrawiam
Robert

Portret użytkownika mirley

Re: Termostat

Migotanie wyświetlaczy jest spowodowane wyłączeniem przerwań na czas transmisji 1-Wire. Dla jednego czyjnika powinno być niezauważalne, dopiero bo głębszym wpatrywaniu cos można dostrzec. Mam już pewien pomysł jak to napisać aby więcej czujnikow działało bez migotania ale to powstanie dopiero w kolejnym projekcie

-

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 witam Temat dotyczy


Witam

witam
Temat dotyczy poprzednich wątków.
Chciałbym jeszcze zrobić jedną zmianę a mianowicie dołożyć do tego jeszcze jedną obcje
Temperatura z 40 *C spadła DO 35*C załącza się buzer - temp. rośnie 36*C alarm się wyłancza. Możliwość wyłączenia alarmów tym samym przyciskiem.
Wartości przypisane na stałe tak jak przy poprzednich zmianach.
Bardzo mi na tym zależy . Ten dolny poziom temperatur ma mi zabezpieczyć piec przed zalaniem olejem przy wygasaniu ,natomiast górne wartości z zmian wcześniejszych zabezpieczają przed przegrzaniem.

Pozdrawiam
Robert

'****************************
'Wartosci Poczatkowe
'****************************
Reset Pomiar_odczyt
Reset Ur
Wysw1 = 191
Wysw10 = 191
Wysw100 = 191
Alarm = 1
Sygnal = 0

T_max = 400 ' 40 stopni
T_min = 390 ' 39 stopni

to zostaje bez zmian

Portret użytkownika mirley

Re: Termometr

Troszkę nad tym pomyślę bo nie wygląda to skomplikowanie (kilka ifow). Odezwę się jak znajdę czas na przeróbkę programu. Ma to być dodatek do tego co było już wcześniej przerabiane?

-

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

Wyświetla wam poprawnie

Wyświetla wam poprawnie temperatury ujemne?

Portret użytkownika mirley

Re: Termometr

Termometr wyświetla poprawnie ujemne temperatury. Znak minus nie jest wyswietlany na wyświetlaczu a na dodatkowej diodzie, której podłączenie opisane jest w artykule

-

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 Prośba

Mam prośbe czy mógłby ktoś przerobić kod pod ATTINY2313.
Z góry dziękuje
Pozdrawiam

Portret użytkownika mirley

Re: Termometr ATTiny2313

Przerobiłem kod pod ATTiny2313 i dopisałem kilka zdań do opisu termometru. W dziale "Budowa" napisane jest co trzeba zmienić w układzie aby działało z ATTiny

-

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

Dzięki za szybka pomoc

Dzięki za szybka pomoc

Portret użytkownika Makavelli

Witam

Móje pytanie jest następujące:
Ile prądu pobiera ten układ (termometr)?
Pozdrawiam

Portret użytkownika mirley

Re: Pobór Prądu

To jest trudne pytanie, bo nie zmierzyłem :). Na oko będzie to z 50-100mA ale mogę się mylić. Jeśli zamierzasz podłączyć na baterii to nie jest to dobry pomysł :)

-

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 Makavelli

a można wiedzieć czemu to zły

a można wiedzieć czemu to zły pomysł bo nie jestem obeznany w tych sprawach. Myślałem zeby baterie 3V(ta płaska co w kompach jest) i przetwornice na 5V (widziałęm schemat i jeżeli w smd by sie zrobiło to bardzo mało miejsca by zajeło)
Bardzo prosze o rady

Portret użytkownika mirley

Re: Termometr

1. Jest to zły pomysł bo bateria będzie zaraz wyładowana. Pojemność takiej baterii to ok 200-300mAh co przy prądzie 50mA daje ok 6 godzin pracy w najlepszym wypadku (w praktyce pewnie mniej)

2. Przetwornica dodatkowo zwiększy pobór prądu i uważam że to bez sensu. Układ z procesorem AT89C2051 może działać z powodzeniem na 3V, a jeśli by były problemy to zawsze można dać dwie baterie po 3V i diodę prostowniczą w szereg, która zrobi ok. 5,4V

3. Układ miałby rację bytu na baterii jeśli byłby uruchamiany tylko na chwilę i po odczycie temperatury wyłączany

-

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 Makavelli

ok miałęm właśnie na myśli

ok miałęm właśnie na myśli uruchamianie układu tylko podczas odczytu temperatury.
A ATtiny2313 tez by mógł działać na mniejszym niż 5V działać np. na 3V?

Portret użytkownika mirley

Re: ATTiny

ATTiny2313 może działać na niższym napięciu ale bedzie to wymagała w ostateczności zmianę procesora na wersję z dodatkowym oznaczeniem "V".

Narazie nie zawracaj sobie tym głowy tylko zrób układ i zaprogramuj zasilając 5V, np z USB. Jak już będzie działało to pomyslimy o przystosowaniu układu do pracy przy 3V.

Ps. Zaopatrz się w kwarc 4MHz bo może się przydać

-

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 LukE

Schemat

Mam proste pytanko, w jakim programie są rysowane te schematy projektów?

Portret użytkownika mirley

Re: Płytki i Schematy

Za pomocą programu protel 99 SE. Mozna pobrać triala z elektrody http://elektroda.net/download/pafiledb.php?action=file&id=962. To jest stary program i nie da się go już kupić niestety.

-

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 Krzysztof

Wyświetlacz wspólna katoda?

Witam, mam pytanie czy jest możliwa edycja wsadu umożliwiająca obsługę wyświetlacza LED z wspólną katodą ? pozdrawiam Krzysztof.

Portret użytkownika mirley

Re: Termometr

Można bez problemu tak edytować program aby działał z wyświetlaczem ze wspólną katodą, jednak wtedy należy zastosować ATTiny2313 zamiast AT89C2051. 2051 nie posiada stopni wyjściowych na dwóch tranzystorach, przez co stan niski jest silnie zwierany do masy a wysoki to tylko podciąganie do +5V za pomocą wewnętrznego rezystora. Ponieważ wyswietlacz będzie w takim wypadku sterowany wysokim stanem na poszczególne anody, a katody będą zwierane za pomocą tranzystorów npn do masy, może nie wystarczyć prądu z pinu do zapalenia wyświetlacza.

ATTiny2313 posiada dwa "mocne" stany logiczne na wyjściu każdego pinu.

-

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 Krzysztof

Witam, dzięki za sugestie ale

Witam, dzięki za sugestie ale moja znajomość bascoma jest jeszcze znikoma, próbowałem zmusić układ do współpracy z wyświetlaczem wspólna katoda za pośrednictwem inwertera, ale efekt był marny ponieważ pojawiające się napięcia na różnych poziomach powodują zmiany jasności świecenia. W związku z powyższym będę ogromnie wdzięczny za wskazanie koniecznych zmian w kodzie dla 2313 i WK, pozdrawiam Krzysztof.

Portret użytkownika mirley

Re: Termometr

Dla wyświetlacza ze wspólną katodą w najprostszym przypadku wystarczy zmienić procedurę wyświetlania na następującą:

Wyswietl:
 
  Incr Mux
  If Mux = 3 Then Mux = 0
 
  Portd.6 = Not Minus
 
  Select Case Mux
    Case 0:
     Reset Portd.0
      Portb = not Wysw100
     Set Portd.2
 
    Case 1:
     Reset Portd.2
      Portb = not Wysw10
     Set Portd.1
 
    Case 2:
     Reset Portd.1
     Portb = not Wysw1
     Set Portd.0
  End Select
Return

Wyświetlacz anodami należy podłączyć w miejsce katod wyświetlacza, który aktualnie jest na schemacie. Do sterowania katod należy wykorzystać 3 tranzystory NPN podłączone do tych samych pinów procesora co teraz są PNP podłączone (przez rezystory 3k3 lub 1k). Emitery tych tranzystorów pójdą do GND a kolektory do katod wyświetlaczy.

-

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 white88

Funkcja termostatu

Witam, czy mógł byś mirley wytłumaczyć konfiguracje i jak ustawia się tzn.jak działa funkcja termostatu?Jak ustawiać temperature itp.Bo mam zamiar to wykonać teraz i chce sie dowiedzieć kilku spraw.Gdzie w ogóle jest wyjście na element wykonawczy rozumiem że na schemacie nie ma.Proszę ogólnie o wytłumaczenie tej funkcji w tym projekcie.Tak żeby to działało na Attiny.Dzięki z góry za odp.

Portret użytkownika mirley

Re: Termostat

Wszystkie ustawienia dokonuje się za pomocą przycisków. Nacisnięcie obu wchodzi do menu ustawień temperatury, kolejne naciśnięcie obu naraz ustawia histerezę. Wadą jest brak sygnalizacji w którym miejscu menu jest program. Element wykonawczy podłącza się do portu P3.7, dla mikrokontrolera 2051. Pod attiny2313 termostat narazie nie pójdzie, bo musiałbym program przerobić na mikrokontroler AVR. W wolnej chwili to zrobię ale nie wiem czy w tym tygodniu.

-

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.