Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 30 sty 2025, o 18:03


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 6 sty 2014, o 23:55 
Offline
Nowy

Dołączył(a): 15 gru 2012
Posty: 23
Pomógł: 0

Witam,

Przejrzałem wszystkie wątki tutaj - ale nic podobnego nie znalazłem - stąd pozwalam sobie zapytać.

Chciałym zbudować prosty logger, który miałby zapisywać na kartę SD dane - data oraz temperaturę i wilgotność.
Cały system musi pracować na baterii (idealnie na 2 akumulatorkach AA rok albo dłużej).

Nie widzę potrzeby stosowania petitfs, wystarczy tak zwany tryb zapisu surowego RAW - potem po stronie komputera użyję programu który te dane odczyta i zanalizuje. uC powinien budzić się raz na 3-5 minut dokonać odczytu i usypiać (aby max oszczędzać energię).

Myślałem o Attiny13A (może być bardzo energoooszczędny) - ale obawiam się, że trudno będzie pomieścić tam wszystko.

Kiedyś pisałem trochę w ASM - uC to dla mnie nowość, więc proszę o wyrozumiałość.

Pozdrawiam w Nowym Roku.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 sty 2014, o 23:59 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 20 sie 2013
Posty: 795
Lokalizacja: Poznań
Pomógł: 59

W sumie to o co pytasz - o kod, o to, czy procek odpowiedni czy jak?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sty 2014, o 00:08 
Offline
Nowy

Dołączył(a): 15 gru 2012
Posty: 23
Pomógł: 0

icer_cmg napisał(a):
W sumie to o co pytasz - o kod, o to, czy procek odpowiedni czy jak?


Raczej o hardware - głównie procek - program postaram się napisać sam (będzie motywacja do nauki).
Widziałem podobny projekt z PetiFS ale na attiny84 (sam petitfs to parę k kodu). Zastanawiam się czy przy zapisie RAW uda się zejść na coś jeszcze mniejszego.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sty 2014, o 10:33 
Offline
Użytkownik

Dołączył(a): 05 lut 2013
Posty: 302
Pomógł: 19

Ja bym osobiscie zostal przy serii Atmega. W sieci mozna znalezc wiele poradnikow jak uzyskac mala pradozernosc na tych procesorach.
Pamietaj, ze sam procesor to nie wszystko, karta SD i czujnik/i beda ciagnac zapewne wiecej niz sam procesor.

------------------------ [ Dodano po: 1 minucie ]

I linki:
https://www.sparkfun.com/tutorials/309
http://jeelabs.org/2012/06/23/low-power ... rspective/
http://www.open-homeautomation.com/powe ... vs-atmega/



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sty 2014, o 12:42 
Offline
Nowy

Dołączył(a): 15 gru 2012
Posty: 23
Pomógł: 0

charsz napisał(a):
Ja bym osobiscie zostal przy serii Atmega. W sieci mozna znalezc wiele poradnikow jak uzyskac mala pradozernosc na tych procesorach.
Pamietaj, ze sam procesor to nie wszystko, karta SD i czujnik/i beda ciagnac zapewne wiecej niz sam procesor.


Tak pamiętam - dzięki za podpowiedzi - nawet byłem parę razy na jeelabs ale nie znalazłem tego wątku ap atmega z końcówką P.
Co do peryferiów to kartę SD będę odcinał prądowo i inicjalizował na nowo przed kolejnym zapisem. Procek chciałbym wybudzać rzadko - najchętniej przez WDT (watch dog timer) - nie mam pomysłu jak możnaby to zrobić z zewnętrzenego przerwania bo dane będą napływały non stop z czujek.

Ale racja 0.1uA przy wyłączonym WDT i 4uA przy włączonym - skoro samorozładowanie baterii Eneloop (takie mam użyć) jest na poziomie 17uA - nie będzie miało tak wielkiego znaczenia. A przy takiej atmedze to można użyć systemu plików bez problemu, zmniejszyć zapisy (pisać do RAM - jak się zapełni dopiero na kartę SD - w międzyczasie kartę odłączać jak pisałem wyżej: http://harizanov.com/2012/05/tinysensor ... -solution/ )

Akurat harizanov wszystko w sumie co potrzebuję robi na Attiny84 - muszę się temu przyjrzeć :)

To już mam jakieś kierunki działania - dzięki za podpowiedzi.

------------------------ [ Dodano po: 52 minutyach ]

A przy okazji zapytam (bo widzę, że dużo prądu oszczędza się wyłączając Brown Out Detect [BOD]) - czymś to grozi jeśli procesor będzie zasilany stabilnie z bateryjki?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sty 2014, o 14:40 
Offline
Użytkownik

Dołączył(a): 05 lut 2013
Posty: 302
Pomógł: 19

martii napisał(a):
A przy okazji zapytam (bo widzę, że dużo prądu oszczędza się wyłączając Brown Out Detect [BOD]) - czymś to grozi jeśli procesor będzie zasilany stabilnie z bateryjki?


