Automatic battery feeder charger HELP THE NUBE!

I’m working on a project to automate the charge and discharge of batteries from used laptop cells

The process involved is split into four stages once the 18650 cells have been freed.

STAGE 1. charge cells to full state of charge

STAGE 2. Discharge them to establish capacity of cells in mAh

STAGE 3. Recharge batteries

STAGE 4. Store them for 2 weeks to check for cell decay

So I’m tackling these one at a time. I’m fairly mechanical minded but struggle with coding.

I’ve established that I need an Arduino to control this process.

I’ve conceptualised a feeder chute I can fill the cells in a hopper which gravity feeds these into the chute and the following steps take place:

  1. Auto rotate the polarity orientation of the battery using a stepper motor and a turntable built into the chute.

  2. This enters a mechanical 3D printed screwthread type feeder mechanism which rotates and linearly moves the batteries along the chute powered by a NEMA17 motor.

  3. This cell continues until it reaches its charging dock whereby it triggers an end stop just below it to tell the stepper motor to stop.

  4. The Battery can start its charge process using a Li Ion cell charger, using a TP4056 chipset.

  5. The whole time the batteries temperature is being monitored using the 1-wire DS18B20 temperature sensor.

  6. Should the battery reach 70C two things happen:

6a. A trap door just after the battery docking is opened using a servo.

6b. The battery screwthread feeder is activating forcing the battery out of the charging dock place and rejected due to over heating. Which in turn places another battery ready to start the process all over again.

  1. Should the battery not over heat then the battery will charge as normal. To get a signal that the battery is charged I would need to wire in onto the Green SMD which is illuminated to show its charge. The Arduino will hopefully pick up this signal and activate the screwthread feeder, but not the trap door. Allowing it to be dropped into a box ready for capacity testing.

This would automate the Stage 1, for the next stage 2 I’m looking to make this design modular so Stage 1 can feed Stage 2. Once Stage 1 is working I can make a duplicate rig which is Stage 3 thus completely automating this process.

Ideally if there is anyone who is willing to work with me through this as this project is part of my YouTube channel (NERDVille) and full credit would be given. Alternatively, some guidance would be really appreciated as for a first time Arduino user this would be a great project to work on. I have a full arsenal of tool such as laser cutter, 3D printer and CAD machine as well as a good stock of Arduino components or can source any parts easily enough.

Thank you for reading this and sorry for being so lengthy.

http://uploads.tapatalk-cdn.com/2016060 … 1d1dcd.jpg

Sent from my iPhone using Tapatalk

Congratulations NERDVille,

This is my first post, and it’s in response to your project!

I would classify myself as a novice programmer. I have a 19 year old Visual C++ Dummies book that I’ve used to learn the C++ language. Another excellent resource is http://www.learncpp.com.

What you want to do requires more than basic programming skills. My recommendation to you would be to learn how to program small projects first, just to get a feel for the syntax of the programming language. As you develop your skills, you can learn about Classes (not like educational classes, but “Class” in C++). Classes help you “compartmentalize” code/functions/routines.

I’ve a bit of dyslexia. Scrolling up and down through my code just confuses the heck out of me and I get lost. I’ve learned how to separate functions into classes, then move that code in to libraries which can then be displayed in separate tabs within the Arduino IDE. I’m developing a project that will control peak energy consumption. It uses a real-time clock, for example. I wrote the functions to download the current time from the clock, upload the new time/date to the clock, display the current time/date, etc… I moved them into a class, and then into its own .h and .cpp files.

I wrote a menu function that allows me to set the time from the Arduino IDE serial monitor. That too is in its own .h and .cpp file. My point is this: Your project does many different functions, and compartmentalizing each function into it’s own class will make the logic more organized and easier to keep track of. (This is called Object Oriented Programming, or OPP for short.)

Regards,

Mike