Indholdsfortegnelse:
- Trin 1: Skift fra basisprojekt
- Trin 2: V0.2 i bestyrelsen
- Trin 3: Breadboard: I2c Character Display Controller udvidet
- Trin 4: Breadboard: Tegnvisning med I2c integreret
- Trin 5: Realisering
- Trin 6: Udvidelse
- Trin 7: Liste over dele
- Trin 8: Board: Nulstil, Gnd E -knap for at vælge batteri
- Trin 9: Board: I2c og strømforsyningspinde
- Trin 10: Bord: Termistor og målespænding
- Trin 11: Board: Modstand mod måling af spænding
- Trin 12: Lodning Trin: Alle pins
- Trin 13: Loddetrin: Pulldown -modstand og termistor
- Trin 14: Lodningstrin: MOSFET, modstand mod kontrol af spænding
- Trin 15: Kode
- Trin 16: Resultat efter samling
- Trin 17: Vælg først batteritype
- Trin 18: Start afladning
- Trin 19: Undtagelser: Batteri fjernet
- Trin 20: Undtagelser: Temperaturvarsel
- Trin 21: Test strømstyrke
- Trin 22: Pakke
Video: Batteritjekker med temperatur og valg af batteri: 23 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Batterikapacitetstester.
Med denne enhed kan du kontrollere kapaciteten på 18650 batteri, syre og andet (det største batteri jeg testede Det er 6v Acid batteri 4, 2A). Resultatet af testen er i milliampere/timer.
Jeg opretter denne enhed, fordi jeg har brug for det for at kontrollere kapacitets falske Kina batteri.
For en sikkerheds skyld tilføjede jeg ved hjælp af en termistor temperaturen på strømmodstanden og batteriet for at forhindre, at det bliver for varmt, med dette trick kan jeg kontrollere 6v syrebatteri uden at fyre brættet (i løbet af afladningscyklussen skal du gå til varm strømmodstand og enheden venter 20 sekunder for at reducere temperaturen).
Jeg vælger lille mikro controller atmega328 kompatibel nano (eBay).
Al koden er her.
Trin 1: Skift fra basisprojekt
Jeg stjal ideen fra projektet med OpenGreenEnergy, og jeg lavede ombord for at tilføje funktioner, så nu bliver mere generel.
v0.1
- VCC for Arduino beregnes nu automatisk;
- Tilføjet variabel for at ændre indstilling på en mere behagelig måde.
- Tilføjet procentdel af udladning
- Tilføjet temperatur på batteri og effektmodstand
v0.2
- Tilføjet mulighed for valg af batteri
- Oprettet prototypebord (se skematisk), med skærmen, knappen og højttaleren uden for tavlen, fordi jeg i fremtiden gerne vil oprette en pakke.
- Tilføjet styring af temperaturgrænsen til effektmodstanden, så jeg kan blokere processen, når temperaturen stiger ud over 70 ° (over denne temperatureffektmodstand derating).
v0.3
Kommer snart et board fra denne service
Trin 2: V0.2 i bestyrelsen
I v0.2 for at understøtte forskellige typer batterier, oprettede jeg en struktur, der skal fyldes med batterinavn, min spænding og maks spænding (jeg har brug for hjælp til at fylde den: P).
// Struktur af batteriets typebestemmelse BatteryType {tegnnavn [10]; float maxVolt; float minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};
Nu bruger jeg et sæt 10k modstande til spændingsdeleren til at aflæse dobbelt temperatur på analog indgang. Hvis du vil have understøttelse af ændringsspænding, skal du ændre denne værdi (forklar bedre derefter):
// Modstand mod batterispænding
#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Effektmodstand spændingsmodstand #definer RES_RES_VALUE_GND 10.0 #definer RES_RES_VALUE_VCC 10.0
Hvis du ikke bruger termistor, skal du indstille denne til falsk:
#define USING_BATTERY_TERMISTOR sand
#define USING_RESISTO_TERMISTOR sand
Hvis du bruger en anden i2c -skærm, skal du omskrive denne metode:
void draw (void)
I projektet kan du finde fritzende skemaer, fotos og mere.
Trin 3: Breadboard: I2c Character Display Controller udvidet
Jeg brugte en generisk tegnvisning, og jeg byggede i2c -controlleren og brugte den med mit brugerdefinerede bibliotek.
Men hvis du vil, kan du tage en normal i2c -controller (mindre end 1 €) med et standardbibliotek, koden forbliver den samme. Alle visningskoder er i tegnefunktion, så du kan ændre det uden at ændre andre ting.
Bedre forklaret her.
Trin 4: Breadboard: Tegnvisning med I2c integreret
Det samme skema uden i2c kontrolleret udvidet.
Trin 5: Realisering
Til måling af spænding bruger vi princippet om en spændingsdeler (flere oplysninger på Wikipedia).
I enkle ord er denne kode multiplikatorfaktoren til måling af batterispænding.
batResValueGnd / (batResValueVolt + batResValueGnd)
Jeg indsatte de 2 modstande for batResValueVolt og batResValueGnd -værdien efter og før den analoge læsetråd.
batVolt = (sample1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;
sample1 er de gennemsnitlige analoge aflæsninger;
vcc reference Arduino spænding;
1023.0 er referencemaksimumværdien for analog læsning (Arduino analog læsning går fra 0 til 1023).
For at få strømstyrke skal du bruge spænding efter og før effektmodstand.
Når du har målet spændingen efter og før effektmodstanden, kan du beregne milliampere, der forbruger batteriet.
MOSFET bruges til at starte og stoppe batteridrænning fra strømmodstand.
For en sikkerheds skyld indsatte jeg 2 termistorer for at overvåge batteriets og modstandstemperaturen.
Trin 6: Udvidelse
Jeg forsøger at kretere et prototypebord, der kan udvides, men i øjeblikket bruger jeg kun et minimalt sæt stifter (fremover tilføjer jeg lysdioder og andre knapper).
Hvis du vil have understøttelsesspænding større end 10v, skal du ændre batteriets modstandsværdi og modstand i henhold til formlen
(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)
i skemaet Modstandseffekt spænding
Modstandseffekt spænding GND 1/2/(Modstandseffekt spænding 2/2 + Modstandseffekt spænding GND 1/2)
Pink er nedlodning
Trin 7: Liste over dele
Beløb Deltype Egenskaber
- 2 5 mm skrueterminal Inden PCB -monteret skrueklemme 8A 250V LW SZUS (eBay)
- 1 Arduino Pro Mini -klon (kompatibel Nano) (eBay)
- 1 Grundlæggende FET P-kanal IRF744N eller IRLZ44N (eBay)
- 11 10kΩ Modstandsmodstand 10kΩ (eBay)
- 2 temperatursensor (termistor) 10kΩ; (eBay)
- * Generisk hanhovedform ♂ (han); (eBay)
- * Generisk kvindelig headerform ♀ (kvinde); (eBay)
- 1 PerfBoard board Prototype board 24x18 (eBay)
-
10R, 10W
strømmodstand (eBay) Jeg finder min i et gammelt crt -tv.
Trin 8: Board: Nulstil, Gnd E -knap for at vælge batteri
I venstre del af benene kan du finde knappen og summeren.
Jeg bruger 3 knapper:
- en til at ændre batteritype;
- en til at begynde at aflade det valgte batteri;
- derefter bruger jeg reset pin til at genstarte alle og aktivere ny operation.
Alle ben er allerede trukket ned, så du skal aktivere med VCC
Nulstil aktiveres med GND
Pink er nedlodning
Trin 9: Board: I2c og strømforsyningspinde
Til basen kan du se VCC, GND og SDA, SCL til visning (og andet i fremtiden).
Pink er nedlodning
Trin 10: Bord: Termistor og målespænding
Til højre er der stifter til aflæsning af termistorværdi, den ene til strømforsyning eller termistor og den anden til (han/hun -ben til at fastgøre) batteritermistor.
Så er der analoge ben, der måler differentialspænding efter og før effektmodstand.
Pink er nedlodning
Trin 11: Board: Modstand mod måling af spænding
Her kan du se den modstand, der tillader at understøtte spænding dobbelt end arduino pin (10v), du skal ændre denne for at understøtte mere spænding.
Pink er nedlodning
Trin 12: Lodning Trin: Alle pins
For det første tilføjer jeg alle stifter og lodder det.
Trin 13: Loddetrin: Pulldown -modstand og termistor
Derefter tilføjer jeg alle pulldown resitor (til knapper) og i2c -stik (display).
Derefter er strømmodstandstermistoren meget vigtig, idet syrebatteriet bliver for varmt.
Trin 14: Lodningstrin: MOSFET, modstand mod kontrol af spænding
Nu skal vi indsætte mosfet for at aktivere afladning og modstand mod at kontrollere spænding.
2 modstand for spænding før effektmodstand 2 modstand for spænding efter effektmodstand, når du har denne spænding kan du beregne milliampereforbrug.
Trin 15: Kode
Mikrocontrolleren er kompatibel nano, så du skal indstille din IDE til at uploade en Arduino Nano.
For at arbejde skal du downloade kode fra mit github -lager.
End du skal tilføje 3 bibliotek:
- Wire: standard arduino bibliotek til i2c protokol;
- Termistorbibliotek herfra ikke det bibliotek, du kan finde i arduino IDE, men min version;
- LiquidCrystal_i2c: Hvis du bruger udvidet/brugerdefineret version af i2c -adapter (min version), skal du downloade biblioteket herfra, hvis du bruger standardkomponenten, kan du tage biblioteket fra arduino IDE, men alt er bedre forklaret her.
Jeg tester ikke LCD med standardbibliotek, det forekommer mig, at de er udskiftelige, men hvis der er et problem, blev det gratis at kontakte mig.
Trin 16: Resultat efter samling
Bundkortet er på billedet, så kan vi teste det.
Trin 17: Vælg først batteritype
Som beskrevet har vi et værdikort med konfiguration af batteri.
// Struktur af batteriets typebestemmelse BatteryType {tegnnavn [10]; float maxVolt; float minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};
Trin 18: Start afladning
Klik på den anden knap for at starte afladningen.
I displayet kan du se aktuelle milliampere, milliampere/timer, procentdel af afladning, batterispænding og temperatur på effektmodstand og batteri.
Trin 19: Undtagelser: Batteri fjernet
Hvis du fjerner batteriets afladning, vil den gå på pause, når du sætter den i igen med den sidste værdi.
Trin 20: Undtagelser: Temperaturvarsel
Hvis temperaturen (batteri eller effektmodstand) bliver for varm, afbrydes afladningsprocessen.
#define BATTERY_MAX_TEMP 50
#define RESISTANCE_MAX_TEMP 69 // 70 ° på datablad (Derating -modstande) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20
Standardværdien for max temperatur er 50 ° for batteri og 69 for effektmodstand.
Som du kan se på kommentaren, påvirkes effektmodstanden af derating, når den går over 70 °.
Hvis alarmen hæves, start TEMP_TO_REMOVE_ON_MAX_TEMP sekunders pause for at sætte lav temperatur.
Trin 21: Test strømstyrke
Resultatet af ampertest er godt.
Trin 22: Pakke
Med adskilt komponent er pakkeresultatet let at realisere.
I en kasse skal der laves et rektangel til LCD, hullerne til trykknapper og en ekstern huntønde til at levere spænding fra strømforsyningen.
Trykknap behøver ikke pull-down modstand, fordi jeg tilføjer den allerede om bord.
Når jeg har lidt tid, opretter jeg og sender det.
Anbefalede:
Valg af trinmotor og driver til et Arduino Automated Shade Screen Project: 12 trin (med billeder)
Valg af en trinmotor og driver til et Arduino Automated Shade Screen Project: I denne Instructable vil jeg gennemgå de trin, jeg tog for at vælge en Step Motor og Driver til et prototype Automated Shade Screen -projekt. Skærmskærmene er de populære og billige Coolaroo håndsvingede modeller, og jeg ville udskifte t
Udskiftning af batteri til iPhone 6 Plus: Vejledning til udskiftning af det interne batteri: 12 trin (med billeder)
Udskiftning af batteri til iPhone 6 Plus: Vejledning i udskiftning af det interne batteri: Hej fyre, jeg lavede en iPhone 6 -batteri til udskiftning af batterier for noget tid siden, og det syntes at have hjulpet mange mennesker, så her er en vejledning til iPhone 6+. IPhone 6 og 6+ har stort set den samme konstruktion bortset fra den indlysende størrelsesforskel. Der er
Valg af loddejern: 3 trin
Valg af loddejern: Dette er for de mennesker derude, der ikke er sikre på, hvordan de skal komme i gang med lodning. Jeg ved, at dette måske ikke glæder alle, men hvis du har brug for et sted at starte, så er du klar. Du kan lære af mine fejl og spare penge ved mit eksempel
En virkelig enkel/let/ikke kompliceret måde at få mennesker/mennesker/dyr/robotter til at se ud som om de har en virkelig cool/lys varmesyn (farve efter eget valg) ved hjælp af GIMP: 4 trin
En virkelig enkel/let/ikke kompliceret måde at få mennesker/mennesker/dyr/robotter til at se ud til at have en virkelig cool/lys varmesyn (farve efter eget valg) Brug af GIMP: Læs … titlen
Valg af modstand til brug med lysdioder: 3 trin
Valg af modstand til brug med lysdioder: Dette spørgsmål bliver stillet hver dag i svar og fora: Hvilken modstand bruger jeg med mine lysdioder? Så jeg har samlet flere forskellige måder at finde ud af det på. Lad os komme i gang med det: Hver af trinene gør det samme. Trin 1 er det enkleste, og vi