Mon Vanitar

Veuillez noter que vous travaillez avec une batterie Li-Ion qui est hautement explosive et dangereuse. Je ne peux être tenu responsable de toute perte de propriété, dommage ou perte de vie si cela se produit. Ce tutoriel a été écrit pour ceux quiavoir une connaissance de la technologie lithium-ion rechargeable. Veuillez ne pas essayer cela si vous êtes un novice. Restez en sécurité.

Ajouter un pourboirePoser une questionCommentaireTéléchargerFournituresComposants utilisés

Commandez maintenant le PCB et tous les composants pour construire ce projet dans un kit à partir de Voie PCB1.PCB : Voie PCB2. Arduino Nano : Amazon / Bang bien3. Opamp LM358 : Amazon / Bang bienécran OLED 4. 0.96" : Amazon / Bang bien5. Résistance en céramique : Amazon / Bang bien6. Condensateur 100nF : Amazon / Bang bien7. Condensateur 220 uF : Amazon / Bang bien

11. Borne à vis : Amazon / Bang bien

4. Ventilateur à air chaud : Amazon / Bang bien

6. Pince à dénuder : Amazon / Bang bien

Ajouter un pourboirePoser une questionCommentaireTéléchargerÉtape 1 : Diagramme schématiqueL'ensemble du schéma est divisé en sections suivantes :

1. Circuit d'alimentation2. Circuit de charge à courant constant

3. Circuit de mesure de tension de batterie4. Circuit d'interface utilisateur5. Circuit de sonnerie

1. Circuit d'alimentationLe circuit d'alimentation se compose d'une prise DC 7-9V et de deux condensateurs de filtrage C1 et C2. La sortie d'alimentation Vin est connectée à la broche Arduino Vin. Ici, j'utilise le régulateur de tension embarqué Arduinopour baisser la tension à 5V.

2. Circuit de charge à courant constantLe composant central du circuit est l'amplificateur opérationnel LM358 qui contient deux amplificateurs opérationnels. Le signal PWM de la broche Arduino D10 est filtré par un filtre passe-bas R2 et C6 et transmis au deuxième amplificateur opérationnel. La sortiedu deuxième ampli-op est connecté au premier ampli-op en configuration suiveur de tension. L'alimentation du LM358 est filtrée par un condensateur de découplage C5.

Le premier amplificateur opérationnel, R1 et Q1 construisent un circuit de charge à courant constant. Nous pouvons donc maintenant contrôler le courant à travers la résistance de charge R1 en modifiant la largeur d'impulsion du signal PWM.

3. Circuit de mesure de tension de batterie

La tension de la batterie est mesurée par la broche d'entrée analogique Arduino A0. Deux condensateurs C3 et C4 sont utilisés pour filtrer les bruits provenant du circuit de charge à courant constant qui peuvent dégrader les performances de conversion ADC.4. Circuit d'interface utilisateurLe circuit d'interface utilisateur se compose de deux boutons-poussoirs et d'un écran OLED I2C de 0,96". Le bouton-poussoir haut et bas sert à augmenter ou à diminuer la largeur d'impulsion PWM. R3 et R4 sont des résistances de rappel pour le haut et le bas.Boutons-poussoirs vers le bas. C7 et C8 sont utilisés pour anti-rebond les boutons-poussoirs. Le troisième bouton-poussoir RST est utilisé pour réinitialiser l'Arduino.

5. Circuit de sonnerieLe circuit du buzzer est utilisé pour alerter le début et la fin du test. Un buzzer 5V est connecté à la broche numérique Arduino D9.Pièces jointes Schéma_Testeur de capacité de batterie Arduino V2.0_Sheet_1_2019111061355.pdfTélécharger

Ajouter un pourboirePoser une questionCommentaireTéléchargerÉtape 2 : Comment ça marche ?

Ici, la batterie est déchargée à sa tension de seuil de bas niveau 3,2 V.

