Elektroda.pl
Elektroda.pl
X
Arrow Multisolution Day
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Rejestrator temperatury, PIC + EEPROM

Gordios 12 Lut 2011 23:24 2946 0
  • Opis

    W tym projekcie zastosowano mikrokontroler PIC, szeregową pamięć EEPROM oraz termistor dla zbudowania rejestratora temperatury.

    Działanie


    Temperatura jest mierzona i zapisywana w interwałach czasowych określonych przez użytkownika; mogą one być zmieniane od 1 sekundy do 256 sekund. Interwały te ustawiane są przez zaprogramowanie ich w pamięci EEPROM w chwili startu.

    Przez większość czasu PIC będzie “uśpiony” a pamięć EEPROM będzie nieaktywna. Uzyskuje się dzięki temu bardzo niski pobór prądu, w przybliżeniu 50 uA, czyli około 1 mAh dziennie.
    Zastosowana pamięć EEPROM ma pojemność 32kBytes, co pozwala na zapamiętanie 32,000 pomiarów. Przykładowo daje to możliwość zapamiętywania pomiarów co 30 sekund przez 11 dni.
    Połączenie termistora z układem analogowym daje zakres pomiarowy od -40 °C do +100 °C, chociaż zakres liniowy jest od -10 °C do +40 °C.

    Rejestrator temperatury, PIC + EEPROM

    Fotografie


    Zmontowane urządzenie

    Rejestrator temperatury, PIC + EEPROM

    Na tej fotografii pokazany jest rejestrator temperatury z podłączonym zewnętrznym termistorem. Złącze zawiera doprowadzenie zasilania, zegar I2C oraz wejście danych oraz wejście analogowe.
    Wymiary kompletnego urządzenia są następujące: długość 40 mm, szerokość 26 mm I wysokość 16 mm.

    Płytka drukowana wersja 1

    Rejestrator temperatury, PIC + EEPROM

    Mikrokontroler PIC znajduje się na lewo od środka płytki, a układ pamięci szeregowej EEPROM zamontowany pionowo dla oszczędności miejsca znajduje się na prawo od środka płytki.
    Pozostałe element to gniazdo OCSP z rezystorem i diodą (od gory po lewej stronie), rezonator kwarcowy i dwa kondensatory (na lewo od mikrokontrolera), dwa rezystory układu I2C (obok pamięci EEPROM) oraz rezystor dzielnika napięcia dla termistora (u góry po prawej stronie).

    Płytka drukowana wersja 2






    Rejestrator temperatury, PIC + EEPROM

    Druga wersja rejestratora zbudowana jest na samodzielnie wykonanej jednostronnej płytce drukowanej z wykorzystaniem układów scalonych w obudowach SO8 i elementów biernych do montażu powierzchniowego.


    Oprogramowanie mikrokontrolera PIC


    Oprogramowanie mikrokontrolera PIC jest napisane w assemblerze. Pamięć szeregowa EEPROM, mikrokontroler PIC i złącze zewnętrzne podłączone są do tej samej magistrali I2C.
    Gdy pomiar nie jest wykonywany to mikrokontroler PIC “zasypia”. Budzi się co sekundę (przy pomocy zewnętrznego oscylatora kwarcowego i wewnętrznego dzielnika) aby sprawdzić, czy nadszedł czas wykonania pomiaru. Interwał próbkowania zapamiętany jest w określonej komórce pamięci EEPROM i jest odczytywany przy włączeniu zasilania.
    Termistor I rezystor tworzą dzielnik napięcia, które jest mierzone przez jeden z kanałów przetwornika analogowo-cyfrowego znajdującego sie w mikrokontrolerze. Napięcie jest mierzone czterokrotnie i pomiary te SA dodawane do siebie. Daje to nieco lepsze wyniki pomiaru, ponieważ średnia z czterech odczytów będzie bliższa prawdziwej wartości niż pojedynczy odczyt, gdyż procedura taka pozwala na eliminację szumów układu.
    Pomiar wykonany przez przetwornik analogowo-cyfrowy zapamiętywany jest w postaci “surowej”, bez przeliczania na temperaturę. Dla zaoszczędzenia miejsca i zachowania dokładności jeżeli jest możliwe to zapamiętywana jest na jednym bajcie różnica w stosunku do pomiaru poprzedniego. Jeżeli to nie jest możliwe, to dla zapamiętania wartości wykorzystane SA dwa bajty. Gdy różnica w stosunku do ostatniego pomiaru mieści się w zakresie od -112 do +112 to wtedy zapamiętywana jest zmiana. Jeżeli wartość bieżącego pomiaru bardziej różni się od poprzedniego wtedy wykorzystywane są dwa bajty a na pierwszym z nich ustawiony jest bit, który to sygnalizuje.
    Mikrokontroler PIC 12F683 pracuje z zegarem 4 MHz korzystając z wewnętrznego oscylatora. Interface I2C taktowany jest częstotliwością około 100 kHz.

    Oprogramowanie komputera PC

    W celu ustawienia stanu początkowego istnieje program, który kasuje zawartość pamięci EEPROM (zapisuje ją kodem 0xff) oraz zapisuje 32-bajtowy nagłówek, w którym zawarty jest czas oraz interwał próbkowania. Mikrokontroler PIC będzie używał interwału próbkowania do decydowania o tym, kiedy wykonać pomiar, a czas startu wykorzystywany jest przez program pobierający dane.
    Dla odczytu danych z mikrokontrolera PIC wykorzystywany jest program, który odczytuje całą zawartość pamięci EEPROM (czas startu, interwał próbkowania i surowe dane). Każdy pomiar zarejestrowany w pamięci EEPROM jest przekształcany na datę, czas, wartość zmierzoną oraz wartość temperatury.

    Schemat

    Rejestrator temperatury, PIC + EEPROM

    Płytka drukowana wersja 1


    Rejestrator temperatury, PIC + EEPROM

    Płytka drukowana wersja 2

    Rejestrator temperatury, PIC + EEPROM

    Przykładowy wynik

    Poniższy obraz pokazuje przykładowy wynik, który może być uzyskany przy zastosowaniu tego urządzenia.

    Rejestrator temperatury, PIC + EEPROM

    © Andrew M. Bishop = <amb "at" gedanken.demon.co.uk>

    Pełny opis projektu znajduje się na http://www.gedanken.demon.co.uk/temperature-recorder/


    Fajne!
  • Arrow Multisolution Day