logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

System zbierania danych na ATmega8

Gordios 19 Lut 2011 20:59 3069 0
REKLAMA
  • 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.

    System zbierania danych na ATmega8
    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.

    System zbierania danych na ATmega8
    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
    O autorze
    Gordios
    Poziom 18  
    Offline 
    Gordios napisał 395 postów o ocenie 269. Jest z nami od 2010 roku.
  • REKLAMA
REKLAMA