Elektroda.pl
Elektroda.pl
X
Elektroda.pl
AdexAdex
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 4236 25
  • 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 32  
    Offline 
    Specjalizuje się w: elektryka, programowanie delphi, mysql, php, mikroprocesory c
    dasej napisał 1781 postów o ocenie 194, pomógł 155 razy. Mieszka w mieście Słupsk. Jest z nami od 2008 roku.
  • AdexAdex
  • #2
    osctest1
    Poziom 21  
    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
  • #3
    dasej
    Poziom 32  
    @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.
  • AdexAdex
  • #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 32  
    @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 32  
    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.
  • #10
    dasej
    Poziom 32  
    @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 10  
    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 ;).
  • #16
    PiotrPitucha
    Poziom 33  
    Witam
    Co do tantali to potrafią wziąć więcej prądu niż opisywany termometr, zważywszy że zalecane pojemności w układach są niewielkie to można przetestować ceramiki, mam dużą serię 22uF ceramików na 50V w SMD 0805 od różnych producentów to pomierzę parametry,
  • #17
    yugo000
    Poziom 10  
    Chodziło mi o upływność kondensatorów elektrolitycznych. Nowe zawsze są ok, przynajmniej w domowych warunkach niemierzalne.
    Ja testowałem to tak:
    Podłączałem kondensator do baterii przez amperomierz. Po naładowaniu jeśli kondensator był sprawny, to multimetr nie pokazywał przepływu prądu. Przy starszych kondensatorach pokazywał te kilkadziesiąt, kilkaset uA, nawet do kilku mA jak kondensator był spuchnięty.
  • #18
    dasej
    Poziom 32  
    Kiedyś widziałem taki kondensator w urządzeniu które działało na podobnej baterii ( pojemnośćiowo ) produkowane
    na masową skalę i miało ponad 10 lat. Stale nurtowało mnie jak osiągnęli taki wynik, aż to zrobiłem.

    Podzielniki ciepła, wiszą na grzejnikach po 10 lat.
    Poniżej podzielnik Simensa.
    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Na tym foto niema wyświetlacza.
    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    Polska nakładka na wodomierze ( temat na Elekrodzie ) Link
    Kondensator o takiej pojemności jest potrzebny w chwili rozpoczęcie transmisji, szybciej oddają energię niż sama bateria.

    Jak będzie w czasie to pokaże samo życie. Oczywiście dokumentacje producenta nie podaje parametrów samo-rozładowania baterii. Może ktoś wie jak to wyliczyć?

    LS 14250_3...2-0909.pdf Download (429.98 kB)
  • #19
    TvWidget
    Poziom 34  
    Bateria litowa 14250 jaką wybrałeś przeznaczona jest do rozładowania małymi prądami. Jej żywotność w takich warunkach jest bardzo długa. Impulsy o dużym prądzie znacząco ją skracają. Producenci zalecają robienie po każdym takim impulsie długiej przerwy >1 min. Jest też seria seria wysokoprądowa tych ogniw o nieco mniejszej pojemności.
  • #20
    dasej
    Poziom 32  
    W LS14250 producent podaje.
    Termometr bezprzewodowy na Attiny1614 z RFM69 o poborze prądu 900nA

    google translator
    Kod: dos
    Zaloguj się, aby zobaczyć kod


    Piszą o 100mA i czasie 0.1 sekundy
    Ja biorę 45mA w czasie 0.002083 sekundy, a pierwsze "uderzenie" na siebie bierze kondensator. Natomiast prąd pomiędzy poborami impulsowymi to 0.9 uA, gdzie producent podaje 10uA.
  • #21
    TvWidget
    Poziom 34  
    Wspominałeś o wysyłaniu pakietów 6 razy na minutę a nie jednego co kilka minut.
    Czy zmierzyłeś jak w rzeczywistości zmienia napięcie na baterii w czasie pracy urządzenia ?
    Przyjąłeś stosunkowo wysoką prędkość bitową. Założyłeś też, że ten duży prąd jest pobierany tylko w chwili wysyłania danych. Myślę, że trzeba doliczyć jeszcze czas startu generatora, ustabilizowania się PLL itp.
    Ja w urządzeniach na 433MHz (100mA co 10 sek.) musiałem użyć baterii CR2. Dla 2.4GHz stosuję 14250.
  • #22
    dasej
    Poziom 32  
    Jak włączę radio i stale nadaję tą samą paczkę bez przerwy.
    To na mierniku mam pobór prądu 22mA. Do wyliczeń przyjąłem to co podaje producent układu 45mA.
    Nie wiem dlaczego mam taką różnicę, może kiepski miernik.
  • #23
    Karol966
    Poziom 30  
    leonow32 napisał:
    a nie oklepane i od lat przestarzałe ATtiny13, 2313, ATmega8/16/32/328


    Taka drobna ciekawostka, procesor 328P vs 328PB doś mocno się różni, na tyle mocno, że ten sam HEX może nie działać w obu prockach zamiennie (chociażby przez to, że PB ma 2x USART i są inne wektory przerwań) Poza tym wersja PB ma dwie lini I/O więcej no i jeszcze zdaje się kilka innych smaczków ale tylko te dwa zapamiętałem. Niby stary procek a lifting jak najbardziej korzystny.

    PS. Do autora, podoba mi się Twój projekcik. Prosty, rzetelnie opracowany :)
  • #24
    PiotrPitucha
    Poziom 33  
    Witam
    Karol966 napisał:
    Cytat:
    Taka drobna ciekawostka, procesor 328P vs 328PB doś mocno się różni, na tyle mocno, że ten sam HEX może nie działać

    A dlaczego miałby działać skoro to różne procesory? Rzeczywiście ma trochę więcej zabawek w strukturze i to mi się podoba, niestety jest bardzo wrażliwy na drobne piki na zasilaniu. Głupooporna płytka sterownika której nie udało mi się nigdy zawiesić po zmianie procesora na wersję 328PB bardzo często się resetuje. Muszę odczekać aż w handlu pojawią się stabilne procesory.
    dasej co to za kondensator ( firma, napisy na nim, napięcie itd. ) na zdjęciach które zamieściłeś. Wydaje mi się że to raczej 68uF a sposób opisu 680 czyli 68 i zero zer może być trochę mylący i powinno być 681 przy 680uF.
    Ze zdjęć nie daję rady odczytać a przydałby mi się kondensator o takiej pojemności i gabarytach :)
    Pozdrawiam