Arduino sant batteri kapacitet testare (Li-Li-Ion/NiMH/NiCD/Pb) (9 / 11 steg)

Steg 9: Min SW (gratis för alla att använda)

inkludera bibliotek-koden:
#include

LiquidCrystal lcd (12, 11, 5, 4, 3, 2); / / starta biblioteket med numrerar av gränssnittet stiften
int sensorPin = 0; Välj input PIN-koden för potentiometer (PIN-kod 23)
int sensor2Pin = 2; Välj input PIN-koden för potentiometer (PIN-kod 23)
int ledPin = 13. Välj den PIN-kod för LED
int SPKPin = 6;
int sensorValue = 0; variabel för att lagra värdet kommer från sensorn
int sensor2Value = 0; variabel för att lagra värdet kommer från sensorn
flyta LiMinThreshold = 2700; Litium Minimal spänning för borttagning av belastning
flyta LiMaxThreshold = 4200; Litium Max Voltage för borttagning av belastning
flyta NmhMinThreshold = 950; NMH Minimal spänning för borttagning av belastning
flyta NmhMaxThreshold = 1600; NMH Max Voltage för borttagning av belastning
flyta SelectedMinThreshold = 5000;
int i;
int BatVoltage = 5000;
int FetVoltage = 5000;
lång TotalCurrent = 0;
boolean = false;
osignerade långa PrevMillis;
osignerade långa MillisPassed;

void CL2() {
lcd.setCursor (0, 1); / / andra line första röding
LCD.Print("");
lcd.setCursor (0, 1); / / andra line första röding
}

void setup() {
Serial.BEGIN(9600); / / start seriell port för att skicka data under körning till PC
pinMode (ledPin, produktionen); //activation ledde och möjliggöra för FET
pinMode (SPKPin, OUTPUT); //activation ledde och aktivera för FET
LCD.BEGIN (24, 2); / / Ställ in den LCD antal rader och kolumner:
LCD.Print ("Bat PWR Tester[Active]"); Skriv ut ett meddelande till LCD-skärmen.
lcd.setCursor (0, 1); / / andra line första röding
LCD.Print ("upptäcka Bat typ..."); skriva ut spänning värde
Delay(2000);
lcd.setCursor (0, 1); / / andra line första röding
LCD.Print("");
lcd.setCursor (0, 1); / / andra line första röding
digitalWrite (ledPin, hög); ställa in lysdioden på
sensorValue = analogRead(sensorPin); Läs värdet från sensorn:
digitalWrite (ledPin, låg); iväg för LED
Upptäcka batterityp
BatVoltage = sensorValue * 4.887;
om (BatVoltage > 4500) {
LCD.Print ("varning high-V!");
= sant;}
annars om (BatVoltage > LiMinThreshold) {
LCD.Print ("typ: Li-Ion Bat");
SelectedMinThreshold = LiMinThreshold;}
annars om (BatVoltage > NmhMinThreshold) {
LCD.Print ("typ: NiMH/Cd Bat");
SelectedMinThreshold = NmhMinThreshold;}
annat {
LCD.Print ("okänd Bat V < 1");
= sant;}
LCD.Print("V=");
LCD.Print(sensorValue*4.887); skriva ut spänning värde
Serial.Print("DT[MS]");
Serial.Print("\t");
Serial.Print("bat[MV]");
Serial.Print("\t");
Serial.Print("fet[MV]");
Serial.println("");
Delay(3000);
CL2();
PrevMillis = millis();
}

