Modelism - RHC Forum: data logger - Modelism - RHC Forum

Salt la continut

  • 3 Pagini +
  • 1
  • 2
  • 3

data logger homemade?

#1 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 07:38 AM

Salutari!
Deschid subiectul pentru a cere opinii vizavi de data loggerele homemade. Ce parere au electronistii de pe forum.. se merita un asemenea efort?

Este vorba de incercarea de a inregistra date de pe 4 canale analogice (plus/minus 5 Volti, bineinteles tensiunea se poate varia astfel incat sa se potriveasca cu cerintele unui anumit microcontroller), cu o rezolutie de 1-4 secunde si pe o durata de 5 ore. Se doreste inregistrarea semnalelor sub forma digitala cu precizie de 12 biti. Iarasi intrebare catre electronisti... este fiabila incercarea de inregistrare cu precizie de 16 biti? Stiu ca problema principala care se investe (este sau nu principala?) la masuratorile cu nr de biti mai mare este ca orice zgomot va perturba masuratorilor. Din cate stiu chiar si circuitele construite pe 16 biti respecta anumite norme.. de exemplu partile analogice sunt tinute deoparte de cele digitale iar pentru cele digitale se iau masuri speciale ca la jump-ul de pe 1 pe 0 si invers, zgomotele sa nu influenteze bitii ultimi din sirul de 16.

Astept pareri vizavi de posibilitatea de constructie a unui asemenea data logger (initial 12 biti ar fi o tinta buna; daca exista solutii relativ simple si pentru 16 biti cu atat mai bine).

MIG-29

P.S.: o prima varianta la care ma gandeam este sa folosesc un convertor analog/digital facut de firma Max si apoi un modul bazat pe Basic Stamp 2 cu un EEPROM de 512 Kb... problema-i ca ar trebui memorie mai multa pentru rezolutia de mai sus si nu stiu cum sa interfatez memorii flash cu Basic Stamp-ul. Ma gandeam poate stiti ceva scheme care sa ofere posibilitatea folosirii mai multor EEPROM-uri in cascada.
0

#2 Useril este offline   Marinaru 

  • GOLD MEMBER
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 2989
  • Inregistrat: 20-April 02

Postat 31 October 2005 - 08:26 AM

MIG-29, la 31 Oct 2005, 08:38, a spus:

... este fiabila incercarea de inregistrare cu precizie de 16 biti? Stiu ca problema principala care se investe (este sau nu principala?) la masuratorile cu nr de biti mai mare este ca orice zgomot va perturba masuratorilor.

Tot ce pot sa spun este ca in domeniul profesionist (aviatic) de inregistratoare de zbor se folosesc cuvinte din 12 biti, unii parametri analogici folosind poate mai putin sau mai mult de 12 biti (daca e nevoie de mai mult, se culeg din alt cuvant), iar parametrii discreti (de tip 0-1, cum ar fi pozitie tren, flaps), mai putini biti, restul cuvantului nefolosit putand fi utilizat pentru parametrii exemplificati mai sus, din mai mult de 12 biti!

Aceasta postare a fost editata de Marinaru: 31 October 2005 - 08:30 AM

Magelan,
Cu rabdare si ciocan.
0

#3 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 08:37 AM

Da, auzisem de asezarea unui cuvant de 16 biti in doua grupuri de 12 biti. deocamdata nu m-as complica si daca se dovedeste ca 12 biti este cel mai "realistic" de realizat homemade atunci fac de 12 biti. 16 biti era doar ceva de genul : "daca se poate, si inca relativ usor, atunci n-ar strica!".

Ma interesau ceva scheme functionale daca are cineva... eventual experimentate.

MIG-29
0

#4 Guest_esox_*

  • Grup: Guests

Postat 31 October 2005 - 08:47 AM

Eu cred ca e important de stiut, ce tensiuni vrei sa masori: de la ce surse (traductoare) provin, caracterisiticile lor (liniaritate, etc) - daca necesita corectii de liniaritate samd. La o plaja de 10 volti conversia de 12 biti (cea ce de altfel e destul de buna) da rezolutie de cca 2,4 mV. Exista traductoare (temperatura, umiditate, presiune, etc) digitale, cu iesire seriala. Daca s-ar putea utiliza astfel de traductoare, asta ar simplifica f. mult problema.
0

#5 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 09:10 AM

sunt 4 accelerometre Entran.
accelerometrele astea dau 12 mv/g (din cate imi amintesc... oricum e de ordinul milivoltilor pe g). Eu intentionez sa filtrez semnalul cu 4 filtre active de ordinul 2 Butterworth si apoi sa le injectez in 4 amplificatoare operationale care sa-mi dea plaja de tensiune dorita. Ideea era ca 0 Volti inseamna zero g si pe minus inseamna un sens al acceleratiei iar pe plus inseamna celalalt sens al acceleratiei.

