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.

Termometr z pamiecia i komunikacja PC

mrozio85 17 Dec 2007 12:50 4307 34
  • #1
    mrozio85
    Level 11  
    Witam. Mam za zadanie zrealizowanie termometru cyfrowego.
    Dokladna zasada dzialania:
    -pomiar temperatury co 5min
    -zczytany pomiar zapisany do pamieci
    -maly pobor mocy (nieprzerwana praca okolo 6 miesiecy na jednym akumulatorze 3V)
    -mozliwosc zczytania z pamieci wszystkich pomiarow za pomoca PC
    -nie jest wymagany wyswietlacz


    Ma ktos moze jakies pomysly?:D
    Wszystkim z gory dzieki za checi:D
  • #2
    Ch.M.
    Level 27  
    Witaj
    To jest ponad 50tyś. zapisów, przyjmując dla ułatwienia, ze 8bitów rozdzielczości Ci nie wystarcza, otrzymujemy wymagania rzędu 128kbajtów pojemności. Można próbować zapisu na wbudowanycm flashu, ale tyle to ma dopiero M128, która jest dosyć spora...
    Lepszym rozwiązaniem jest mniejszy kontroler zapisujący poprzez SPI czy I2C dane w zewnętrznej pamięci flash. Podobne wątki już były, poczytaj sobie o problemach wynikłych w trakcie projektowania. Opcja szukaj nie gryzie :)
    Pozdrawiam
  • #3
    mrozio85
    Level 11  
    No przeszukalem spora czesc forum i takiego projektu nigdzie nie widze...
    Sa projekty z zapisem Tmax i Tmin ale nie ma zapisu do jakiejs pamieci wewnetrznej badz zewnetrznej...
    Nie ma tez jak komunikowac sie z komputerem zeby wyslac dane z pamieci takiego termometru...

    Wiec prosze o podjecie tematu...
    Moze przyda sie nie tylko mi:D
  • #5
    mrozio85
    Level 11  
    No tak tu jest duzo wiadomosci ktore mowia o zmniejszeniu poboru mocy itp.
    A mi chodzilo mi bardziej o jakies rozwiazania techniczne. Jakies schematy. Jesli bedzie zapis na karte pamieci to nie potrzebuje juz innej komunikacju z PC. Zakres temperatur to od -50C do 50C ze skokiem co 0,5C. Zapis na karcie pamieci. Wymiary sie az tak bardzo nie licza. A czas dzialania?? Hmmm pol roku w zupelnosci starcza.
  • #6
    Ch.M.
    Level 27  
    Ale jakie schematy Ci sa potrzebne? Podłączenia napędu kart SD/MMC czy podłączenia czujnika temperatury? Myślę, że obydwa znajdziesz bez problemu i właśnie dlatego każdy poszczący nie umieszcza schematów, które są powszechnie znane i dostępne.
    Podałeś już wystarczająco dużo danych i na pewno da się z tego coś sklecić.
    Zapis co 5min 1bajt na temperature i np.7bajtów na datę (mi się podoba pomysł ze zliczaniem sekund od daty 1.1.2008 ale dla komputera to chyba można wysłać już przerobioną datę w formacie H:M:S D/M/R) Zapis z roku zajmie Ci niecały 1Mbajt
  • #7
    mrozio85
    Level 11  
    Wie Pan najbardziej cieszyl bym sie z gotowego rozwiazania ale takowego tu pewnie nie otrzymam. Chodzi mi o schemat polaczenia termometru z czytnikiem kart oraz jakiegos kodu ktory uwzglednia zapis na jakiejs karcie np. MMC. Wiem ze juz duzo pomocy otrzymalem za ktora dziekuje ale jak widac Pan jest duzo bardziej zorietowany na tym forum. Ja szukalem slowa kluczowego "termometr" a okazalo sie ze temat zostal nazwany jak ograniczyc pobor mocy. Niestety ale nie jestem w stanie przejrzec calego forum post po poscie gdyz mam ograniczony dostep do internetu. Wiec prosze Was o pomoc...

    pozdrawiam i dziekuje
  • #8
    Ch.M.
    Level 27  
    Tak jak już pisałem na email, możesz sobie darować obsługę MMC, jeśli wystarczy Ci zapis tylko odczytów bez znaczników czasowych z dokładnością stałej czasowej rzędu 20% (bo przy takich różnicach temperatur mierzonych, na pewno temperatura samego procka też będzie mocno się wahać). Sprawa mocno się uprości, a wystarczy procek z 64kbajtami pamięci flash. Idąc dalej tym tropem, zostaje tylko znalezienie odpowiedniego czujnika o takiej rozpietości temperatur i małym poborze prądu.
    Pobór prądu całego układu nie powinien przekraczać 30uA w czuwaniu, bo sumując pobór prądu podczas czuwania i pracy powinieneś zmieścić się w 220mAh. być może wystarczy nawet DS1820. Dodam jeszcze, że M128L z włączonym watchdogiem w trybie power down pobiera kilkanaście uA i można wybudzać procka co 2s przerwaniem od watchdoga i inkrementować rejestr puki nie osiągnie on zadanej wartości. Wtedy wykonujemy pomiar temperatury (niestety trwający 0,75s w przypadku DS... co zmusza nas do kolejnego uśpienia i wybudzenia procka) i zapis do EEpromu lub flash
  • #9
    PiotrPitucha
    Level 33  
    Cześć
    Jeśli chcesz prawie gotowca to zerknij do firmy JM, mają fajne moduły na Atemgach serii P, z prezentowanych kiedyś na szkoleniu pomiarów wynikało że płytka z zabudowanym transmiterem na 433MHz może pracować na baterii CR2032 kilka lat, goście mają doświadczenie w minimalizacji poboru mocy z udokumentowanymi pomiarami dla wyłączenia poszczególnych funkcji procesora.
    Piotr
  • #10
    mrozio85
    Level 11  
    Przedstawiłem pomysł prowadzącemu...
    Niestety nie podobał sie...
    Chciał jeszcze mniejszy pobór prądu....
    mówił coś o jakiś nowych procesorach które idealnie pasują do tego... Niestety nie pamiętam dokładnie o jakim mówił...
    Jakieś jeszcze pomysły macie?
  • #12
    mrozio85
    Level 11  
    Mojego prowadzacego nikt chyba nie jest w stanie zrozumiec.
    Stwierdzil ze to nie ma prawa dzialac i wywalil nas za drzwi...
    Wiec moze jakis inny pomysl?
  • #14
    Fyszo
    Level 37  
    Czasu nie trzeba zapisywać, wystarczy zależność że liczymy od teraz i zawsze co 5 min. Kolejne próbki z definicji będą n*5min. Wystarczy ciągiem zapisywać próbki w pamięci. 64kB starczy na ponad 220 dni. Co nam oszczędza również zasilanie (pobór prądu przez pamięć zależy od jej rozmiaru).

    Ja rozumiem prowadzącego. On chce żebyście zastosowali nie super oszczędny sprzęt (który można kupić), ale użyli superoszczędnych rozwiązań i się ich nauczyli używać. Czyli to nie dyskusja jaki MPU ma niski pobór tylko jak obniżyć ogólnie pobór w dowolnym MPU.
  • #15
    Ch.M.
    Level 27  
    Chyba Twój promotor miał okres...
    A co to za róznica czy ATtiny ciągnie w stanie aktywnym 0,5mA/MIPS czy msp430 2x mniej?
    Najniższe stany uśpienia to też raptem 3x krotna różnica, która jest na poziomie samowyładowywania ogniw...
    Przez 99,9% czasu procek śpi, a zysk z zastosowania najoszczędniejszego procka zamiast dowolnego tiny jest kilku-kilkunasto procentowy.
  • #16
    asembler
    Level 32  
    Jakie róznice temperatur mogą zaistnieć pomiedzy śąsiednimi pomiarami.
  • #17
    Fyszo
    Level 37  
    asembler wrote:
    Jakie róznice temperatur mogą zaistnieć pomiedzy śąsiednimi pomiarami.


    W ostateczności jak się mierzy wolnozmienne temperatury to można skompresować, i podejrzewam że 4bit DPCM będzie w sam raz - delta=8stopni. Wtedy rozmiar spadnie do 32kB. I oczywiście zapis blokami z pamięci podręcznej do MMC.
  • #18
    mrozio85
    Level 11  
    Pytanie dodatkowe"
    lepiej dać kartę pamięciową-chipową czy MMC?
  • #19
    asembler
    Level 32  
    Najtaniej i najszybciej to chyba bedzie EEprom wstawic zewnetrzny 64kB za 2 zł chyba sterowany I2C.
  • #20
    mrozio85
    Level 11  
    A jak wtedy przenieść dane na komputer?
    Chodzi o prosty i szybki sposób komunikacji z PC.
  • #21
    asembler
    Level 32  
    UART--------->COM
    Z innej strony: Dallas produkuje pastylki które maja w sobie pamiec czujnik temperatury i baterie, i realizują wlaśnie takie zadania jak tu próbujesz zrobić. Wrzuca sie taką pastylke np. do auta chłodni a po drugiej stronie czyli przy odbiorze odczytuje sie . Informacja czy była prawidłowa temp podczas całego czasu podrózy bardzo sie przydaje zeby kogoś nie zatruć. Odczyt z pastyli za pomocą 1-Wire.
  • #22
    mrozio85
    Level 11  
    Na jakiej zasadzie to działa?
    Co ile i w jaki sposób zapisuje temperaturę?
    Jaki czas działania?
    I co najważniejsze cena:)
  • #23
    asembler
    Level 32  
    O ile dobrze pamietam to odstepy miedzypomiarowe można programowac. Cena nie jest chyba wysoka biorąc pod uwagę funkcjonalność (miniatura) urządzenia. Trzeba by poszukac w googlach dallas lub cos takiego. Mialem kiedys CD ze wszystkimi dallasami moze znajdę.
    O ile sie nie myle pamiec nie ta już to symbol tej pastylki DS1921 i nazywa sie chyba termochron recorder czy cos tak podobnie:-)

    Niesety dośc drogie około 70zł i najwyżej 8k pamieci.
    W takim razie takie rozwiazanie.
    8 nóżkowy procesor AVR 8 nóżkowy eeprom 64kB lub dwa i czyjnik temperatury. na baterii CR2032 powinno wytrzymac 6 miesiecy.
  • #24
    mrozio85
    Level 11  
    A jakiś procesor proponujecie?
    Może ktoś ma jakieś schematy? Pomysły? wsady do procka?
  • #25
    asembler
    Level 32  
    Mam płytkę z atmega8 i pamiecią EEprom z wyjsciem RS oraz mozliwoscia podłaczenia czujnika DS18B20. Na bazie tej płytki w prosty sposób mógłbys zrobic to co zamierzasz. Na płytce jest cały zasilacz i również wyjscie na wyswietlacz LCD.
    80% pracy mialbyś zrobione zastanów się.
  • #27
    gothye
    Level 33  
    polecam pamieci Dataflash atmela np. AT45dbxxx ,niemusisz stosować systemu plików ,mozesz wykozystać taką karte jak zwykłą pamieć eeprom (przy zapisie/odczyt) i jest szybsza od eepromów :)

    po za tym obsługa FAT dla Attiny ,przerosnie ją program ,wieloktornie :D
  • #28
    mrozio85
    Level 11  
    Dajac FAT mam ulatwienie w komunikacji z PC
  • #29
    gothye
    Level 33  
    ja zastosowałbym uart do wysyłaniania danych z pamieci DF do PC ,prosty program w VB załatwi sprawe
  • #30
    mrozio85
    Level 11  
    A jakie są minimalne wymagania do obsługi MMC z FAT?
    Chodzi mi o RAM i pamięć procesora.
    Odrazu zapytam czy są już pod to gotowe biblioteki w Bascomie?