Elektroda.pl
Elektroda.pl
X
PCBway
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

dasej 11 Sie 2019 23:10 2157 14
  • Witam.

    Chciałbym dzisiaj zaprezentować bezprzewodowy termometr na procesorze Attiny1614SSN Link
    Z dokumentacji wynika że można wprowadzić procesor w stan uśpienia i wybudzić go przy pomocy pracującego stale RTC z poborem prądu 0.7uA dla zasilania 3.0V

    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Oczywiście jest to prawda i taki wynik uzyskałem dla baterii 3.6V
    Następnie dołożyłem układ radiowy RFM69 i czujnik temperatury MCP9800. Co widać na poniższym schemacie.

    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Poprzednią wersję zrobiłem na Atmega328P.

    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Jak widać jest znacznie większa od tej nowej wersji i pobiera więcej prądu.

    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Oczywiście, PCB jest domowej roboty, i ma jeszcze podpięte gold-piny do pomiaru prądu i programowania przez UPDI.

    Wersja na Atmega328 została polakierowana i dla testów całą zimę wisiała za oknem.
    Nowa wersja programowo nie różni się niczym ( tylko peryferiami ) od poprzedniej ale dzięki ultra oszczędnemu wewnętrznemu zegarowi 32768 Hz
    oraz układowi który go budzi RTC możliwe było obniżenie poboru prądu w stanie spoczynkowym z 2.5uA do 0.9uA.

    Trzeba przyznać że w tym zakresie zrobili duży postęp przy nowych wersjach procesorów.
    Jak ktoś będzie maiła potrzebę robić urządzenie zasilane bateryjnie to gorąco polecam procesory tej nowej serii. Identyczne parametry uzyskali dla procesora Atmega4809 ( tego jeszcze doświadczalnie nie sprawdziłem ).

    Z wyliczeń teoretycznych poboru prądu i czasu uśpienia wychodzi mi że bateria spokojne wytrzyma 10 lat. Pewnie szybciej dojdzie do samo rozładowania jak będzie narażona na duże spadki temperatury zimą.

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    dasej
    Poziom 31  
    Offline 
    dasej napisał 1520 postów o ocenie 140, pomógł 132 razy. Mieszka w mieście Słupsk. Jest z nami od 2008 roku.
  • PCBway
  • #2
    osctest1
    Poziom 12  
    dasej napisał:
    możliwe było obniżenie poboru prądu w stanie spoczynkowym z 2.5uA do 0.9uA.
    interesujące szczególnie że sam termometr pobiera ok 1uA + od .1 do 1uA radio + .7 uK co równa się zdecydowanie 0.9uA
  • PCBway
  • #3
    dasej
    Poziom 31  
    @osctest1
    Bardzo ciekawe!
    Piszesz o prądach maksymalnych a nie typowych. Dane z pierwszej strony datasheet.

    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Gdyby było inaczej to jakim cudem podzielniki ciepła wiszą na grzejnikach po 10 lat.
    W przypadku podzielnika kiedy bateria jest dogrzewana a nie mrożona to jest możliwe
    osiągnięcie tylu lat pracy.

    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Poniżej dołączam kod umożliwiający uśpienie samego procesora ( bez jakichkolwiek podłączonych elementów do pinów bram procesor)

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Nie bardzo rozumnie podciąganie pinów w bramach do zasilanie ale tak robi to producent, bez tego pobór prądu jest wyższy.
  • #4
    Hydralisk
    Poziom 14  
    dasej napisał:
    Z wyliczeń teoretycznych poboru prądu i czasu uśpienia wychodzi mi że bateria spokojne wytrzyma 10 lat. Pewnie szybciej dojdzie do samo rozładowania jak będzie narażona na duże spadki temperatury zimą.



    Jak często wybudzany jest procesor, i jak długo trwa transmisja przez RFM? Ile prądu pobiera RFM podczas transmisji radiowej?
  • #5
    gregrzesiek
    Poziom 13  
    dasej napisał:
    Nie bardzo rozumnie podciąganie pinów w bramach do zasilanie ale tak robi to producent, bez tego pobór prądu jest wyższy.

    Gdy dąży się do obniżenia poboru prądu na poziomie mikroamperów, wejścia powinny być w stanie ustalonym, nawet nie koniecznie musi być to '1', chociaż zależy to od wewnętrznej budowy danego pinu.
    Wynika to z tego, że wiszące wejście będzie działać jak antena, a tranzystory wewnątrz układu zadziałają jak odbiornik radiowy. Takie wejście będzie przełączać się losowo między stanem wysokim a niskim powodując dodatkowy pobór prądu.
    Jeśli są to piny działające jako wejścia - stan na nich powinien być ustalony. Jeśli są to wiszące piny, należy przestawić je jako wyjścia i wymusić na nich '1' lub '0'.
  • #6
    dasej
    Poziom 31  
    @Hydralisk Tak to sobie obliczyłem.
    RFM69W-433S2 przy pełnej mocy nadawania zaokrągliłem w górę do 50mA

    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Nadawanie co 10 sekund rozmiar paczki 23 bajty.

    Bitrate - 115200 / 8 bitów co da 14400 bajtów na sekundę / ( 23 + preambuła + CRC ) ~ 30 bajty czyli 480 paczek / sekundę.
    czas jednej paczki to 1/480 = 0,002083 sekundy * 50mA = 0,10415 mA/s
    Pojemność baterii to 1,2 A/h * 1000 ( mA ) = (1200 mA/h) * (3600 sekund ) = ( 4320000 mA/s ) / ( 0,10415 mA/s ) da nam = 41478636 paczek na całe pojemność baterii 1,2A/h

    ( 6 paczek / minutę ) * ( 60 minut ) = 360 * 24h = 8640 na dobę * 365 = 3153600 paczek / rocznie.
    41478636 / 3153600 daje 13,1 roku i bateria wyeksploatowana.

    Pozostaje obliczenie zużycia prądu w stanie sleep.
    1,2A/h * 1000000 ( uA ) * 3600 ( sekund ) daje 4320000000 uA/s
    ( 4320000000 uA/s ) / ( 1uA/s ) / (3600 sekund ) / ( 24h ) / ( 365 dni ) = 136 lat ( wynik przekraczający czas samo rozładowania baterii )

    Mam nadzieję że zrozumiałeś mój tok myślenia.
    Dlatego podałem że 10 lat bateria powinna spokojnie wytrzymać, to oczywiście wyliczenia teoretyczne. A jaka jest prawda?

    Dodano po 3 [minuty]:

    @gregrzesiek Ok. Jest to jakieś wytłumaczenie.
    Taka sytuacje nie występowała w Atmega328 ale to inna technologia.
  • #7
    Hydralisk
    Poziom 14  
    Dzięki za wyjaśnienie. Wydaje mi się, że w twoich obliczeniach nie jest uwzględniony pobór prądu przez mikrokontroler po wybudzeniu. Ale chyba nie będzie on mocno wpływał na wynik końcowy. Jak długo zajmuje układowi MCP9800 pomiar temperatury? Czy procek jest usypiany na czas pomiaru?
  • #8
    dasej
    Poziom 31  
    Z datasheet. Operating Current: 200 μA (typical)
    Procesor stale pracuje. Dodatkowo wykonuję jeszcze pomiar baterii przy pomocy ADC.
    Planuję jeszcze obniżyć zegar procesora. Wersja Atmega328 pracowała z zegarem 8 MHz.
    Zobaczę jakie w tym względzie możliwości ma Attiny i na co pozwoli program.
  • #9
    leonow32

    Poziom 30  
    Wielki plus za zastosowanie współczesnego procesora, a nie oklepane i od lat przestarzałe ATtiny13, 2313, ATmega8/16/32/328

    Warto wspomnieć też, że nowe AVR są nawet kilkukrotnie tańsze od starych zabytków.
  • #10
    dasej
    Poziom 31  
    @leonow32 Nasz rację. Jednocześnie "trenuję" Atmega4809 i już wiem że zamiast Atmega328 będę jego stosował.
    Cena i możliwości przemawiają za ATmega4809. Jedyny minus jak na razie to cena programatora, ale to jednorazowy wydatek.
  • #11
    leonow32

    Poziom 30  
    Najtańszy programator (i debugger!) jest w tej płytce za 19,28zł netto
    https://pl.farnell.com/microchip/dm320115/cur...ano-eval-board-8-bit/dp/2932048?st=ATmega4809

    Wystarczy przeciąć jedną zworkę i można nim programować wszystkie scalaki z UPDI. Żeby było ciekawiej, na pokładzie mamy USB/UART i napięcie zasilania regulowane przez Atmel Studio.
  • #12
    tmf
    Moderator Mikrokontrolery Projektowanie
    leonow32 napisał:
    Wystarczy przeciąć jedną zworkę i można nim programować wszystkie scalaki z UPDI.

    Jesteś pewien, że wszystkie? Bo np w eXplained zrobili tak, że programować można tylko procek o takiej samej sygnaturze jak procek na płytce. Czyli ten sam model. Jeśli zrezygnowali z tego idiotyzmu, to wielki plus dla Microchipa.
  • #13
    leonow32

    Poziom 30  
    Jestem na 100% pewien. Dzięki temu w płytce XNANO wymieniłem ATtiny416 na 1616 :)
    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Jest tylko jedna głupota, którą trzeba obejść. Domyślnie programatory wbudowane w płytki mają zapisany model procesora, który mają programować (tak jak piszesz), a cała reszta jest schowana. Trzeba wejść w Tools / Options, a następnie w zakładce Tools jest opcja Hide Unsupported Devices, która domyśłnie jest ustawiona na true. Trzeba to zmienić na false i możemy cieszyć się oryginalnym programatorem i debuggerem za 20zł obsługującym wszystkie procesory UPDI. Bye bye, usbasp leci do śmietnika...

    Dokładnie ten sam numer można zrobić ze starszymi płytkami eXplained, które wykorzystywały debugWire.

    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA
  • #14
    yugo000
    Poziom 3  
    Zastanowiłbym się nad wymianą kondensatora elektrolitycznego, po kilku latach może się okazać, że to on pobiera najwięcej prądu w tm układzie ;).