Je développe un PCB pour une application de détection analogique. Il utilise l'ADC interne sur un PSoC3. Comme d'habitude, l'application est très limitée en espace (11 mm x 21 mm), j'ai donc dû faire des compromis dans la disposition du PCB, ce que je n'aurais pas fait sur un PCB plus grand.
La carte est alimentée par 6v régulé et contient deux régulateurs linéaires 5v. Un MCP1702 pour l'alimentation numérique et un MIC5205 pour l'alimentation analogique. La carte détecte cinq capteurs à effet Hall A1324 . Chaque signal de sortie à effet Hall est filtré par un filtre RC 100nF + 1k. Un capteur se trouve sur le PCB lui-même (en bas à droite). Les 4 autres se branchent sur le connecteur à 6 broches de droite.
La puce agit comme un esclave SPI, mais des échantillons ADC sont toujours prélevés entre les transactions SPI, de sorte que le SPI ne doit pas interférer avec les signaux analogiques.
Malheureusement, je vois toujours du bruit (environ 1,5 LSB à 12 bits) sur les signaux analogiques, et je me demande s'il y a quelque chose que j'aurais pu faire différemment dans la disposition pour l'améliorer.
Veuillez ouvrir l'image dans un nouvel onglet pour la voir en plus haute résolution.
Ajoutée:
D'autres conceptions de PCB que j'ai faites en utilisant le MCP3208 , et les mêmes alimentations 5v doubles, les mêmes capteurs et les mêmes filtres RC n'ont produit aucun bruit perceptible à 12 bits.
L'ADC sur le PSoC3 est un type delta sigma. Cette version du PSoC est limitée à 12 bits, mais un autre numéro de pièce a un ADC 16 bits (bien qu'avec un taux d'échantillonnage inférieur).
Je me soucie du bruit et j'aimerais vraiment pousser un peu plus vers 12 ENOB. La raison n'est pas la précision, mais la mesure de la vitesse. Actuellement, ce niveau de bruit rend impossible un contrôle précis de la position et de la vitesse sur un robot.
Ajoutée:
Schématique. Désolé, c'est un peu à l'étroit, mais vous pouvez à peu près lire les valeurs.