Czujnik tlenku węgla Attiny 85

Czujnik tlenku węgla Attiny 85

Projekt typowo edukacyjny, czujnik nie nadaje się do pełnego zabezpieczenia przed tlenkiem węgla.  

Prosty czujnik tlenku węgla za pomocą MQ-7. Wielkimi krokami zbliża się zima :) chociaż mamy wrzesień i rozpoczynamy okres palenie w kominku :) i przydało by się trochę bezpieczeństwa . Chciałem stworzyć czujnik tlenku węgla za pomocą modułu który akurat miałem pod ręką to MQ7. Zacznę od tego że MQ-7 jest dobre na krótki czas, warto pomyśleć nad innym z serii MQ.

Zamów płytkę drukowaną na www.pcbway.com

Sprzęt potrzebny : 

  1. Attiny 85
  2. Podstawka DIP 8
  3. Płytka PCB (jakiś skrawek) :) 
  4. Kable (żeńskie <-> męskie)
  5. Dioda (dwukolorowa była by najlepsza)
  6. Opornik do diody
  7. Buzzer
  8. Tp-4056 
  9. Koszyk pojedynczy na jeden akumulator 
  10. Akumulator 18650 3,7 V – 4,02 V
  11. Programator Attiny85 (w moim przypadku Arduino UNO)
  12. Czujnik Mq-7
  13. Kabel mikro USB dla TP4056
  14. Ładowarka 5v do sieci

Połączenie wszystkich modułów

Do zbudowania modułu użyłem gniazd szpilkowych i łączenie modułów za pomocą kabli z gniazdami. Dla możliwości późniejszego wykorzystania modułów do innych projektów. 

  1. Zaczynamy od stworzenia linii połączeń między modułami, w moim przypadku Attiny85 posiada 5 pinów do wykorzystania. 
  2. Pin VCC i GND łączymy z koszykiem akumulatora 18650 
  3. PIN 1 i  łączymy z opornikiem za nim z dioda a do diody doprowadzamy GND
  4. PIN 2 jako połączenie z MQ-7 (A0)
  5. PIN 3 do Buzzera 

Płytka nie wygląda “super czysto” ale spełnia swoją rolę. Połączenie “szpilkami” ułatwiło lutowanie i przyśpieszyło cały proces. Każdy pin Attiny posiada 1 szpilkę obok oprócz GND i VCC które posiadają po 5 szpilek dla umożliwienie rozbudowanie modułu. 

Zmodyfikuje jeszcze moduł TP4056 pozbędę się jeszcze diody informującą o naładowaniu ogniwa 18650. Dodatkowe światło w module nie jest potrzebne. 

Oprogramowanie Attiny 85 

Do programowania Attiny85 wykorzystuje Arduino Uno które sprawdza się rewelacyjnie i połączenie jest bardzo proste. Stworzyłem programatora na Arduino Uno ale pewnie jeszcze o nim stworzę artykuł. 

Program jest prosty bez wykorzystania sprawdzania napięcia, projekt ma zostać wykorzystany jako ciągle podłączone do sieci energetycznej z  akumulatorem 18650 (3,7v)  poprzez moduł TP-4056 w momencie gdy brak zasilania będzie korzystał z akumulatora. Jest to chwilowe awaryjne zasilanie.

  1. Start modułu – Dioda miga 3 razy i buzzer wydaje 3 długie dźwięki. 
  2. Gdy zostanie wykryty tlenek gazu powyżej 50 ppm buzzer zacznie wydawać dźwięki 3 krótkie dźwięki(1000Hz), dioda będzie migać, Przerwa 5 sekund.
  3. Gdy wzrośnie wartość tlenku gazu do 100 ppm buzzer będzie wydawał krótkie dźwięki (3500Hz do 4500Hz) i dioda będzie migać, aż do oczyszczenia powietrza.
  4. Kod programu poniżej. 

Całość została umieszczona w puszce elektrycznej i  tyle czujnik ma za zadanie stężenia powietrza co sekundę  gdzie się znajduje. Moduł jest prosty w budowie i spełnia swoje założenia. 

Ocena: 4.55/5 (głosów: 11)

Podobne posty

10 komentarzy do “Czujnik tlenku węgla Attiny 85

  • Skąd założenie, że tak naiwnie zmapowana wartość daje wynik w ppm? Czytałem kiedyś o przeliczaniu odczytów analogowych z modułów MQ na ppm. Jest to skomplikowany proces wykonywany indywidulanie dla egemplarza czujnika i zależny na przykład od wilgotności w pomieszczeniu.

    Odpowiedz
  • Uważam, że powinieneś zaznaczyć w artykule, że ten projekt powinien być wykorzystywany tylko w celach pokazowych użycia Arduino, ale nigdy jako jedyny czujnik od którego zależy czyjeś życie lub zdrowie.

    Odpowiedz
  • Edukacyjnie OK. Praktycznie nie dziala jak powinno. MQ7 zasila sie dwoma napieciami (naprzemiennie grzanie/odczyt). Nalezy uwzglednic wilgotnosc powietrza i temperature otoczenia – przez to dochodzi zabawa z funkcjami logarytmicznymi celem analizy danych, wymagana jest kalibracja czujnika itd. – szczegoly w specyfikacji MQ7.

    Odpowiedz
  • Trochę słaby ten projekt :

    1. Czujnik nie jest poprawnie podłączony. Grzejnik powinien podłączony do 5V przez tranzystor sterujący i zgodnie z dokumentacją uruchamiany na 60 sekund co 90 sekund. Okres pomiarów powinno również poprzedzać wygrzewanie czujnika przez 48 godzin.
    2. Surowy odczyt z sensora powinien zostać odpowiednio przeliczony z uwzględnieniem wilgotności oraz temperatury powietrza. A przede wszystkim z poprawką na zmianę czułości czujnika przy danym stężeniu gazu.
    3. Attiny nie jest poprawnie podłączone. Brakuje kondensatorów filtrujących które przy używaniu ADC są istotne dla dokładności wyników.
    4. Używanie VCC jako źródła napięcia referencyjnego jest słabym pomysłem przy tego typu projektach. Najlepiej dać zewnętrzne źródła na diodzie zenera, poprawi to dokładność odczytu.
    5. Program nie zawiera komentarzy.
    6. Czemu PWM dla brzęczyka jest programowy kiedy w Attiny masz wbudowany sprzętowy generator ???
    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?