
BDCoDE
Members-
Content Count
22 -
Joined
-
Last visited
About BDCoDE
-
Rank
Member
-
That was really great explanation, I'm new to electronics, not only Energia. And posts like yours helps a lot. I'm a little bit busy this days, but I will try to use your advices in practice as soon as possible. Thank you!
-
I run the test again with new code and got 1.55Ah. Here is the new output. Voltage= 0.00V Current= 0.00A Capacity= 0.00Ah Discharging time= 1.00s // battery isn't connected yet Voltage= 0.00V Current= 0.00A Capacity= 0.00Ah Discharging time= 2.00s // battery isn't connected yet Voltage= 3.60V Current= 0.28A Capacity= 0.00Ah Discharging time= 3.00s Voltage= 3.64V Current= 0.28A Capacity= 0.00Ah Discharging time= 4.00s Voltage= 3.64V Current= 0.28A Capacity= 0.00Ah Discharging time= 5.00s ...................................................................... .............................
-
The output of fully charged Li-ion battery can be up to 4.1/ 4.2 V. Therefor if I use 1k as R2 and 1.5k as R3 I'll get 4.15V * 1.5k /( 1.5k+1k) = 2.49V Almost the same as yours. Can't get the voltage to fit under 2.5V using this rule.
-
Like this? The schematic with voltage divider will then look like this. Are everything ??????? correctly now? // Very simple Arduino Lithium-ion battery capacity tester // from electronicsblog.net #define LED GREEN_LED #define resistor 13 float capacity=0, value,voltage,current, time=0; void measure (void) { analogReference(INTERNAL2V5); delay(1) value= analogRead(A5); voltage=value/1023*5; current = voltage/resistor; capacity=capacity+current/3600; time++; Serial.print("Voltage= "); Serial.print(voltage); Serial.print("V Current= "); Serial.print(cur
-
Thanks for advice, I will try it tomorrow. The test is finished. Here is the last lines of output file. As you can see the voltage is about 3.5V at the lowest, I don't know why but the voltage was constant 5.00V til 16653.00s :!!!: The test showed that battery is 1.87Ah. I think it's true, because the battery sticker says it's 2000mAh, but it's produced in China :grin:. Will run some more tests tomorrow, with voltage divider ;-) Voltage= 3.60V Current= 0.28A Capacity= 1.87Ah Discharging time= 17590.00s Voltage= 3.59V Current= 0.28A Capacity= 1.87Ah Discharging time= 17591.00s
-
How do you think this voltage divider will work?
-
No voltage divider, here is the actual schematic. Besides, I was getting 1.4V when I was using "voltage=value/1024*3.7;" , instead of "voltage=value/1024*5.0" as in your example. Now with "voltage=value/1024*5.0" I get constant 5.00V and 0.38A, but I'm not sure if it's correct. P.S Here is the new output. I used "voltage=value/1024*5.0" Voltage= 5.00V Current= 0.38A Capacity= 0.34Ah Discharging time= 3220.00s Voltage= 5.00V Current= 0.38A Capacity= 0.34Ah Discharging time= 3221.00s Voltage= 5.00V Current= 0.38A Capacity= 0.34Ah Discharging time= 3222.00s Voltage= 5.00V Curr
-
Your code is working well so far. The only thing I edited was resistance , from 6.9 to 13 Here is the output example:Voltage= 1.42V Current= 0.11A Capacity= 0.01Ah Discharging time= 430.00s Voltage= 1.35V Current= 0.10A Capacity= 0.01Ah Discharging time= 431.00s Voltage= 1.42V Current= 0.11A Capacity= 0.01Ah Discharging time= 432.00s Voltage= 1.37V Current= 0.11A Capacity= 0.01Ah Discharging time= 433.00s Voltage= 1.43V Current= 0.11A Capacity= 0.01Ah Discharging time= 434.00s Voltage= 1.37V Current= 0.11A Capacity= 0.01Ah Discharging time= 435.00s Voltage= 1.41V Current= 0.11A Ca
-
Edited: I was lucky and received my usb2uart converter now. It's based on CP2102 chip, if it makes any difference. I installed drivers and Windows shows it on COM11 post. I checked the code below, it's working just fine. But not the "Battery Test" code. I have no idea what to do... static uint8_t sensorPin = A5; int sensorValue = 0; void setup() { Serial.begin(9600); } void loop() { sensorValue = analogRead(sensorPin); Serial.println(sensorValue); delay(100); } Checked as well on my another code. This one works fine too. #define cmdL 'L' //UART command #define cmdR
-
Let me just ask you a stupid question because I'm REALLY new to all this stuff. How should I receive Serial.print()? Via usual USB cable I use to program the chip using terminal program or via USB2UART converter usin RxD & TxD pins? P.S I'm using M430G2553 chip
-
I don't know why, but there is still nothing :shock: P.S Updated source...
-
I tried with now, still no effect. P.S Updated source code in my previous message.
-
Ok, didn't noticed that part of you message. The code looks like this now: // Very simple Arduino Lithium-ion battery capacity tester // from electronicsblog.net static uint8_t sensorPin = A5; #define LED GREEN_LED #define resistor 13 float capacity=0, value,voltage,current, time=0; void measure (void) { value= analogRead(sensorPin); voltage=value/1024*5.0; current = voltage/resistor; capacity=capacity+current/3600; time++; Serial.print("Voltage= "); Serial.print(voltage); Serial.print("V Current= "); Serial.print(current); Serial.print("A Capacity= "); Serial.pr
-
Sorry, my fault. I was actually trying with both of them. The problem was in Serial.print(). I used Serial.println() instead. Here is the working source. static uint8_t sensorPin = A5; int sensorValue = 0; void setup() { Serial.begin(9600); } void loop() { sensorValue = analogRead(sensorPin); Serial.println(sensorValue); delay(1000); } But I still can't get this battery test working. Here is the code you gave me, is there anything wrong with it? // Very simple Arduino Lithium-ion battery capacity tester // from electronicsblog.net static uint8_t sensorPin = A5; #define
-
I do use Serial.begin(9600) P.S I read this thread and decided to check if it's working on mine board. I connected P1.5 pin to GND and used this code. Still can't receive anything in Serial Monitor. I tried both M430G2553 & M430G2452. What's the problem :x static uint8_t sensorPin = A5; int sensorValue = 0; void setup() { Serial.begin(9600); } void loop() { sensorValue = analogRead(sensorPin); Serial.print(sensorValue); delay(10); }