Autor: Dominikus, ndom_dominikus(_at_)yahoo.co.id
Można wykorzystać komputer PC do podłączenia domowego system zbierania danych I wykonania GUI dla przyjaznego dla użytkownika przedstawiania danych. Układ zbudowany jest na mikrokontrolerze ATmega8. Mikrokontroler ten posiada wbudowany 10-bitowy przetwornik analogowo-cyfrowy. Czujniki temperatury są podłączone do sześciu kanałów wejściowych przetwornika AC. Wejścia analogowe są odczytywane po przesłaniu rozkazu z komputera PC. Odczyty wejść będą wyświetlane graficznie lub tekstowo. Dane mogą być również zapisane w bazie danych.
Sprzęt
Cały schemat urządzenia pokazany jest na rysunku 1. Urządzenie składa się z mikrokontrolera ATmega8, czujnika temperatury (LM335), i interface’u szeregowego.Firmware mikrokontrolera steruje odczytem przetwornika AC, odbiera rozkazy z komputera PC i wysyła odczyty do komputera PC. Mikrokontroler pracuje z częstotliwością 8MHz generowaną przez oscylator kwarcowy. Jeżeli użyjemy wewnętrznego oscylatora RC to można zrezygnować z kwarcu. Wersja mikrokontrolera ATmega8 w obudowie DIP posiada 6 kanałów wejść analogowych. Jeżeli potrzebne jest 8 wejść analogowych to należy zastosować mikrokontroler ATmega8 w obudowie TQFP.
Jako czujnik temperatury wykorzystano LM335. Może on mierzyć temperaturę zdalnie wykorzystując linie dwuprzewodową. Układ generuje sygnał wyjściowy, który jest proporcjonalny do temperatury w skali Celsjusza. Trymer POT jest używany do kalibracji napięcia wyjściowego w znanej temperaturze, na przykład 2.98V @ 25° C.
Rysunek 1. Schemat układu zbierania temperatur.
Oprogramowanie
Cechy oprogramowania.
- Regulowany czas próbkowania,
- Obrazowanie w czasie rzeczywistym jako wykres pojedynczy lub wielokrotny,
- Rejestracja danych, zapamiętywanie i otwieranie bazy danych,
- Statystyka, wydruk danych zarejestrowanych oraz wykresów lub ich eksportowanie jako metaplik, jpg,
- Okno kontroli transmisji szeregowej dla monitorowania i “ręcznego” przesyłania danych.
Pełna wersja oprogramowania jest zaprojektowana dla odczytu 16 kanałów. Wersja przedstawiona w projekcie będzie odczytywać 8 kanałów. Jeżeli układ wykonano na mikrokontrolerze ATmega8 w obudowie DIP to może być wyświetlone tylko 6 kanałów.
Rysunek 2. Główny ekran program rejestracji danych
Jeżeli wykorzystuje się rejestrację w czasie rzeczywistym przy szybkim próbkowaniu, na przykład 50ms lub 100ms, to lepiej jest oglądać wykresy pojedynczo. Wydajność wyświetlania zależna jest od szybkości komputera PC.
W przypadku komputera pracującego z szybkością procesora 700MHz i wyposażonego w pamięć RAM o pojemności 128MB RAM wykresy wielokrotnie nie SA wyświetlane wystarczająco szybko.
Oprogramowanie mikrokontrolera
Oprogramowanie mikrokontrolera zostało napisane w assemblerze. Program czeka na przesłanie rozkazu z komputera przez interface szeregowy. Parametry transmisji: 19200, 8, n, 1. Po otrzymaniu rozkazu odczytu mikrokontroler odczytuje 8 kanałów i przesyła te odczyty do komputera.
Jeżeli układ zbudowany jest w wersji z sześcioma kanałami, to można tak zmodyfikować program aby mikrokontroler dla ostatnich dwóch kanałów (ADC6 and ADC7) przesyłał ślepe wartości. Wartości te zostaną zignorowane przez program w komputerze PC.
Cały opis układu jest w http://www.kmitl.ac.th/~kswichit/PLogger/index.html
Można wykorzystać komputer PC do podłączenia domowego system zbierania danych I wykonania GUI dla przyjaznego dla użytkownika przedstawiania danych. Układ zbudowany jest na mikrokontrolerze ATmega8. Mikrokontroler ten posiada wbudowany 10-bitowy przetwornik analogowo-cyfrowy. Czujniki temperatury są podłączone do sześciu kanałów wejściowych przetwornika AC. Wejścia analogowe są odczytywane po przesłaniu rozkazu z komputera PC. Odczyty wejść będą wyświetlane graficznie lub tekstowo. Dane mogą być również zapisane w bazie danych.
Sprzęt
Cały schemat urządzenia pokazany jest na rysunku 1. Urządzenie składa się z mikrokontrolera ATmega8, czujnika temperatury (LM335), i interface’u szeregowego.Firmware mikrokontrolera steruje odczytem przetwornika AC, odbiera rozkazy z komputera PC i wysyła odczyty do komputera PC. Mikrokontroler pracuje z częstotliwością 8MHz generowaną przez oscylator kwarcowy. Jeżeli użyjemy wewnętrznego oscylatora RC to można zrezygnować z kwarcu. Wersja mikrokontrolera ATmega8 w obudowie DIP posiada 6 kanałów wejść analogowych. Jeżeli potrzebne jest 8 wejść analogowych to należy zastosować mikrokontroler ATmega8 w obudowie TQFP.
Jako czujnik temperatury wykorzystano LM335. Może on mierzyć temperaturę zdalnie wykorzystując linie dwuprzewodową. Układ generuje sygnał wyjściowy, który jest proporcjonalny do temperatury w skali Celsjusza. Trymer POT jest używany do kalibracji napięcia wyjściowego w znanej temperaturze, na przykład 2.98V @ 25° C.
Rysunek 1. Schemat układu zbierania temperatur.
Oprogramowanie
Cechy oprogramowania.
- Regulowany czas próbkowania,
- Obrazowanie w czasie rzeczywistym jako wykres pojedynczy lub wielokrotny,
- Rejestracja danych, zapamiętywanie i otwieranie bazy danych,
- Statystyka, wydruk danych zarejestrowanych oraz wykresów lub ich eksportowanie jako metaplik, jpg,
- Okno kontroli transmisji szeregowej dla monitorowania i “ręcznego” przesyłania danych.
Pełna wersja oprogramowania jest zaprojektowana dla odczytu 16 kanałów. Wersja przedstawiona w projekcie będzie odczytywać 8 kanałów. Jeżeli układ wykonano na mikrokontrolerze ATmega8 w obudowie DIP to może być wyświetlone tylko 6 kanałów.
Rysunek 2. Główny ekran program rejestracji danych
Jeżeli wykorzystuje się rejestrację w czasie rzeczywistym przy szybkim próbkowaniu, na przykład 50ms lub 100ms, to lepiej jest oglądać wykresy pojedynczo. Wydajność wyświetlania zależna jest od szybkości komputera PC.
W przypadku komputera pracującego z szybkością procesora 700MHz i wyposażonego w pamięć RAM o pojemności 128MB RAM wykresy wielokrotnie nie SA wyświetlane wystarczająco szybko.
Oprogramowanie mikrokontrolera
Oprogramowanie mikrokontrolera zostało napisane w assemblerze. Program czeka na przesłanie rozkazu z komputera przez interface szeregowy. Parametry transmisji: 19200, 8, n, 1. Po otrzymaniu rozkazu odczytu mikrokontroler odczytuje 8 kanałów i przesyła te odczyty do komputera.
Jeżeli układ zbudowany jest w wersji z sześcioma kanałami, to można tak zmodyfikować program aby mikrokontroler dla ostatnich dwóch kanałów (ADC6 and ADC7) przesyłał ślepe wartości. Wartości te zostaną zignorowane przez program w komputerze PC.
Cały opis układu jest w http://www.kmitl.ac.th/~kswichit/PLogger/index.html
Fajne? Ranking DIY