Capacité de la batterie mAh = Courant I en mA x Temps T en heuresD'après l'équation ci-dessus, il est clair que pour calculer la capacité de la batterie mAh, nous devons connaître le courant en mA et le temps en heure. Le circuit conçu est un circuit de charge à courant constant, de sorte que le courant de décharge reste constant tout au long du testpériode.

Le courant de décharge peut être ajusté en appuyant sur les boutons Haut et Bas. La durée est mesurée à l'aide d'une minuterie dans le code Arduino.Ajouter un pourboirePoser une questionCommentaireTélécharger

Étape 4 : Faire le circuitDans les étapes précédentes, j'ai expliqué la fonction de chacun des composants du circuit. Avant de sauter pour créer la carte finale, testez d'abord le circuit sur une planche à pain. Si le circuit fonctionne parfaitement sur la planche à pain, passez à la soudureles composants sur la carte prototype.

J'ai utilisé la planche prototype 7cm X 5cm. Montage du Nano : Coupez d'abord deux rangées de broches d'en-tête femelles avec 15 broches chacune. J'ai utilisé une pince diagonale pour couper les en-têtes. Ensuite, soudez les broches d'en-tête. Assurez-vous que la distance entre les deux rails correspond à l'Arduino nano.Montage de l'écran OLED : Coupez un connecteur femelle avec 4 broches. Puis soudez-le comme indiqué sur l'image.Montage des bornes et composants :

Soudez les composants restants comme indiqué sur les images. Câblage : Faites le câblage selon le schéma. J'ai utilisé des fils de couleur pour faire le câblage afin que je puisse les identifier facilement.Ajouter un pourboirePoser une questionCommentaireTéléchargerÉtape 5 : écran OLED

Pour afficher la tension de la batterie, le courant de décharge et la capacité, j'ai utilisé un écran OLED de 0,96". Il a une résolution de 128x64 et utilise un bus I2C pour communiquer avec l'Arduino. Deux broches SCL A5, SDA A4 dans Arduino Unosont utilisés pour la communication.J'utilise la bibliothèque Adafruit_SSD1306 pour afficher les paramètres. Vous devez d'abord télécharger le Adafruit_SSD1306

. Puis installé.Les connexions doivent être comme suitArduino --> OLED5V --->VCCGND -->GND A4----> SDA A5----> SCLAjouter un pourboirePoser une questionCommentaireTéléchargerÉtape 6 : Sonnerie d'avertissement

Pour fournir des alertes pendant le début et la compétition du test, un buzzer piézo est utilisé. Le buzzer a deux bornes, la plus longue est positive et la jambe la plus courte est négative. L'autocollant sur le nouveau buzzer a également " + " marquépour indiquer la borne positive.Comme la carte prototype n'a pas assez de place pour placer le buzzer, j'ai connecté le buzzer au circuit imprimé principal en utilisant deux fils. Pour isoler la connexion nue, j'ai utilisé un tube thermorétractable.Les connexions doivent être les suivantes Arduino --> Buzzer D9--> Borne positive

GND--> Borne négativeAjouter un pourboirePoser une questionCommentaireTéléchargerÉtape 7 : Montage des entretoisesAprès le soudage et le câblage, montez les entretoises aux 4 coins. Cela fournira un dégagement suffisant aux joints de soudure et aux fils du sol.

Ajouter un pourboirePoser une questionCommentaireTéléchargerÉtape 8 : Conception de circuits imprimésJ'ai dessiné le schéma en utilisant le logiciel en ligne EasyEDA après être passé à la disposition PCB.Tous les composants que vous avez ajoutés dans le schéma doivent être là, empilés les uns sur les autres, prêts à être placés et acheminés. Faites glisser les composants en saisissant ses coussinets. Placez-les ensuite à l'intérieur de la bordure rectangulaire. Disposez tous les composants de manière à ce que la carte occupe un minimum d'espace. Plus la taille de la carte est petite, moins le coût de fabrication du PCB sera élevé. Il sera utile si cette carte a des trous de montage pour qu'elle puisse être montéedans un enclos.

