Data logger in tensione - veloce -

Come da oggetto avrei bisogno di un data logger ad unico ingresso in tensione 0 - 5 volt con tempi di campionamento ''veloci'', ovvero un campionamento del segnale in ingresso ogni millisecondo per un tempo di almeno 15 - 20 secondi.

Salvataggio dei dati su SD o chiavetta USB in formato testo o altro per la successiva elaborazione con excel o similari.

Non trovo data logger cosi' veloci sulla rete a prezzo umano ma sono probabilmente io che non utilizzo la chiave di ricerca esatta.

Potreste darmi una mano a trovarlo, possibilmente in ambito Europeo?

Un saluto a tutti e .... grazie anticipate

--

Ciao, Renato
Reply to
Renato_VBI
Loading thread data ...

"Renato_VBI" ha scritto nel messaggio news:50af614f$0$17954$ snipped-for-privacy@reader1.news.tin.it...

[C U T]

Mi autoquoto..... ho trovato con la chiave di ricerca

high speed logger

Attendo un paio di prezzi e poi decido. Ciao a tutti

--

Ciao, Renato
Reply to
Renato_VBI

Il 23/11/2012, Renato_VBI ha detto :

il campionamento a 1 msec non e' un problema, la quantita' di memoria standalone si. io sto realizzanto un data logger con Arduino, in 2 msec campiono 12 ingressi analogici e 16 digitali. se ti basta un solo analogico, Arduino in 1 msec ce la fa benissimo. il mio logger pero' invia i dati al PC in seriale, perche' su Arduino non c'e' abbastanza memoria. al momento sono fermo qui:

formatting link

Reply to
alfio

"alfio" ha scritto nel messaggio news:k8o8jc$a5f$ snipped-for-privacy@speranza.aioe.org...

Presumo che necessiti di un ''buffer'' veloce e capiente....

Certo, mi basta un solo analogico 0 - 5 volt....

Wow che bellezza..... Avrei un paio di Arduino che girano per il banco ma, purtroppo, non ho le conoscenze tecniche sufficienti per la parte software.... Mi sa che questo inverno vedo di fare qualche corsetto online... Grazie mille per le ulteriori informazioni e buon divertimento con il tuo progetto.

--

Ciao, Renato
Reply to
Renato_VBI

questo e' il programma su arduino, se ti serve una mano per adattarlo al tuo scopo dimmelo che ti aiuto volentieri. quando finirò il programma su PC lo metterò online, per ora e' in fase embrionale, e purtroppo non ho molto tempo da dedicarci.

#include

#define TXHEADER 0xA1 // Analyzer v1 #define LOGS_SIZE 64

struct logdata { unsigned an0:10; unsigned an1:10; unsigned an2:10; unsigned :2; unsigned an3:10; unsigned an4:10; unsigned an5:10; unsigned :2; unsigned an6:10; unsigned an7:10; unsigned an8:10; unsigned :2; unsigned an9:10; unsigned an10:10; unsigned an11:10; unsigned :2; unsigned di0:1; unsigned di1:1; unsigned di2:1; unsigned di3:1; unsigned di4:1; unsigned di5:1; unsigned di6:1; unsigned di7:1; unsigned di8:1; unsigned di9:1; unsigned di10:1; unsigned di11:1; unsigned di12:1; unsigned di13:1; unsigned di14:1; unsigned di15:1; };

struct logdata logs[LOGS_SIZE]; volatile int lidx=0; byte txcnt=0; boolean firsthalf=false; boolean start=false;