void loop() {
om (BatVoltage > SelectedMinThreshold & &! gjort) {
digitalWrite (ledPin, hög); ställa in lysdioden på
sensorValue = analogRead(sensorPin); Läs värdet från sensorn:
sensor2Value = analogRead(sensor2Pin); läsa värdet från FET:
FetVoltage = (sensor2Value * 4.887);
BatVoltage = (sensorValue * 4.887);
CL2();
LCD.Print("V=");
LCD.Print(BatVoltage); skriva ut spänning värde
LCD.Print("MV");
LCD.Print(FetVoltage); skriva ut spänning värde
TotalCurrent = TotalCurrent + MillisPassed/1000 *(BatVoltage-FetVoltage)/2,2/3.6;
LCD.Print ("jag =");
LCD.Print(TotalCurrent/1000);
LCD.Print ("mAH");
Delay(1000);
MillisPassed = millis()-PrevMillis;
PrevMillis = millis();
Serial.Print(int(MillisPassed));
Serial.Print("\t"); skriver ut en flik
Serial.Print(BatVoltage);
Serial.Print("\t"); skriver ut en flik
Serial.Print(FetVoltage);
Serial.println(""); skriver ut en flik
CL2();
}
annat
{
= sant;
digitalWrite (ledPin, låg); iväg för LED - stoppa lastning
lcd.setCursor (0, 0); / / första linje första röding
LCD.Print ("Bat Power testare [klar]"); Skriv ut ett meddelande till LCD-skärmen.
(CL2); //clear linje 2
sensorValue = analogRead(sensorPin); Läs värdet från sensorn:
BatVoltage = (sensorValue * 4.887);
lcd.setCursor (0, 1); / / andra line första röding
LCD.Print("V=");
LCD.Print(BatVoltage); skriva ut spänning värde
LCD.Print ("mV jag =");
LCD.Print(TotalCurrent/1000);
LCD.Print ("mAH");
för (int jag = 0; jag < 100; i ++) {
digitalWrite (SPKPin, hög);
Delay(1);
digitalWrite (SPKPin, låg);
Delay(1);
}
Delay(1000);
}
}

Se Steg
Relaterade Ämnen

Uppladdningsbart batteri kapacitet testare

Har du en hög med AA uppladdningsbara batterier i din låda? Några är gamla, några är nya, men vilka uppsättningar skulle du ta med din kamera på din nästa resa, och vilka som är förbi deras livslängd? Jag gillar att använda uppladdningsbara batterier...

Exakta batteri kapacitet testare

Vi alla använder uppladdningsbara batterier i mängd olika elektroniska enheter och du märkt att din uppsättning batterier varar kortare än medan batterierna var nya. Det är ett oundvikligt öde alla laddningsbara batterier. Att "huvudnummer" bero...

18650 batteri kapacitet testare

OK, gjorde denna lata gamla Geek (S.T.O.C.K.:S) några batteri kapacitet testare för AA och 18650 batterier ca tre år sedan. Jag trodde jag hade publicerat dessa men tydligen inte.Tja, trodde jag mina mätningar var riktigt lågt tills jag läste detta I...

Li-Ion batteri kapacitet testare (Lithium makt testare)

=== varning & varning ===Li-Ion-batterier är mycket farligt om inte hanteras korrekt.INTE över avgift / bränna / öppna Li-Ion fladdermössAllt du gör med denna information är egen risk===========================================Bygga en Li-Ion batteri...

Batteri kapacitet testare (Arduino)

Hej vänner,Detta är mitt första försök på arduino och det är min engineering designprojekt. Detta är ganska enkel att göra.Först och främst måste du veta hur du kan mäta analoga och digitala värde på Arduino. Atfter du läsa dessa värden, kan du uppnå...

Hur man gör en NiMH, NiCd batteri laddare krets

Ett state-of-the-art chip, en transistor och några andrabillig passiva komponenter är de enda material som krävs för att göra denna enastående, själv reglera, över kostnad kontrolleras, automatisk NiMH, NiCd batteri laddare krets. Låt oss studera hel...

Arduino borra batteri Adapter

Detta Instructable serverar ett par funktioner. Första och mest den tjänar som en grov guide för att ta en 12-volts Dewalt litiumbatteri och konvertera den för med en Arduino och som en punkt av hänrycker in i Full-spöke Laser tävlingen. I detta bygg...

Öka din laptop batteri kapacitet (runtime).