MIG-29
0

#6 Guest_esox_*

  • Grup: Guests

Postat 31 October 2005 - 09:25 AM

Eu as pune invers problema: prima data trebuie stiut cu ce precizie vrei sa masori acceleratia (g/10, g/100), asta depinde de aplicatie. De aici rezulta rezolutia necesara a conversiei, si toate detaliile (tipul de convertor, plaja de tensiune, etc.)
0

#7 Useril este offline   Marinaru 

  • GOLD MEMBER
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 2989
  • Inregistrat: 20-April 02

Postat 31 October 2005 - 09:36 AM

esox, la 31 Oct 2005, 10:25, a spus:

Eu as pune invers problema: prima data trebuie stiut cu ce precizie vrei sa masori acceleratia (g/10, g/100), asta depinde de aplicatie. De aici rezulta rezolutia necesara a conversiei, si toate detaliile (tipul de convertor, plaja de tensiune, etc.)

...si de asemenea si rata de interogare a parametrului (acceleratie, caz realist de MINIM 8 ori pe secunda!!!!)
Magelan,
Cu rabdare si ciocan.
0

#8 Guest_esox_*

  • Grup: Guests

Postat 31 October 2005 - 09:55 AM

MIG-29, la 31 Oct 2005, 07:38, a spus:

cu o rezolutie de 1-4 secunde si pe o durata de 5 ore.

asta cred ca inseamna odata pe 1 - 4 secunde, adica 0.25 - 1 Hz. Da, trebuie fixata si asta de la inceput, insemnand o capacitate de stochare de patru ori mai mare, sau durata de 4 ori mai mica. De asemenea se modifica caracteristicile circuitelor (frecventa de taiere a filtrelor) de intrare
0

#9 Useril este offline   mariusc 

  • Incepator
  • PipPip
  • Grup: Members
  • Postari: 29
  • Inregistrat: 24-March 05

Postat 31 October 2005 - 10:16 AM

Ai putea sa ne dai mai multe informatii despre aplicatie? Ce vrei sa masori? Acceleratii mici? vibratii? comportamentul unui avion RC in zbor?
Montajul trebuie alimentat dintr-o baterie sau sta conectat printr-un trasformator la 220V?


In functie de aplicatie, de costul final la care vrei sa ajungi, se poate face o schema. Daca aplicatia nu este foarte pretentioasa eu unul recomand microcontrolerele Atmel (am lucrat mai mult cu ele) ca au deja integrat un convertor AD de 10 biti si un multiplexor (se poat masura pana la 8 canale).

Daca aplicatia este pretentioasa atunci recomad comvertoare AD "profesionale" (cu chiar mai mult de 16 biti) respectiv un DSP cu care sa faci prelucrari de semnal. Dar costul va fi pe masura.

Pentru stocare recomand folosirea unei memorii flash SPI de dimensiune mare (footprint mic, consum redus de energie, interfatare simpla).

Pentru accelerometre recomad folosirea celor de la Analog Device (sunt extrem de mici, plaja mare de g supertat si exista si variante de cip ce masoara g-ul pe 2 axe). De asemenea Analog Device trimite si samples gratis in romania, :D
0

#10 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 11:28 AM

Marinaru, la 31 Oct 2005, 09:36, a spus:

esox, la 31 Oct 2005, 10:25, a spus:

Eu as pune invers problema: prima data trebuie stiut cu ce precizie vrei sa masori acceleratia (g/10, g/100), asta depinde de aplicatie. De aici rezulta rezolutia necesara a conversiei, si toate detaliile (tipul de convertor, plaja de tensiune, etc.)

...si de asemenea si rata de interogare a parametrului (acceleratie, caz realist de MINIM 8 ori pe secunda!!!!)

Salutari!

Cu cat pot obtine rezolutie mai mare pe timp cu atat mai bine... eu am zis 1-4 secunde deoarece facusem o evaluare a memoriei necesare pentru stocarea a "4 numere" reprezentate in 12 biti la fiecare 4 secunde si cantitatea de memorie urca binisor... la 1 secunda rezulta de 4 ori mai multa memorie. Nu as incerca sa scot acceleratia de mai multe ori pe secunda; accelerometrele Entran am inteles ca stiu lucrul asta dar exista o oarecare dependenta neliniara a erorii de rata de citire a senzorului.