Maintenant, vous devez effectuer le routage. Le routage est la partie la plus amusante de tout ce processus. C'est comme résoudre un puzzle ! En utilisant l'outil de suivi, nous devons connecter tous les composants. Vous pouvez utiliser à la fois la couche supérieure et la couche inférieure pour éviter les chevauchementsentre deux pistes différentes et en raccourcissant les pistes. Vous pouvez utiliser le calque Silk pour ajouter du texte au tableau. De plus, nous pouvons insérer un fichier image, j'ajoute donc une image du logo de mon site Web à imprimer sur le tableau. Au final, en utilisant la zone de cuivreoutil, nous devons créer la surface au sol du PCB.Vous pouvez le commander auprès de Voie PCB.Inscrivez-vous à PCBWay maintenant pour obtenir un coupon de 5 $ US. Cela signifie que votre première commande est gratuite, vous devez seulement payer les frais d'expédition.

Lorsque vous passez une commande, je recevrai un don de 10% de PCBWay pour une contribution à mon travail. Votre petite aide peut m'encourager à faire un travail plus impressionnant à l'avenir. Merci pour votre coopération.Ajouter un pourboirePoser une questionCommentaireTélécharger

Étape 9 : Assembler le PCBPour le soudage, vous aurez besoin d'un fer à souder, d'une soudure, d'une pince et d'un multimètre. Il est recommandé de souder les composants en fonction de leur hauteur. Soudez d'abord les composants de moindre hauteur.Vous pouvez suivre les étapes suivantes pour souder les composants : 1. Poussez les pattes des composants à travers leurs trous et tournez le PCB sur le dos. 2. Tenez la pointe du fer à souder à la jonction de la pastille et de la jambe du composant.

3. Introduisez de la soudure dans le joint de manière à ce qu'elle s'écoule tout autour du fil et recouvre la pastille. Une fois qu'elle a coulé tout autour, éloignez la pointe. Ajouter un pourboirePoser une questionCommentaireTéléchargerÉtape 10 : Logiciels et bibliothèquesTout d'abord, téléchargez le code Arduino joint. Ensuite, téléchargez les bibliothèques suivantes et installez-les.

Bibliothèques :Téléchargez et installez les bibliothèques suivantes : 1. JC_Button : https://github.com/JChristensen/JC_Button

2. Adafruit_SSD1306: https://github.com/JChristensen/JC_Button Dans le code, vous devez changer les deux choses suivantes. 1. Valeurs actuelles des tableaux : cela peut être fait en connectant un multimètre en série avec la batterie. Appuyez sur le bouton haut et mesurez le courant, les valeurs actuelles sont les éléments du tableau.

2. Vcc : vous utilisez un multimètre pour mesurer la tension sur la broche Arduino 5 V. Dans mon cas, elle est de 4,96 V.Mis à jour le 20.11.2019

Vous pouvez changer le

Low_BAT_Level valeur dans le code selon la chimie de la batterie. Il est préférable de prendre une petite marge sur la tension de coupure indiquée ci-dessous.Voici les taux de décharge et les tensions de coupure pour diverses chimies de batterie lithium-ion :1. Oxyde de cobalt et de lithium : tension de coupure = 2,5 V à un taux de décharge de 1 C 2. Oxyde de lithium et de manganèse : tension de coupure = 2,5 V à un taux de décharge de 1 C

3. Phosphate de fer et de lithium : tension de coupure = 2,5 V à un taux de décharge de 1 C4. Titanate de lithium : tension de coupure = 1,8 V à un taux de décharge de 1 C5. Lithium Nickel Manganèse Cobalt Oxyde : Tension de coupure = 2,5 V à un taux de décharge de 1 C 6. Oxyde d'aluminium au lithium nickel et cobalt : tension de coupure = 3,0 V à un taux de décharge de 1 C

Mise à jour le 01.04.2020jcgrabo, a suggéré quelques modifications à la conception d'origine pour améliorer la précision. Les modifications sont répertoriées ci-dessous :1. Ajouter une référence de précision LM385BLP-1.2 et l'a connecté à A1.Pendant la configuration, lisez sa valeur qui est connue pour être de 1,215 volts, puis calculez Vcc, éliminant ainsi le besoin de mesurer Vcc.

2.Remplacez la résistance de 1 ohm 5% par une résistance de puissance de 1 ohm 1%, réduisant ainsi les erreurs qui dépendent de la valeur de la résistance. 3. Plutôt que d'utiliser un ensemble fixe de valeurs PWM pour chaque étape actuelle par incréments de 5, créez un tableau de valeurs actuelles souhaitées qui permet de calculer les valeurs PWM nécessaires pour atteindre ces valeurs actuelles aussi près que possible. Il a suivicela en calculant les valeurs actuelles réelles qui seront atteintes avec les valeurs PWM calculées.En considérant les changements ci-dessus, il a révisé le code et l'a partagé dans la section des commentaires. Le code révisé est joint ci-dessous.Merci beaucoup jcgrabo pour votre précieuse contribution à mon projet. J'espère que cette amélioration sera utile pour beaucoup plus d'utilisateurs.Pièces jointes

Bat_Capacity_Tester_V2.0_PCB_09.11.2019.inoTéléchargerBattery_Capacity_Tester_V2.0_Updated_on_01.04.2021.inoTéléchargerSchéma_Testeur de capacité de batterie Arduino V2.0_2021-04-01.pdfTéléchargerAjouter un pourboirePoser une questionCommentaireTélécharger

Étape 11 : ConclusionPour tester le circuit, j'ai d'abord chargé un bonSamsung 18650 batterie utilisant mon

Ajouter un pourboirePoser une questionCommentaireTélécharger

4 personnes ont réalisé ce projet ! pavot1 j'ai réussi !Zoltan Gajda j'ai réussi !Zoltan Gajda j'ai réussi !derek1976 j'ai réussi !

As-tu réalisé ce projet ? Partagez-le avec nous !

Je l'ai fait !Recommandations

Ami de confidentialité de la webcam par bekathwia dans Électronique 5 682

Simple Animatronic avec Micro:bit par

Cohillway dans Robots 91 6.2K

microscope à souder à partir d'un objectif zoom SLR et d'un support mural pour téléviseur par Ad_w00000 dans Soudure 71 6.0K thermomètre IR sans contact bricolage V1.0 par

opengreenenergy dans Arduino 25 2.5K

Concours Arduino

Pour le défi de vitesse des oiseaux

Concours Couleurs de l'arc-en-ciel

62 commentaires3jcgrabo

il y a 1 an Répondrevote positif

Après avoir assemblé la V2.0, j'ai décidé d'apporter quelques modifications pour améliorer sa précision.

1. J'ai ajouté une référence de précision LM385BLP-1.2 et je l'ai connectée à A1. Pendant la configuration, j'ai lu sa valeur que je sais être de 1,215 volts, puis j'ai calculé Vcc, éliminant ainsi le besoin de mesurer Vcc.

2. J'ai remplacé la résistance de 1 ohm 5% par une résistance de puissance de 1 ohm 1%, réduisant ainsi les erreurs qui dépendent de la valeur de la résistance.

3. Plutôt que d'utiliser un ensemble fixe de valeurs PWM pour chaque étape actuelle par incréments de 5, j'ai créé un tableau de valeurs actuelles souhaitées que j'ai utilisé pour calculer les valeurs PWM nécessaires pour atteindre ces valeurs actuelles aussi proches que possible.J'ai suivi cela en calculant les valeurs actuelles réelles qui seront atteintes avec les valeurs PWM calculées.

Les étapes ci-dessus ont abouti à des valeurs de courant mesurées à quelques milliampères de celles que le programme utilise pour mesurer la capacité. 9 réponses 0

Mes notes ainsi que des images du bas de la carte avec la référence de bande interdite attachée à la manière d'un bug mort. Le haut de la carte montre le remplacement de la résistance de puissance de 1 ohm 5% par un Dale 1 ohm 1% 7,5 wattrésistance de puissance. Je ne sais pas comment télécharger le croquis modifié.

Mon croquis suit :

//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

//Daté : 20/10/2019//

//Daté : 29/02/2020

//Ajouté

code pour lire une référence de bande interdite connectée à la broche analogique A1,

// permettant ainsi la mesure de Vcc et évitant d'avoir à le mesurer à l'aide d'un multimètre

//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

#include

#include

#define DEBUG 0 // Traitement binaire 0=Rien, 1=Tôt, 2=Tension de fonctionnement, 4=Terminer#define SCREEN_WIDTH 128 // Largeur d'affichage OLED, en pixels

#define SCREEN_HEIGHT 64 // Hauteur d'affichage OLED, en pixels// Déclaration pour un écran SSD1306 connecté à I2C broches SDA, SCL

#define OLED_RESET 4 // Réinitialiser la broche # ou -1 si le partage de la broche de réinitialisation ArduinoAdafruit_SSD1306 displaySCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET;

void timerInterrupt;void Display_UP_DOWN;

//Souhaité

Pas actuels avec une charge 3R R7

int Courant [] = {0,50,100,200,300,400,500,600,700,800,900,1000} ;

int PWM [] = {0, 2, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50} ;int Array_Size;// calculé lors de l'installationoctet const PWM_Pin = 10 ;octet const Buzzer = 9 ;const int BAT_Pin = A0;

const int Vref_Pin = A1;

//Épingle

à laquelle la référence de bande interdite est attachée

int Current_Value = 0 ; // Valeur actuelle sélectionnée pour le test

int PWM_Value = 0;// Valeur de PWM pendant le test

int PWM_Index = 0;// Index dans le tableau PWM pendant le test

octet Heure = 0, Minute = 0, Seconde = 0 ;

bool calc = false, Done = false, Report_Info = true ;

Bouton UP_Button2, 25, faux, vrai;

Bouton Bas_Bouton3, 25, faux, vrai;

// valeurs de chaîne pour rapporter des informations intermédiairesconst int VAL_MAX = 10;car val_0[VAL_MAX]={""};car val_2[VAL_MAX]={""};

configuration vide {//Configuration

Serial.begin38400;

Down_Button.begin;

display.beginSSD1306_SWITCHCAPVCC, 0x3C;

display.clearDisplay;

display.setTextSize2;

display.setCursor2,15;

display.print"Adj Curr:"; display.setCursor2,40;

display.print"UP/Down:";

display.print"0";display.setCursor2,55;

display.setTextSize1;#if DEBUG == 1 || DEBUG == 5Serial.println"\nDébut des calculs";#endif

Array_Size = sizeofCurrent/2;//Lire tensions de référence de bande interdite et l'utiliser pour calculer le Vcc réelfloat fTemp=0.0 ;

pourint i=0;i< 100;i++ {

// PWM + 1/256 plutôt que PWM/255 comme indiqué dans la documentation Arduino

int iTemp;

pour int i=0;i

iTemp = int Résistance * Courant[i] * 256,0 / Vcc / 1000,0 - 1,0 + 0,5 ; // courant souhaité au PWM le plus proche

iTemp = miniTemp,255;

iTemp = maxiTemp,0 ;

display.print"Thr=";

display.printval_0;

display.print"v, Vcc=";

display.printval_2;affichage.affichage;

display.setTextSize2;}//Configuration//****************************** Fin de la fonction de configuration *********************************

boucle vide {si Rapport_Info {

//Rapport_Info Serial.flush;

#if DEBUG == 1 || DEBUG == 5

// Serial.println"Tension Vcc mesurée : " + ChaîneVcc + " volts" ;

Serial.print"Seuil : " ;

Serial.printLow_BAT_level,3 ; Serial.println" volts"; Serial.print"R3 Resistance: ";

Serial.printRésistance,3 ;

Serial.println" ohms";

Serial.print"Tension Vcc mesurée : " ;

Serial.printVcc,4;

Serial.println" volts"; échantillon = 0,0 ;

Serial.println"Index ActualmA PWM";

pour int i=0;i

// Serial.println "["+Stringi+"]="+StringCurrent[i]+" mA PWM["+Stringi+"]="+StringPWM[je] ;

Serial.print"["; Serial.printi;

Serial.print"]"; Serial.print" "; Serial.printCurrent[i],DEC;

Serial.print" ";

Serial.printPWM[i],DEC;

Serial.println" "; }#endif

Report_Info = faux ; }

if UP_Button.pressedFor 1000 && calc == false {

digitalWriteBuzzer, HIGH ; retard 100; digitalWriteBuzzer, LOW; display.clearDisplay; timerInterrupt; }}//************************ Fonction de fin de boucle *********************************Vid timerInterrupt{ calc = vrai;

tandis que Terminé == faux {//Terminé == faux Deuxième ++; si Deuxième == 60 { Seconde = 0; Minute ++; } si Minute == 60 { Minute = 0; Heure ++; } //************ Mesure de la tension de la batterie *********** pourint i=0;i< 100;i++ {

échantillon=échantillon+analogReadBAT_Pin; //lirela tension de la batterie retard 2; } échantillon=échantillon/100; BAT_Voltage = échantillon * Vcc / 1024,0 ; //************************************************ display.clearDisplay;

display.printMinute;

// Les heures, les minutes et les secondes ont été converties en un long non signé. Apparemment, le compilateur a converti l'octet

// valeurs d'abord à un "int" qui ne peut pas représenter correctement 32768 Capacité = non signé longHeure * 3600 + non signé longMinute * 60 + non signé longDeuxième ; Capacity_f = floatCapacity * Current_Value / 3600.0 ; display.setCursor2, 55;// display.print"Capacity:" + StringCapacity + "mAh"; display.print"Capacité:";
display.printCapacity_f,1; display.print"mAh"; display.display;#if DEBUG == 4 || DEBUG == 2
Print_DEBUG_4;#endif si BAT_Voltage < Low_BAT_level {//BAT_Tension < Low_BAT_level#if DEBUG == 4 || DEBUG == 5Serial.println"\nCurrent_Value PWM_Value";
Serial.printCurrent_Value;Serial.print" ";
Serial.printlnPWM_Value;Serial.println"\nHour Minute Seconde PWM_Index";Serial.printHeure;Serial.print" ";Serial.printMinute;
Serial.print" ";Serial.printSecond;
Serial.print" ";Serial.printlnPWM_Index;#endif // Lorsque le nombre total de secondes est supérieur à 32767, l'instruction ci-dessous ne fonctionnait pas avant les valeurs d'octet // Les heures, les minutes et les secondes ont été converties en un long non signé. Apparemment, le compilateur a converti l'octet // valeurs d'abord à un "int" qui ne peut pas représenter correctement 32768
Capacité = non signé longHeure * 3600 + non signé longMinute * 60 + non signé longDeuxième ;#if DEBUG == 4 || DEBUG == 5
  • Serial.println"Capacité HMS";

  • Série.printlnCapacité ;#endif

  • Capacity_f = floatCapacity * Current_Value / 3600.0 ;

#if DEBUG == 4 || DEBUG == 5

Serial.println"Capacité HMS*PWM";
Serial.printlnCapacity_f,1;#endif

display.clearDisplay;

display.print"Capacité:"; display.setCursor2,40;

// display.printStringCapacity + "mAh";

display.printCapacity_f,1;

display.print"mAh"; display.display; Terminé = vrai ; PWM_Value = 0;

analogWritePWM_Pin, PWM_Value;

digitalWriteBuzzer, LOW; retard 100;
digitalWriteBuzzer, HIGH ; retard 100;

< Low_BAT_level retard1000;

void Display_UP_DOWN
{//Display_UP_DOWN
Current_Value = Current[PWM_Index] ;

display.clearDisplay;display.setCursor2,25;
display.print"Curr:";

display.printPWM_Value;affichage.affichage;

{//Print_DEBUG_4

Serial.printHeure;

Serial.print":";
Serial.printMinute;
Serial.print":";
Serial.printSecond;Serial.print" ";Serial.printBAT_Voltage,3 ;Serial.print"v ";
Serial.printCapacity_f,1;Serial.println"mAh";
}//Print_DEBUG_40
opengreenenergyjcgrabo Répondre il y a 2 mois Répondrevote positifSalut,
Merci beaucoup pour votre précieuse contribution à ce projet. J'ai ajouté cette mise à jour à mes Instructables aujourd'hui. Vous pouvez la voir à l'étape 10.0MarkusM9jcgrabo Répondre il y a 10 mois Répondrevote positif
Excellent complément, merci pour le partage. Pour ceux qui préfèrent économiser sur une résistance de 5% moins chère ou en ont déjà et ils ont un multimètre, ils pourraient mesurer la résistance de ce qu'ils ont et faire des ajustements dans l'Arduinocode pour compenser la variation de résistance.0zym1jcgrabo Répondre il y a 3 mois Répondrevote positif
ça marche avec lm385z-1.2 ?0jcgrabozym1 Répondre il y a 3 mois Répondrevote positifOui. Ce qui est important est d'avoir une référence fiable connue pour éliminer le besoin de mesurer la puissance CC réelle utilisée pour alimenter la carte. Le courant réel dépend de la résistance utilisée et de la tension CC. Les ports USB sont autorisés àfournir une alimentation sur une large plage de courant continu de 5,25 à 4,40 volts bien que la valeur nominale soit de 5,0.0ansmandarjcgrabo
Répondre il y a 8 mois Répondrevote positifTrès beaux ajouts. Bien fait. Merci beaucoup pour le partage.
Je ne l'ai pas encore créé, mais je prévois d'en construire un. Je vais certainement essayer ces ajouts.
Un doute cependant. Comment avez-vous trouvé la valeur de 1,215 comme référence dans le calcul ? Devrait-il s'agir d'une tension typique mentionnée dans les spécifications de la fiche technique comme 1,235 ici comme vous l'avez mentionné dans votre feuille manuscrite ?

S'il y a des calculs pour trouver la valeur, pourriez-vous s'il vous plaît le partager. Cela sera très utile pour la comprendre.0jcgraboansmandar
Répondre il y a 8 mois Répondrevote positif

J'ai acheté un certain nombre de références de bande interdite LM385BLP-1-2 coût de 0,44 $. Bien que leur plage de tension spécifiée soit nominalement de 1,235 1,223 à 1,247, celles que j'ai reçues étaient toutes de 1,215 même lors de tests à différents niveaux de courant. Jesupposons que mon multimètre numérique est incorrect mais j'ai décidé d'utiliser 1,215V.0ansmandarjcgrabo
Répondre il y a 8 mois Répondrevote positif
Oh.. k Cela clarifie mon doute. Merci pour votre réponse.0ansmandar

il y a 8 mois Répondrevote positif
Très beau projet, belle présentation et j'apprécie les efforts. Merci beaucoup pour le partage... :-
J'ai quelques doutes concernant le code.Je pense que l'appel à

écriture analogique
doit être appelé lorsque nous commençons réellement le test. Si ma compréhension est correcte, le signal PWM est démarré immédiatement lorsque nous augmentons ou diminuons le courant qui à son tour démarre le processus de décharge.Cet appel de fonction --> analogWritePWM_Pin,PWM_Value; doit être placé dans la condition if --> if UP_Button.pressedFor 1000 && calc == false dans la fonction loop.
Quelqu'un peut-il m'éclairer là-dessus ?voici le code existant de la fonction de boucle pour référence --->boucle vide { UP_Button.read; Down_Button.read;

if UP_Button.wasReleased && PWM_Value < 55 && calc == false { PWM_Value = PWM_Value + 5;
analogWritePWM_Pin,PWM_Value; display.clearDisplay; display.setCursor2,25; display.print"Curr:";
display.printStringCurrent[PWM_Value / 5]+"mA"; display.display;
// Serial.printlnStringCurrent[PWM_Value / 5]; }
if Down_Button.wasReleased && PWM_Value > 1 && calc == false{
PWM_Value = PWM_Value - 5;
analogWritePWM_Pin,PWM_Value; display.clearDisplay; display.setCursor2,25;
display.print"Curr:";
display.printStringCurrent[PWM_Value / 5]+"mA"; display.display; // Serial.printlnStringCurrent[PWM_Value / 5] + "mA";} if UP_Button.pressedFor 1000 && calc == false{
//N'est-ce pas le bon endroit pour appeler cette fonction ? digitalWriteBuzzer, HIGH ; retard 100;
digitalWriteBuzzer, LOW; display.clearDisplay;
timerInterrupt; }} 6 réponses 0pavot1ansmandar
Répondre il y a 2 mois Répondrevote positif
Bonjour, vous pouvez publier l'intégralité du code révisé.
Cet appel de fonction --> analogWritePWM_Pin,PWM_Value; doit être placé dans la condition if --> if UP_Button.pressedFor 1000 && calc == false à l'intérieur de la fonction loop. ???Merci0ansmandarpavot1
Répondre il y a 2 mois Répondrevote positif
Voici un code modifié :
J'ai également mis en œuvre les suggestions de jcgrabo dans ses commentaires en utilisant LM385BLP-1.2.
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// TESTEUR DE CAPACITÉ DE LA BATTERIE ARDUINO
//Version-2.0//par
deba168,INDE // Le code est tiré de Hesam Moshiri
https://www.pcbway.com/blog/technology/Battery_capacity_measurement_using_Arduino.html
//Daté : 20/10/2019//

//Daté : 29/02/2020
//Ajouté
code pour lire une référence de bande interdite connectée à la broche analogique A1,
// permettant ainsi la mesure de Vcc et évitant d'avoir à le mesurer à l'aide d'un multimètre

//Remplacé 1 ohm 5% résistance avec 1 ohm 1% résistance de puissance//Modifié{//lire}{}}

boucle vide {{{}}{}{}{}}}}{//lire}{}0
Répondre il y a 2 mois Répondrevote positif0
Répondre il y a 2 mois Répondrevote positif0
Répondre il y a 2 mois Répondrevote positifMerci0
Répondre il y a 2 mois Répondrevote positif
configuration vide{
Serial.begin96000;}{ } } retard 100; }}{ } }//lire retard2; } retard 100; retard 100; retard 100; retard 100; } retard1000; }}1
il y a 2 mois Répondrevote positif1Question il y a 3 mois Réponsevote positif0Question
il y a 3 mois le IntroductionRéponsevote positif
Plus de commentaires
Poster un commentaire
CatégoriesCircuitsAtelierArtisanatCuisineVivreÀ l'extérieurEnseignantsÀ propos de nousQui sommes-nous
Pourquoi publier ?
EmploisRessources
Plan du siteAideContactTrouvez-nous© 2021 Autodesk, Inc.
Conditions d'utilisation|
Déclaration de confidentialité|
Paramètres de confidentialité|
Mentions légales et marques déposées