Bonjour,
J'ai un problème qui paraît simple avec un ADC mais j'ai du mal à le résoudre.
J'envoie une tension issue d'un pont diviseur sur une entrée de l'ADC ADC108S052CIMT.
Voici le schéma de la fonction, j'ai supprimé les composants/fils qui n'ont rien à voir:
ADC_schema.png
Comme on peut le voir, on divise par 4 la tension présente sur le 12V pour obtenir un maximum de 3V en entrée de l'ADC. Le même filtre RC que celui préconisé par la datasheet a été ajouté entre le pont et l'ADC.
Seulement, plus l'entrée est proche de 0 et plus la précision est médiocre. Après investigation et relecture de la datasheet, c'est à cause de l'impédance d'entrée qui est beaucoup trop élevée pour cet ADC.
J'ai donc intercalé entre le pont diviseur et le filtre RC un AOP OPA344PA configuré en suiveur pour abaisser l'impédance. -> Le résultat est toujours insatisfaisant.
Enfin, en laissant le suiveur mais en enlevant la capa 1nF du filtre, le résultat est conforme à ce qui est attendu.
J'ai commandé un quadruple AOP LM324PWR et ai réalisé le même montage que le précédent, avec, puis, sans la capa de 1nF. Dans les 2 cas, les résultats sont mauvais! Précision: l'alim V+ de l'AOP est prise sur un +5V propre de la carte (même masse que pour le +3.3V) car une entrée de l'AOP doit être inférieure à V+ - 1.5V => 5V - 1.5V = 3.5V. J'ai également essayé avec une alim +12V propre, les résultats sont identiques qu'avec l'alim +5V.
Voici ce que j'obtiens lorsque je monte le LM324PWR en suiveur après le pont diviseur et que je laisse la résistance de 22Ohm, sans la capa de 1nF:
- +12V = 0V => Valeur lue: 26mv
- +12V = 3V => Valeur lue: 2.977V
- +12V = 6V => Valeur lue: 5.762V
- +12V = 9V => Valeur lue: 9.499V
- +12V = 12V => Valeur lue: 13.186V
Selon vous, qu'est-ce qui fait que cela fonctionne bien avec l'OPA344PA mais pas avec le LM324PWR alors que le montage est le même??
D'après la datasheet du LM324PWR, la Capacitive load drive = 100pF, hors la capacité d'entrée de l'ADC est de 33pF au maximum.
Je ne comprends pas quel paramètre fait que pour un AOP ça fonctionne mais pas pour l'autre.
Merci d'avoir lu!
-----