Accelerometrele vor lucra in regim continuu (DC pana la 15 Hz/ ele pot duce pana la 100 Hz dar nu ma intereseaza frecvente asa de mari).
Daca stochez pe 12 biti rezulta 4096 de discretizari si de aici pentru un interval 0-5 g corespunzand la 0-5 Volti rezulta aprox. 0.001 Volti pe nivel. Deci pot sa ma duc pana la (1/1000)g. Corect? (nu e decat 3 dimineata aici :D ).
Ideal m-ar interesa sa pot masura pana la nivel de 700 micro-g, accelerometrele respective putand masura (daca am citit corect in documentatie) pana la 150 micro-g... deci le-as folosi binisor peste limita lor.
Aplicatia doreste sa masoare atitudine si pozitia unei probe pe urcare si cadere... proba e urcata cu balon de mare altitudine la peste 30 kilometri si apoi eliberata. Pe traiectoria de revenire are o parasuta de recuperare tot timpul in spate care se va umfla imediat ce prinde atmosfera. Un sistem similar a fost lansat vara trecuta dar avea ca principal obiectiv doar determinarea tranzitiei in stratosfera si a principalelor etape de franare a parasutei; lucram pe 10 biti cu o schema gasita intr-o revista nemteasca. Cu putin noroc poate gasesc detaliile despre revista respectiva... sunt extrem de dezordonat in ceea ce priveste pastrarea documentatiei.


Dat fiind descrierea de mai sus, alimentarea la 220 Volti iese din calcul. Totul va fi alimentat de la 24 de Volti. Pot asigura o capacitate de aproximativ 1500 mAh. Daca este nevoie se poate upgrada la 3000 mAh. Nu cred insa ca respectiv consumul electric va reprezenta o problema. De asemenea temperaturile vor varia intre -40 Celsius si temperatura zilei respective (+30 Celsius). Din experienta anterioara, folosind componente normale si izolare termica corespunzatoare nu exista probleme cu functionarea in intervalul respectiv de temperaturi.

MIG-29

Aceasta postare a fost editata de MIG-29: 31 October 2005 - 11:31 AM

0

#11 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 11:35 AM

mariusc, la 31 Oct 2005, 10:16, a spus:

Ai putea sa ne dai mai multe informatii despre aplicatie? Ce vrei sa masori? Acceleratii mici? vibratii? comportamentul unui avion RC in zbor?
Montajul trebuie alimentat dintr-o baterie sau sta conectat printr-un trasformator la 220V?


In functie de aplicatie, de costul final la care vrei sa ajungi, se poate face o schema. Daca aplicatia nu este foarte pretentioasa eu unul recomand microcontrolerele Atmel (am lucrat mai mult cu ele) ca au deja integrat un convertor AD de 10 biti si un multiplexor (se poat masura pana la 8 canale).

Daca aplicatia este pretentioasa atunci recomad comvertoare AD "profesionale" (cu chiar mai mult de 16 biti) respectiv un DSP cu care sa faci prelucrari de semnal. Dar costul va fi pe masura.

Pentru stocare recomand folosirea unei memorii flash SPI de dimensiune mare (footprint mic, consum redus de energie, interfatare simpla).

Pentru accelerometre recomad folosirea celor de la Analog Device (sunt extrem de mici, plaja mare de g supertat si exista si variante de cip ce masoara g-ul pe 2 axe). De asemenea Analog Device trimite si samples gratis in romania, :D

In vara am folosit EEPROM-uri de 512 kb... am experimentat un pic cu memorie Atmel (parca 1 Mb) cu conectare seriala- SPI. Criza de timp si faptul ca deja aveam EEPROM-urile ce-si faceau treaba m-au determinat sa nu insist prea mult cu interfatarea memoriei respective; mi s-a parut destul de complicat de interfatat cu un Basic Stamp (asta foloseam drept "creier de logare"). In zbor nu fac decat sa citesc accelerometrele si sa stochez in memorie. Nu am de facut absolut nici un calcul sau prelucrare a datelor. Totul se face post-flight.

MIG-29
0

#12 Guest_esox_*

  • Grup: Guests

Postat 31 October 2005 - 11:44 AM

MIG-29, la 31 Oct 2005, 11:28, a spus:

Daca stochez pe 12 biti rezulta 4096 de discretizari si de aici pentru un interval 0-5 g corespunzand la 0-5 Volti rezulta aprox. 0.001 Volti pe nivel. Deci pot sa ma duc pana la (1/1000)g. Corect? (nu e decat 3 dimineata aici :D ).

Corect, aproximativ. Insa mai sus scriai ca vrei de la - 5g la + 5g. Asta inseamna ori un bit in plus la digitizare pentru aceeasi rezolutie, ori injumatatirea rezolutiei, adica aproximativ 1/ 400 g
0

#13 Useril este offline   Marinaru 

  • GOLD MEMBER
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 2989
  • Inregistrat: 20-April 02

Postat 31 October 2005 - 11:44 AM

MIG-29, la 31 Oct 2005, 12:28, a spus:

Nu as incerca sa scot acceleratia de mai multe ori pe secunda...

...am avut deseori ocazia ca in intervalul a o optime de secunda sa vad variatia acceleratiei de la -1 la +1.8g...si e vorba de zbor civil!

