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.
@007080464 жыл бұрын
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. 👍👍
@KennethTanFotografie8 жыл бұрын
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
@AdamWelchUK8 жыл бұрын
+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.
@KennethTanFotografie8 жыл бұрын
+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.
@AdamWelchUK8 жыл бұрын
+Kenneth Tan Yeah, you could charge, discharge and then charge again! It would be nice to see your developments.
@KennethTanFotografie8 жыл бұрын
+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.
@KennethTanFotografie8 жыл бұрын
+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...
@howardsway7828 жыл бұрын
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 :-)
@AdamWelchUK8 жыл бұрын
+Howard Bailey not at all - thank you.
@MrBobWareham6 жыл бұрын
VERY GOOD WITH THE UPDATE, THANK YOU I am still using it in 2024 so it was a great project from you, Thanks Bob
@ironmanklm45784 жыл бұрын
Great little project, I added the plotter library to get the graph in real time too.
@nate123123we8 жыл бұрын
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
@mwhferrari8 жыл бұрын
Love the video and DIY capacity checker! Thanks for providing the links to the parts.
@AdamWelchUK8 жыл бұрын
+Mike Ferrari No worries, thanks for your comment.
@dumouchelclermont49828 жыл бұрын
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...
@AdamWelchUK8 жыл бұрын
+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... :-)
@robocog7 жыл бұрын
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!
@Aleksandar113518 жыл бұрын
Great project! For the end You could measure the weight of the batteries separately. That could explain why the Samsung has good capacitance.
@007080464 жыл бұрын
The cheap batteries are 1/2 filled with sand and a short cell.
@Lastaii8 жыл бұрын
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 :)
@AdamWelchUK8 жыл бұрын
+Lasty Thank you!
@Estudio3228 жыл бұрын
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.
@AdamWelchUK8 жыл бұрын
+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!
@mnelson100008 жыл бұрын
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! :)
@OvidiuMarin5 жыл бұрын
You just got yourself a new subscriber, my friend! Great project !
@nicgreen42348 жыл бұрын
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! ;-)
@AdamWelchUK8 жыл бұрын
+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. :-)
@tastymacification8 жыл бұрын
thank you for sharing. what about using this same concept for a portal battery bank?
@AdamWelchUK8 жыл бұрын
+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.
@NicholasRadina7 жыл бұрын
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.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"
@AdamWelchUK8 жыл бұрын
+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.8 жыл бұрын
You just need any n-channel mosfet and lm358, thats simple as well, and you will find these parts in your junk box
@zfaj21685 жыл бұрын
Can you please show us the schematics and the valued of the aluminum clad resistor?
@klyddmeisters50267 жыл бұрын
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.
@AdamWelchUK7 жыл бұрын
+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!
@sityu828 жыл бұрын
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!
@AdamWelchUK8 жыл бұрын
+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.
@josephcaporaso47742 жыл бұрын
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?
@AdamWelchUK2 жыл бұрын
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.
@josephcaporaso47742 жыл бұрын
@@AdamWelchUK Ok, thank for your answer. I will try this.
@johnm80168 жыл бұрын
I'd guess that the tolerances in the sandbox resistors could account for the differences in the results.
@AdamWelchUK8 жыл бұрын
+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?
@johnm80168 жыл бұрын
+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.
@AdamWelchUK8 жыл бұрын
+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.6 жыл бұрын
Consistent results to be fair, good work Adam, must be very satisfying! ... 🧐 🐍
@JerryEricsson8 жыл бұрын
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.
@AdamWelchUK8 жыл бұрын
+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.
@JerryEricsson8 жыл бұрын
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.
@AdamWelchUK8 жыл бұрын
+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.
@JerryEricsson8 жыл бұрын
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.
@AdamWelchUK8 жыл бұрын
+Jerry Ericsson Sorry. Hope I haven't offended.
@Fungineers5 жыл бұрын
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?
@snailsec6 жыл бұрын
hey bro i just finished building this project but my project shows low voltage than my multimeter at display what is wrong with it???
@kermets7 жыл бұрын
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
@Chickey8 жыл бұрын
Anyway to pair this with a tp4056 so that you could make something to charge the battery then discharge in one unit?
@AdamWelchUK8 жыл бұрын
+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.
@Chickey8 жыл бұрын
Cheers, I've approaching 300 cells to test so trying to think of the best/easiest way
@Chickey8 жыл бұрын
+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 !
@AdamWelchUK8 жыл бұрын
Odd. Have you made any changes to the code? The circuit is pretty simple - it should either work or not work really!
@Chickey8 жыл бұрын
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.
@kermets3 жыл бұрын
A timer would be a cool addition ??????
@james107392 жыл бұрын
I would expect the arduino would provide a higher capacity since the current will be less fo most or another of the test
@nasirramzan6514 жыл бұрын
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.
@sardaclan17 жыл бұрын
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?
@AdamWelchUK7 жыл бұрын
+Gene Sarda Yeah I guess. You'd need to adjust the calculation of the voltage - should be fairly straight forward.
@sardaclan17 жыл бұрын
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.....
@MrJoza1598 жыл бұрын
How to add on screen, when the test is over, how much time was needed to discharge the battery ?
@nosepipe18 жыл бұрын
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?
@AdamWelchUK8 жыл бұрын
+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.
@AdamWelchUK8 жыл бұрын
+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!
@nosepipe18 жыл бұрын
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?
@AdamWelchUK8 жыл бұрын
+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.
@zairoxs8 жыл бұрын
That is pure genius!
@untitled85137 жыл бұрын
sergio hablas español?
@zairoxs7 жыл бұрын
simon
@untitled85137 жыл бұрын
oye sergio. tu ya lo modificaste para que pruebe 4 baterías a la vez? o sabes como hacerlo?
@zairoxs7 жыл бұрын
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.
@untitled85137 жыл бұрын
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-xjq7 жыл бұрын
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?
@shankky0074 жыл бұрын
+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-ww3vl5 жыл бұрын
can we use a relay instead of mosfet?
@muhammadabunaimziatolihaza87216 жыл бұрын
how to control battery from overcharging/discharge ?
@sandbacktechnicaldesigninc43758 жыл бұрын
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
@AdamWelchUK8 жыл бұрын
+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.
@on7rd8 жыл бұрын
Ok now.... Many thanks...
@sNEAKYnIGHTmUPPET8 жыл бұрын
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.
@AdamWelchUK8 жыл бұрын
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!
@sNEAKYnIGHTmUPPET7 жыл бұрын
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
@mayankb8 жыл бұрын
Very Nice!
@lauwengyew82187 жыл бұрын
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
@AdamWelchUK7 жыл бұрын
+Lau Weng Yew I threw the console output into excel and used that to create the discharge curve.
@brad719458 жыл бұрын
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
@AdamWelchUK8 жыл бұрын
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.
@JonathanWellskcender8 жыл бұрын
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.
@AdamWelchUK8 жыл бұрын
+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.
@JonathanWellskcender8 жыл бұрын
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
@AdamWelchUK8 жыл бұрын
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?
@JonathanWellskcender8 жыл бұрын
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.
@AdamWelchUK8 жыл бұрын
Thanks again Jonathan - You're doing a great job, I might have to order a PCB or two!
@CristiIstrate8 жыл бұрын
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.
@AdamWelchUK8 жыл бұрын
+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.
@CristiIstrate8 жыл бұрын
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.
@beicel8 жыл бұрын
Can I get a correct schematics of it, please? and can I use 6.8 Ohm 5W instead of 10W ceramic resistor?
@AdamWelchUK8 жыл бұрын
+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.
@beicel8 жыл бұрын
+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?
@AdamWelchUK8 жыл бұрын
+beicel Yeah I think that could be a good choice. Low on resistance and enough current for the job by the looks of it.
@beicel8 жыл бұрын
+Adam Welch Thanks again! You are awesome! Keep the good work up! btw...Make more Arduino stuffs, pls!
@beicel8 жыл бұрын
+Adam Welch But, wait, wait?!? I need two resistors now? I'm a little bit confused now! :(
@jaxek697 жыл бұрын
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
@AdamWelchUK7 жыл бұрын
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.
@unlost1177 жыл бұрын
Good stuff I like your work
@airbrushernst6 жыл бұрын
Is it posible with a little adjustment to check 2s battery's with 2 voltage divider an bigger resistor?
@AdamWelchUK6 жыл бұрын
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).
@naiyori52188 жыл бұрын
a button for start/stop or pause is what this circuit is missing. :(
@AdamWelchUK8 жыл бұрын
+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.
@naiyori52188 жыл бұрын
+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.
@DJJOAOMARTINS8 жыл бұрын
do you share the codes and this project?
@AdamWelchUK8 жыл бұрын
+João Luis Martins I do. kzbin.info/www/bejne/p6XapGmMiK6ij80
@OntarioMiner8 жыл бұрын
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
@AdamWelchUK8 жыл бұрын
+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.
@bartekd35777 жыл бұрын
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)?
@AdamWelchUK7 жыл бұрын
+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.
@bartekd35777 жыл бұрын
Adam Welch I would like the discharge current (load) of about 1A
@AdamWelchUK7 жыл бұрын
+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.
@volvoC70II8 жыл бұрын
Great Job!
@AdamWelchUK8 жыл бұрын
+Alexander Skurlov Most kind - thanks
@donaldsmith30486 жыл бұрын
The 10 watt resisters are not known for being with in 10%.
@SATHISHKUMAR-ek5cg7 жыл бұрын
Can i use 15ohm 10watt resistor instead of 1ohm 10 watt resistor by just changing the value in the code?
@AdamWelchUK7 жыл бұрын
+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-ek5cg7 жыл бұрын
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 !!
@AdamWelchUK7 жыл бұрын
+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-ek5cg7 жыл бұрын
Thank you so much !! Will update you once i finish building it. Thank you once again.
@playdav4858 жыл бұрын
hi i have modified your code to add a charging function and software reset did you want to see the modified code
@AdamWelchUK8 жыл бұрын
Yeah if you are happy to share that would be very interesting. What are you using to charge? Cheers
@playdav4858 жыл бұрын
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
@AdamWelchUK8 жыл бұрын
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?
@playdav4858 жыл бұрын
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
@EngineeringNibbles8 жыл бұрын
I've got a question : does your mosfet get hot ? i've had problems with my irf540n
@AdamWelchUK8 жыл бұрын
+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?
@AntonMikhaylov8 жыл бұрын
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.
@AdamWelchUK8 жыл бұрын
+Anton Mikhaylov Sound like you've made a number of improvements. Thanks for telling me about them.
@AntonMikhaylov8 жыл бұрын
+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.
@AntonMikhaylov8 жыл бұрын
+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.
@sreeprakashneelakantan50517 жыл бұрын
Excellent 👌
@A.Doll.Fiddler6 жыл бұрын
Does the rate at which you discharge the cell affect the accuracy of the calculation?
@AdamWelchUK6 жыл бұрын
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.Fiddler6 жыл бұрын
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.Fiddler6 жыл бұрын
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
@mrakjunior7 жыл бұрын
excellent
@BarkatUllah-r2q Жыл бұрын
A device name to check the battery capacity
@SpaghettiEnterprises6 жыл бұрын
Are you accounting for VDS on?
@AdamWelchUK6 жыл бұрын
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.
@TurboNicke868 жыл бұрын
ohms law also works U/I=R
@HBPowerwall8 жыл бұрын
That's a preatty cool little project, liked + Subed back !
@AdamWelchUK8 жыл бұрын
+HBPowerwall Thanks very much!
@sardaclan17 жыл бұрын
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....
@AdamWelchUK7 жыл бұрын
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
@sardaclan17 жыл бұрын
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...
@Totogita5 жыл бұрын
It is a shame that sellers cannot be trusted with the capacity of these batteries.
@johnm80168 жыл бұрын
Brill, I'm first. Thanks for the vid.
@hardergamer7 жыл бұрын
Them cheap 18650's only have a tiny real battery inside of them!
@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.