salut a tout:
j'ai terminer de relever les courbes(tension et résistance para pore la température) mais il ne son pas linéaire
es qu'il y'a des moyen pour être linéarisable
salut:
V en fonction de T comment je peut rendre linéaire
Réponse de Louloute en #30 ......
Bonsoir à tous
Je conteste.
Le lien de Louloute/Qc améliore les chose au sujet du pont de Wheatstone seul, mais ne peut faire aucun miracle par rapport à la variation de résistance de la PT100, qui, elle, n'est pas linéaire en fonction de la température.
Des éléments de réponse sont visibles, dans le lien que j'ai donné en #28.
En gros, la "méthode" consiste à modifier la tension d'alimentation du pont, en fonction du déséquilibre de ce dernier. On obtient une compensation qui est presque parfaite. Je crois me souvenir qu'il y a même un schéma.
La PT100, intriséquement n'est pas linéaire, mais c'est une erreur au deuxième degré et négligeable pour un bricoleur. Par contre, dans un pont, elle n'est plus du tout linéaire sauf avec le montage #30
Il me semble aussi à regarder la courbe d’une PT100 que ça donne une jolie ligne droite
http://www.ephy-mess.de/englisch/daten/pt100k.htm
@ Amine007 : linéaire, ça veut dire qui suit une fonction ax+b.
Naturellement, en plaçant une règle sur l’écran on voit que la courbe a un ventre d’une vingtaine de degrés Celcius au milieu, ce qui ne fait malgré tout que 2% de la pleine échelle. Si on cherche la droite de moindre erreur, elle doit réduire à ±5˚C l’erreur sur toute la courbe (±0,5% de la pleine échelle).
Si j’avais à utiliser une sonde PT100 de -100˚C à +800˚C, je suppose qu’il faudrait sans doute faire un peu de calcul après la conversion numérique.
Encore une fois, tout dépend de la précision qu’on demande, mais en dehors de fréquences, chercher à mesurer en dessous de 1% commence à être la croix et la bannière.
Pour en revenir au multiplexage de sonde de Amine007, je conseillerais un montage autour du post#20, la sortie de l’AOP peut alors se multiplexer; s’il est moustachu en programmation et si ses mesures de températures sont autour de -100 à +200˚C, un petit programme peut lui permettre de faire pour chaque PT100 le zéro et la pente en assimilant R(T) des PT100 à des droites; ceci évitera d’avoir à mettre des ajustements dans l’analogique. Une mesure dans la glace fondante et une autre au point triple de l’eau et la divine machine fait le reste.
Salut a tout:
le température que je veut mesurer est varie entre 0°->150°,es que je peut régler la linéarisation avec programmation ou avec un système analogique s'il y'a vous pouvez m'indiquer la plus performant
merci
salut a tout:
une fonction linéaire est de cette forme f(x)=ax.
http://www.mathsgeo.net/rep/fonclin.html
Bonjour à tous
Les deux mon capitaine.
L'avantage du programmé, c'est qu'il n'est pas nécessaire de bidouiller des compensations complexes. On recherche une expression de compensation (mathématique) si c'est possible, ou bien on établit une table dans les cas "tordus".
Dans ton cas, tu dois calculer l'expression de la sortie analogique Us=f(T°), et appliquer la correction du convertisseur brut, le CAN, qui lui sera parfaitement linéaire, pour en déduite la véritable valeur de T°.
La variation de résistance de PT100 correspond à une équation du second degré, parfaitement définie, que tu devrais trouver dans le lien que j'ai donné en #28. La forme est y=ax²+bx+c, avec y=Rt, et c=100
Edit: c'est à partir du #23 de la discussion, que les coefficients de calcul sont introduits:
http://forums.futura-sciences.com/el...#post538069#23
.
Dernière modification par gienas ; 14/02/2010 à 14h39. Motif: Complément d'information
salut a tout:
merci pour le lien j'ai déjà vu avant,mais la discussion n'est pas terminer donc un peut m'aider,peut être par programmation plus efficace ,mais elle est un peut complexe je pense pour m'a niveau la régulation analogique est efficace mais comment??
es qu'il y'a des schéma explicatif?
merci
Laquelle?
A quoi faire?
Faut-il que "le forum" fasse tout le travail à ta place? Est-ce une bonne chose pour toi? Que vas tu en tirer?
Je ne comprends pas ce que tu veux dire par là.
Je n'ai rien compris.
Des schémas explicatifs de quoi?
Dans une solution soft (programmée), il n'y a pas de hard, pas de schéma. On prend le signal tel qu'il est, et on le charcute par le programme.
Dans la solution analogique, il n'y a pas de programme du tout, et le signal finit par une proportionnalité parfaite.
Salut a tout:
gienas,je pense que ton repense est très sévère.
Mon camarade moi je n'habite pas a la France donc,c'est pour se la mon écriture(en Francer) est n'est pas claire(je m'excuse ).
je sais que moi doit faire le travaille est ne pas "le forum",mon frère gienas,moi je pose beaucoup de questions par ce que ,dans la societer ou je fait mon PFE il y'a beaucoup des problèmes ,l'encadreur qui est responsable de ma encadrer n'a pas le temps pour m'expliquer beaucoup des choses,je sais qu'il faut que moi faire un grand effort mais il y'a des choses très puissant que m'a capacité,c'est pour se la moi je pose tous ces questions ,par ce que je pense qu'il y'a des bonnes hommes comment toi gienas qu'ils puissent m'aider.
Salut a tout:
es que je peut faire une relation entre la boucle 4-20mA et un PIC?
Ce que Giénas voulait probablement dire, c’est que si tu ne sais pas trop comment par programmation linéariser une courbe, ni en adaptant un schéma très proche de ton utilisation particulière, c’est peut-être que le projet te dépasse et que tu devrais réduire tes ambitions à quelque chose que tu sauras faire en grande partie, même si pour peaufiner tu as besoin un peu d’aide.
Si tu es bon en informatique, une suggestion : tu prends un CTN comme capteur (elle est loin d’être linéaire en température), tu digitalises sur 8 ou 10 bits et tu écris un programme qui détermine la droite de moindre erreur pour des mesures entre 0˚C et 100˚C.
Tu apprendras bien plus en faisant cela par toi-même que simplement en copiant des schémas pêchés sur le NET ou sur Futura.
Quand à ta dernière question, la charte du forum interdit de s'écarter à ce point du sujet.
P.S.: par curiosité où vis-tu?
SALUT a tout:
cette année on'a travailler avec MPLAP IDE 8.6,et je suis bien en programmation en C/C++ puisque j'habite en allemand ,mais le problème ces la première année que j'ai fait un PFE et non pas des minis PFE ,et la méthode pour linéariser un courbe avec programmation ces la première fois que j'ai vu.
Nom louloute/Qc ,tout ces schémas et les courbes se sont de mon travaille et ne pas comme tu a dit(que simplement en copiant des schémas pêchés sur le NET ou sur Futura.),moi j'ai le fait tous,SVP ne parler pas de cette façon a la prochaine fois.Moi je fait un grand effort pour réaliser mon projet et ces la première fois,Vous avez une bonne expérience que moi,donc pas d'exclamation!!!!!!!!
Finalement je m'excuse.
Les calculatrices scientifiques sont capables de trouver la courbe linéaire ou log / exponentielle ou du second degré qui passe par trois points.
Si tu prends une PT100; Comme Daudet le dit, elle suit une courbe du second degré, tu dois donc pouvoir en trouver les coefficients. De là tu peux écrire un programme qui va convertir les mesures de résistances en affichage en ˚C. Il ne te reste alors qu’à monter une PT100 avec son ampli et deux potentiomètres. L’un pour l’offset, l’autre pour le gain. C’est l’approche ‘lourde’ qui exige que tu prennes plusieurs mesures pour ajuster à la main tes deux pots.
Plus astucieux mais exige de très solides connaissances en programmation : Tu prépares l’interface (ampli) entre ton capteur et le CAN sans aucun ajustement et lors d’une procédure d’ajustement tu entres des températures lues sur un thermomètre de référence; le programme de ton capteur doit alors à partir de tes lectures et en comparaison avec les mesures que lui donne son capteur trouver les morceaux de droites qui suivent les mesures.
Encore plus astucieux : toujours sans aucun ajustement ‘hardware’, le programme trouve à partir de tes mesures sur le thermomètre de référence et de ce que donne le CAN les paramètres de la meilleur courbe du second degré.
Pour les applaudissements du jury, non seulement le programme est capable de déterminer les paramètres d’une courbe ax² + bx + c mais il est capable de faire de même avec un exponentielle décroissante et est même capable de choisir la courbe la plus adaptée. Si tu lui donne alors une PT100 ou si tu lui donnes un CTN, il va les reconnaître et t’en informer.
N’existe-t-il pas in Deutschland des forums qui peuvent t’aider?
salut a tout:
Merci louloute/Qc pour votre explication .
il existe des forums,mais je veut connaitre beaucoup des informations pour construire une Bouquet d'information.
Foren gibt es, aber ich möchte Eine Vielzahl von Informationen zu wissen, einen Strauß von Informationen aufzubauen.
DANKE
salut a tout:
la courbe est de forme ax² + bx + c ,j'ai déterminer les coefficients et j'ai réaliser mon courbe avec MATLAB, malheureusement,la troisième coefficient ((a) j'ai le remplacer par (B) ) est très faible (-0.000000577),donc es que je peut prendre comme une valeur négligeable , voici mon programme en MATLAB:
B=-0.000000577;
A=0.00385;
Ra=100;
I=0.001;
Rf=0.35;
T=0:150;
R=Ra*(1+A*T );
subplot(2,2,1),plot(T,R)
axis([0 150 0 160]);
text(150,157.35,'MAX')
text(0,100,'MIN')
xlabel('La Temperature')
ylabel('La resistance')
title('R=f(T)')
legend('la relation entre la T et la R')
grid on
Rt=Rf+R;
U=Rt*I;
subplot(2,2,2), plot(T,U)
axis([0 150 0 0.18]);
text(150,0.15767,'MAX')
text(0,0.10035,'MIN')
xlabel('La Temperature')
ylabel('La Tension')
title('V=f(T)')
legend('la relation entre la T et la V')
grid on
les courbes se trouvent dans Message #34.
est voici mon programme pour la CAN a base de MPLAB IDE 8.6
static void AppADCTask(void *p_arg)
{
CPU_INT16U ADCValue;
CPU_INT08U err;
CPU_INT08U buf[] ="ADC Converter ";
CPU_INT08U buf1[]="P3xxx ";
DispInit(2,16); /* Initialize uC/LCD for a 2 row by 16 column display. */
DispClrScr(); /* Clear the screen. */
DispStr(0,0,buf); /* Afficher le contenu du buf*/
DispStr(1,0,buf1);
(void)p_arg;
while (DEF_TRUE)
{AD1CON1bits.SAMP = 1; // start sampling AN8-->MUX A...
OSTimeDly(1); // Ensure the correct sampling time has elapsed
// before starting conversion.
AD1CON1bits.SAMP = 0; // start Converting
while (!AD1CON1bits.DONE); // conversion done?
ADCValue = ADC1BUF0; // yes then get ADC value
sprintf((char *)&buf1[3], "%4d",ADCValue);
DispStr(1,0,buf1);
OSTimeDly(20);
}
}
Merci mes camarades
Salut a tout:
pour la connaissance( Rf )est la resistance des fils(fil1 et fil2) d'une sonde.
merci