Pages: [1]   Go Down
Author Topic: controle servo avec LM35  (Read 1501 times)
0 Members and 1 Guest are viewing this topic.
Paris
Offline Offline
Newbie
*
Karma: 0
Posts: 20
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 :'(


 je cale sur un prob....Mais je vais trouver peut être au bout de quatre ans.
Je veux commander des angles  sur un servomoteur en fonction des variations de valeurs d'un LM35.

http://www.national.com/mpf/LM/LM35.html

Prob... Je n'arrive pas à lire la plage des valeurs de la plus petite à la plus grande pour faire la conversion
comme expliqué dans le livre physical computing .

Je manque de théorie

voici les données du LM35

Supply Min       4 Volt
Quiescent Current_       56 uA
Temperature Min       -40, -55, 0 deg C
Temperature Max       100, 110, 150 deg C
Sensor Gain       10 mV/Deg C

Donc est ce bien un problème  de lecture et de conversion d'impulsion du LM35 pour piloter le servo...?
Sinon je suis sur la piste d'utiliser deux LM35;
une valeur de ref et l'autre pour les variations.

Donc voila je retourne potasser Physical computing , à dans quatre ans!!!


Sauf si....

LordH
« Last Edit: May 09, 2008, 01:05:06 am by said_halbane » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 41
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

salut,

d'apres la datasheet http://cache.national.com/ds/LM/LM35.pdf, le lm35 te sort une tension directement proportionnelle a la temperature, entre -1v, et +6V.
donc il va te falloir faire attention car les entrée analogiques sont limitées à 5v si je ne me trompe.

Perso, je commencerais par verifier que j'arrive bien à lire les valeurs du capteur .
deuzio, arriver à piloter un servo (par exemple par le clavier).
troizio, relier les deux.
Logged

Paris
Offline Offline
Newbie
*
Karma: 0
Posts: 20
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

 smiley
hello,

Merci de me répondre , je je te préviens suis débutant. :o

Donc les valeurs je les lis bien en baud.
serial print 9600...

