OK, tu préfères la CTN, moi le LM335.
Chacun le sien.
-----
OK, tu préfères la CTN, moi le LM335.
Chacun le sien.
Ce n'est pas que je préfère particulièrement les CTN (le LM335 serait effectivement bien mieux en d'autres circonstances), mais ça "colle" plus à ce qui est demandé:
Le LM c'est 3 fils dont un peut être le blindage !
Et je préfère quand même le LM.
Merci pour ce sujet, puisque je réalise un projet similaire à celui de bair75, sauf que je veux une précision de 0.01 K de 0 à 110°C. L'utilisation d'Hörner pour la serie de Taylor est une bonne idée, bravo pascal. A la base je pensait utilisait un pont de wheatstone, typique pour ce genre d'aplication. Ce dernier permet aussi facilement de tenir compte de la résistance du fil du capteur(assez long dans mon cas).
Mais je me demandais si je ne devrait pas utiliser un ampli log, pour éviter d'avoir un à utiliser un can 16 bit pour obtenir la précision exigée. Je n'ai pas vraiment envie de trimbaler un tableau de 65000 valeurs en mémoire.
N'ayant pas beaucoup d'experience je trouve interessant que vous me donniez votre avis.
0,01° sera difficile à obtenir.
Ce n'est pas la CAN qui va faire la précision mais le capteur.
Dans mon cas le capteur est imposé, et je suis sur de ne pas avoir de problème de précision de ce côté là puisque qu'il est déja opérationnel sur carte d'aquisition+labview.
le problème avec de tels calculs est que l'on vite bridé si l'on est en 16 bits signés par exemple (calcul max 32767 ohms !!)
Quelle méthode employez vous ?
Droite entre deux points ou parabole ?
Merci de vos infos très utiles.
Ce calcul ne peut pas être mené sur des valeurs entières. Il peut l'être en revanche sur des valeurs en virgule fixe (ajustée éventuellement à chaque calcul) ou en virgule flottante, et avec un minimum de bits significatifs (fonction de la précision à obtenir).
Il peut être mené directement à l'aide d'une unité de calcul en virgule flottante (si l'on en dispose), ou bien plus indirectement à l'aide d'une unité arithmétique, même très simple (4 bits BCD ou 8/16 bits, et sans multiplication ni division par exemple).
bonsoir:c'est quoi çe delire!:le LM 35 est un gene de courant,donc la resistance de ligne il rigole!;la mesure de T° est tres delicate! pour un thermocouple la linearisation est faite par soft pour une grande precision!,mais dans ton cas le LM35 est ok,ou alors un il existe divers composants qui delivrent directement les info par liaison direct au micro!
Merci pour lui, mais la question du capteur date de juin 2007.
Et puis le LM35 est bien à la base un générateur de tension, même si on peut l'utiliser dans un montage pour le transformer en générateur de courant (comme pour la plupart des générateurs de tension) mais dans ce cas on perd l'avantage d'avoir un composant unique qui délivre une tension proportionnelle à la température en °C.
Il peut être mené indirectement à l'aide d'une unité arithmétique, même très simple (4 bits BCD ou 8/16 bits, et sans multiplication ni division par exemple).[/QUOTE]
Bonjour PA5CAL,
je suis étonné que l'on puisse faire des calculs avec seulement 4 bits BCD ou en 8/16 bists sans multiplication ou division !
Pouvez-vous développer cette idée ?
Mon projet est de faire ces calculs à partir d'un automate programmable avec des entrées de températures en CTN et de sortir un signal linéarisé avec les calculs en 16 bits signés.
Qu'en pensez-vous ?
C'est ce qu'on faisait dans les microprocesseurs 4 bits (Intel 4004 par exemple) ou 8 bits (6800, 8080, Z80...). Ainsi, des ordinateurs comme l'Apple II ou le TRS-80 n'avaient ni la multiplication et ni la division parmi leurs opérations de base. Il fallait tout faire à base d'additions, de soustractions, de décalages et de tests.
Pour faire une multiplication ou une division en binaire, on procède exactement comme quand on fait le calcul à la main, en base 10. Mais cela est beaucoup plus simple parce qu'on n'utilise que les chiffres 0 et 1.
Par exemple, pour faire la multiplication 5x9, on procède comme suit:
Et pour faire la division 27/4:Code:0101 <- 5 x 1001 <- 9 --------- 0101 <- 1 x 0101 + 0000. <- 0 x 0101 + 0000.. <- 0 x 0101 + 0101... <- 1 x 0101 --------- = 0101101 -> 45
Code:27 -> 11011 | 100 <- 4 | 11011 | 100 | 1 <- car 110 >= 100 11011 | 100 110-1x100= 10 | 1 11011 | 100 101 | 1 11011 | 100 101 | 11 <- car 101 >= 100 11011 | 100 101 | 11 101-1x100= 1 | 11011 | 100 101 | 11 11 | 11011 | 100 101 | 110 <- car 11 < 100 11 | 11011 | 100 101 | 110 11-0x100= 11 | 11011 | 100 101 | 110 -> 6 3 <- 11 | 27/4=6, reste 3
En BCD, c'est un peu plus long, parce qu'on fait les calculs par étape de manière à procéder comme en base 10, ce qui rajoute des opération d'ajustement décimal. Mais en contrepartie on n'a pas à faire de conversion décimal/binaire ni binaire/décimal.
Pour avoir une bonne précision, les calculs intermédiaires devront probablement être menés sur plus que 15 bits + signe.