Specem nie jestem, ale bateryjka kiedys sie rozladuje i napiecie moze spasc poznizej wartosci bezpiecznej.
Co sie moze stac ? Conajwyzej zepsuty zapis do pamieci eeprom/flash lub na karte.

Pamietaj, ze mozesz wylaczyc BOD przed udaniem sie na spoczynek i wlaczyc po wybudzeniu.


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sty 2014, o 19:05 
Offline
Nowy

Dołączył(a): 15 gru 2012
Posty: 23
Pomógł: 0

Cytuj:

Specem nie jestem, ale bateryjka kiedys sie rozladuje i napiecie moze spasc poznizej wartosci bezpiecznej.
Co sie moze stac ? Conajwyzej zepsuty zapis do pamieci eeprom/flash lub na karte.

Pamietaj, ze mozesz wylaczyc BOD przed udaniem sie na spoczynek i wlaczyc po wybudzeniu.


Napięcie będzie raczej stabilizowane (3,3V) mam na oku bardzo energooszczędny step up konwerter. Z tego co piszą o nim trzyma napięcie świetnie aż do ostatniego tchnienia baterii.

Przy okazji uprzedziłes mnie, bo moim kolejnym pytaniem miało być czy mogę BSD, ADC oraz całą prądożerną cześć procka wyłączyć przed zaśnięciem, a włączyć po wybudzeniu. Nie zależy mi na jakiś szybkich pomiarach ale ADC będę musiał użyć.

I jeszcze jedno skoro jesteśmy przy temacie. Czy wystarczy spadek napięcia na termistorze czy mimo w szystko polecacie zrobić dzielnik napięcia? (każdy dodatkowy rezystor będzie jednak chyba zjadał prąd.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sty 2014, o 21:20 
Offline
Użytkownik

Dołączył(a): 05 lut 2013
Posty: 302
Pomógł: 19

Wrozki i telepaci na forum obok ;)
Nie wiem czy bede Ci w stanie pomoc dalej przy konkretnych pytaniach ale zdaje mi sie ze powinienes podac wiecej konkretow. Zgaduje ze nie masz wszystkiego juz wymyslonego wiec takie przelanie na "papier" tego co masz w glowie pomoze i Tobie i ewentualnym pomagierom ;)

Pytania pomocnicze:
Co dokladnie zamierzasz mierzyc i w jakiej dokladnosci.
Jaka ma byc czestosc logowania.
Czy tylko jeden pomiar czy kilka pod rzad zeby srednia wyliczyc?
Zasilanie: jakie baterie/akumulatory
Jesli stepup to czy tylko do karty SD czy tez do uC.
Jakie czujniki zamierzasz zastosowac?
Czy potrzebna ci dokladnosc czasu pomiaru?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2014, o 11:40 
Offline
Nowy

Dołączył(a): 15 gru 2012
Posty: 23
Pomógł: 0

Pytania pomocnicze:
Co dokladnie zamierzasz mierzyc i w jakiej dokladnosci.
- Temperatura (termistor podpięty do ADC) + prędkość wiatru (kręciołek z kontaktronem)

Jaka ma byc czestosc logowania.
- co 3-5 minut - ale przy obecnej pojemności kart to i co 1 min będzie dobrze - tyle że nie poatrzebuję, aż takiej dokładności.

Czy tylko jeden pomiar czy kilka pod rzad zeby srednia wyliczyc?
- Wiatr na kontaktronie to trzeba poczekać 2-3 sek aby cokolwiek się dowiedzieć - a temperatura tylko raz

Zasilanie: jakie baterie/akumulatory
- AA eneloop - sztuk 3 jak teraz widzę najlepiej się sprawi (forum jeelabs)

Jesli stepup to czy tylko do karty SD czy tez do uC.
- myślę, że dla obu - procesor zawsze pewniejszy na stabilnym napięciu chyba? Przy 3,3V powinno wszystko chodziić fajnie - nie będę się skupiał na zejściu do 1,8V. Chociaż teraz to sam nie wiem czy stepup - bo widzę są stabilizatory które biorą po 2uA - a taki stepup bierze chyba 7. Więc lepiej 3-4 paluszki i ok 5V stabilizować na 3.3V przy poborze 2uA niż stepup (1-2 AA) i pobierać z tego zestawu 7uA.

Jakie czujniki zamierzasz zastosowac?
- jak wspomniałem - kontaktronowy miernik wiatru (2 pyknięcia kontaktronu na obrót) oraz termistor 10k przy temp 20st C

Czy potrzebna ci dokladnosc czasu pomiaru?
- Nie jest mi potrzebna dokładność czasu pomiaru jakaś kosmiczna - nawet jeśli RTC procka po roku się spóźni 10 min to nie ma znaczenia. Chociaż to wcale nie jest koniecznie - pomiary można numerować - jak wiem że są robione co np 3 min - to sobie zapisuję datę i czas odpalenia urządzenia i będę zgrubnie wiedział który pomiar kiedy był. Dlatego zastanawiam się głośno czy muszę na kartę SD pisać do systemu plików - czy nie lepiej pisać RAW, zapewne sam program będzie dużo krócej działał bez uruchamiania tych paru tysięcy linijek kodu w C chociażby dla samego petitfs. A to oznacza że szybciej mogę go w uśpienie wpuścić. Przy 1 cyklu to pewnie nie różnica ale po roku to będzie to 175 tyś wybudzeń więc pewnie uzbiera się spora oszczędność.

Dzięki



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2014, o 12:36 
Offline
Użytkownik

Dołączył(a): 05 lut 2013
Posty: 302
Pomógł: 19

Zanim zastanowie sie nad opowiedzia szybkie pytanie, wilgotnosc wypadla z projektu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2014, o 17:39 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2591
Pomógł: 128

Tez mialem Ci eneloopy zasugerowac. Uzywam ich juz troche i bardzo sobie chwale. Wybierz serie UTGB :)

Sent from my mobile.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2014, o 19:54 
Offline
Nowy

Dołączył(a): 15 gru 2012
Posty: 23
Pomógł: 0

charsz napisał(a):
Zanim zastanowie sie nad opowiedzia szybkie pytanie, wilgotnosc wypadla z projektu?


Wilgotność czy temperatura z termistora to ta sama chwała (zmienia się oporność ze zmianą wilgotności i temperatury) - jeśli poradzę sobie z temperaturą na termistorku to i z wilgotnością - ale oglądam powoli filmiki o ADC i wszystko staje się jasne i nie tak pogmatwane jak mi się wstępnie wydawało.

A jeśli chodzi o akusy to tak Eneloop UTGB mam - sprawdzają się w wielu zastosowaniach - także jestem pewny, że tutaj się spiszą też dobrze.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2014, o 20:47 
Offline
Użytkownik

Dołączył(a): 05 lut 2013
Posty: 302
Pomógł: 19

O ile do zasilania procesora i karty pamieci mozna spokojnie uzyc 2xAA Eneloop bo spadku napiecia wraz z rozladowywaniem nie trzeba sie az tak bac.
Przy dwoch bateriach bedziesz mial 2.8 V (w pierwszych sekundach rozladowywania baterii) do 2V, no moze 1.8V.

Karty SD trzymajace specyfikacje SD powinny dzialac przy takim napieciu.

Problem za to widze z zasilaniem termistora bez stabilizatora.
Zeby odczytac poprawna temperature bedziesz musial zmierzyc napiecie zasilania i spadek napiecia na termistorze i odpowiednio wyliczyc.
Wiec stabilizator, czy przetwornica stepup, moze okazac sie konecznia.


PS. Moje odpowiedzi sa czysto teoretyczne, nie robilem zadnych pomiarow i testow.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2014, o 21:47 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

charsz napisał(a):
Problem za to widze z zasilaniem termistora bez stabilizatora.
Zeby odczytac poprawna temperature bedziesz musial zmierzyc napiecie zasilania i spadek napiecia na termistorze i odpowiednio wyliczyc.
Wiec stabilizator, czy przetwornica stepup, moze okazac sie konecznia.
Niekoniecznie. Jak napięciem odniesienia będzie napięcie zasilania to jego zmiana nie zmieni wyniku. Przy pomiarach z dzielnika rezystancyjnego zawsze tak będzie. Przykładowo masz termistor, którego rezystancja w temperaturze 25 stopni wynosi 100k i utworzyłeś dzielnik z drugim rezystorem 100k. Jak to zmierzysz ADC10bit to dostaniesz wynik 512, a jak napięcie spadnie o 10% to nadal napięcie na dzielniku wynosi 1/2 napięcia zasilania i dalej będzie wynik 512.
Taki dzielnik napięcia dobrze jest zasilić z portu mikrokontrolera tylko na czas pomiaru ustawiając stan wysoki celem oszczędzania energii. Należy zwrócić uwagę aby nie obciążać takiego wyjścia (R dzielnika > 10k), bo wtedy napięcie maleje i zależy od temperatury (szczegóły można znaleźć w specyfikacji na wykresie: I/O pin output voltage vs. source current (VCC= 5V).)

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 sty 2014, o 22:23 
Offline
Nowy

Dołączył(a): 15 gru 2012
Posty: 23
Pomógł: 0

charsz napisał(a):
Problem za to widze z zasilaniem termistora bez stabilizatora.
Zeby odczytac poprawna temperature bedziesz musial zmierzyc napiecie zasilania i spadek napiecia na termistorze i odpowiednio wyliczyc.
Wiec stabilizator, czy przetwornica stepup, moze okazac sie konecznia.


To już sobie jakoś rozwiążę - to nie taki problem - najbardziej interesuje mnie pisanie do karty SD w trybie RAW - bo czuję, że tu można zaoszczędzić sporo miejsca we flash, przez co można zastosować coś mniejszego 8 nóżkowego zamiast np takiej atmegi, którą mi poleciłeś (za co dziękuję bo to bardzo ciekawe).

Takie trochę moje na siłę dążenie do miniaturyzacji układu oraz zużycia zasobów - ciągle piję do Attiny ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO