Table des matières:
- Étape 1: Architecture ADC
- Étape 2: Circuit interne
- Étape 3: Circuit externe
- Étape 4: Instructions de lecture I2C
- Étape 5: Résultats
Vidéo: Comment faire le sens du courant ADC: 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Dans ce Instructable, nous décrirons comment implémenter un convertisseur analogique-numérique (ADC) 8 bits dans le SLG46855V qui peut détecter le courant de charge et s'interfacer avec un MCU via I2C. Cette conception peut être utilisée pour diverses applications de détection de courant telles que les ampèremètres, les systèmes de détection de défauts et les jauges de carburant.
Ci-dessous, nous avons décrit les étapes nécessaires pour comprendre comment la solution a été programmée pour créer le sens du courant ADC. Cependant, si vous souhaitez simplement obtenir le résultat de la programmation, téléchargez le logiciel GreenPAK pour afficher le fichier de conception GreenPAK déjà terminé. Branchez le kit de développement GreenPAK sur votre ordinateur et appuyez sur programme pour créer le sens du courant ADC.
Étape 1: Architecture ADC
L'ADC est essentiellement composé d'un comparateur analogique et d'un convertisseur numérique-analogique (DAC). Le comparateur détecte la tension d'entrée par rapport à la tension de sortie du DAC et contrôle ensuite s'il faut incrémenter ou décrémenter le code d'entrée du DAC, de sorte que la sortie du DAC converge vers la tension d'entrée. Le code d'entrée DAC résultant devient le code de sortie numérique ADC.
Dans notre implémentation, nous créons un DAC utilisant un réseau de résistances contrôlé par modulation de largeur d'impulsion (PWM). Nous pouvons facilement créer une sortie PWM à commande numérique précise à l'aide de GreenPAK. Le PWM lorsqu'il est filtré devient notre tension analogique et sert ainsi de DAC efficace. Un avantage distinct de cette approche est qu'il est facile de régler les tensions qui correspondent au code zéro et à la pleine échelle (de manière équivalente à l'offset et au gain) en ajustant simplement les valeurs de résistance. Par exemple, un utilisateur souhaite idéalement lire le code zéro d'un capteur de température sans courant (0 µA) correspondant à 4,3 V, et le code pleine échelle à 1000 µA correspondant à 3,9 V (tableau 1). Ceci est facilement mis en œuvre en définissant simplement quelques valeurs de résistance. En faisant correspondre la plage ADC à la plage d'intérêt du capteur, nous utilisons au mieux la résolution ADC.
Une considération de conception pour cette architecture est qu'une fréquence PWM interne doit être beaucoup plus rapide que le taux de mise à jour ADC pour éviter un comportement sous-amorti de sa boucle de contrôle. À tout le moins, elle doit être plus longue que l'horloge du compteur de données ADC divisée par 256. Dans cette conception, la période de mise à jour ADC est définie sur 1,3312 ms.
Étape 2: Circuit interne
L'ADC flexible est basé sur la conception présentée dans Dialog Semiconductor AN-1177. La vitesse d'horloge est augmentée de 1 MHz à 12,5 MHz afin de cadencer le compteur ADC puisque le SLG46855 dispose d'une horloge de 25 MHz. Cela permet un taux de mise à jour beaucoup plus rapide pour une résolution d'échantillon plus fine. La LUT synchronisant l'horloge de données ADC est modifiée afin qu'elle passe par le signal de 12,5 MHz lorsque le PWM DFF est bas.
Étape 3: Circuit externe
Une résistance externe et un réseau de condensateurs sont utilisés pour convertir un PWM en une tension analogique, comme indiqué dans le schéma de circuit de la figure 1. Les valeurs sont calculées pour une résolution maximale du courant maximal que l'appareil détectera. Pour obtenir cette flexibilité, nous ajoutons les résistances R1 et R2 en parallèle au VDD et à la masse. Un diviseur de résistance divise VBAT vers le bas côté de la plage de tension. Le rapport de division pour un VBAT minimum attendu peut être résolu en utilisant l'équation 1.
Étape 4: Instructions de lecture I2C
Le tableau 1 décrit la structure de commande I2C pour relire les données stockées dans CNT0. Les commandes I2C nécessitent un bit de démarrage, un octet de contrôle, une adresse de mot, un bit de lecture et un bit d'arrêt.
Un exemple de commande I2C pour relire la valeur comptée CNT0 est écrit ci-dessous:
[0x10 0xA5] [0x11 R]
La valeur comptée qui est relue sera la valeur du code ADC. À titre d'exemple, un code Arduino est inclus dans le fichier ZIP de cette note d'application sur le site Web de Dialog.
Étape 5: Résultats
Pour tester la précision de la conception de détection de courant ADC, les valeurs mesurées à un courant de charge et un niveau VDD donnés ont été comparées à une valeur théorique. Les valeurs ADC théoriques ont été calculées avec l'équation 2.
L'ILOAD qui correspond à une valeur ADC est trouvé avec l'équation 3.
Pour les résultats suivants, j'ai utilisé ces valeurs de composants indiquées dans le tableau 3.
La résolution de la conversion de la valeur ADC en ILOAD peut être calculée en utilisant l'équation 3 avec les valeurs mesurées dans le tableau 2 et la valeur ADC définie sur 1. Avec un VBAT de 3,9 V, la résolution est de 4,96 µA/div.
Afin d'optimiser le circuit de détection de courant ADC à un niveau VDD minimum de 3,6 V avec un courant maximum de 1100 µA et une résistance de détection de 381 Ω, le coefficient de diviseur idéal serait de 0,884, basé sur l'équation 1. Avec les valeurs données dans le tableau 2, le diviseur réel a un coefficient de diviseur de 0,876. Étant donné que c'est légèrement inférieur, cela permettra une plage de courant de charge légèrement plus grande afin que les valeurs ADC soient proches de la plage complète mais ne déborderont pas. La valeur réelle du diviseur est calculée avec l'équation 4.
Ci-dessus (figures 2-6, tableaux 4-6) se trouvent les mesures prises du circuit à trois niveaux de tension: 4,3 V, 3,9 V et 3,6 V. Chaque niveau affiche un graphique affichant la différence entre les valeurs ADC mesurées et théoriques. Les valeurs théoriques sont arrondies à l'entier entier le plus proche. Un graphique récapitulatif permet de comparer les différences aux trois niveaux de tension. Ensuite, un graphique affiche la corrélation entre les valeurs ADC théoriques et le courant de charge aux différents niveaux de tension.
Conclusion
L'appareil a été testé à trois niveaux de tension: 3,6 V, 3,9 V et 4,3 V. La plage de ces tensions modélise une batterie lithium-ion complète qui se décharge à son niveau nominal. Sur les trois niveaux de tension, on observe que le dispositif était typiquement plus précis à 3,9 V pour le circuit externe choisi. La différence entre les valeurs ADC mesurées et théoriques n'était que de 1 valeur décimale à des courants de charge de 700 à 1000 µA. Dans la plage de tension donnée, les valeurs ADC mesurées étaient 3 décimales au-dessus des conditions nominales dans le pire des cas. D'autres ajustements du diviseur de résistance peuvent être effectués pour optimiser différents niveaux de tension VDD.
Conseillé:
Comment faire un pilote à courant élevé pour un moteur pas à pas : 5 étapes
Comment créer un pilote à courant élevé pour un moteur pas à pas : nous verrons ici comment créer un pilote de moteur pas à pas à l'aide du contrôleur TB6560AHQ de Toshiba. Il s'agit d'un contrôleur complet qui n'a besoin que de 2 variables en entrée et qui fait tout le travail. Depuis que j'avais besoin de deux d'entre eux, je les ai faits tous les deux en utilisant le
Comment faire un ventilateur à grande vitesse avec un moteur à courant continu ? : 6 étapes
Comment fabriquer un ventilateur à grande vitesse avec un moteur à courant continu ? : Tout d'abord, regardez la vidéo complète, vous comprendrez tout. Les détails sont donnés ci-dessous
Comment contrôler un moteur à courant continu pour qu'il fonctionne dans les deux sens : 3 étapes
Comment contrôler un moteur à courant continu pour qu'il fonctionne dans les deux sens : Ces ponts en H sont très utiles et intelligents, mais si vous souhaitez simplement contrôler la direction du moteur avec un interrupteur (manuellement), il existe une alternative beaucoup plus simple et moins chère. Ce petit circuit est parfait pour les débutants. Je connais ce circuit depuis s
Comment faire un calendrier des grands-parents & Scrapbook (même si vous ne savez pas comment faire un scrapbook) : 8 étapes (avec photos)
Comment faire un calendrier des grands-parents & Scrapbook (même si vous ne savez pas comment faire du scrapbooking) : c'est un cadeau de vacances très économique (et très apprécié !) pour les grands-parents. J'ai fait 5 calendriers cette année pour moins de 7 $ chacun.Matériel :12 superbes photos de votre enfant, enfants, nièces, neveux, chiens, chats ou autres parents12 pièces différentes
Comment interpréter le sens de rotation d'un commutateur rotatif numérique avec un PIC : 5 étapes
Comment interpréter le sens de rotation d'un commutateur rotatif numérique avec un PIC : L'objectif de ce Instructable est d'illustrer comment interfacer un commutateur rotatif numérique (codé en quadrature) avec un microcontrôleur. Ne vous inquiétez pas, je vais vous expliquer ce que ?quadrature codé ? signifie pour nous. Cette interface et le logiciel qui l'accompagne seront