Skocz do zawartości

Jak oszczędzać energię z RF 433?


Pomocna odpowiedź

Myślę, że rozwiązałem problem dużo szybciej, mianowicie jedną biblioteką z tego linku: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/

Teraz układ może budzić się co określony czas, (przy wysyłaniu zużywa 12mA,a poza nim zużywa 8mikroA )co według moich obliczeń przy wysyłce co minutę daje następujący wynik: średnie zużycie w ciągu godziny będzie na poziomie 0.2mA czyli przez pół roku 870mAh. Myślę, że wynik całkiem OK

EDIT: tylko jeszcze nie wiem jak wydłużyć czas uśpienia (tam do wyboru mam 1 2 4 8s, co trochę sprawę komplikuję

EDIT: tylko jeszcze nie wiem jak wydłużyć czas uśpienia (tam do wyboru mam 1 2 4 8s, co trochę sprawę komplikuję

Zliczać ilość wybudzeń w dodatkowej zmiennej. A gdy jej wartość będzie oznaczać upływ 60 sekund zerować ją i wysyłać dane.

Nie musisz mierzyć w każdym obudzeniu procesora. Możesz zrobić licznik przebudzeń i odpalać pomiar np. w co 10. Wtedy bez poważnych modyfikacji (timer watchdoga nie ma dłuższych czasów pracy - stąd ograniczenie do 8s) możesz robić pomiary rzadziej. Co z nadajnikiem i czujnikiem oraz ich usypianiem? Co z zakresem pracy czujnika, jak pisał Elvis? Wystarczy?

EDIT: Pisaliśmy razem 🙂

OK, tak zrobię. Rozumiem. To teraz takie pytanie: czy ta komenda LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF) nie odcina również zasilania do czujnika i nadajnika? Ponieważ dokonując pomiarów multimetrem wychodzi mi, że w czasie wstrzymania wszystko razem pobiera 7,4mikroA...(co jest wynikiem zadowalającym)

Zakres pracy czujnika jest wystarczający, ma to być tylko dodatkowa informacja o temperaturze, a nie wyrocznia 🙂

Czy mam rozumieć, że pytasz osoby które nigdy nie widziały schematu Twojego urządzenia o to, czy jakaś funkcja z jakiejś biblioteki (która nota bene także niewiele wie o Twoim systemie) odpowiednio macha pinami procesora i wprowadza dołączone układy peryferyjne w stany obniżonego poboru mocy?

Hm.. to może przy okazji odpowiesz mi na pytanie dlaczego ciągi znaków wysyłane przez procesor prostą funkcją put_string() nie dochodzą do licznika elektrycznego (podłączonego przez interfejs izolowanej pętli prądowej 20mA) stojącego u mnie na biurku? Wiesz, coś za coś: telepatia za wróżenie z fusów.

W sprawie czujnika nie chodzi o wyrocznię (czyli jak rozumiem dokładność pomiaru) tylko o to, czy wynik będzie mieścił się w zakresie pracy. Nie wiemy gdzie czujnik zainstalujesz. Jeśli na wyjściu wody z pieca to OK, zwykle czujniki półprzewodnikowe mierzą do 120°C i wtedy 18B20 raczej wystarczy. Gdybyś jednak chciał mierzyć coś wyżej (napisałeś: "..przy piecu"), wtedy musisz rozejrzeć się za inną metodą pomiaru. Wiesz dużo więcej o swoich planach i stanie projektu niż my i dopóki nie podzielisz się tą wiedzą publicznie nie dziw się, że ludzie którzy siedzą w elektronice od lat pytają i zwracają uwagę na rzeczy, które Tobie mogą umykać.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...