Aceasta postare a fost editata de Marinaru: 31 October 2005 - 11:45 AM

Magelan,
Cu rabdare si ciocan.
0

#14 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 12:04 PM

esox, la 31 Oct 2005, 11:44, a spus:

MIG-29, la 31 Oct 2005, 11:28, a spus:

Daca stochez pe 12 biti rezulta 4096 de discretizari si de aici pentru un interval 0-5 g corespunzand la 0-5 Volti rezulta aprox. 0.001 Volti pe nivel. Deci pot sa ma duc pana la (1/1000)g. Corect? (nu e decat 3 dimineata aici :D ).

Corect, aproximativ. Insa mai sus scriai ca vrei de la - 5g la + 5g. Asta inseamna ori un bit in plus la digitizare pentru aceeasi rezolutie, ori injumatatirea rezolutiei, adica aproximativ 1/ 400 g

da, ai dreptate e jumatate. considerasem doar portiunea pozitiva.
edit: scrisesem o prostie... am editat.

uh marinare imi strici borcanele. Imi era frica si ma asteptam sa fie nevoie chiar si de o rezolutie mai mare. cel putin la "iesirea" si "intrarea" din stratosfera am prins vara trecuta cateva variatii destul de salbatice ale acceleratii. Citeam accelerometrele la fiecare 0.8 secunde. Nu intreba cum de-am ajuns sa folosesc numarul respectiv... :)problema-i ca acum sunt 4 accelerometre. Stiu ca ideal ar fi telemetrie la pamant dar implica prea multe complicatii si obiectivul proiectului e altul decat transmiterea datelor... m-am gandit ca black box cu logger e varianta cea mai simpla. O varianta simplista a functionat vara trecuta asa cum am mai zis.

MIG-29

Aceasta postare a fost editata de MIG-29: 31 October 2005 - 12:06 PM

0

#15 Useril este offline   Charly 

  • Senior
  • PipPipPipPipPip
  • Grup: Members
  • Postari: 320
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 12:06 PM

Ok, deci,

Se paote face si pe 12 si pe 16 bit homemade. Ceeace este important este daca ai nevoie pe 16 biti ! Daca datele se sch. rapid ai nevoie de frecventa de achizitie mare care o sa determine nr de biti necesari.
Spune exact ce accelerometru folosesti ca sa pot citi un datasheet. Sunt accelerometre la care poti regla sensibilitate si dau direct semnal PWM ( cele de la Analog ). Este mai usor sa masori semnal PWM ! ( nu mai ai nevoie de AD-uri ). Vad ca si cei del a Entran au accelerometre xyz in one chip !

Ca sa nu ai abateri este de dorit sa compensezi cu temperatura ! ( ai totusi niste minusuri considerabile )

Basic Stamp-ul este un modul destul de slabut. Este folosit mai mult in aplicatii robotice de nivel mic. Totusi incearca cu PIC sa ATMEL.

Vezi, in definitiv totul incepe de la frecventa de achizitie. Asta o sa-ti determine frecventa procesorului, nr. de biti, tipul de senzor etc. deci...TOTUL !!! :D

Am lucrat cu tot felul de senzori si merg foarte bine implementati pe PIC. Chiar acum am pe masa un accelerometru xy cu iesire PWM implementat pe o platforma cu PIC. Merge OK ! Mi-au venit si accelerometrele cu xyz dar inca nu am apucat sa fac nimic ( inca nu am luat onvertoarele AD de 12biti ; deci o sa folosesc 12 biti ! ).

Bafta multa
Cu rotor, viata-i mai frumoasa-n zbor !
0

#16 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 12:22 PM

Charly, la 31 Oct 2005, 12:06, a spus:

Ok, deci,

Se paote face si pe 12 si pe 16 bit homemade. Ceeace este important este daca ai nevoie pe 16 biti ! Daca datele se sch. rapid ai nevoie de frecventa de achizitie mare care o sa determine nr de biti necesari.
Spune exact ce accelerometru folosesti ca sa pot citi un datasheet. Sunt accelerometre la care poti regla sensibilitate si dau direct semnal PWM ( cele de la Analog ). Este mai usor sa masori semnal PWM ! ( nu mai ai nevoie de AD-uri ). Vad ca si cei del a Entran au accelerometre xyz in one chip !

Ca sa nu ai abateri este de dorit sa compensezi cu temperatura ! ( ai totusi niste minusuri considerabile )

Basic Stamp-ul este un modul destul de slabut. Este folosit mai mult in aplicatii robotice de nivel mic. Totusi incearca cu PIC sa ATMEL.

Vezi, in definitiv totul incepe de la frecventa de achizitie. Asta o sa-ti determine frecventa procesorului, nr. de biti, tipul de senzor etc. deci...TOTUL !!! :D

Am lucrat cu tot felul de senzori si merg foarte bine implementati pe PIC. Chiar acum am pe masa un accelerometru xy cu iesire PWM implementat pe o platforma cu PIC. Merge OK ! Mi-au venit si accelerometrele cu xyz dar inca nu am apucat sa fac nimic ( inca nu am luat onvertoarele AD de 12biti ; deci o sa folosesc 12 biti ! ).

Bafta multa

Am folosit un PIC la un lab de electronica pentru citirea datelor de pe un modul GPS si afisat pe un LCD cu doua randuri.

Ideea-i ca basic stamp e deja facut si nu am decat de "legat" fire la el... plus doar vreau sa achizitionez datele... nu ma intereseaza prelucrarea lor in zbor.

Cam ce diferente ar apare intre o schema pentru 12 biti si unul pentru 16 biti? semnificative? am citit documentatie care tot zice ca pe 16 biti se iau cutare si cutare masuri (cum am zis cu separarea analog de digital... separarea componentelor sa nu apara zgomotul de comutatie etc.).
E chiar asa de-al dreq treaba?

Folosesc entran pe o singura axa (in cateva ore ajung la laborator si spun denumirea). Nu am nevoie de mai multe axe.

Nu ma intereseaza sa masor acceleratii cu frecventa de variatie de peste 15 Hz deoarece ma indoiesc ca vor exista... pentru dispozitivele de ghidare inertiala de obicei se folosesc continuu spre 10-15-20 Hz.. corect sau incorect?
cat despre frecventa de achizitie a semnalului... ma gandeam ca 1-4 secunde este interval bun de pornit. in plus nici cerintele pentru memorie n-ar fi chiar asa de mari.

MIG-29
0

#17 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 12:23 PM

Charly, la 31 Oct 2005, 12:06, a spus:

Ok, deci,

Se paote face si pe 12 si pe 16 bit homemade. Ceeace este important este daca ai nevoie pe 16 biti ! Daca datele se sch. rapid ai nevoie de frecventa de achizitie mare care o sa determine nr de biti necesari.
Spune exact ce accelerometru folosesti ca sa pot citi un datasheet. Sunt accelerometre la care poti regla sensibilitate si dau direct semnal PWM ( cele de la Analog ). Este mai usor sa masori semnal PWM ! ( nu mai ai nevoie de AD-uri ). Vad ca si cei del a Entran au accelerometre xyz in one chip !

Ca sa nu ai abateri este de dorit sa compensezi cu temperatura ! ( ai totusi niste minusuri considerabile )

Basic Stamp-ul este un modul destul de slabut. Este folosit mai mult in aplicatii robotice de nivel mic. Totusi incearca cu PIC sa ATMEL.

Vezi, in definitiv totul incepe de la frecventa de achizitie. Asta o sa-ti determine frecventa procesorului, nr. de biti, tipul de senzor etc. deci...TOTUL !!! :D

Am lucrat cu tot felul de senzori si merg foarte bine implementati pe PIC. Chiar acum am pe masa un accelerometru xy cu iesire PWM implementat pe o platforma cu PIC. Merge OK ! Mi-au venit si accelerometrele cu xyz dar inca nu am apucat sa fac nimic ( inca nu am luat onvertoarele AD de 12biti ; deci o sa folosesc 12 biti ! ).

Bafta multa

despre temperatura: asa zisul drift cu temperatura ce apare in accelerometre si giroscoape... cei de la entran spun ca acceleromtrul lor e compensat din fabrica pentru temperatura. Cu toate acestea in pachet trimit si ceva grafice cu driftul cu temperatura. Am sa mai dau telefoane sa vad ce inteleg ei prin compensat. Nu mi-e greu sa includ un termistor in proba respectiva ca sa am si temperatura preluata.

MIG-29
0

#18 Useril este offline   mariusc 

  • Incepator
  • PipPip
  • Grup: Members
  • Postari: 29
  • Inregistrat: 24-March 05

Postat 31 October 2005 - 12:50 PM

Uitate la Atmel pe site: www.atmel.com la procesoarele Risc, la aplication note. Ei dau acolo un AN cu un microcontroler care inregistreaza si reda un semnal audio: cu frecventa de esantionare de 8kHz la 10biti. Totul este scris intr-un flash serial (dimensiunea memoriei se modifica in functie de durata inregistrarii - pentru o memorie de 16Mbit -> 125 secunde).

Daca pornesti de la schema de acolo si folosesti si niste convertoare AD de rezolutie dorita (12-16 biti) poti obtine un montaj mic si care consuma putin. Poate fi alimentat la 5V cu un consum 100-200mA in functie de convertoare si partea de "signal conditioning".

