Go Down

Topic: arduino due e audaticy software (Read 1 time) previous topic - next topic

PaoloP

#15
Sep 30, 2013, 11:44 am Last Edit: Sep 30, 2013, 11:47 am by PaoloP Reason: 1
E' stata implementata nell'IDE 1.5.5 di prossima uscita una modifica che permette di migliorere i tempi di acquisizione dell'ADC su Arduino DUE.
Quote
[core]
* sam: Fixed wrong initialization for ADC timings (analogRead speed Arduino DUE improved by a factor x10)
      (http://www.djerickson.com/arduino/)


Edit: Preceduto da Leo.  :smiley-mr-green:

L'IDE aggiornato è disponibile come versione nightly-build.  ;) (http://arduino.cc/en/Main/Software)

gcam

dobbiamo aspettare quindi la versione 1.5.5 per vedere risolto questo problema.

leo72


dobbiamo aspettare quindi la versione 1.5.5 per vedere risolto questo problema.


Puoi compilarla anche ora, basta che ti scarichi i sorgenti.


gcam

perfetto. Provata la nuova versione.
Acquisizione di 24000 campioni su tre canali in 109 ms.

Però...
Nell'inviare i dati al pc sulla seriale, solo 1500 valori a gruppi di tre, l'acquisizione si allunga a 3 secondi circa. serial baud è settato a 115200

Come fare ad inviare i dati al pc in modo veloce ?

gcam

PaoloP

La DUE è dotata anche di una seriale USB che si chiama SerialUSB che dovrebbe essere molto più veloce della seriale normale.
Ma non avendo la scheda non ho mai testato la cosa.
La inizializzi con
Code: [Select]
SerialUSB.begin(0);
il valore del baud viene ignorato, puoi metterci un valore a caso.

La usi come una normale seriale.
Code: [Select]
SerialUSB.print("Hello World!");

lesto

#21
Oct 01, 2013, 12:25 pm Last Edit: Oct 01, 2013, 12:26 pm by lesto Reason: 1
attenzione, di default arduino usa un prescaler molto grande sia per la uno che per la due.

per la uno so che si può agire sui registri, per la due si può aggiungere la define
ADC_STARTUP_FAST
(che era buggato il valore impostato)

per scendere da 39us x lettura (24kHz) a .76uS (circa 1MHz)

edit: con prescaler al minimo, ovvero 16 (precisione ADC ridotta a 8 bit), la uno arriva a 77 KHz http://forum.arduino.cc/index.php/topic,6549.0.html
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

gcam

ciao, ho fatto un test con la nuova versione 1.5.5 di arduino due senza utilizzare particolari impostazioni.

senza perdere di risoluzione cioè rimanere sui 12 bit, qual'è la velocità di campionamento massima impostabile ?

e come ?

di default la risoluzione e la velocità di campionamento che valore hanno ?

lesto

Quote
senza perdere di risoluzione cioè rimanere sui 12 bit, qual'è la velocità di campionamento massima impostabile ?

non lo so, guarda sul datasheet.

Quote
e come ?

http://forum.arduino.cc/index.php?topic=137635.msg1137618#msg1137618

Quote
di default la risoluzione e la velocità di campionamento che valore hanno ?

10 bit a circa 24kHz
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

gcam

10 bit a 24 khz
anche se nel setup inserisco l'istruzione :

Code: [Select]

analogReadResolution(12);


oppure non c'è nessun legame, tra le due cose.

lesto

conq uello passi da 10 bit a 12 bit :)
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

icio

la frequenza di ck dell'adc di atmega328  è al massimo 1Mhz (ck/16) e ci mette circa 27 cicli per fare una conversione , cioè 27 microsecondi circa, quindi si arriva teoricamente a circa 37ksps

la freq di ck di Atmel SAM3X8E è al massimo di 20Mhz (ck/4) e ci mette circa 20 cicli per fare una conversione , cioè 1 microsecondo quindi si arriva teoricamente a 1Msps

Go Up