Go Down

Topic: Convertisseur analogique numérique ? (Read 3544 times) previous topic - next topic

nestea57

Bonjour,
Je possède un arduino duemilanove ( nouveau Uno ? ) et je souhaiterai convertir une tension en une donnée.
Je souhaiterai capturer une tension d'une pile/accu pendant la charge/décharge et de l'envoyer au PC en fichier csv pour ensuite faire des courbes.
Je souhaiterai avoir vos avis sur la façon de procéder, pour être le plus précis possible. 1/100ème ? possible ou pas ?
Je vous remercie :)
PS : Sinon il y a longtemps j'avais vu qu'on pouvait rajouter un composant pour augmenter la sensibilité.

FP24V

salut,

alors le uno c'est le uno, le duemilanove et l'usb board de l'ancienne génération remplacer donc par le uno, perso je préfère l'ancien.

1-pour ta capture, que tu veux envoyer dans un fichier CSV, comment veux tu faire l'envoie de donnée? USB wifi bluetooth?

2- quel type de consomateur va être sur l'accu??

3- 1/100 tu es gourmant, tu risque d'ête influencé par ton alimentation mais à expérimenté.

Donne nous ces infos déja.

@+

flo
2 ans d'absence et tout à réapprendre.
Heureusement, je ne savais pas grand chose.

B@tto

http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1282663920

;)
Blog électronique : http://battomicro.wordpress.com/
Photographie : www.interactive-celebration.fr

nestea57

#3
Dec 28, 2010, 11:39 am Last Edit: Dec 28, 2010, 11:42 am by nestea57 Reason: 1
FP24V :

1 : Par usb simple, c'est simplement pour un projet donc rien de bien compliqué.
2 : L'accu sera chargé/déchargé par un montage à côté avec divers courants (200mA, 0.5A, 1A etc..)
3 : 1/100 c'est la précision que je souhaite avoir :) +/-0.01V voir un peu moins précis mais un accu fait environ 1.5V donc pour avoir une belle courbe de décharge il faudra être un minimum précis.

L'arduino ne sera là que en tant que "voltmètre" qui envoi les données au PC.
Ou l'idéal serait de pouvoir le rendre autonome sans le PC, enregistrer toutes les 5min le voltage pendant 24h dans la ROM/clé_usb/carte_SD puis tout transférer sur le PC.


B@tto : Apparemment l'arduino sait faire une sensibilité de 0.01v sachant qu'il gère 0.005V mais vu que c'est le lycée qui paie, pourquoi pas le découvrir surtout que c'est expliqué en Français pour une fois :)


Merci de votre aide :)

FP24V

#4
Dec 28, 2010, 07:29 pm Last Edit: Dec 28, 2010, 08:44 pm by FP24V Reason: 1
voici un tit programme à mettre dans l'arduino

Code: [Select]


//////////////////////////////////// les entrées sorties ////////////////////////////////////
int SR=0;                                           // pin sonde relevé tension
double RRB=0;                                        // variable signal relevé tension
const int numReadingsR = 10 ;                       // Nombre de relevés pour la moyenne signal
int readingsR [ numReadingsR ] ;                    // Variable lecture pour le relevé tension
int indexR = 0 ;                                    // position dans la création de la moyenne
int totalR = 0 ;                                    // Total en cours
int averageR = 0 ;                                  // La moyenne
float tempo=0.01;                                    // Temps en minutes


void setup()
{
Serial.begin(9600);                                             //démarrage du port communication
//////////////////////////////////// gestion des moyennes ////////////////////////////////////
for ( int thisReadingR = 0 ; thisReadingR < numReadingsR ; thisReadingR ++ )
readingsR [ thisReadingR ] = 0 ;

}

void loop()
{
//////////////////////////////////// calcul de moyenne de la sonde intérieur ////////////////////////////////////
totalR = totalR - readingsR [ indexR ] ;            
readingsR [ indexR ] = analogRead ( SR ) ;   // lecture de la tension de l accu:
totalR = totalR + readingsR [ indexR ] ;             // addition des tension:          
indexR = indexR + 1 ;                              // déplacement dans la moyenne:
if ( indexR >= numReadingsR )                      // si il y a eu X relevé
indexR = 0 ;                                      //recommencer:
averageR = totalR / numReadingsR ;                  // calcul de moyenne:  
RRB=averageR;


RRB=map(RRB, 0, 1022, 0, 500);          //conversion des 1023 point des mesures en 500 points (pour 500 volt)
RRB=RRB/100;                                  //conversion de 500v a 5v
Serial.print("tension ");                      //affichage du mot tension
Serial.print(RRB);                             //affichage de v
Serial.println(" v");
delay (tempo*60000);                      // on attend avant de recommencé.
}



ensuite tu passe en hypterminal et tu regarde
2 ans d'absence et tout à réapprendre.
Heureusement, je ne savais pas grand chose.

nestea57

Merci FP24V je le testerai mais c'est possible d'avoir un peu plus d'info sur le programme ? à quoi sert-il ?

FP24V

ce petit programme mesure la tension de ton accu, alors la borne - sur un des gnd, et le + sur la borne analogique 0.

il prend les mesures>>puis fait une moyenne sur 10 valeurs pour limiter les parasites>>puis envoies sur le port série.
2 ans d'absence et tout à réapprendre.
Heureusement, je ne savais pas grand chose.

Go Up