Pentru reducerea spatiului de stocare folosit pentru esantioane se poate face stocarea diferentei dintre esantionul curent si esantionul anterior. Astfel diferenta poate fi codata pe 8 biti (stocare mai facila - rezolutia nu are foarte mult de suferit, iar daca se creste putin frecventa de esantionare atunci eroarea poate sa fie 0 in conditiile in care memoria flash consumata scade la jumatate).
Protocolul de comunicare cu o memorie flash seriala este unul dintre cele mai simple, mai ales ca majoritatea microcontrolerelor au SPI hardware.
0

#19 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 06:45 PM

mariusc, la 31 Oct 2005, 12:50, a spus:

Uitate la Atmel pe site: www.atmel.com la procesoarele Risc, la aplication note. Ei dau acolo un AN cu un microcontroler care inregistreaza si reda un semnal audio: cu frecventa de esantionare de 8kHz la 10biti. Totul este scris intr-un flash serial (dimensiunea memoriei se modifica in functie de durata inregistrarii - pentru o memorie de 16Mbit -> 125 secunde).

  Daca pornesti de la schema de acolo si folosesti si niste convertoare AD de rezolutie dorita (12-16 biti) poti obtine un montaj mic si care consuma putin. Poate fi alimentat la 5V cu un consum  100-200mA in functie de convertoare si partea de "signal conditioning".

  Pentru reducerea spatiului de stocare folosit pentru esantioane se poate face stocarea diferentei dintre esantionul curent si esantionul anterior. Astfel diferenta poate fi codata pe 8 biti (stocare mai facila - rezolutia nu are foarte mult de suferit, iar daca se creste putin frecventa de esantionare atunci eroarea poate sa fie 0 in conditiile in care memoria flash consumata scade la jumatate).
 Protocolul de comunicare cu o memorie flash seriala este unul dintre cele mai simple, mai ales ca majoritatea microcontrolerelor au SPI hardware.

Da, m-am uitat. Aplicatia este interesanta. Deci pana la urma sfatul ar fi sa renunt la Basic Stamp?

Problema memoriei inca ramane... daca 10 biti esantionat la 8 kHz necesita 16 Mb/ 125 secunde rezulta ca la o esantionare de 8000 de ori mai mica (1 pe secunda) as avea nevoie de o memorie de o mie de ori mai mica. Bineinteles asta presupunand esantionare pe 10 biti.

Am sa ma mai uit pe aplicatiile respective si sper ca pana la sfarsitul saptamanii sa ma pot decide asupra unei scheme functionale.

MIG-29

P.S.: vad ca majoritatea procesoarelor RISC de la atmel suporta convertoare AD pe 10 biti... nu au nimic pe 12 biti? Ai cumva un link direct catre procesorul la care te gandeai?

Aceasta postare a fost editata de MIG-29: 31 October 2005 - 06:49 PM

0

#20 Useril este offline   D3xt3r_Jr. 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1284
  • Inregistrat: 15-May 04

Postat 31 October 2005 - 07:30 PM

migule pune mataluta mana pe tastatura si pe soricel si vorbeste cu nenea spatiu ca a facut domnisorul un data logger home made pt "rachetutele" noastre (bagamias ca nu am acuma bani sa il iau) care masoara altitudine, viteza acceleratie. le stocheaza pe nu stiu ce memorie si apoi printr-un port USB bagi datele in PC si gata ai grafice valori etc.
Schimbat Nick in Dexter_Jr ca sa resetam numaru de mesaje
0

#21 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 31 October 2005 - 08:24 PM

pai poate baga detalii pe forum sau poate da link catre subiectul de pe forum unde descria sistemul... parca imi amintesc ca a scris un subiect pe forum despre data logger-ul respectiv.

In plus afisand pe forum poate fi util si altora.

MIG-29
0

#22 Useril este offline   D3xt3r_Jr. 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1284
  • Inregistrat: 15-May 04

Postat 31 October 2005 - 10:04 PM

parca a scris si prin bazar(subiectu ala de la racheto de e pus acolo sus)
Schimbat Nick in Dexter_Jr ca sa resetam numaru de mesaje
0

#23 Useril este offline   mariusc 

  • Incepator
  • PipPip
  • Grup: Members
  • Postari: 29
  • Inregistrat: 24-March 05

Postat 01 November 2005 - 12:13 PM

Convertoare integrate mai mari de 10 biti, microcontrolerele Atmel nu au. Pentru aplicatia ta un ATMega8 este perfect. Datele se pot descarca pe portul serial, iar daca vrei viteza mare de descarcare atunci poti folosi si un adaptor pentru USB. Pentru adaptor USB poti folosi cipul de la FTDI (www.ftdichip.com).
0

#24 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 01 November 2005 - 12:50 PM

Salutari!

