Un coupable courant est le couplage de charge entre les canaux de l'ADC (ignorer si vous n'utilisez qu'un seul canal).
La plupart des microcontrôleurs avec ADC multicanaux ont un multiplexeur et un condensateur d'échantillonnage. Le condensateur d'échantillonnage peut être dans la plage 1-10pf. Lorsque vous passez d'un canal au suivant, ce condensateur d'échantillonnage conserve initialement la charge de la tension du canal précédent. Le condensateur d'échantillonnage doit alors se charger vers le haut / bas jusqu'à la tension sur le canal suivant, et a une constante de temps qui dépend de l'impédance externe sur l'entrée du canal ADC.
Il est recommandé d'utiliser un RC circuit directement sur les entrées du canal ADC. ( modifier: si vous avez un diviseur de tension, vous n'avez pas besoin du R; la résistance équivalente de Thevenin agit comme une résistance, donc un diviseur 10K et 1K donnera une résistance équivalente de 909 ohms. ) J'ai tendance à utiliser quelque chose dans le voisinage de 499 ohms, 100-300pf. Ce qui se passe, c'est que le condensateur externe dans le réseau RC agit comme un réservoir de stockage, donc lorsque le multiplexeur ADC commute, le condensateur externe charge très rapidement le condensateur d'échantillonnage. Il y a un compromis entre l'utilisation d'une petite capacité (constante de temps rapide, mais transitoire initial lorsque les commutateurs ADC mux sont très grands) par rapport à une grande capacité (très peu de transitoire initial sur le condensateur externe lorsque ADC mux commute, mais une constante de temps longue) et vous peut résoudre ce problème vous-même pour optimiser.
Vous devez généralement le faire même si vous utilisez un ampli-op pour tamponner la tension menant au CAN . En effet, les amplificateurs opérationnels ne sont pas très efficaces pour gérer des charges non linéaires à haute fréquence comme un multiplexeur + un condensateur d'échantillonnage.
Si vous ne mettez pas en mémoire tampon la tension menant à l'ADC avec un ampli opérationnel, notez qu'une résistance élevée de la source peut être un problème. Ce couplage de charge provoque un courant qui circule entre un canal et le suivant, avec un courant égal à f * C * deltaV, où f = fréquence d'échantillonnage, C = capacité d'échantillonnage interne et deltaV = tension entre les canaux successifs échantillonnés par l'ADC. Exemple: deltaV < = +/- 3V, C = 5pf, f = 1000Hz donne un courant de couplage de charge allant jusqu'à +/- 15nA. Si l'impédance de votre source est de 10K, vous obtiendrez une tension de décalage allant jusqu'à +/- 150uV en fonction de la différence de tension entre les canaux. (Cela ne devient vraiment un problème qu'avec des taux d'échantillonnage élevés ou des impédances de source élevées)