Witam serdecznie Wszystkich Forumowiczów,Zasada działania czujnika, który buduję opiera się na pomiarze napięcia na sensorze MQ - 8, poprzez przetwornik ADC mikrokontrolera ATMEGA 8A. Napięcie to jest porównywane z wartością progową (odczytaną z charakterystyki sensora) i na tej podstawie sygnalizowane jest za pomocą impulsu wyjściowego (linia SIGNAL), przekroczenie krytycznej wartości 1% stężenia. Opcjonalnie wyprowadzone zostały 2 linie do późniejszej komunikacji po magistrali I2C, jednak w chwili obecnej nie są one wykorzystywane.
Problem mój opiera się na błędnym pomiarze napięcia przez sam mikrokontroler. Na nóżce PC1 obserwuje się zmiany napięcia, które występują na sensorze (pomiar multimetrem, oddziaływanie na sensor za pomocą oparów beznyny, na którą także reaguje). Niestety, w układzie prototypowym wszystko działało poprawnie, zmiany sygnalizowane były prawidłowo, dlatego teraz dokładnie nie wiem, gdzie popełniony został błąd. Dodam, że program działa poprawnie z wyłączeniem części związanej z ADC, procesor jest także poprawnie wykrywany. Wertowałem już kilkukrotnie dokumentację mikrokontrolera, jednak być może coś jest nie tak z ustawieniami bitów któregoś z rejestrów związanych z ADC.
Zwracam się z uprzejmą prośbą do Was, drodzy forumowicze o udzielenie mi pomocy. Zamieszczam kod programu, schemat, na jakim bazowałem oraz zdjęcia płytki.
Będę wdzięczny za każdą krytyczną uwagę, odpowiem na każde zadane pytanie, jeśli będzie potrzeba, mogę dosłać wstępnie utworzoną kompletną dokumentację czujnika.
Pozdrawiam.
Schemat układu:
Płytka PCB

Struktura programu:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.