Är din laptop batteri död?Är den inte tillräckligt länge för att ta dig igenom dagen runtime?Bär du en av de stora externa batterier?Detta instructable är avsett att visa hur man kan ersätta en laptop batteri dead Li-Ion/li-poly celler och hur man ka...

Liten footprint Arduino Nano med USB-laddning krets (Li-Ion eller LIPO) som kan stänga av sig själv (mjuk spärren power)

När jag började min första Arduino projekt, insåg jag att jag behövde använda ett litet format Arduino så att jag kan bifoga den i min enhet. Att vara ny på Arduino, visste inte jag att alla de utmaningar som jag skulle ha med batteri förvaltning!Eft...

Digital batteri Ladda testare

problemet med mest billigt batteri testare är att de endast indikerar spänning under minimal belastning. Detta ger inte en sann indikation på batteriets skick när dess krävs för att använda vid tung belastning, dra maximal ström.Helst behöver du man...

Arduino och batteri pack i Altoids burkar

Detta är två, två, två Instructables i ett! Min post för USB-tävling (fortfarande pågår – inga garantier som jag även kommer att avsluta det) innebär en Arduino, som jag beslöt att paketet i en Altoids tin. Jag behövde också ett batteripack som skull...

Driver Arduino med batteri

Göra din Arduino projekt bärbara genom att använda ett batteri för makt. Sidor från Uno och Mega dokumentation:"Styrelsen kan fungera på en extern försörjning av 6 till 20 volt. Om med mindre än 7V, men 5V PIN-koden kan ha mindre än fem volt och styr...

Litium batteri mAh testare

Köpte några dyra batteri du vill testa, eller bara har gamla en lögnaktig runt omkring du är intresserad av att spela med?Det är projektet för dig!Det är den enklaste provat kan du för bara ca $10, och för det priset får du göra häpnadsväckande diagr...

Baserade Arduino RGB Matrix LED testare

Detta är en mycket enkel Arduino projekt vilken kontroll panelen 16 x 32 RGB LED Matrix via en 16pin IDC kabel. Arduinoen kommer att kontinuerligt skicka 5 set färger (röd, grön, blå, vit, svart) till panelen LED matris som gör att teknikern att ta r...

Hoppa börja din bil med hjälp av små leda Acid batteri (billigt alternativ till Li-Ion Jumpstarter förpackningar)

https://youtu.be/OUkYKzA-p2c...

SKYRC IMAX B6AC V2 3S RC Lipo NiMH NiCd Akku Batterie Digitale laddare Discharger Ladegerät Für RC-Akku Lindberg (11-18V DC)

V2 B6AC SKYRC ist die aktualisierte Version vom bekannten IMAX B6AC. Im Vergleich mit B6AC ist es genauer und stabiler. Außerdem die Benutzer kann die Polspannung selbst einstellen und Das Gerät ist en PC anschließbar zur PC-Steuerung und Firmware-up...

ÅTERANVÄNDA din gamla LAPTOP batteri för att göra en POWER BANK

[Spela Video][Solar Power Bank]För några månader sedan fungerade min Dell laptop batteri inte. När jag koppla ur den från huvudsakliga växelspänning, stängs laptop av omedelbart. Efter några dagar av frustration, jag ersatte batteriet och höll den dö...

Hur man gör en MODED sladdlös borrmaskin / handledning / DIY

https://www.youtube.com/watch?v=CBQyrM_kJpw&feature=youtu.beSteg 1: För att göra en MODED sladdlös borrmaskin du behöver! Idag kommer vi att uppgradera en gammal, trogen och oförglömlig elektrisk skruvmejsel som kan fortfarande troget tjänar du trots...

Hemgjord platt Li-ion batteri adapter

Som att ha en gammal knäckt-skärm smartphone om runt och dessutom har ett projekt pågår med nödvändigheten av ett Li-ion batteri, tänkte jag det är en bra idé att göra någon form av adapter för att göra använda av det batteriet.BOM:Koppar täckt styre...