Table des matières:

Mesures du capteur de courant ACS724 avec Arduino : 4 étapes
Mesures du capteur de courant ACS724 avec Arduino : 4 étapes

Vidéo: Mesures du capteur de courant ACS724 avec Arduino : 4 étapes

Vidéo: Mesures du capteur de courant ACS724 avec Arduino : 4 étapes
Vidéo: capteur de courant SCT013 arduino et ecran LCD en I2C 2024, Juillet
Anonim
Image
Image
Image
Image

Dans ce instructable, nous allons expérimenter avec la connexion d'un capteur de courant ACS724 à un Arduino pour effectuer des mesures de courant. Dans ce cas, le capteur de courant est une variété +/- 5A qui délivre 400 mv/A.

L'Arduino Uno a un ADC 10 bits, donc les bonnes questions sont: quelle est la précision de la lecture actuelle que nous pouvons obtenir et quelle est sa stabilité ?

Nous allons commencer par simplement connecter le capteur à un voltmètre et à un ampèremètre et faire des lectures analogiques pour voir à quel point le capteur fonctionne, puis nous le connecterons à une broche Arduino ADC et verrons à quel point il fonctionne.

Fournitures

1 - Breadboard2 - Alimentations de table2 - DVM's1 - Capteur ACS724 +/- 5A1 - Arduino Uno1 - LM78053 - Résistances 10 ohms, 10W1 - Capuchon 1nF1 - Capuchon 10nF1 - Capuchon 0,1uFCavaliers

Étape 1:

Le circuit de test est comme indiqué sur le schéma. La connexion de la broche Arduino 5V au rail LM7805 +5V est facultative. Vous pouvez obtenir de meilleurs résultats avec ce cavalier en place, mais faites attention à votre câblage si vous l'utilisez car l'Arduino est connecté à votre ordinateur et la deuxième alimentation dépassera 5V lorsque vous l'augmenterez pour augmenter le courant à travers le capteur.

Si vous connectez les alimentations ensemble, l'alimentation du capteur et l'alimentation Arduino auront exactement le même point de référence +5 V et vous vous attendriez à des résultats plus cohérents.

Je l'ai fait sans cette connexion et j'ai vu une lecture de courant zéro plus élevée sur le capteur de courant (2,530 V au lieu des 2 500 V attendus) et une lecture ADC inférieure à celle attendue au point de courant zéro. J'obtenais une lecture ADC numérique d'environ 507 à 508 sans courant dans le capteur, pour 2.500V, vous devriez voir une lecture ADC d'environ 512. J'ai corrigé cela dans le logiciel.

Étape 2: Tester les mesures

Mesures d'essai
Mesures d'essai

Des mesures analogiques avec un voltmètre et un ampèremètre ont indiqué que le capteur est très précis. Aux courants de test de 0,5 A, 1,0 A et 1,5 A, c'était exactement le millivolt.

Les mesures ADC avec l'Arduino n'étaient pas aussi précises. Ces mesures étaient limitées par la résolution de 10 bits de l'ADC Arduino et les problèmes de bruit (voir la vidéo). En raison du bruit, la lecture de l'ADC sautait dans le pire des cas jusqu'à 10 étapes ou plus sans courant à travers le capteur. Considérant que chaque étape représente environ 5 mv, cela représente une fluctuation d'environ 50 mv et avec un capteur de 400 mv/amp, cela représente une fluctuation de 50 mv/400 mv/amp = 125 ma ! La seule façon pour moi d'obtenir une lecture significative était de prendre 10 lectures d'affilée, puis d'en faire la moyenne.

Avec un CAN 10 bits ou 1024 niveaux possibles et 5 V Vcc, nous pouvons résoudre environ 5/1023 ~ 5 mv par étape. La sortie du capteur met 400mv/Amp. Nous avons donc au mieux une résolution de 5mv/400mv/amp ~ 12,5ma.

Ainsi, la combinaison des fluctuations dues au bruit et à la faible résolution signifie que nous ne pouvons pas utiliser cette méthode pour mesurer de manière précise et cohérente le courant, en particulier les petits courants. Nous pouvons utiliser cette méthode pour nous donner une idée du niveau de courant à des courants plus élevés, mais ce n'est tout simplement pas si précis.

Étape 3: Conclusion

Conclusion
Conclusion

Conclusion:

-Les lectures analogiques ACS724 sont très précises.

-ACS724 devrait très bien fonctionner avec les circuits analogiques. Par exemple, contrôler le courant d'alimentation avec une boucle de retour analogique.

-Il y a des problèmes de bruit et de résolution en utilisant l'ACS724 avec Arduino 10 bits ADC.

-Assez bon pour simplement surveiller le courant moyen pour les circuits à courant plus élevé, mais pas assez pour un contrôle de courant constant.

-Peut avoir besoin d'utiliser une puce ADC externe de 12 bits ou plus pour de meilleurs résultats.

Étape 4: Code Arduino

Voici le code que j'ai utilisé pour mesurer simplement la valeur ADC de la broche Arduino A0 et le code pour convertir la tension du capteur en courant et prendre la moyenne de 10 lectures. Le code est assez explicite et commenté pour le code de conversion et de calcul de moyenne.

Conseillé: