Accelerometerlogger till microSD

Berätta om dina pågående projekt.
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Accelerometerlogger till microSD

Inlägg av adent »

Hejhopp!

Som ni kanske såg i senaste kretskortstråden http://elektronikforumet.com/forum/view ... 5#p1113719

Så gjorde jag ett kort för att logga accelerometervärden. Det fungerar bra med mitt 2GB's microSD. När vi skulle testa med svågerns betydligt större
kort så fungerade det väldigt dåligt. Filerna skapades för det mesta, men förblev tomma.

När jag tog hem det och började testa mera så kom jag fram till följande:

Processorn på full fart och filen konstant öppen på microSD:

2GB microSD drar väldigt lite ström (nån enstaka mA) Blippar till ibland med högre ström
4GB microSDHC drar väldigt mycket ström (ca 30mA)
16GB microSD(XC/HC?) drar ca (10mA)

Värdena ovan är förstås nån form av medelvärden. De bägge stora korten fungerar väldigt dåligt. Men kör jag med labbaggregatet istället
för ett CR2032-batteri så fungerar det bra. D.v.s. så vitt jag kan fatta är mjukvaran korrekt.

Jag arbetade om det hela nu så att mätvärden buffras till RAM och sedan öppnas filen, allt skrivs ner i en blaffa och filen stängs.
På så vis skickas det nån form av idle-kommando till SD-korten så de går ner och drar lite (mindre än 1mA?).

På kortet hade jag först 2st 100nF och en 22uF elektrolyt. Nu har jag 2st 100nF som avkoppling till processor. Jag har 2st 10uF nära SD-kortet och en elektrolyt på 47uF. Men det verkar inte hjälpa. Provade att lasta ner ett CR2032-batteri med ca 30mA och spänningen sjönk rätt snabbt ner under 2.6V.

Ska testa samma lasttest på ett friskt CR2032... Det tar några sekunder innan spänningen sjunker ner till 2.6V med 50mA last. Kanske drar SD-kortet mycket mer kortvarigt, men kondensatorerna borde orka med.

Jag ska testa och mäta mera. Men om nån har erfarenhet av att driva microSD med CR2032 får ni gärna säga till :)
Jag har provat att mäta med oscilloskop, men tycker mig inte kunna se några dippar i spänningen.

MVH: Mikael
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Accelerometerlogger till microSD

Inlägg av adent »

Mäter vidare!

Fakta: Om ett CR2032 håller 220mAh = 792 000 000uAs.

Skrivning till fil sker ungefär var 4:e sekund enligt koden nedan. 512 bytes skrivs varje gång.

Kod: Markera allt

	res = f_open(&f, filename, FA_OPEN_ALWAYS | FA_WRITE);
	f_lseek(&f, f_size(&f));
	f_write(&f, (unsigned char *)&buf[buffer][0], buf_index, &written);		
	f_close(&f);
2GB-kortet SD

Vanligtvis tar hela proceduren ovan strax under 20ms (vad jag ser på strömförbrukningen)
men var 8:e gång tar det ca 40ms. Ännu mer sällan lite till, troligen beroende på att man passerar
vissa gränser så filsystemet måste göra mer.

Jag mäter spänningen över ett 1ohms-motstånd som sitter i serie med batteriet == Spänningen jag ser på oscilloskopet i Volt bör vara samma som strömmen i Ampere.

Förbrukningen per sparning snittar på strax under 400uVs == 400uAs.
400uAs var 4:e sekund motsvarar snittförbrukning över tid på 100uA.

Mäter jag även batteriets spänning samtidigt ser jag att det dippar ner till ca 2.5V som sämst, vilket onekligen är lite för lågt för ett SD-kort, men 2Giggaren verkar inte så kinkig på det.

4GB-kortet SDHC

Ska prova att mäta 4Gigs SDHC-kortet också (provade det först och det verkar dra som mest 93mA, men en väldigt kort stund ~200us, en snabb koll på inspelad data säger att det drar 1400uAs per sparning. Detta på CR2032-batteri när det bara blir en tom fil.)

Kör det på labbagget nu. Snittar på runt 900uAs per skrivning och strömmen är som mest ca 78mA. Oj, där kom en rejäl strömförbrukning. Kör lite segment-triggning och den verkar komma var 64:e gång. Strömmen är runt 90mA och förbrukningen är minst 7100uAs, nytt test, 9170uAs och varar i 160ms.



MVH: Mikael

Edit: uppdaterar med vad jag kommer fram till.
xxargs
Inlägg: 10189
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: Accelerometerlogger till microSD

Inlägg av xxargs »

SD-kort har en garbagecollector och en sektorreallokerare precis som en SSD-disk och det är troligen denna du ser i arbete och raderar block per 4 kB som bränts färdigt och därmed drar mer ström per åttionde block som skrivs.

större SD-brickor så är dessa block större (16, 32 64 kB etc.) och drar mer energi när dessa arbetar men med längre tid mellan gångerna.

Under bränning så är ett helt sådant block aktivt när cellerna i dessa skrivs vilket gör att ju större blocken är ju mer ström drar det även om själva skrivströmmen för just cellerna som programmeras kanske inte är större, men det är mycket mer aktiva kretsar som är igång på en gång och är utsätta för skrivspänningar och läcker ström.

Att använda en CR2032 är kanske på gränsen pga. dess begränsade strömförmåga och relativt höga inre resistans när lite större SD-minnen används - finns det plats så kanske man kan titta på CR123A-batterier istället med 1200 - 1400 mAh och definitivt större strömförmåga då att lägga på stora kondingar för att fortsätta med CR2032 tar också plats och troligen blir större i storlek än sagda CR123A för att få en säker funktion
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Accelerometerlogger till microSD

Inlägg av Lennart Aspenryd »

En mycket bra händelsedokumentation som jag tror kan vara nyttig för flera av oss.
Tack för insatsen säger Lasp
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Accelerometerlogger till microSD

Inlägg av adent »

Jo jag visste ju att CR2032 har hög intern resistans när jag gav mig in på detta, men jag hoppades att klara mig ändå. Men det är uppenbart på gränsen tyvärr... Innan jag satte igång testerna ovan provade jag med lite kondingar över CR2032:an och med 2200uF så funkade faktiskt 4Gigaren, om jag minns rätt.

Å andra sidan är just 4gigskortet troligen rätt gammalt, Jag vet att den moderna 16Gigaren drar mycket mindre (1/3 kanske). Men även om det funkar några minuter med ett friskt CR2032 så kan det ju vara så att spänningen dippar för mycket redan efter en 10-40 minuter eller så och då har jag inte mycket glädje av kvarvarande kapacitet i batteriet. (Dags att göra/googla nån form av urladdningskurva för CR2032). (Jag kör med Ikeas CR2032 kanske inte de bästa i världen?)

MEN, jag har kört minst 75 minuter på ett CR2032-batteri med 2Gig:aren (ej SDHC) och det var före alla strömbesparingsåtgärder.

Man kan inte förbättra konstruktionen så att man tål CR2032 med högt internt motstånd på något vis (ja förutom med en riktigt fet kondensator)?

Edit: Har skummat igenom denna, verkar oerhört läsvärd, ska läsa mer i detalj imorgon: The impact of high pulse drain on CR2032 coin-cell battery capacity http://www.eetimes.com/document.asp?doc_id=1279311
(PDF:en som länkas på sidan alltså).

MVH: Mikael
xxargs
Inlägg: 10189
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: Accelerometerlogger till microSD

Inlägg av xxargs »

Om man tittar på http://www.ti.com/lit/wp/swra349/swra349.pdf så är det tydligen väldigt stora skillnader mellan tillverkare, speciellt för de som inte ståtar med eget märke, så det finns stor risk att Ikea batterierna inte är top notch...

Det som var bäst var sony, panasonic och maxell medans GP gjorde ganska dåligt ifrån sig och på samma nivå som de kallar 'noname' med i stort sett 50% av den uppgivna kapaciteten medans Sony levererar nära 100% och över detta med 100 µF hjälpkapacitans

till detta så kan det vara intressant att prova fram hur låg spänning SD-minnet kan arbeta med och om det varierar mellan olika typer av SD.

Förmodligen så är det inbyggd laddningspump som skapar spänningen för programmeringen (> 10 Volt) och är ingående spänning för låg så blir programmeringsspänningen också för låg och den lyckas inte med programmeringen.

Frågan är om SD har någon felhantering som rapporterar tillbaka om den inte lyckas med bränningen och om denna är åtkomlig för OS etc. utifrån. Det farliga är att dessa har inbyggd ram och det är inte säkert att en återinläsning direkt efter skrivning påvisar misslyckade skrivningen utan kanske måste läsa runt på andra block ett tag innan man försöker läsa den nyss skrivna blocket igen
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Accelerometerlogger till microSD

Inlägg av Lennart Aspenryd »

