Lithium Ion 18650 Capacity Checker Update - Adam's Arduino Projects

  Рет қаралды 56,233

Adam Welch

Adam Welch

Күн бұрын

Пікірлер: 189
@viskim1593
@viskim1593 4 жыл бұрын
What a great rabbit hole this is, I forgot my original project and now am spending my time looking at reusing cells, building chargers, load testers, battery banks and solar controllers. All presented as very approachable as well. Wish I stocked up on Arduino's before the shutdown, I really should have kept a dozen cheapies in my junk box.
@00708046
@00708046 4 жыл бұрын
I like your explanations. You're very clear and answer the questions that we have , as you test each item . No BS and no lime lighting and drama. Thank you for sharing your knowledge . You're an excellent teacher as well as product tester. 👍👍
@KennethTanFotografie
@KennethTanFotografie 8 жыл бұрын
Adam, finally got to building your capacity tester today. The first 18650 is running as I'm typing this. I made a few changes to the hardware: Used a double (quality) 18650 battery holder, so one battery is for testing, the other powers the arduino and lcd. Had to add a 5V boost converter to get the input voltage to .. 5.24V (Changed it in your script. Excellently documented) In the pictures you can also see a 1117-3.3V on the backside. Wanted to use it for the 3.3V led power supply on the LCD, but afterwards my LCD needed a 100 Ohm resistor on the LCD Led pin to GND. The LCD library you used cannot change the LCD orientation, so for now the power and rest buttons are on top. The build worked perfect at first go. Just measure the load resistor correctly and set this in the script, together with the correct 5V reference voltage. The 4,7 Ohms 10W cement resistor gets really hot, but I left a bit of space between it and the PCB. The hotglue on the other side of the pcb does not get soft, so it's a good indicator that the 18650's are cleared from the generated heat. Thank you for this excellent design. Below the links to the pics of my build. kennethtan.nl/Media/Photos/20160318_145356.jpg kennethtan.nl/Media/Photos/20160318_145414.jpg kennethtan.nl/Media/Photos/20160318_190246.jpg kennethtan.nl/Media/Photos/20160318_191738.jpg kennethtan.nl/Media/Photos/20160318_191748.jpg
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Kenneth Tan I'm very pleased this is working well for you. Sounds like you've made some interesting improvements too (I think I mentioned I made this with bits I had lying around). I used USB to power the Arduino. I guess yours is a little more portable! The load resistor does get hot - mind your fingers! Thanks for sharing, it really does put a smile on my face to know people are benefitting from my videos.
@KennethTanFotografie
@KennethTanFotografie 8 жыл бұрын
+Adam Welch How about adding a tp4056 charge board. With that you could do a one-shot charge of The battery and using The charged-led of that board trigger The arduino to go into discharge mode. The same pin 10 could be used in The charge process to disable discharging. Only problem is that the charge board has a low-power disconnect voltage. Therefore there needs to be a second MOSFET p-chan between charge+ and bat +. I believe you cannot use a n-chan MOSFET to disconnect the charge board. I believe it's really simple to implement.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Kenneth Tan Yeah, you could charge, discharge and then charge again! It would be nice to see your developments.
@KennethTanFotografie
@KennethTanFotografie 8 жыл бұрын
+Adam Welch Sorry for the simple layout. Was made on Android tablet. I've tried to add the tp4056 charge board to the design. kennethtan.nl/Images/Lipo%20capacity%20meter%20V2.0.png Needed to add two MOSFETs. Q2, a P-chan disconnects the charge board during discharge cycle. Q3 is needed because "Bat -" is separated from ground by a double MOSFET switch. So during charge Q1 and Q3 are off and Q2 on. During discharge, Q2 is off and Q3 is on. Q1 is controlling the discharge cycle. Also implemented a start and reset button. With this you never need to pre-charge the battery you want to test. It's done in circuit. An external PSU is needed. Charge current is 1A. What do you think? Any errors? If Q2 and Q3 are both on doesn't harm the circuit only the results. So no H-bridge dilemma I think.
@KennethTanFotografie
@KennethTanFotografie 8 жыл бұрын
+Kenneth Tan Working on some enhancements: Hardware: Adding SD card reader to store name of battery and measured values per battery. Adding larger color display to view live graphs. Adding rotary encoder for menu system Software: Menu system for adding/selecting batteries (history is battery "x") Live and history graph for battery "x" Start, reset and format option for memory card, with auto-wipe of unfinished cycles. I hope I have enough I/O pins to implement. Alternatively, we could forget the SD card option and convert the script to an ESP8266-07/12, multiplex the two analog inputs to the one available and send all data via MQTT. Dump the entire display and maken it WebEnabled. And if you want to go really fancy, use websockets for the live data. Ehhh, let's start with option 1...
@howardsway782
@howardsway782 8 жыл бұрын
Watched your little 'series' on this subject, must say I'm impressed with your clear presentation and simple math, well done, look forward to similar projects. Thanks very much Adam :-)
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Howard Bailey not at all - thank you.
@MrBobWareham
@MrBobWareham 6 жыл бұрын
VERY GOOD WITH THE UPDATE, THANK YOU I am still using it in 2024 so it was a great project from you, Thanks Bob
@ironmanklm4578
@ironmanklm4578 4 жыл бұрын
Great little project, I added the plotter library to get the graph in real time too.
@nate123123we
@nate123123we 8 жыл бұрын
Thank you - I thought something like this would be this simple but hadnt had time to do the maths. I'm building a power wall and have dozens of these 18650 and using my imax B6 would take me a long time individually to check them all or cost me a fortune at £25 per imax B6 - Thank you have just ordered enough components to run 24 batteries at once via 3 of my mega 2560's and can log to serial to graph them, only cost just over £20 to build
@mwhferrari
@mwhferrari 8 жыл бұрын
Love the video and DIY capacity checker! Thanks for providing the links to the parts.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Mike Ferrari No worries, thanks for your comment.
@dumouchelclermont4982
@dumouchelclermont4982 8 жыл бұрын
I was viewing your video. And I believe you can report the battery internal resistance also. You can read the current (Ibat) already and the battery voltage. the internal resistance should be "Rbat = ( Vbat(No-Load) - Vbat(Full-Load))/Ibat". In this case you will have to read the Battery Voltage when the Mosfet is off and then measure the same voltage when the Mosefet is activated at the same time measure the current as you already done. Great video...
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Dumouchel Clermont Thanks for the kind comments and thanks for the input. I think that's an interesting idea - I'll have to have a play with that... :-)
@robocog
@robocog 7 жыл бұрын
Attempting to implement this I added floats and the lines 'Rbat = ( batVolt - shuntVolt)/current' so it uses the variables from the sketch, still awaiting the resistors and mosfet before I can test to see if it works - parts have arrived , but I cannot get it to show internal resistance it just shows 1 as the result - looking at the numbers as an example - Rbat = vbatnoload - vbatshunt / current Rbat = ((3.73 - 3.25) / 0.48) = 1 I am doing the formula wrong somewhere...and cant see where!
@Aleksandar11351
@Aleksandar11351 8 жыл бұрын
Great project! For the end You could measure the weight of the batteries separately. That could explain why the Samsung has good capacitance.
@00708046
@00708046 4 жыл бұрын
The cheap batteries are 1/2 filled with sand and a short cell.
@Lastaii
@Lastaii 8 жыл бұрын
So around ~2% difference between the readings on the lower capacity cells, and 0.75% with the Samsung. I'd say that was pretty accurate compared with the Liitokala, well done :)
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Lasty Thank you!
@Estudio322
@Estudio322 8 жыл бұрын
I believe that if you leave a narrower gap of time between the readings (which in the code you shared is 5 seconds) you would be able to get a more accurate result.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Gabriel Caloca Thanks for your comments. Please do have a play with the timing and see what results you get. I was worried that timing the measurements too close together would be less accurate due to the limited accuracy in floating point numbers (6-7 decimal places I believe). If the samples were to small I think it would become less accurate. I did test this project against a commercial battery charger and capacity checker - see my other videos for the results!
@mnelson10000
@mnelson10000 8 жыл бұрын
Very nice, thanks for sharing. That would be cool to make one that could juggle like 6 different batteries at the same time... that would make processing laptop battery a lot faster! :)
@OvidiuMarin
@OvidiuMarin 5 жыл бұрын
You just got yourself a new subscriber, my friend! Great project !
@nicgreen4234
@nicgreen4234 8 жыл бұрын
Good work! Thanks for sharing it. I have a Nokoser tester very similar to the LitoKala, I find sequential tests give results that vary by up to about 3%. If your units are similar it would make comparisons a bit more tricky. What do repeated checks show when averaged? I'm dipping my toe into the Arduino ocean and I find your build inspirational, so thanks again, and cheers from Mullumbimby NSW Australia. BTW I see BigClive's Full Metal Jacket screwdriver approach has appeared on your bench too! ;-)
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Nic Green Thanks for your kind comments. Repeated tests on a single cell in my arduino capacity checker reveal consistent results. I haven't noted the exact figures down, but they are all around the 930mAh mark for one of those cheap cells. The screw driver in question is available from a pound shop in the UK. I've got a few as they are so cheap. I've also got a pack of around 30 bits of all different types. Useful for getting into things and not having to worry about breaking it. :-)
@tastymacification
@tastymacification 8 жыл бұрын
thank you for sharing. what about using this same concept for a portal battery bank?
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Ryan Walker Testing the capacity of a power bank? Yes you could adapt it. You might need to place a voltage divider on the analog inputs though as the power bank might supply a bit more than five volts. You'd only need to change a couple of lines of code.
@NicholasRadina
@NicholasRadina 7 жыл бұрын
Another wonderful post! Thank you Adam! If I'd rather not use a LCD screen (or the like) and just grab the data via serial print and create a spreadsheet like you have, may I simply remove all references to the LCD in the code? Or simply leave the code as is and not hook up a LCD? Thanks again for any help!
@Arek_R.
@Arek_R. 8 жыл бұрын
Its better to use constant load on n-mosfet and op-amp instead of cermet resistor, using arduino we can have almost stepless current control. Search for "dummy load"
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Arek R. This is true but I wanted to make something fairly simple for a novice (which in many ways I am too) could understand. I also made this in one day with bits in my junk box. It has its issues but I think it also has a certain charm. I keep meaning to return to this one day and improve it.
@Arek_R.
@Arek_R. 8 жыл бұрын
You just need any n-channel mosfet and lm358, thats simple as well, and you will find these parts in your junk box
@zfaj2168
@zfaj2168 5 жыл бұрын
Can you please show us the schematics and the valued of the aluminum clad resistor?
@klyddmeisters5026
@klyddmeisters5026 7 жыл бұрын
If you use a 2ohm and a 10 ohm in parallell instead of that 1 ohm you will get 1,66 ohm. 1.66 ohm plus 6.8 ohm in series will get you closer to 0.5A discharge.
@AdamWelchUK
@AdamWelchUK 7 жыл бұрын
+Klyddmeisters Thanks. Thing is because it is a resistive load it's going to change continually anyway as the cell discharges. So 500mA is a bit ball park anyway!
@sityu82
@sityu82 8 жыл бұрын
First of all, great project, i learned a lot when i built this! But sine i have a lot of cells and i wanted to measure more at once, i built this simply by tripling all the components, and measured on A0-A1, A2-A3 and A4-A5. The FET gates were at D10,11 and 12. On the remaining data pins i installed a 2004 LCD. The ony improvement i made was to pull the gates to ground with a 10K resistor. I have mixed results. With one it works perfectly. With 3, its all over the place. The fets wont turn on fully, then doesnt turn off. Can this be caused by interference, the low quality china arduino? Any tips on that? Cheers!
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+István Gáspár Thanks for getting back to me with your progress. A 10k resistor on the gate to ground is a sensible choice. There is a remote possibility that current can drain to ground through the analog input protection diode. To combat this, I'd suggest a voltage divider on the analog sensors - the trade off is possibly less accurate voltage readings.
@josephcaporaso4774
@josephcaporaso4774 2 жыл бұрын
Hello, I made the assembly and rechecked several times the connections. But I have a problem: when I start the discharge, the voltage is first quite correct, and as soon as the discharge begins, the voltage drops at once by several tenths of a volt. An explanation?
@AdamWelchUK
@AdamWelchUK 2 жыл бұрын
Could your cell be of questionable quality? If the cell is poor pulling 1 amp may cause this issue. Increase the load resistor to reduce current draw and attempt to get an idea on the capacity.
@josephcaporaso4774
@josephcaporaso4774 2 жыл бұрын
@@AdamWelchUK Ok, thank for your answer. I will try this.
@johnm8016
@johnm8016 8 жыл бұрын
I'd guess that the tolerances in the sandbox resistors could account for the differences in the results.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+John M I'm sure you're right. They are only 5% resistors - but my results are all within about 2% of the LiitoKala. Although who's to say there isn't slight inaccuracies in that either?
@johnm8016
@johnm8016 8 жыл бұрын
+Adam Welch Hi I think your results are fantastic so your math calcs must be spot on. How accurate is you multimeter? I've just sent for a voltage reference source board so that I can set mine up, I've got a couple of meters like yours but with slightly different name and a couple of others but they all disagree with each other, I guess it's time to set them all up. Keep the videos coming, much enjoy them. All the best.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+John M You're right of cause, I am assuming my multi-meters are accurate. They both correspond to each other fairly well, and the reviews I've seen of my Vici meter seem to suggest its fairly accurate. Let me know how you get on once you have your reference board.
@Venomator.
@Venomator. 6 жыл бұрын
Consistent results to be fair, good work Adam, must be very satisfying! ... 🧐 🐍
@JerryEricsson
@JerryEricsson 8 жыл бұрын
Greetings and salutations! I watched this some time ago, and decided I was giong to build one. I don't know where my head was the day I ordered the parts, because for some reason, I ordered a 10W 10 Ohm resistor, and for the load, a 50W 10 Ohm. I don't know if I can get this combo to work by adjusting the math in the sketch or not, and I am afraid I would be able to heat our 35foot motor home with the heat generated by the 50watt load resistor.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Jerry Ericsson The maths is easy to sort, but the drain would be a bit low and take a long time to get results. I=V/R so I=4.2/20 that's 0.21 amps. I used a 1 ohm and a 3.6 ohm to get a current starting just below 1 amp. All you'd need to do is adjust the shunt value variable in the code if you're happy to use what you've got.
@JerryEricsson
@JerryEricsson 8 жыл бұрын
I was thinking that perhaps what I ordered would be a lot quicker to drain since both resistors are 10 ohm, where as you had a 1 ohm and a 4.7 ohm? Perhaps I am confused on that matter isn't 10>1 and 10 > 4.7? I know the 50W 10 Ohm resistor has a heat sink about three times that of the one you are using.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Jerry Ericsson larger value resistor will resist more current. Lower value will allow more current to run. The most current would flow over a simple piece of wire with little resistance.
@JerryEricsson
@JerryEricsson 8 жыл бұрын
Yes I am very aware of that, I learned a lot about Ohm's law when I served in the US Army Communications section, then later on when studying for my Ham License, as well as having played around with Arduinos Raspberry Pi's, and my Pine64. Also back when I was a young man and doing tV repairs on the side. It was just a bit confusing when you said my 10 ohm resistor would not drain the battery as quickly as your 3.3 or 4.7 or 6.whatever. So I thought perhaps I had missed something there.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Jerry Ericsson Sorry. Hope I haven't offended.
@Fungineers
@Fungineers 5 жыл бұрын
Very interesting. I was wondering if there is a way to code in and get the measurement of the internal resistance of the battery. Have you tried it?
@snailsec
@snailsec 6 жыл бұрын
hey bro i just finished building this project but my project shows low voltage than my multimeter at display what is wrong with it???
@kermets
@kermets 7 жыл бұрын
Adam I really like you project mate, Now with the grown interest in recovering 18650 cells would you be able to draw us up a circuit/sketch to do a 8-10 cell version maybe with one arduino board and compile the Capacity outputs on one of your cool 5110 screens if this is possible ? Cheers Brett
@Chickey
@Chickey 8 жыл бұрын
Anyway to pair this with a tp4056 so that you could make something to charge the battery then discharge in one unit?
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Colin Hickey It might look a bit Frankenstein... I guess you could place a mosfet inline with the TP4056 and switch it on and link to the LED pin on the 4056 to trigger switching it off and start discharging. I think in all honesty the best improvement to this design would be to make it a multi-cell discharger. I think you could discharge four cells using all the Arduino analog and digital IOs.
@Chickey
@Chickey 8 жыл бұрын
Cheers, I've approaching 300 cells to test so trying to think of the best/easiest way
@Chickey
@Chickey 8 жыл бұрын
+Colin Hickey I'm seeing some funny results with mine. Any battery is showing extremely low, at a guess %10 of the amount. Think i've made a wee mistake along the way !
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
Odd. Have you made any changes to the code? The circuit is pretty simple - it should either work or not work really!
@Chickey
@Chickey 8 жыл бұрын
No code is standard. I'll have another look at the circuit. Should it show a voltage on the display with nothing connected as mine does. Sometimes it's around the 1.2-2v mark and goes straight to complete other times it shows a voltage of 4v+ and discharging which is strange.
@kermets
@kermets 3 жыл бұрын
A timer would be a cool addition ??????
@james10739
@james10739 2 жыл бұрын
I would expect the arduino would provide a higher capacity since the current will be less fo most or another of the test
@nasirramzan651
@nasirramzan651 4 жыл бұрын
How can I modefy to use 4 to 8 cell at a time? Can you. Give me a hint how to do it. I am now and dosent knew about programing and circuit desigineing, I can only assemeble circuit according diagram.
@sardaclan1
@sardaclan1 7 жыл бұрын
Is it possible to add a schottky diode to the battery load side and then adjust the Arduino code for the slight voltage drop through the diode. To offer a reverse polarity protection?
@AdamWelchUK
@AdamWelchUK 7 жыл бұрын
+Gene Sarda Yeah I guess. You'd need to adjust the calculation of the voltage - should be fairly straight forward.
@sardaclan1
@sardaclan1 7 жыл бұрын
Adam Welch Thanks, I'll try it and let you know how it went. I have a whole bucket load of single 18650 battery holders but they have a pin out the bottom for pc mount, so with no spring at the end or red wire sometimes I can be a goof and put the cell in wrong way around in my projects.....
@MrJoza159
@MrJoza159 8 жыл бұрын
How to add on screen, when the test is over, how much time was needed to discharge the battery ?
@nosepipe1
@nosepipe1 8 жыл бұрын
Great video Adam, just finished building the circuit and it works. I'm going to scale it up to 8 x 18650 using an Arduino Mega, then with 4 of those that will give me 24 x dischargers. This will make building a powerwall much quicker :-) One question though I was going to replace the load resistor with a light buld as its useful to have a visual indicator of discharge progress, then I tought maybe a power LED would be a better idea, in terms of calculating the voltage drop across the 1 ohm resistor and hence the current do think this will give stable calculations for the battery capacity?
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Bill Pate In my original design I talked about using a lamp as a load. I think it's a good option. Expanding this to a mega is a great plan. Many more analog pins to play with. Actually, as an improvement (and to speed up your process further) you could place the shunt resistor on the low side of the circuit. You need to do some editing to the code (you'll be doing that anyway) but with the shunt resister in the low side you'd only need one analog pin per cell. The low side of the shunt will be zero volts. Haven't tested this - but it should work. Thanks for your comments and improvements. It's great to hear when people are using these.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Bill Pate Thinking again if you did do that - move the shunt to the low side - you might have to think about the mosfet again. Potentially the 3205 might cause a bit of resistance itself in that configuration and therefore get a little bit warm. I'm testing this in another video series at the moment so I'm not sure why I didn't think of that ten minutes ago! Good luck with your power wall too!
@nosepipe1
@nosepipe1 8 жыл бұрын
The 3205 is completely cold at the moment so I wasn't anticipating it being a problem getting too warm. In terms of the design I want to run 500mA as the series current, what do you think about the idea of replacing the bulb with an LED? Say a cree led that can cope with the 500mA or will an LED cause problems with the voltage drop measurement?
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Bill Pate In the current design the mosfet isn't doing much - and it should stay at ambient temperature. If you were to change the design and move the resister to save analog inputs there's a potential the mosfet might get warmer. It's all ideas in my head though - not tried this as yet.
@zairoxs
@zairoxs 8 жыл бұрын
That is pure genius!
@untitled8513
@untitled8513 7 жыл бұрын
sergio hablas español?
@zairoxs
@zairoxs 7 жыл бұрын
simon
@untitled8513
@untitled8513 7 жыл бұрын
oye sergio. tu ya lo modificaste para que pruebe 4 baterías a la vez? o sabes como hacerlo?
@zairoxs
@zairoxs 7 жыл бұрын
No lo he hecho para cuatro baterias pero sí sé cómo. Simplemente utilizas los mismos componentes para las otras tres, separas el circuito con diodos y copias el código para las otras baterias. Modificar el código sería lo más fácil ya que nadamas tienes que copiar el bloque y cambiar el número de los pins.
@untitled8513
@untitled8513 7 жыл бұрын
si, creo que con la parte fisica no tengo problema osea con la conexion de las resistencias y mosfets, creo que tengo problema con lo mas facil que es modificar el codigo,no tengo la mas minima idea de como hacerlo crees que puedas hecharme la mano con lo del codigo? ya las conexiones yo se como, he preguntado por ahi pero el ingles no es mi fuerte jaja no les entendi mucho
@danamoroso-xjq
@danamoroso-xjq 7 жыл бұрын
Hello Adam! Thank you for sharing! This has been very useful and it has also been my first electronics project. I am having an issue though with the screen going blank at seemingly random intervals and having to re-flash and fiddle with the arduino (I am using a micro) a few times before I can get it to work. I noticed the board is getting power from the battery which I don't think it's supposed to happen, any suggestion?
@shankky007
@shankky007 4 жыл бұрын
+Adam Welch Would it possible to build a smart fast charger using the arduino? Would it possible to modify this circuit and add a source and periodically disconnect the source and check the battery output to controll the source ? Just a random thought, would be glad to know your thoughts on this. Thanks
@EM-ww3vl
@EM-ww3vl 5 жыл бұрын
can we use a relay instead of mosfet?
@muhammadabunaimziatolihaza8721
@muhammadabunaimziatolihaza8721 6 жыл бұрын
how to control battery from overcharging/discharge ?
@sandbacktechnicaldesigninc4375
@sandbacktechnicaldesigninc4375 8 жыл бұрын
Adam, thanks for the info on this. Much appreciated. I don't have a Nokia5110, but I do have a 1602A. Do you think it would be an easy swap? Cheers, Sid
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Sandback Technical Design Inc. You just need to update all the LCD print lines and the constructor and you should be good to go. Shouldn't take long.
@on7rd
@on7rd 8 жыл бұрын
Ok now.... Many thanks...
@sNEAKYnIGHTmUPPET
@sNEAKYnIGHTmUPPET 8 жыл бұрын
Hey Adam, great video. I am curious if it's possible to have one nano and one screen handle more than one battery. Do you think it's possible to have it monitor say four batteries if you used 4 mosfets and 4 sets of resistors? If possible I would really like to build some of these since I have hundreds of these 18650 waiting to be tested and sorted. I have many arduino nanos and a bunch of pro mini boards lying around, and I think 5 Nokia screens I could use. It would be nice to make a board that could load test like 20-30 batteries at a time or something like that. Do you think this is possible or would you need one nano/screen per battery? Love to hear what you think.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
Yes it should be. just be aware that the more maths you make the arduino do ever loop will slow down the process and could cause an issue with accuracy (although you might find this is a non-concern in reality). The Nano has 8 analog pins so with this design you could do 4 cells. You'd just need to replicate the code to calculate each cells and save the results in different floats. There should be enough space on the 5110 screen to display all four cells as it goes along too. I need to get back to this project and make some improvements. One of those improvements is definitely expanding the cell count. Not sure when on earth I'll find the time though!
@sNEAKYnIGHTmUPPET
@sNEAKYnIGHTmUPPET 7 жыл бұрын
Did you ever get around to make the multi cell improvements we talked about? I am waiting with baited breath over here, I really want to make it! Let us know, I'm excited
@mayankb
@mayankb 8 жыл бұрын
Very Nice!
@lauwengyew8218
@lauwengyew8218 7 жыл бұрын
What software did you use to acquire the data to plot the graph. I try to use PLX but it give me a error message
@AdamWelchUK
@AdamWelchUK 7 жыл бұрын
+Lau Weng Yew I threw the console output into excel and used that to create the discharge curve.
@brad71945
@brad71945 8 жыл бұрын
hi can you measure battery internal resistance with this setup... I've have just purchased all the components of eBay can't wait to start this project. . thanks you
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
One of my subscribers did adjust the code for this very thing but I can't put my finger on it right now... hit up +Kenneth Tan - hopefully that'll work.
@JonathanWellskcender
@JonathanWellskcender 8 жыл бұрын
​Adam, after watching your video months back I also modified your design to make it four battery capable, buzzer alarm, 3 buttons to set the cut-off voltage, temp sensor, a PWM fan control pin. I attached a HC-05 module to the UART pins and made a [very] basic Android app that graphs the discharge curve. Many thanks to your design and sharing it with everyone. Quick question, I'm only reading the voltage on the high side of the load resistor and assuming the low side, which is connected to ground through the mosfet, is 0 volts as I'm only using one 8ohm resistor instead of two as you are. Since the IRF3205 mosfet has an Rds of 8mohm, my calculation will obviously be incorrect. But since the resistance is only 8mohm, would my error only be off by 0.5ma maximum at 4.2v? Or is my thought process way off? If you're interested in my crappy PCB design or the code, please let me know. You are more than welcome to it.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Jonathan Wells Thanks For coming back with your improvements and thanks. It sounds like you've done what a few people would like to see and made it multi cell and added a menu! Im really glad you are running with this project. It would be really interesting to see your code and pcb design if you are happy. It really does put a smile on my face to know that people have made these (and improved it)- especially as it was just an idea one day and using some bits I had lying around. Your theory is correct as far as I can see. It will have an effect, but a small one. In fact the biggest errors are probably from the accuracy of the ADC readings (based on the accuracy of the Vcc voltage reading) and the accuracy of the load resistor. I doubt the fet is going to make much difference to the reading. Thanks again. Great to hear of your developments.
@JonathanWellskcender
@JonathanWellskcender 8 жыл бұрын
I think I updated the schematic files with all the updates I've main in my prototype. There's still a bug in the software that sometimes crashes the Arduino when a battery is removed though, but I'll probably just remove the buggy code and do it a different way. You can find the files here if interested. (Note that I've gotten temps over 75c while discharging all 4 batteries without a fan.) github.com/jmw6773/Li-Ion-Discharger
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
You're doing a fantastic job of improving my little project. I've had a look through the code and it looks far better than my own. I know many others have asked about adding more cells so that will be welcomed. Thank you for continuing to mention my original design despite the fact that you've clearly moved it well beyond mine. I really do appreciate it. Just one question - how do I open the board files?
@JonathanWellskcender
@JonathanWellskcender 8 жыл бұрын
Adam, the board files were made using Eagle PCB software. A reduced version is free online, but it's what I was taught on. I've also uploaded PNG images of both the PCB and schematic for those who don't want to install the software. I'll try to take pictures of my mess of a board and upload it later too. I'm a firm believer of giving credit to the originator. The base of this board is your idea and design. (I think I'm even using the Mosfet you recommended.) I'm like you in that I only hope that someone else can use it and possibly take it further beyond my imagination.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
Thanks again Jonathan - You're doing a great job, I might have to order a PCB or two!
@CristiIstrate
@CristiIstrate 8 жыл бұрын
Please tell me the temperature of the new 6.8 ohm resistor compared to the metal one in the last video. I am planing to put both of the resistors (1 ohm and 6.8) on the board close together. Thanks.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Cristi Istrate I can't tell you exactly how warm it gets, but the higher resistance you pop in as your load the less heat it should generate. It reduces the current through the circuit (and therefore the watts) and also makes the process slower.
@CristiIstrate
@CristiIstrate 8 жыл бұрын
I ask you because I want to put the 2 resistors on the pcb near the display. I don't want melting any thing around them.
@beicel
@beicel 8 жыл бұрын
Can I get a correct schematics of it, please? and can I use 6.8 Ohm 5W instead of 10W ceramic resistor?
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+beicel This is the best schematic you're going to get out of me at short notice... kzbin.info/www/bejne/p6XapGmMiK6ij80 I go through the maths after drawing the circuit too but... Current(I) = Voltage/Resistance so I = 4.2/6.8 so I = 0.618 Amps. Power(Watts) = Current*Voltage so W = 0.618 * 4.2 so the power over the resistor is 2.59 watts. So you should be ok.
@beicel
@beicel 8 жыл бұрын
+Adam Welch Thank you, so, what you would say if I use this type of MosFET IRFZ44 instead what did you used? It will be Ok?
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+beicel Yeah I think that could be a good choice. Low on resistance and enough current for the job by the looks of it.
@beicel
@beicel 8 жыл бұрын
+Adam Welch Thanks again! You are awesome! Keep the good work up! btw...Make more Arduino stuffs, pls!
@beicel
@beicel 8 жыл бұрын
+Adam Welch But, wait, wait?!? I need two resistors now? I'm a little bit confused now! :(
@jaxek69
@jaxek69 7 жыл бұрын
Hi thanks for this video i have some questions 1 can i use 10w10ohms or 10w 5ohms cement resistor insted of yours aluminium chad power resistor 2 can i use irlz44n
@AdamWelchUK
@AdamWelchUK 7 жыл бұрын
You can use any resistor you like as the load - as long as it is rated for the right amount of power. It'll just affect the time it takes to discharge. If you change the shunt resistor you'll need to adjust this in the code. Yes an IRLZ44N is an ideal replacement for the IRF3205.
@unlost117
@unlost117 7 жыл бұрын
Good stuff I like your work
@airbrushernst
@airbrushernst 6 жыл бұрын
Is it posible with a little adjustment to check 2s battery's with 2 voltage divider an bigger resistor?
@AdamWelchUK
@AdamWelchUK 6 жыл бұрын
Yes, that would be possible. You just need to change the voltage cut off value in the code and think about your discharge resistor (it’s power rating in particular because of the higher voltage).
@naiyori5218
@naiyori5218 8 жыл бұрын
a button for start/stop or pause is what this circuit is missing. :(
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Vaping Rain That's fair. I did want to make it as simple as possible - but if I ever get around to looking at this again it's a good suggestion.
@naiyori5218
@naiyori5218 8 жыл бұрын
+Adam Welch please. I will wait for that update. and I'm sure it wont take much time. :) already made this circuit, and that's working pretty well. just a button and time is what it is missing.
@DJJOAOMARTINS
@DJJOAOMARTINS 8 жыл бұрын
do you share the codes and this project?
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+João Luis Martins I do. kzbin.info/www/bejne/p6XapGmMiK6ij80
@OntarioMiner
@OntarioMiner 8 жыл бұрын
I noticed you changed your load resistor from 4.7 Ohm (730 mah)in your last video to 6.8 ohm (530 mah). Did you have to change the code for the 6.8 ohm resistor? Was the load to high or was it to match the liitokala? On another note. Did you find a good setup for changing the 18650 via solar power.I'm looking for a 18650 solar charge controller. I found the SBMS100 at electrodacus.com/ but its very costly unless the battery bank and solar array are big enough. I'm building a 18650 DIY Powerwall. Your capacity tester design has been working well, I have built three of them. Keep up the good work. Cheers Eric
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Eric Scherzinger Hello. Yes you're correct that I wanted to match the LiitoKala to make the comparison as fair as possible. I didn't need to change the code because all calculations are based on the voltage drop over the shunt resistor which didn't change. I haven't looked very deeply into charging 18650s directly from solar. For small packs the controller in my Cheap(est) Lithium Ion PWM Solar charge controller video is an option. The other possibility is to use a lead acid solar charge controller that allows you to change the battery voltages to values suitable for your lithium pack. The issue with both of those solutions is they both have charging cycles that include bulk (constant current), absorb (constant voltage) but unfortunately then float. I'm not sure lithium batteries should be kept at a float voltage - but others disagree. I'd be interested to find out if the electrodacus does a float charge.
@bartekd3577
@bartekd3577 7 жыл бұрын
what is discharge current? what resistor for the 1A current? what resistor for the 500mA current? here is the change of discharge current (shuntRes = 1.0)?
@AdamWelchUK
@AdamWelchUK 7 жыл бұрын
+Bartek Debowski The shunt resistor (shuntRes) is the only value you need to set for resistance. It uses this value and the voltage to work out the total current of the circuit including your load and the shunt.
@bartekd3577
@bartekd3577 7 жыл бұрын
Adam Welch I would like the discharge current (load) of about 1A
@AdamWelchUK
@AdamWelchUK 7 жыл бұрын
+Bartek Debowski The you just need to look at ohms law. R=V/I so R=3.7v/1a so R=3.7 ohms. You’ve already got 1 ohm in circuit for your shunt, so you need a load of about 2.7 ohms. Remember this calculation is based on the nominal voltage so to start with it will be higher than 1 amp and it’ll end up drawing less than one amp.
@volvoC70II
@volvoC70II 8 жыл бұрын
Great Job!
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Alexander Skurlov Most kind - thanks
@donaldsmith3048
@donaldsmith3048 6 жыл бұрын
The 10 watt resisters are not known for being with in 10%.
@SATHISHKUMAR-ek5cg
@SATHISHKUMAR-ek5cg 7 жыл бұрын
Can i use 15ohm 10watt resistor instead of 1ohm 10 watt resistor by just changing the value in the code?
@AdamWelchUK
@AdamWelchUK 7 жыл бұрын
+SATHISH KUMAR Yes you could. It'd give you a current draw of about quarter of an amp - might be a bit low though?
@SATHISHKUMAR-ek5cg
@SATHISHKUMAR-ek5cg 7 жыл бұрын
In the schematics, 1ohm 10watt resistor is mentioned as Rsense. So will it have any effect on load current? Thank you so much for the reply !!
@AdamWelchUK
@AdamWelchUK 7 жыл бұрын
+SATHISH KUMAR You can just replace the 1 ohm resistor and adjust the code. No additional 'load' resistor is technically needed. As long as the code reflects the resistor which is being measured it should all work as expected.
@SATHISHKUMAR-ek5cg
@SATHISHKUMAR-ek5cg 7 жыл бұрын
Thank you so much !! Will update you once i finish building it. Thank you once again.
@playdav485
@playdav485 8 жыл бұрын
hi i have modified your code to add a charging function and software reset did you want to see the modified code
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
Yeah if you are happy to share that would be very interesting. What are you using to charge? Cheers
@playdav485
@playdav485 8 жыл бұрын
here is a link to the code www.dropbox.com/s/796pclsc8qaykb5/updated%20code.txt?dl=0 and i am using a tp4056 charger+protection module and sensing charge complete by using the blue led
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
Thanks - I've only had a chance to skim over the code but it looks ok at first glance. I trust its working well for you? I had thought about this myself in the past but I was concerned that a ground loop would cause issues - you must have got around that then, or it wasn't a problem at all?
@playdav485
@playdav485 8 жыл бұрын
just got it finished i need to add a heatsink to the discharge mosfet (constant current heat) have not fully tested (just that it does what it is suppose do) and the battery - only gets connected to tp4056 b- for protection
@EngineeringNibbles
@EngineeringNibbles 8 жыл бұрын
I've got a question : does your mosfet get hot ? i've had problems with my irf540n
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+BillTheBox It shouldn't no. The mosfet is simply acting as a switch. My guess would be that you aren't getting the mosfet fully on and that is causing resistance which in turn causes heat. The 540n should be a reasonable replacement for the 3205 and is logic level so it should be ok. You are using a 5 volt arduino right?
@AntonMikhaylov
@AntonMikhaylov 8 жыл бұрын
I used IRFZ44N not just as a switch, but also as a load. And it gets very hot. Radiator resolves this issue though. I'm measuring voltage drop across 5W1RJ cement resistor, and it doesn't change its temperature at all. But using mosfet as a load with proper cooling and smoothed PWM control from arduino gives me an ability to select the current I want the source to be tested at. It works fine up to 1A with medium radiator, and might need some active cooling for higher currents. I'm waiting for my thermocouple arduino module to arrive to implement thermal protection for my monstrous device.
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+Anton Mikhaylov Sound like you've made a number of improvements. Thanks for telling me about them.
@AntonMikhaylov
@AntonMikhaylov 8 жыл бұрын
+Adam Welch Not an improvement really. Just was eager to build such device, and used components I had. And there's not much I had to use: oled display, arduino uno, 1ohm resistor and IRFZ44N (as load and regulator), 550ohm resistor and 100μF capacitor (for low pass filter), medium size radiator and some wires. And it turned out to be simple yet effective (for my needs of course). Going to add some controlling hardware (buttons) and code tonight. I'm also thinking on adding voltage dividers on arduino inputs to allow higher voltage sources to be tested, but so far it is a perfect fit for testing my 18650 cells.
@AntonMikhaylov
@AntonMikhaylov 8 жыл бұрын
+Adam Welch please excuse me for disinforming you. It turns out, that 1 Ohm resistor does not get hot if the current is below 500-550 mA. But then it switches roles with mosfet, and gets hot very quick when mosfet stays just a bit warm on current around 1 amp.
@sreeprakashneelakantan5051
@sreeprakashneelakantan5051 7 жыл бұрын
Excellent 👌
@A.Doll.Fiddler
@A.Doll.Fiddler 6 жыл бұрын
Does the rate at which you discharge the cell affect the accuracy of the calculation?
@AdamWelchUK
@AdamWelchUK 6 жыл бұрын
Not really. The code takes a reading every few seconds but remember you’re cells will be rated for a particular c rate. The harder you discharge the less overall capacity. Most people seem to settle with 1 amp discharge.
@A.Doll.Fiddler
@A.Doll.Fiddler 6 жыл бұрын
Thats great. You mentioned in a comment somewhere that building this for 4 cells may introduce inaccuracy due to the added processing time of the extra 3 cells, is that significant and can you get around it? Ive programmed mine to: -read cell 1 -calculation -read cell 2 -calculation -so on.. -display all data -then 5 sec interval Thanks btw, you made the clearest videos ive seen!
@A.Doll.Fiddler
@A.Doll.Fiddler 6 жыл бұрын
Also, one more question if i may. Ive added code to determine internal resistance. Im not good at Maths but when your code assigns the 'current' variable you are doing: current = (volt - shuntVolt) / shuntResistance; -> (4.20 - 4.14) / 1 = 0.06A Whereas when im finding internal resistance i do (got this equation from another source): current = shuntVolt / shuntResistance; voltDrop = volt - shuntVolt; internalResistance = voltDrop / current; -> 4.14 / 1 = 4.14A -> 4.20 - 4.14 = 0.06v -> 0.06 / 4.14 = 14.5mΩ Why does your current var not match mine? I would prefer to calculate current only once instead of twice
@mrakjunior
@mrakjunior 7 жыл бұрын
excellent
@BarkatUllah-r2q
@BarkatUllah-r2q Жыл бұрын
A device name to check the battery capacity
@SpaghettiEnterprises
@SpaghettiEnterprises 6 жыл бұрын
Are you accounting for VDS on?
@AdamWelchUK
@AdamWelchUK 6 жыл бұрын
Yes. Due to the fact that I’m measuring a shunt resistor it accounts for all the current flowing in the circuit (and therefore all the resistance). But to be honest, I’m using a logic level mosfet which should be fully on the whole time the cell is discharging so there shouldn’t be any real noticeable resistance (or heat) in the mosfet.
@TurboNicke86
@TurboNicke86 8 жыл бұрын
ohms law also works U/I=R
@HBPowerwall
@HBPowerwall 8 жыл бұрын
That's a preatty cool little project, liked + Subed back !
@AdamWelchUK
@AdamWelchUK 8 жыл бұрын
+HBPowerwall Thanks very much!
@sardaclan1
@sardaclan1 7 жыл бұрын
OK Adam or anybody else, Im more or less a idiot when it comes to programming. I'm reading a couple of books and following a online course but I'm a newbie. I have been turning a wrench for 25 years on cars and boats and a disability has forced me to change my direction in life. Sooo I really need someone to have the complete arduino code, with the nokia code and Adams, all compiled so i can just copy and paste it to my IDE. Im not smart enough apparently to get the 2 halves of the code put together and make it work. I end up with compiling errors and then line after line of code problems and I've spent weeks and I'm just not advanced enough yet to make it work but I really need this load tester to work so I can finish the rest of my projects....Please help....
@AdamWelchUK
@AdamWelchUK 7 жыл бұрын
Hi Gene and thanks for your comments. The code on my website is all the code you need. You just need to import the nokia 5110 library into your arduino IDE. Go to the link in the comments in the code and download the Zip file. In Arduino IDE go to Sketch -> Include Library -> Add ZIP Library and then open up the zip you downloaded. The code should then compile. If not, let me know and I will see if I can export the binary and explain how to load that onto your arduino. I think that should work. Cheers
@sardaclan1
@sardaclan1 7 жыл бұрын
lol when you a oil change tech and someone asks you to do a timing chain on there BMW there might be a problem....So I may work your patients...lol.. so apparently i have downloaded the zip folder because it give me a error message that the file already exist. but if i try to find it there's like 6 different folders 2 of them are called 5110 but If i open them I couldn't tell you if one was correct or if im supposed to put it in which part of the code??? I really am helpless...level 1...
@Totogita
@Totogita 5 жыл бұрын
It is a shame that sellers cannot be trusted with the capacity of these batteries.
@johnm8016
@johnm8016 8 жыл бұрын
Brill, I'm first. Thanks for the vid.
@hardergamer
@hardergamer 7 жыл бұрын
Them cheap 18650's only have a tiny real battery inside of them!
@Arek_R.
@Arek_R. 8 жыл бұрын
On that example we can see that old salvaged cells from laptop batteries are better than this 1$ crap from ebay. If you want trusty and good quality brand new cell we have to look for panasonic, sanyo, lg, samsung etc. We can buy them at fasttech.com or banggood.com Or if you are lucky and near you there is cordless powertools fab you can ask them for scrapped cells and got brand new cells with small defects like failed weld or even cells in perfect condition from ended series production.
Lithium Ion 18650 Capacity Checker - Adam's Arduino Projects
12:39
"Salt" Batteries are FINALLY Here?! Sooo should you use them?
12:29
The Singing Challenge #joker #Harriet Quinn
00:35
佐助与鸣人
Рет қаралды 37 МЛН
Happy birthday to you by Secret Vlog
00:12
Secret Vlog
Рет қаралды 6 МЛН
Real Man relocate to Remote Controlled Car 👨🏻➡️🚙🕹️ #builderc
00:24
This should be illegal… Battery Repair Blocking
19:21
Linus Tech Tips
Рет қаралды 4,6 МЛН
I Made The Ultimate Cheating Device
9:39
ChromaLock
Рет қаралды 1,4 МЛН
DIY LiPo Charge/Protect/5V Boost Circuit
11:31
GreatScott!
Рет қаралды 800 М.
18650 Li-ion Internal Resistance Explained & Measured
8:42
Tom Donnelly
Рет қаралды 154 М.
DIY Li-ion Capacity Tester ! | Arduino
4:49
NematicsLab
Рет қаралды 34 М.
Power Supplies and Electronic Life-Hacks (ElectroBOOM101 - 009)
14:37
ElectroBOOM
Рет қаралды 1,6 МЛН
Lithium Ion 18650 - Charging on the Cheap - 12v Solar Shed
6:41
Separating GOOD 18650 cells from BAD ones - Battery talk #2
9:48
12 NEW Arduino Projects!!! (2024 Edition)
9:20
ToP Projects Compilation
Рет қаралды 275 М.