Viteza de descarcare a datelor pe calculator este neimportanta cel putin pentru aplicatia pe care am descris-o.
Rezolutia de 12 biti este insa importanta deoarece ea determina nivelul minim detectabil al acceleratiei. Fiind vorba de un sistem de determinare a atitudinii si a pozitiei unei sonde, doresc sa determin acceleratiile pana la nivelele cele mai mici. De exemplu 700 micro-g e echivalentul a 2.8 rotatii pe minut pentru un brat de 12 centimetri (daca oi fi gresit la calculele puteti reface numerele folosind v^2/R=a si vedeti ce acceleratie minima trebuie detectata pentru 2.8 rotatii pe minut).

esantionarea pe 10 biti si ulterior medierea nu cred sa poata sa ma ajute in problema determinarii acceleratiilor mici. Daca eu esantionez pe 10 biti si folosesc accelerometrele pe minus 5; plus 5 Volti atunci nu voi mai putea sa ma duc pana la 1/400 g ... si atunci anumite rotatii vor scapa monitorizarii. Oricum erori vor exista in determinarea atitudinii si pozitiei dar doresc sa determin lucrurile acestea cat mai bine.
Altfel spus, la 10 biti accelerometrele nu vor simti o variatie de 1/400 g (de fapt, mai bine spus, digitizarea nu va simti acceleratiile respective); ori acest lucru nu e bun pentru "sanatatea" ghidarii inertiale.

MIG-29
0

#25 Useril este offline   ctotth 

  • Membru de onoare
  • PipPipPipPipPipPip
  • Grup: Members
  • Postari: 985
  • Inregistrat: 22-April 04

Postat 01 November 2005 - 01:00 PM

mig-29,

Poti comprima f. simplu datele a.i. sa stochezi 4canale x 12bit, 5 ore la 3Hz in 512kbit,
daca 90% din masuratori au aceasi valoare cu cea precedenta.

Pot da detalii pe MI.

Imi pare buna ideea lui Charly cu accelerometre care dau semnal PWM, ca e mult mai usor de citit si de atins rezolutii foarte bune. Dar la citire PWM din BasicStamp e cam problematic din cauza vitezei, caci e suficient de lent a.i. sa altereze citirea.

Pentru AVR / ATMega exista un mediu compilator de Basic - BASCOM-AVR - destul de convenabil (mai ales daca ii gasesti crack-ul ;-) )

cezar

Aceasta postare a fost editata de ctotth: 01 November 2005 - 02:55 PM

0

#26 Useril este offline   sebip 

  • Membru
  • PipPipPipPip
  • Grup: Members
  • Postari: 195
  • Inregistrat: 21-May 03

Postat 01 November 2005 - 01:02 PM

As vrea sa atrag atentia asupra modalitatii de calcul a memoriei necesare: majoritatea memoriilor folosesc magistrala de date de 8 sau 16 biti. Prin urmare chiar daca se utilizeaza convertoare de 10 sau 12 biti se vor folosi doua locatii de memorie in cazul bus-ului de 8 biti sau o locatie pentru bus de 16 biti.
Pe de alta parte convertoare rapide pe 10 sau 12 biti (sa nu vorbim de 16 biti) sunt foarte scumpe iar din cele mai lenese (si mai ieftine) s-ar putea sa nu aiba viteza necesara achizitiei de date.

Proiectarea unui datalogger trebuie sa plece de la cerintele minime ale sistemului: marimea de masurat, precizia masuratorii, frecventa masuratorii, intervalul de timp pentru care se doreste masurarea, numarul de canale de achizitie ( numarul de parametri ), daca e nevoie la toti parametri aceeasi rezolutie de masurare ...
0

#27 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 02 November 2005 - 06:04 AM

ctotth, la 1 Nov 2005, 13:00, a spus:

mig-29,

Poti comprima f. simplu datele a.i. sa stochezi 4canale x 12bit, 5 ore la 3Hz in 512kbit,
daca 90% din masuratori au aceasi valoare cu cea precedenta.

Pot da detalii pe MI.

Imi pare buna ideea lui Charly cu accelerometre care dau semnal PWM, ca e mult mai usor de citit si de atins rezolutii foarte bune. Dar la citire PWM din BasicStamp e cam problematic din cauza vitezei, caci e suficient de lent a.i. sa altereze citirea.

Pentru AVR / ATMega exista un mediu compilator de Basic - BASCOM-AVR - destul de convenabil (mai ales daca ii gasesti crack-ul ;-) )

cezar

Salutari!

