Rejestrator temperatury z pamięcią 24c512

Jesli jesteś początkującym elektronikiem, to tu z pewnością znajdziesz pomoc. Miejsce dobre do dyskusji nad podstawami elektroniki w zakresie teorii i praktyki.
ODPOWIEDZ
stratus
-
Posty: 29
Rejestracja: 08 sty 2008, 14:40
Lokalizacja: z poligonu (Wodzisław Śląski)
Kontakt:

Rejestrator temperatury z pamięcią 24c512

Post autor: stratus » 29 cze 2011, 8:17

Witam!
Przymierzam się do zmajstrowania małego loggera temperatury z 2 czujników ds18b20 z prockiem atmega8 i pamięcia 24c512. Mam problem z organizacją/sposobem zapisu danych do eeprom tak, żeby potem łatwo można było odczytać dane i wprowadzić do kompa. Macie jakieś rady lub pomysły?
Pozdrawiam

PS. Podkreślam, że nie mam zbyt dużego doświadczenia z pamięciami EEPROM (w tym ze skomplikowanym adresowaniem)

piotreks89
-
Posty: 26
Rejestracja: 16 gru 2010, 8:55
Lokalizacja: Olesno
Kontakt:

Post autor: piotreks89 » 29 cze 2011, 12:39

Nie chcę reklamowac, ale proszę LINK. Z tego można dużo wywnioskować ;) Najprościej jakbyś zrealizował to w ten sposób. ATMEGA8 + RS232 + 2x DS18B20 + AT24Cxxx. Odczytując pomiary co ustaloną ilość czasu ATMEGA8 zapisuje odczyty do EEPROMU z przerwą co jeden bit (taka spacja). Dodatkowo impletujemy RS232 i z niego będzie zachodziła wymiana danych. W komputerze wpisujesz komendę, potem ATMEGA8 odpowiada. Wystarczą 2 takie komendy - RESET (Czyszczenie EEPROMU) oraz READ (odczyt i zapis do pliku pomiarów). Przy takim rozwiązaniu potrzebujesz także znajomości programowania w jednym z języków na PC, do takiego programu spokojnie wystarczy DELPHI. Może i wygląda to strasznie, ale program zajmie max 4KB

Awatar użytkownika
c4v2
Użytkownik
Posty: 426
Rejestracja: 22 lis 2005, 15:14
Lokalizacja: z przed monitora

Post autor: c4v2 » 29 cze 2011, 13:24

Skoro czujników DS w układzie ma być to można pod "nieparzystym adresem" zapisywać bajt z czujnika pierwszego a pod "parzystym" z czujnika drugiego. Właściwie to siedem bitów wartości temperatury plus 1 bit znaku. Oczywiście pod pojęciem "parzysty / nieparzysty adres" rozumiem położenie bajtu w bloku jaki można zapisać lub odczytać. Jeżeli interwał pomiaru temperatur będzie stały to można zapisać tylko czas startu pierwszego pomiaru.

Awatar użytkownika
c4v2
Użytkownik
Posty: 426
Rejestracja: 22 lis 2005, 15:14
Lokalizacja: z przed monitora

Post autor: c4v2 » 29 cze 2011, 13:36

Konwersję danych z pamięci szeregowej na jawną postać znakową można wykonać przed wysłaniem na rs232.

stratus
-
Posty: 29
Rejestracja: 08 sty 2008, 14:40
Lokalizacja: z poligonu (Wodzisław Śląski)
Kontakt:

Post autor: stratus » 29 cze 2011, 15:03

Pomysł z odczytem przez RS232 jest dobry ale zamiast pisać program chyba będę odbierał dane przez hyperterminal i potem ręcznie przenosił do excela.
Link z opisem obsługi EEPROM jest dosyć ciekawy ale niestety piszę w C a nie w BASCOMie...
Dzięki za pierwsze odpowiedzi, przynajmniej mam już jakiś punkt zaczepienia :mrgreen:

-------------------------------------------------------------------------------------------------------------
edit1:
Znalazłem sposób jak przesłać dane przez rs232 prosto do excela:D
http://www.mcselec.com/index.php?option ... &Itemid=57

-------------------------------------------------------------------------------------------------------------
edit2:
Ponawiam pytanie o adresowanie pamięci ale w języku C...

ODPOWIEDZ