Av en händelse sprang jag på! Sicket uttryck när det gäller nätet! en artikel om strömförbrukning
Eftersom SD är med kanske den kan vara intressant! Undrar Lasp

http://hardware-libre.fr/2014/06/raspbe ... rformance/
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Accelerometerlogger till microSD

Inlägg av adent »

Man googlar och var hamnar man? Här förstås :)
xxargs: Kanske drar vi förhastade slutsatser? Kanske skiljer det mycket om man belastar dem hårdare.

Från en annan tråd:
AndLi skrev:Jag roade mig med att testa ett sådant pack över jul/nyår och kan konstatera att de är över förväntan

Väldigt liten spridning mellan batterierna, snygg hög spänning i urladdningskurvan.

Batterierna lastades med 5k6Ohm konstant

166.9 mAh @ 2.65V
192.1 mAh @ 2.5V
216.5 mAh @ 2.0V
Får göra ett eget lasttest med högre ström. Fast vad som vore mer intressant vore att få lite data på olika micro-sd-kort nya och gamla. Hur mycket ström de kan dra, hur länge och vid vilken spänning de behagar lägga ner verksamheten...

MVH: Mikael
Användarvisningsbild
netrunner
Inlägg: 5510
Blev medlem: 4 februari 2005, 12:26:05
Ort: 127.0.0.1

Re: Accelerometerlogger till microSD

Inlägg av netrunner »

Accelerometern och micro-SD kortet är ju ganska "stora" komponenter i alla fall ... så kanske två batterier kan fungera?

Då halverar du ju inre resistansen.
xxargs
Inlägg: 10189
Blev medlem: 23 september 2006, 14:28:27
Ort: Södertälje

Re: Accelerometerlogger till microSD

Inlägg av xxargs »

Det sistnämnda tror jag ger mer än att testa batterier - batterier kan alltid hjälpas med elektrolytkondensatorer - frågan är vid vilken punkt storlek på kondingen då en CR123A är ett bättre alternativ än CR2032 + elektrolytkonding, CR123A har ju väldigt mycket mer yta än en knappcell i och med att elektroderna är spirallindad.

Det kan vara så att en praktisk gräns är typisk 2GB om det skall drivas av CR2032 då större minne trots allt har mer skrot aktivt vid en programmering då större minnesblock är aktivt och drar mer ström


att i sekvens bränna flera GB på en 8GB SD i en dator (för att tex. programmera in en rasp-image) så brukar brickan vara ganska varm efteråt, att programmering drar en hel del effekt ser man med detta.
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Accelerometerlogger till microSD

Inlägg av adent »

netrunner: funderade också på det men. kollade lite efter CR2040 istället för 2032 (min hållare verkar klara det) men de verkar sällsynta, ger nog inte så mycket mer.

xxargs: Jaa, fast samtidigt så drar min moderna 16gigare mycket mindre än 4-gigaren. Ska testa den! Nu, och sen sova :) Nope, funkade inte heller.

Hmm hittade ett random datablad/gammal SD-spec:

"Support SD system specification version 1.1
Support Capacity : 16MB / 32MB / 64MB / 128MB / 256MB / 512MB
Voltage range : Basic communication (CMD0, CMD15, CMD55, ACMD41) : 2.0 - 3.6V.
Other command and memory access : 2.7 - 3.6V."

Jag bor ju precis på gränsen där. Jaja, får tänka om :) (Fast med gamla kort funkar det förstås :)

MVH: Mikael
Användarvisningsbild
Lennart Aspenryd
Tidigare Lasp
Inlägg: 12607
Blev medlem: 1 juli 2011, 19:09:09
Ort: Helsingborg

Re: Accelerometerlogger till microSD

Inlägg av Lennart Aspenryd »

Hur mycket plats tar en vanlig runda i skogen då?
Ser du kanske inte skogen för bara trän!
Användarvisningsbild
adent
Inlägg: 4245
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Accelerometerlogger till microSD

Inlägg av adent »

Hehe, det tar ganska lite plats (i sammanhanget) . Men det är väldigt framtidsosäkert att förlita sig på gamla kort.

Men en lösning som jag tror är möjlig är att jag inte sparar rådata utan låter processorn lista ut när
han tittar på kartan (lågpassfilter), då behövs ytterst lite data sparas, det kan läggas i ram eller EEPROM
och läsas ut på något vis efteråt.

Men principiellt är det ju roligt att ha nån form av grundplattform med micro-SD och litet batteri.

MVH: Mikael
Skriv svar