void savelogs ( void ) { if( !start ) return; register struct logdata *pl = logs+lidx; digitalWrite( 13,HIGH ); // set first bank of inputs pl->di0 = digitalRead( 4 ); pl->di1 = digitalRead( 5 ); pl->di2 = digitalRead( 6 ); pl->di3 = digitalRead( 7 ); pl->di4 = digitalRead( 8 ); pl->di5 = digitalRead( 9 ); pl->di6 = digitalRead( 10 ); pl->di7 = digitalRead( 11 ); pl->an0 = analogRead( 0 ); pl->an1 = analogRead( 1 ); pl->an2 = analogRead( 2 ); pl->an3 = analogRead( 3 ); pl->an4 = analogRead( 4 ); pl->an5 = analogRead( 5 ); digitalWrite( 13,LOW ); // set second bank of inputs pl->di8 = digitalRead( 4 ); pl->di9 = digitalRead( 5 ); pl->di10 = digitalRead( 6 ); pl->di11 = digitalRead( 7 ); pl->di12 = digitalRead( 8 ); pl->di13 = digitalRead( 9 ); pl->di14 = digitalRead( 10 ); pl->di15 = digitalRead( 11 ); pl->an6 = analogRead( 0 ); pl->an7 = analogRead( 1 ); pl->an8 = analogRead( 2 ); pl->an9 = analogRead( 3 ); pl->an10= analogRead( 4 ); pl->an11= analogRead( 5 ); lidx = ( lidx+1 )%LOGS_SIZE; }

void txlogs ( boolean half ) { Serial.write( TXHEADER ); // header Serial.write( txcnt++ ); // frame counter byte *data = (byte*)( logs+( half ? 0 : LOGS_SIZE/2 ) ); byte check=0; for( int i=0 ; i

Reply to
alfio

"alfio" ha scritto nel messaggio news:k8r5fd$r0m$ snipped-for-privacy@speranza.aioe.org...

[C U T]

Sei molto gentile ma, al momento, sono troppo digiuno in programmazione su AVR Atmel per poter dire cosa mi va bene e cosa no. Appena ho un attimo di tempo ci provo e poi mi faccio sentire eventualmente in pvt (la mia email e' valida, spero anche la tua....).

Grazie di cuore e buon fine settimana

--

Ciao, Renato
Reply to
Renato_VBI

ti rompo ancora un pochino le scatole :)

con il mio oscilloscopio RIGOL DS1052 si puo' salvare l'acquisizione eseguita in formato CSV. qui trovi una prova con il segnale di calibrazione, con timebase

5sec/div ossia 60 secondi totali:
formatting link

poi ho modificato il mio programmino per campionare a 1 msec (6 analogiche e 8 digitali) e salvare su file CSV. qui trovi il sorgente per Arduino:

formatting link
qui il programma per Windows:
formatting link

il programma e' "work in progress", questo vuol dire che fa poche cose e anche male :). per prima cosa devi prima impostare la porta seriale in File/Impostazioni Acuisizione/Start e Acquisizione/Stop avviano e arrestano il campionamento. Avviando una successiva acquisizione si perde la precedente. con campionamento fermo File/Salva crea il file in formato CSV con 14 colonne (6+8), una riga di header e tante righe per ogni campionamento memorizzato, i valori salvati sono il valore letto dal ADC di Arduino quindi nel range 0-1023.

Reply to
alfio

"alfio" ha scritto nel messaggio news:k8t6sj$78e$ snipped-for-privacy@speranza.aioe.org...

Ben vengano queste ''rompiture'' di scatole.... :-)

Scaricato ma non riesco a caricarlo in excel 2003.... :-(

Scaricato il tutto e salvato questo post. Prox settimana trovo un pochino di tempo e ci provo.... Grazie nel frattempo Un saluto

--

Ciao, Renato
Reply to
Renato_VBI

Sembra che Renato_VBI abbia detto :

togli qualche riga, o guardalo con notepad, il 2007 lo apre quasi tutto, mancano solo le ultime 2 linee se guardi il .txt associato, noterai che il campionamento usato e'

17480 Sa/sec che per 60 sec fanno 1048800 campioni, ossia righe di excel, un po troppe :)
Reply to
alfio

Renato_VBI ha scritto:

la

ciao cosa intendi per "prezzo umano"???? 100...500....1000?? emi

Reply to
emilio

"alfio" ha scritto nel messaggio news:k907gi$h2r$ snipped-for-privacy@speranza.aioe.org...

Si, l'ho fatto. Considera che a me bastano 1000 x 20 campionamenti pertanto siamo a cavallo.... Grazie

--

Ciao, Renato
Reply to
Renato_VBI

"emilio" ha scritto nel messaggio news:k909hd$bnj$ snipped-for-privacy@tdi.cu.mi.it...

[C U T]

In effetti ognuno ha il suo metro di giudizio....

Il mio e' sempre lo stesso da anni: qualsiasi strumento non deve costarmi piu' di 999 Euro altrimenti nisba. Nel caso in argomento diciamo che vorrei stare, compreso il SW, sotto i 500 euro. Grazie per l'intervento. Ciao

--

Ciao, Renato
Reply to
Renato_VBI

una delle tante schede demo basate su micro NXP LPC1768 o ST STM32 che trovi su ebay fanno piu' di quello che ti serve e costano meno di 100 euro , devi solo adattare il sw per le tue necessita' anche molto carina e' la STM32F4DISCOVERY , costa pochissimo, ma le manca la scheda SD

Reply to
mmm

Ringrazio per l'ulteriore dritta. In termini di autocostruzione penso/credo che la cosa migliore sia quella di rimanere su una piattaforma come arduino la quale, seppur relativamente datata, permette di trovare molte info ed esempi sulla rete. Ho trovato alcuni schemi che permettono l'interfacciamento di Arduino a degli dsp molto veloci e relativamente facili da implementare. Vedremo se, tempo permettendo, ne saro' all'altezza. Un saluto

--

Ciao, Renato
Reply to
Renato_VBI

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.