Spisu treści:
Wideo: Monitor temperatury Arduino o niskiej mocy: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
W tym Instructable budujemy kolejny monitor temperatury za pomocą czujnika temperatury DS18B20. Ale ten projekt jest inny. Wytrzymuje na bateriach prawie 1,5 roku! Tak! Korzystając z biblioteki Arduino low power, możemy mieć ten projekt działający przez długi czas. Czytaj dalej, aby dowiedzieć się więcej!
Krok 1: Zdobądź części
Części potrzebne do zbudowania tego projektu to:
ATMEGA328P ▶
Nokia 5110 LCD ▶
DS18B20 ▶
Fotorezystor ▶
Kondensatory ▶
Kryształ 16 MHz ▶
Rezystory ▶
Multimetr Mastech 8268 ▶
Całkowity koszt projektu w momencie pisania tej instrukcji wynosi mniej niż 10 $
Krok 2: Połącz wszystkie części
Teraz, gdy masz już wszystkie części, połączmy je wszystkie razem zgodnie ze schematem ideowym.
Kluczem do niskiego zużycia energii w tym projekcie jest użycie samego chipa ATMEGA zamiast płytki Arduino. Ponieważ płyty Arduino wykorzystują regulator napięcia do pracy z wieloma różnymi poziomami napięcia, potrzebują więcej mocy. Nie potrzebujemy tego regulatora, ponieważ zasilamy nasz projekt z baterii 3AA!
W tym projekcie używam wyświetlacza LCD Nokia 5110, który jest świetnym wyświetlaczem i potrzebuje tylko 0,2mA prądu przy wyłączonym podświetleniu. Imponujący!
Do wykrywania światła używamy również fotorezystora. Tak więc, jeśli jest noc, wyłączamy wyświetlacz LCD, aby oszczędzać energię.
Kolejnym małym sekretem jest biblioteka LowPower. Gdy nie mierzymy temperatury, usypiamy Arduino za pomocą biblioteki LowPower. Gdy goły układ ATMEGA śpi, pobiera tylko 0,06mA prądu! Oznacza to, że chip ATMEGA może spać przez ponad 4 lata na 3 bateriach AA!
Tak więc dzięki sprytnemu projektowi oprogramowania osiągamy dobrą żywotność baterii. Układ ATMEGA potrzebuje około 10mA prądu, gdy nie śpi. Tak więc naszym celem jest, aby większość czasu spała. Z tego powodu budzimy go tylko wtedy, gdy musimy mierzyć temperaturę co dwie minuty. Gdy budzimy chip ATMEGA, robimy wszystko tak szybko, jak to możliwe, i od razu znowu zasypiamy.
Algorytm
Projekt budzi się co dwie minuty. Pierwszą rzeczą, którą robi, jest włączenie fotorezystora poprzez wpisanie HIGH do cyfrowego pinu 6. Odczytuje wartość z fotorezystora i określa, czy jest dzień, czy noc. Następnie zapisuje LOW do cyfrowego pinu 6, aby wyłączyć fotorezystor i oszczędzić porer. Jeśli jest noc wyłączamy wyświetlacz LCD, jeśli jest włączony i od razu idziemy spać na dwie minuty bez odczytu temperatury. Nie ma takiej potrzeby, ponieważ wyświetlacz jest wyłączony. W ten sposób oszczędzamy jeszcze więcej energii. Jeśli jest dostatecznie dużo światła, włączamy wyświetlacz LCD, jeśli był wyłączony, odczytujemy temperaturę, wyświetlamy ją na ekranie i kładziemy się spać na dwie minuty. Ta pętla trwa wiecznie.
Krok 3: Pomiary
Jak widać na zdjęciach, gdy projekt jest uśpiony, a wyświetlacz jest włączony, potrzebuje 0,26mA prądu, co jest bardzo niskie, biorąc pod uwagę fakt, że mamy wyświetlacz!
Gdy projekt mierzy temperaturę i aktualizuje, wyświetlacz potrzebuje około 11,5 mA
Wreszcie, gdy jest ciemno, a ldr wyłączył wyświetlacz LCD Nokia 5110, potrzebujemy tylko 0,07 mA, co jest świetne!
Żywotność baterii
W celu obliczenia żywotności baterii projektu stworzyłem prosty plik Excel. Wprowadziłem pomiary z multimetru i jak widać otrzymamy żywotność baterii ponad 500 dni, jeśli mierzymy temperaturę co 2 minuty! A wszystko to przy użyciu baterii 3AA o pojemności 2500mAs. Oczywiście, jeśli użyjesz lepszych baterii, takich jak Li-Ion 3.400 mAh, możesz mieć swój projekt na dłużej niż 2 lata!
Możesz pobrać plik Excel z tego linku.
Krok 4: Kodeks Projektu
Kod projektu jest bardzo prosty. W tym fragmencie kodu używamy kilku bibliotek. Wykorzystywane przez nas biblioteki to:
- Biblioteka małej mocy:
- Biblioteka czujników temperatury DS18B20:
- Biblioteka LCD Nokia 5110:
Kod projektu składa się z dwóch plików. W pierwszym pliku znajduje się kod działający na Arduino. Następny plik zawiera dane binarne dla ikon wyświetlanych przez główny program. Musisz umieścić oba pliki w folderze projektu, aby kod mógł się poprawnie skompilować.
Kod jest bardzo prosty. Znajdziesz go poniżej. Cała magia dzieje się w funkcji sleepForTwoMinutes. Przy tej funkcji usypiamy Arduino. Problem polega na tym, że za pomocą timera watchdoga maksymalny czas, jaki możemy uśpić Arduino, wynosi 8 sekund. Tak więc wstawiamy to w pętlę 15 razy i otrzymujemy żądany przedział dwóch minut
Mam nadzieję, że podobał Ci się ten projekt. Do zobaczenia wkrótce!
Zalecana:
Łatwy BLE o bardzo niskim poborze mocy w Arduino Część 2 -- Monitor temperatury / wilgotności -- Rev 3: 7 kroków
Easy Very Low Power BLE w Arduino Część 2 -- Monitor temperatury / wilgotności -- Wersja 3: Aktualizacja: 23 listopada 2020 r. – Pierwsza wymiana 2 baterii AAA od 15 stycznia 2019 r., tj. 22 miesiące na 2 baterie alkaliczne AAA Aktualizacja: 7 kwietnia 2019 r. – Wersja 3 z lp_BLE_TempHumidity, dodaje wykresy Data/Czas, używając pfodApp V3.0.362+ i auto throttling
Wzmacniacz lampowy o bardzo niskiej mocy i wysokim wzmocnieniu: 13 kroków (ze zdjęciami)
Wzmacniacz lampowy o bardzo niskiej mocy i wysokim wzmocnieniu: dla rockmanów w sypialni, takich jak ja, nie ma nic gorszego niż skargi na hałas. Z drugiej strony to wstyd mieć 50W wzmacniacz podpięty do obciążenia rozpraszającego prawie wszystko w cieple. Dlatego spróbowałem zbudować przedwzmacniacz o wysokim wzmocnieniu, oparty na
Stacja pogodowa o niskiej mocy: 6 kroków (ze zdjęciami)
Stacja pogodowa o niskim poborze mocy: Teraz, w trzeciej wersji i testowana przez ponad dwa lata, moja stacja pogodowa została zaktualizowana, aby zapewnić lepszą wydajność przy niskim poborze mocy i niezawodność przesyłania danych. Zużycie energii - nie jest to problem w miesiącach innych niż grudzień i styczeń, ale
Antena nadajnika FM o niskiej mocy z rur rolniczych: 8 kroków (ze zdjęciami)
Antena nadajnika FM o niskiej mocy z rur rolniczych: Zbudowanie anteny nadajnika FM nie jest takie trudne; istnieje wiele projektów. Chcieliśmy stworzyć projekt z części, które można było zdobyć prawie na całym świecie, dla zestawu czterech (wkrótce 16!) stacji społecznościowych, które uruchomiliśmy w północnej Ugandzie
Generator tonu Morse'a (sygnał dźwiękowy CW o niskiej mocy): 3 kroki
Generator tonów Morse'a (CW Beeper o małej mocy): Tutaj opisuję, jak zbudować prosty generator tonów o niskiej mocy, którego używam do nauki kodu Morse'a mojego syna. Podczas sprzątania mojej piwnicy znalazłem mój stary klucz Morse'a Wehrmachtu. Ten klucz był używany przez siły niemieckie podczas II wojny światowej. Kluczer miał