Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Rejestrator temperatury z SD - V2

Sh44dow 14 May 2010 00:02 11070 18
  • Rejestrator temperatury z SD - V2

    Witam!

    Oto nowa wersja rejestratora temperatury. Tym razem jest to dedykowana płytka dwustronna wykonana metodą termotransferu zamiast uniwersalnej. Układ został wzbogacony o wyświetlacz alfanumeryczny, klawiaturę oraz brzęczyk.

    Klawiatura posiada 6 przycisków połączonych w matrycę – “strzałki”, “OK” (lewy-dolny) oraz “Powrót” (prawy-dolny). Po przetrzymaniu przycisku OK w czasie startu rejestratora (reset) włącza się tryb konfiguracji w którym można ustawić aktualny czas (w przyszłości będzie tam więcej opcji). Wyświetlacz, to 16-znakowy moduł na sterowniku zgodnym z HD44780 kupiony za jedyne 5,5zł w sklepie Lispol . Wyświetlana jest na nim aktualna godzina oraz temperatura naprzemiennie z datą. W przeciwieństwie do pierwszej wersji, na płytce znajdują się trzy diody sygnalizacyjne (zasilanie, status – mruga co 5 sekund, zapisodczyt z SD(SPI)RTC(I2C)Termometra(1Wire)) oraz brzęczyk, który wydaje dźwięki podczas wciskania przycisków przy konfiguracji oraz sygnały kontrolne przy starcie. Dodatkowo na płytce znajduje się wyprowadzenie UART(TTL) przydatne przy debugowaniu.

    Program nie jest jeszcze w pełni ukończony – co prawda działa dobrze, ale wymaga trochę zmian w celu optymalizacji (był pisany “na szybko” – co widać np. przy budowie sekcji konfiguracji – ustawienia datygodziny) oraz dodania kilku nowych funkcji. Rejestrator działa od początku lutego i jak na razie sprawuje się bardzo dobrze.

    Źródła oraz skompilowane programy (firmware, przeglądarka logów), wyniki pomiarów jak i schemat (+wzór PCB) dostępne na mojej stronie: http://silent.it.cx/home/ (Dokładny link: http://silent.it.cx/home/2010/05/13/rejestrator-temperatury-v2/ folder projektu (pliki): http://silent.it.cx/files/public/templogger2/ ) oraz poniżej.
    Przeglądarka online: http://silent.it.cx/templogger/


    Koszt budowy:
    - ATMega32 - 12zł
    - DS1307 - 4,5zł
    - DS18B20 - 4zł
    - LCD - 5,5zł
    - Bateria 3V + gniazdo - 1zł + 1zł
    - gniazdo SD - 5zł
    - LF33CV - 2,5zł
    + drobne elementu, w sumie około 40zł

    Zapraszam do zadawania pytań oraz do odwiedzenia mojej strony.

    Rejestrator temperatury z SD - V2 Rejestrator temperatury z SD - V2 Rejestrator temperatury z SD - V2 Rejestrator temperatury z SD - V2


    Link

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    Sh44dow
    Level 16  
    Offline 
    Sh44dow wrote 235 posts with rating 958, helped 3 times. Live in city Wieliczka. Been with us since 2007 year.
  • #2
    Urgon
    Level 37  
    AVE...

    Bardzo fajna konstrukcja. Dodaj obudowę, choćby z pleksy i będzie gites...

    Jak często dokonujesz logowania pomiarów? Można ten parametr zmieniać? Myślisz o dodaniu większej liczby czujników temperatury? Może drugi moduł z przekaźnikami sterowany przez RS232 w połączeniu z tym w celu zrobienia termostatu?
  • #3
    netsecurite.pl
    Level 13  
    Pomysł na projekt naprawde fajny ,od siebie tylko bym ten LCD zmienił na graficzny ,była by wtedy możliwość generowania prostych wykresów wyników zapisanych na karcie i ich interpretacja ;)
  • #4
    Thunderacer
    Level 17  
    Cześć
    Na drugim zdjęciu widać ścięzki zabezpieczone taśmą przed dotknięciem, najprawdopdoobniej rezystorów, choć nie wiem po co, ale pod kondensatorem w aluminiowej obudowie kilka ścieżek nie zabezpieczyłeś.
    pzdr
  • #5
    seba_x
    Level 31  
    A ja trochę z innej beczki : czy czujnik temperatury masz umieszczony tak że w okolicach godziny 15 pada na niego słońce ? Pytam bo na kilku wykresach właśnie o tej godzinie masz najwyższe temperatury .
  • #6
    Karol966
    Level 30  
    Nie pokryłeś ścieżek ochronną warstwą przeciw utlenianiu się miedzi - wkrótce miedź nabierze brzydkiego koloru ;)
    Mam pytanie co do DS1307. Czym się on różni od PCF8583? Jak wygląda dokładność odmierzania czasu. Też trzeba się męczyć z dobraniem odpowiedniego kondensatora?
  • #7
    farrix
    Level 17  
    Ja powiem to samo co netsecurite.pl

    Graphlcd kosztuje 35zł a efekty daje kupe lepsze, albo pcf8833(od nokii 6100) na allegro za 15zł idą.
  • #8
    Duch__
    Level 31  
    farrix wrote:
    Ja powiem to samo co netsecurite.pl

    Graphlcd kosztuje 35zł a efekty daje kupe lepsze, albo pcf8833(od nokii 6100) na allegro za 15zł idą.


    Zamiast PCF8833 ja bym proponował jednak LS020 od Simensa S65.
  • #9
    Sh44dow
    Level 16  
    Urgon wrote:
    Jak często dokonujesz logowania pomiarów? Można ten parametr zmieniać? Myślisz o dodaniu większej liczby czujników temperatury? Może drugi moduł z przekaźnikami sterowany przez RS232 w połączeniu z tym w celu zrobienia termostatu?
    Pomiar i wyświetlenie na LCD następuje co ~5 sekund, natomiast zapis na kartę co 5 minut.
    netsecurite.pl wrote:
    Pomysł na projekt naprawde fajny ,od siebie tylko bym ten LCD zmienił na graficzny ,była by wtedy możliwość generowania prostych wykresów wyników zapisanych na karcie i ich interpretacja ;)
    farrix wrote:
    Graphlcd kosztuje 35zł a efekty daje kupe lepsze, albo pcf8833(od nokii 6100) na allegro za 15zł idą.
    Na pewno zastanowię się nad graficznym. Duży wyświetlacz od S65 wydaje się interesujący.
    Thunderacer wrote:
    Na drugim zdjęciu widać ścięzki zabezpieczone taśmą przed dotknięciem, najprawdopdoobniej rezystorów, choć nie wiem po co, ale pod kondensatorem w aluminiowej obudowie kilka ścieżek nie zabezpieczyłeś.
    Właściwie nie jest to potrzebne, ale koło oprników mam układ w TO-220, pod którym idą ścieżki oraz dość miękki drucik w miejscu opornika opcjonalnego (miałem go tam wsadzić żeby nie spalić karty przy włączonym programatorze, ale obyło się bez niego). Na kondensatorze jest folia, więc nie powinno być problemu.
    seba_x wrote:
    A ja trochę z innej beczki : czy czujnik temperatury masz umieszczony tak że w okolicach godziny 15 pada na niego słońce ? Pytam bo na kilku wykresach właśnie o tej godzinie masz najwyższe temperatury .
    Dokładnie tak.
    Karol966 wrote:
    Nie pokryłeś ścieżek ochronną warstwą przeciw utlenianiu się miedzi - wkrótce miedź nabierze brzydkiego koloru ;)
    Mam pytanie co do DS1307. Czym się on różni od PCF8583? Jak wygląda dokładność odmierzania czasu. Też trzeba się męczyć z dobraniem odpowiedniego kondensatora?
    To z lenistwa ;-).
    Nie bawiłem się jeszcze PCF8583, natomiast z DS1307 nie miałem problemów i wybrałem go ze względu na dodatkowy pin Vbat do podtrzymania bateryjnego. Do zegara dołączyłem jedynie kwarc wyjęty z jakiejś starej myszki komputerowej. Złożyłem ten układ gdzieś na początku kwietnia i od tamtej pory rozjechał się ~2 minuty.

    Poprawiłem link do kodu źródłowego przeglądarki - jeśli ktoś nie mógł go rano pobrać ze strony, teraz juz działa.
  • #10
    User removed account
    User removed account  
  • #12
    pwlu10
    Level 11  
    Ogólnie projekt ciekawy bo zastosowałeś kartę SD(z której ja nie miałem jeszcze okazji korzystać). Ale mam drobną sugestię co do wyświetlacza, bo na tym jedno liniowym trochę mało się mieści a na przykładowo 2*16 można byłoby odczyty wyświetlać w takim formacie:
    -------------------------------------------
    |DATA..............................GODZINA|
    |ZAREJESTROWANA TEMPERATURA|
    -------------------------------------------
    Według mnie byłoby tak o wiele lepiej, za marne kilka złotych więcej.
  • #13
    piotrva
    VIP Meritorious for electroda.pl
    Mictronic, uważasz, że jeśli kartę SD (która wg. not katalogowych) działa na 3,3V podłącze pod 5V to się nie uszkodzi ani uP ani Karta?
    Mówisz o samej logice karty (linie danych) czy całym jej zasilaniu?
  • #14
    Sh44dow
    Level 16  
    loki554 wrote:
    a jak wykonałeś to menu ?


    Kilka pętli zagnieżdżonych w sobie. Wejście do podmenu to wejścia do pętli, natomiast powrót to wyjście z pętli.
  • #15
    User removed account
    User removed account  
  • #16
    ElektroTME
    Level 14  
    Witam, jakiś czas temu skonstruowałem dokładnie takie samo urządzenie ;)
    lecz na gotowym starterkicie i tak jak mówił pwlu10 miałem wyś. 2x16, wyświetlana była data, godzina, ikonka wskazująca obecność karty w slocie, wyświetlana temperatura, odświeżana co ok 1s. Zapis był do pliku txt na karcie, nazwa pliku była datą, w pliku 1 linia to dana godzina, a po niej temperatura w postaci liczby.
    Zapis pomiaru podobnie co 5 min.

    "Projekt" ze względu na skonstruowanie go ze starterkitu, nie doczekał się przeniesienia na płytkę, a także nie widziałem w nim zastosowania w moim domu, ani nie miałem duchowej potrzeby badania zmian temperatury w przeciągu doby ;p

    Może teraz troszkę o projekcie kolegi Sh44dow
    To co pierwsze rzuciło mi się w oczy to ładnie wykonana płytka(trawienie) z nieestetycznymi lutami, może się czepiam, ale jeżeli projekt działa i zadowala autora to tylko się cieszyć. Widzę także że kolega lubi programować, obsługa karty SD i systemu plików Fat32 to coś dla bardziej wtajemniczonych :)
    Jeszcze Tylko obudowa i będzie git :P

    Jeśli chodzi o oprogramowanie, kolega pisał w C?
    Ja piszę w bascomie, i jeżeli (bo z tym się potem ludzie męczą) ktoś chce uruchomić AVR-dos na mniejszym procku(Atmega 16, 8) to od razu uprzedzam ze nie pójdzie, brakuje SRAM'u ;p

    Życzę więcej tak interesujących projektów
    Pozdrawiam
    ElektroTME
  • #17
    Sh44dow
    Level 16  
    U mnie również nie ma ważniejszego zastosowania - powstał dla rozrywki. Jak nazbieram więcej danych to może napiszę jakiś skrypt obliczający wartości średnie jako ciekawostkę.

    To jest moja pierwsza płytka dwustronna i faktycznie, wyszła nienajgorzej - warstwy się rozjechały minimalnie. Ze względu na moją mizerną umiejętność posługiwania się lutownicą, luty nie wyglądają najlepiej, dlatego też nie pochwaliłem się drugą stroną płytki :D .

    Próbowałem coś pisać w Bascomie ze względu na znajomość (object) Pascala, ale to jednak nie to - dużo wygodniej mi sie piszę w C, który daje większa elastyczność.
    Co do karty, to początkowo planowałem zapisywać dane w najprostszy sposób sektorami, napisać sobie aplikację na PC do odczytu i ściągać je przez RS232, ale znalazłem gotową bibliotekę (szczegóły w poprzednim temacie) do obsługi systemu plików (napisanie tego samemu by mi zajęło trochę czasu :) ), co znacznie ułatwiło sprawę, gdyż wystarczy tylko przełożyć kartę - zmieniłem nieco jedną funkcję i działa bardzo dobrze.
  • #18
    syl242
    Level 9  
    mogę prosić o podanie wartości dla rezystorów i kondensatorów które są obecne na schemacie w eaglu a ich wartości nie podano, albo napisz jakie wartości tam przyjąć mniej więcej bo kupuję elementy aby złożyć Twój układ
  • #19
    Sh44dow
    Level 16  
    http://silent.it.cx/images/sch.jpg

    C1=2,2uF (nie musi być dokładnie tyle)
    C2=100n (j/w)
    C5=10uF (4,7-10uF)

    C3, C4=27p (27-31p)

    Q1 - do 16MHz (jeśli inny niż 8Mhz, trzeba skompilować program jeszcze raz z odpowiednią wartością)
    Q2 = 32kHz

    R16=1k (do sterowania podświetleniem; u mnie go nie ma bo mam LCD bez B\L, w programie też nie ma obsługi podświetlenia)

    R11, R12 - u mnie odpowiednio 10k i 1k, ale nie każdy wyświetlacz ma taki sam kontrast więc najlepiej dobrać eksperymentalnie