Czego nowego o NRFach się dowiedzieliśmy

Nettigo tinyBrd z RPI i NRF-Hat
Nettigo tinyBrd z RPI i NRF-Hat

Ostatnie tygodnie dużo testowaliśmy nasze tinyBrd. Po pierwsze, trzeba było dokładnie przetestować pobór prądu. Wprowadziliśmy kilka zmian w kodzie i już od pewnego czasu (od wersji Core 1.1b) udało się jeszcze obniżyć pobór prądu.

I tak od tej pory, w sleep całe tinyBrd + NRF24L01 (i DS18B20) pobierają prąd 4-5 µA (poprzednio 9-10 µA). W czasie nadawania pobór prądu spadł z ok 18 mA do 15 mA.

Jak się to ma do naszego wzorcowego przykładu, czyli wysyłania co 30 sekund temperatury z DS18B20 do RPi, zasilany tinyBrd z baterii CR2032?

Ano lepiej niż poprzednio. Dla przypomnienia – tinyBrd wytrzymywał około 7-8 dni. I podstawowym problemem okazał się DS18B20. Bo w nocie katalogowej ma, że poprawnie pracuje do 3V, ale w praktyce, co już na wielu egzemplarzach sprawdziliśmy działa dobrze do 2.5V (sam tinyBrd + NRF powinny pracować nawet z napięciem 1.9V). Więc napięcie z ok 3.1-3.2 na CR2032 zasilającym tinyBrd do wartości 2.5V spadało w ciągu 7-8 dni.

Na najnowszym tinyBrd Core, testujemy jeden egzemplarz, ale bateria nie byłą zupełnie nowa, więc napięcie na początku było 2.8V. Teraz po 5 dniach działania jest 2.75V :) więc test jeszcze trochę potrwa. Przygotujemy tez jeden taki zestaw z nową baterią by porównać dokładnie w takich warunkach jak poprzednio.

Co nowego z tym NRF?

Wiele razy dotąd się zastanawialiśmy co znaczy, że napięcie maksymalne zasilające NRFa to 3.6V, skoro wielokrotnie przypadkowo podłączaliśmy 5V do tinyBrd z NRFem a on nadal działał. Działo się tak np gdy podpinaliśmy USBASP z ustawioną zworką zasilania, wówczas tinyBrd dostawało 5V na zasilaniu. W datasheecie piszą maks 3.6V a on na 5V działa bez zająknięcia. Otóż nie do końca ;)

Przy okazji pomiarów poboru prądu w nowym tinyBrd Core wyszło trochę problemów. Otóż wyglądało na to, że funkcja sleep nie działa jak powinna. Po przejściu w uśpienie tinyBrd brał tyle samo prądu co przed, lub spadek był niewielki. Przez dłuższy czas nerwowo szukaliśmy przyczyn w kodzie, ale w końcu znalazła się ona gdzie indziej.

Wszystko wskazuje na to, że NRF potraktowany napięciem zasilania 5V zwykle działa nadal bez zarzutu – nadaje i wysyła dane, ale tryby uśpienia już nie są energooszczędne… Wymieniliśmy wszystkie nasze testowe NRF na nowe egzemplarze i pobór prądu zmalał zgodnie z oczekiwaniem. Od teraz bardzo się pilnujemy, by nie zasilić NRFa napięciem większym niż 3.6V.

Pamiętaj się by nie podłączać więcej niż 3.6V do tinyBrd z wsadzonym NRFem.

Co dalej? Szykujemy kolejną wersję Nettigo tinyBrd Core, tym razem chcemy dodać obsługę przerwań typu Pin Change. Dzięki temu tinyBrd może przebywać cały czas w trybie uśpienia, pobierając niewielką ilość prądu, a po jakimś zdarzeniu (np naciśnięciu przycisku, włączeniu się kontaktronu) wybudzi się i nada odpowiedni komunikat do centralnego punktu. Pierwsze testy są bardzo obiecujące ;)