J'arrive à faire fonctionner mes servo avec  le code page 35 du manuel arduino notebook.
(c'est à cela que tu fais ref quand tu écris au clavier.)??

Mais en fait je ne sais pas si la lecture de mon LM35 suffiras a dire un truc du genre bah la y'as un degré C° de plus qu'il y'as 10 minutes
donc bouge le servo 20 degrés.....C'est en fait ce que je recherche .

D'ou l'idée d'un autre LM35 en ref.

 On m'as aussi conseiller un AOP.
Pour avoir assez de Voltages pour mon servo  venant de lecture du LM35.

C'est ce  que je comprends et ce que je lis dans le book Physical computing;
En fait il faut mettre à l'echelle la fonction la lecture .Et pour avoir la plage total de lecture du LM35

 comme ici....

http://frederic.ducrocq.free.fr/Station_meteo/temperature/etalon_TP_prof.htm
C'est chaud!


Je bidouille ...mais j'y arrive pas!
Pour l'instant........





« Last Edit: May 09, 2008, 04:07:33 am by said_halbane » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 41
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ben... pour la plage...
le lm35 est linéaire, la sortie est directement proportionnelle a la température mesurée, donc perso, j'étalonnerais en prenant " mesure : une proche de 0, une vers 20°, et une autre vers 40° par exemple en plaçant une lampe près du capteur. A chaque fois, tu récupère la valeur de tension, et tu prends la température au même endroit avec un thermomètre en lequel tu as confiance.

théoriquement deux valeurs suffisent, mais la 3eme permet de vérifier...
Une fois que tu as étalonné ton truc, tu sauras calculer la valeur de temperature en fonction de la tension lue.

Pour ce qui est des écarts, rien de plus simple, il te suffit de mémoriser dans l'arduino la valeur lue !
10 minutes plus tard, tu lis à nouveau ton entrée analogique, et tu la compare avec la valeur lue le coup d'avant. Si ça a changé, hop, tu bouges le servo.

ou alors j'ai loupé un truc...
a moins... que tu ne veuilles éteindre l'arduino entre deux mesures.. la ca devient plus coton car il te faudra écrire la valeur en flash pour la garder mesure quand la carte est hors tension.



Logged

Paris
Offline Offline
Newbie
*
Karma: 0
Posts: 20
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci skall;

J'ai acheter un thermomètre electronique avec sonde smiley.

Mais avant de faire ce que tu me conseille. J'ai une question stupide!
La valeur lu doit être en bauds ce que je faisais jusqu'a maintenant ou en volts (voltmètre) ???

Je t'avais prévenu , je suis débutant!
« Last Edit: May 09, 2008, 01:30:17 pm by said_halbane » Logged

0
Offline Offline
Full Member
***
Karma: 0
Posts: 198
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

La sortie du LM35 est en volt (10mV/°C) donc si tu as en sortie de la sonde 100mV, la température est de 10°C. Les bauds c'est pour la vitesse du liaison série  smiley-wink

Si tu veux il y a une note d'application :

http://www.national.com/an/AN/AN-460.pdf
« Last Edit: May 09, 2008, 03:09:50 pm by Vincent » Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ce que tu vas lire par l'intermédiaire de l'arduino sera une valeur numérique entre 0 et 1023 pour un pin analogique :

http://www.arduino.cc/en/Reference/AnalogRead

Il faut que tu fasses une "formule" pour convertir cette valeur en température, ou en angle à donner à ton servo
« Last Edit: May 09, 2008, 03:12:11 pm by jfs » Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Paris
Offline Offline
Newbie
*
Karma: 0
Posts: 20
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Merci, pour toutes ses infos!!


j'ai trouver ceci
http://boundingbox.homelinux.net/blog/?p=39

serait- ce l'operation à faire?
« Last Edit: May 10, 2008, 05:00:11 am by said_halbane » Logged

Geneva
Offline Offline
Faraday Member
**
Karma: 30
Posts: 3230
Yoplait... le pt'it suisse
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Pour ta sonde de température, c'est ça...

Code:
     val = analogRead(potPin);    // read the value from the sensor
      temperature = (5.0 * val * 100.0)/1024.0;

dans cette parte de code il converti la mesure analogique en °C.


 Reste plus qu'a faire le reste pour commander ton servo par rapport éà la température
Logged

MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Paris
Offline Offline
Newbie
*
Karma: 0
Posts: 20
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

J'ai changé le delay à 10000

Bah, en fait je trouve que je n'ai pas de valeurs cohérentes!J'ai un thermo electronique à coté ....

De plus quand je chauffe avec sechoir les valeurs baissent.
Pis y'a toujour un 0 ou deuX 0 qui se placent entre les valeurs.....D'ailleurs pour piloter mes servos c'est ce qui me gêne le plus.


Pourtant j'applique le même schéma.Quoique j'ai des doutes sur la resistances, Est ce bien 100KOHMS?
J'ai l'impression que ça viens de la???

« Last Edit: May 15, 2008, 12:16:37 am by said_halbane » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu devrais essayer un delay BCP plus petit genre 10ms pour lire plus de valeurs, ensuite tu peux te faire un petit tableau et de belles courbes pour analyser plus finement ce qui se passe  smiley-wink
Logged

Paris
Offline Offline
Newbie
*
Karma: 0
Posts: 20
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il me semble que tu connais la manip pour faire faire un tableau sous excell ? smiley

Parce que je sais plus :-?!
« Last Edit: May 15, 2008, 12:58:45 pm by said_halbane » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 2
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Tu peux faire un simple copier coller de ce que tu lis sur le moniteur de port serie dans un tableau excell.

Cette 'manip' a ses limites mais tu pourras déjà nous montrer ce que tu obtiens.
« Last Edit: May 15, 2008, 05:20:17 pm by okdko » Logged

Pages: [1]   Go Up
Jump to: