Elektroda.pl
Elektroda.pl
X
Relpol przekaźniki
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Rejestrator temperatury z SD - V2

Sh44dow 14 Maj 2010 00:02 10944 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, zapis\odczyt 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 daty\godziny) 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

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    Sh44dow
    Poziom 16  
    Offline 
    Sh44dow napisał 238 postów o ocenie 956, pomógł 3 razy. Mieszka w mieście Wieliczka. Jest z nami od 2007 roku.
  • Relpol przekaźniki
  • #2
    Urgon
    Poziom 36  
    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?
  • Relpol przekaźniki
  • #3
    netsecurite.pl
    Poziom 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
    Poziom 16  
    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
    Poziom 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
    Poziom 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
    Poziom 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__
    Poziom 31  
    farrix napisał:
    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
    Poziom 16  
    Urgon napisał:
    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 napisał:
    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 napisał:
    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 napisał:
    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 napisał:
    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 napisał:
    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
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #12
    pwlu10
    Poziom 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
    Moderator na urlopie...
    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
    Poziom 16  
    loki554 napisał:
    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
    Użytkownik usunął konto
    Użytkownik usunął konto  
  • #16
    ElektroTME
    Poziom 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
    Poziom 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
    Poziom 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
    Poziom 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