Nu e o conditii ca circuitul final sa contina basic stamp. Am adus in discutie basic stampul deoarece am lucrat cu el si deja a zburat. Cautam sa refolosesc cat mai mult modulele deja construite. Daca insa se demonstreaza ca este nevoie de alt "procesor" nu este nici o problema! Obiectivul testului nu este folosirea basic stamp-ului sau folosirea altui microcontroller... orice face treaba respectiva este bun!
Este posibil ca pe mici portiuni datele sa aiba aceeasi valoare si algoritmul de care zicea cloth sa mearga dar avand in vedere ca e vorba de sistem de determinare a atitudinii si pozitiei, n-as merge pe ipoteza ca vor avea aceleasi valori. Dupa cum a exemplificat si marinarul, lucrurile pot varia suficient de salbatic pe portiuni astfel incat presupunerea ca au cam aceeasi valoare sa nu functioneze... nu stiu, pentru inceput n-as merge pe aceasta presupunere.... poate doar atunci cand particularizezi sistemul pentru anumite aplicatii unde cunosti apriori dinamica si astfel poti zice daca este sau nu probabil sa fie date relativ "constante".

pentru sebi:

cerintele sunt relativ... simple...: 12 biti, 4 canale (toate cu 12 biti), durata maxima de inregistrare 5 ore (sau mai mult... 5 e minimul), intrarile pe cele 4 canale sunt analogice (4 tensiuni ce variaza intre plus 5 Volti si minus 5 Volti).
Totul trebuie sa incapa intr-un cub cu latura de 10 centimetri si greutatea de 500 grame... oricum nu cred ca acestea sa fie probleme pentru montajele electronice. Vara trecuta am reusit sa incadrez 4 amplificatoare, basic stamp, baterie si accelerometrele astfel incat cubul era mai mult gol :)

MIG-29
0

#28 Useril este offline   MIG-29 

  • MEGA Membru
  • PipPipPipPipPipPipPip
  • Grup: Members
  • Postari: 1772
  • Inregistrat: 02-December 02

Postat 02 November 2005 - 06:06 AM

sebip, la 1 Nov 2005, 13:02, a spus:

As vrea sa atrag atentia asupra modalitatii de calcul a memoriei necesare: majoritatea memoriilor folosesc magistrala de date de 8 sau 16 biti. Prin urmare chiar daca se utilizeaza convertoare de 10 sau 12 biti se vor folosi doua locatii de memorie in cazul bus-ului de 8 biti sau o locatie pentru bus de 16 biti.
Pe de alta parte convertoare rapide pe 10 sau 12 biti (sa nu vorbim de 16 biti) sunt foarte scumpe iar din cele mai lenese (si mai ieftine) s-ar putea sa nu aiba viteza necesara achizitiei de date.

Proiectarea unui datalogger trebuie sa plece de la cerintele minime ale sistemului: marimea de masurat, precizia masuratorii, frecventa masuratorii, intervalul de timp pentru care se doreste masurarea, numarul de canale de achizitie ( numarul de parametri ), daca e nevoie la toti parametri aceeasi rezolutie de masurare ...

referitor la viteza... am folosit un convertor de la max pe 10 biti vara trecuta cu rezolutia in timp de 1 inregistrare/ 5 secunde. Nu a avut probleme de "recoltare" a datelor.

cele de 12 biti au probleme pentru un sampling sa zicem la 1 secunda?

MIG-29
0

#29 Useril este offline   sebip 

  • Membru
  • PipPipPipPip
  • Grup: Members
  • Postari: 195
  • Inregistrat: 21-May 03

Postat 02 November 2005 - 11:00 AM

Citeaza

cele de 12 biti au probleme pentru un sampling sa zicem la 1 secunda?


Nu au nici un fel de probleme, pt 1 sec merge orice convertor (cu orice tehnica de conversie)

Citeaza

tensiuni ce variaza intre plus 5 Volti si minus 5 Volti


asta complica putin lucrurile in sensul ca e nevoie si de alimentare cu tensiune negativa a citorva circuite (convertorul analog digita, multiplexor de semnale, eventuale amplificatoare ...)

Memoria:
- pentru 4 semnale analogice pe 12 biti = 4 x 2 (pentru memorii cu datele pe 8biti) = 8 octeti
- deci la o rata de 1 secunda e nevoie de 8 octeti de date
- 1 minut = 8 x 60 = 480 octeti
- 1 ora = 480 x 60 = 28 800 octeti
- 5 ore = 28800 x 5 = 144 000 octeti = 140,625 Kbyte
0

#30 Useril este offline   mariusc 

  • Incepator
  • PipPip
  • Grup: Members
  • Postari: 29
  • Inregistrat: 24-March 05

Postat 02 November 2005 - 11:06 AM

Uitate, de exemplu, la LTC1684 care poate efectua maxim 250000 esantionari pe secunda la 16 biti. Asa ca nu vad de ce nu ar putea efectua 10 masuratori pe secunda. De obicei convertoarele AD pot face multe conversii/secunda, important este sa poti prelucra - stoca datele date le ele.
0

Arata acest topic


  • 3 Pagini +
  • 1
  • 2
  • 3

1 useri citesc topicul
0 membri, 1 vizitatori, 0 utilizatori anonimi

RcTrade.eu