Table des matières:

Testeur de batterie Arduino avec interface utilisateur WEB. : 5 étapes
Testeur de batterie Arduino avec interface utilisateur WEB. : 5 étapes

Vidéo: Testeur de batterie Arduino avec interface utilisateur WEB. : 5 étapes

Vidéo: Testeur de batterie Arduino avec interface utilisateur WEB. : 5 étapes
Vidéo: La meilleure méthode pour héberger une interface web sur ESP32? (version avancée) [ESP32 Ép#4] 2024, Novembre
Anonim
Testeur de batterie Arduino avec interface utilisateur WEB
Testeur de batterie Arduino avec interface utilisateur WEB

Aujourd'hui, les équipements électroniques utilisent des batteries de secours pour sauvegarder l'état dans lequel le fonctionnement a été laissé lorsque l'équipement a été éteint ou lorsque, par accident, l'équipement a été éteint. L'utilisateur, à la mise sous tension, revient au point où il était resté et ne perd ainsi ni temps ni ordre d'exécution de ses tâches.

Étape 1: Présentation

introduction
introduction

Je fais un projet pour mesurer l'état de batteries avec différentes capacités et tensions en utilisant la méthode: Charge CC à deux niveaux. Cette méthode consiste à tirer un faible courant de la batterie pendant 10 secondes et un courant élevé pendant 3 secondes (normes IEC 61951-1: 2005). A partir de cette mesure, la résistance interne est calculée et donc son état.

Le poste de travail sera composé de plusieurs connecteurs, un pour chaque type de batterie, et d'un PC. Pour cela, une interface utilisateur (UI) est nécessaire. La partie la plus importante de ce didacticiel est l'interface utilisateur car dans d'autres instructables ont été décrites ces méthodes de test de batterie. J'ai essayé Processing et j'ai obtenu de bons résultats, mais j'ai décidé de créer mon propre logiciel en utilisant un serveur Web local et de tirer parti du potentiel de HTML, CSS et php.

On sait qu'il est très difficile d'envoyer des informations depuis Arduino vers un PC Windows mais au final, j'ai réussi. Tous les programmes sont inclus dans ce tutoriel.

Étape 2: ce que nous allons mesurer et comment

Ce que nous allons mesurer et comment
Ce que nous allons mesurer et comment
Ce que nous allons mesurer et comment
Ce que nous allons mesurer et comment

Résistance interne.

Chaque vraie batterie a une résistance interne. Nous supposons toujours que c'est une source de tension idéale, c'est-à-dire que nous pouvons obtenir beaucoup de courant en maintenant la tension nominale constante. Cependant, la taille de la batterie, les propriétés chimiques, l'âge et la température affectent tous la quantité de courant qu'une batterie est capable de fournir. En conséquence, nous pouvons créer un meilleur modèle de batterie avec une source de tension idéale et une résistance en série, comme le montre la figure 1.

Une batterie à faible résistance interne est capable de fournir plus de courant et reste froide, cependant, une batterie à haute résistance provoque un échauffement de la batterie et une chute de tension sous charge, déclenchant un arrêt prématuré.

La résistance interne peut être calculée à partir de la relation courant-tension donnée par deux points dans une courbe de décharge.

La méthode de charge CC à deux niveaux offre une méthode alternative en appliquant deux charges de décharge séquentielles de différents courants et durées. La batterie se décharge d'abord à un courant faible (0,2C) pendant 10 secondes, suivi d'un courant plus élevé (2C) pendant 3 secondes (voir Figure 2); la loi d'Ohm calcule les valeurs de résistance. L'évaluation de la signature de tension dans les deux conditions de charge offre des informations supplémentaires sur la batterie, mais les valeurs sont strictement résistives et ne révèlent pas l'état de charge (SoC) ou les estimations de capacité. Le test de charge est la méthode préférée pour les batteries qui alimentent des charges CC.

Comme indiqué précédemment, il existe de nombreuses méthodes de mesure des batteries traitées dans d'autres instructables et qui peuvent être mises en œuvre avec l'Arduino, mais dans ce cas, bien qu'elle n'offre pas une évaluation complète de l'état de la batterie, elle donne des valeurs qui peuvent être utilisé pour estimer leur comportement futur.

La résistance interne est trouvée en utilisant la relation

Ri = (V1 - V2) / (I2 - I1)

?1-La tension est mesurée pendant un courant faible et un instant plus long;

?2-Tension mesurée pendant le courant élevé et l'instant le plus court;

?1 - Courant pendant un instant plus long;

?2 - Courant pendant l'instant le plus court.

Étape 3: Circuit

Circuit
Circuit
Circuit
Circuit
Circuit
Circuit

Le circuit est une source de courant qui tire 0,2C (dans ce cas 4mA) et 2C (dans ce cas 40mA) des batteries en utilisant un seul circuit contrôlé avec le signal PWM d'Arduino. De cette façon, il est possible de mesurer toutes les batteries de secours avec C = 20mAh, quelle que soit leur tension dans la plage de 1,2V à 4,8V et d'autres batteries avec une capacité différente également. Dans la première version, j'ai utilisé deux transistors avec chacun une charge à drainer de 4mA et l'autre de 40mA. Cette variante n'était pas appropriée pour l'avenir car ils voulaient mesurer d'autres batteries avec des capacités différentes et ce schéma nécessitait un grand nombre de résistances et de transistors.

Le circuit avec une source de courant est illustré à la Fig. 3. La fréquence du signal PWM de la broche 5 de la carte Arduino est de 940 Hz, c'est pourquoi, le Fc du filtre passe-bas (LPF) est de 8 Hz, cela signifie que la première harmonique de Le signal PWM (940 Hz) sera atténué de 20 dB car les filtres RC fournissent 10 dB d'atténuation par décade (tous les 10 fois le Fc - l'atténuation sera de 10 dB en 80 Hz et 20 dB en 800 Hz). Le transistor IRFZ44n est surdimensionné car, à l'avenir, des batteries de plus grande capacité seront testées. Le LM58n, double amplificateur opérationnel (OA), est l'interface entre la carte Arduino et l'IRFZ44n. Le LPF a été inséré entre les 2 amplificateurs opérationnels pour assurer un bon découplage entre le microprocesseur et le filtre. Dans la Fig.3, la broche A1 d'Arduino est connectée à la source du transistor IRFZ44n pour vérifier le courant tiré de la batterie.

Le circuit est composé de 2 parties, en dessous de la carte Arduino UNO et au dessus de la source de courant, comme le montre la photo suivante. Comme vous pouvez le voir, dans ce circuit il n'y a ni interrupteurs ni boutons, ils sont dans l'interface utilisateur du pc.

Ce circuit permet également de mesurer la capacité de la batterie en mAh puisqu'il dispose d'une source de courant et que la carte Arduino dispose d'un timer.

Étape 4: Programmes

Programmes
Programmes
Programmes
Programmes
Programmes
Programmes
Programmes
Programmes

Comme mentionné ci-dessus, l'application possède, d'un côté, une interface utilisateur réalisée avec HTML, CSS et, de l'autre côté, le sketch Arduino. L'interface est extrêmement simple, pour le moment, car elle n'exécute que la mesure de la résistance interne, à l'avenir elle remplira plus de fonctions.

La première page a une liste déroulante, à partir de laquelle l'utilisateur sélectionne la tension de la batterie à mesurer (Fig. 4). Le programme HTML de première page s'appelle BatteryTesterInformation.html. Toutes les batteries ont une capacité de 20 mAh.

Deuxième page, BatteryTesterMeasurement.html.

Sur la deuxième page, la batterie est connectée au connecteur indiqué et démarre (bouton START) la mesure. Pour le moment, cette led n'est pas incluse car elle n'a qu'un seul connecteur mais, à l'avenir, ils auront plus de connecteurs.

Une fois le bouton START cliqué, la communication avec la carte Arduino commence. Dans cette même page, le formulaire Résultats de mesure s'affiche lorsque la carte Arduino envoie les résultats du test de la batterie et que les boutons START et CANCEL sont masqués. Le bouton BACK permet de lancer le test d'une autre batterie.

La fonction du programme suivant, PhpConnect.php, est de se connecter à la carte Arduino, de transmettre et de recevoir des données des cartes Arduino et du serveur Web.

Remarque: la transmission de PC à Arduino est rapide mais la transmission d'Arduino à PC a un délai de 6 secondes. J'essaie de résoudre cette situation ennuyeuse. S'il vous plaît, toute aide est grandement appréciée.

Et le croquis Arduino, BatteryTester.ino.

Lorsque la résistance interne résultante est 2 fois plus grande que la première (batterie neuve), la batterie est défectueuse. C'est-à-dire que si la batterie testée a 10 Ohms ou plus et, selon les spécifications, ce type de batterie devrait avoir 5 Ohms, cette batterie est mauvaise.

Cette interface utilisateur a été testée avec FireFox et Google sans problème. J'ai installé xampp et wampp et cela fonctionne bien dans les deux.

Étape 5: Conclusion

Ce type de développement utilisant une interface utilisateur sur PC présente de nombreux avantages car il permet à l'utilisateur une meilleure compréhension du travail qu'il effectue ainsi qu'il évite l'utilisation de composants coûteux qui nécessitent une interaction mécanique, ce qui les rend sensibles aux ruptures.

La prochaine étape de ce développement consiste à ajouter des connecteurs et à modifier certaines parties du circuit pour tester d'autres batteries, ainsi qu'à ajouter un chargeur de batterie. Après cela, le PCB sera conçu et commandé.

L'interface utilisateur aura plus de modifications pour inclure la page du chargeur de batterie

S'il vous plaît, toute idée, amélioration ou correction n'hésitez pas à commenter pour améliorer ce travail. Par contre, si vous avez des questions, posez-les moi, j'y répondrai au plus vite.

Conseillé: