05-16-2013 08:08 AM
Hi all,
I am creating an application where a user can charge 8 lead acid batteries on a jig.. The hardware is done by switching Relays ON/OFF to charge the batteries for a set time and then discharge them to see if the batteries are fit for use.
this is my plan:
1. Monitor the analogue IN port on the DAQ 6008 to see if any batteries are sonnected to the Jig
2. If they are, then start charging
3. while charging, Poll the digital port to see if any batteires have been charged.
4. If the battery is charged, then turn the Relay to Discharge them and store the data.
5. After discharging for a set amount of time, compare the data to the data obtained from a golden sample and indicate if the battery is passed.
6. charge the batteries to the full value and disconnect from the jig.
I got the 1st 2 points working as I wanted to.
It is the points after that I am having a bit of trouble with..
Basically, I want to charge 4 of the batteries at the same time and when one or more is charged / (Step 6), then ask the user to disconnect the ones that are charged and passed and connect the next 4.
the main reason why I had to do this is because
1. I was going out of DIO ports on the DAQ
2. would need a beefy PSU to charge all 8 at once.
So I decided to charge 4 of em at 500mA with a supply that can give a current of 3.6A.
anyways, since I would like to do this charging and discharging in parallel so that the user can connect/disconnect any one of them and plug another one and charge em.... Im guessing I would need 8 loops running inside on Big loop..
what are your suggestions?
Much appreciated.
Thanks
05-17-2013 08:01 AM
Hi LABMAT,
If only four can be charged at once, surely you can just have 4 state machines (ie while loops with case structures - a seperate case for each state of the process), and move the leads from one battery to the next?
You shouldn't need to have a big while loop around the 4 seperate ones as the state machines can be configured to restart themselves. In order to stop you would need a local variable or a notifier to tell all the state machines to stop at once.
Let me know if you would like some dummy code to work with if this sounds like what you are after.
Kind regards,
05-17-2013 08:44 AM
Hi Laurence,
~thanks for getting back to me.
just to get this straight.....
are you saying that I could have 4 loops running at the same time... and each one of em running a state machine to charge or discharge the batteries??
Thanks,
Labmat
05-17-2013 11:14 AM
Yes. That would be a valid solution if your four batteries didn't have to interact with each other 🙂
05-17-2013 04:58 PM
How do you handle cases where the battery is nearly discharged? Lead acid batteries generally do not like to be completely discharged. A timed discharge could deep-cycle the battery acidentally, causing damage? Or are these batteries designed to be deep-cycled?
05-17-2013 07:32 PM
each battery has it's own charge characteristic, i would monitor the voltage over time during the charge and discharge cycles. the slopes (pos/neg) of the charge/discharge profile of each would tell me the conditions, whether fully charge or deep discharge...
05-18-2013 03:00 AM
05-23-2013 10:53 AM
hi there,
I got over the previous issue.
right now, I want to ask how we can say a lead acid battery is good or bad from the discharge voltage, current and Resistance over a period of an hour.
At the moment, I am reading the analogue values every minute for 1hour 15 mins and saving the data in a file.
After this stage, I read the data and hence come to the conclusion that the battery is good or bad.
How can I do this ? I know the straight forward suggestion would be to check the datasheet of the battery...and I am using the data from the datasheet to mae the conclusion.
In the datasheet, it shows a discharge curve for various times... How can I use that to compare to the results I obtained and hence prove that a battery is good or bad?
any suggestions would be welcome.
Thanks,
Labmat
05-23-2013 11:25 AM
Why don't you do a regression analysis on your data, linear or non-linear (you can fool the linear regression analysis by taking the time and raise it to 2, 3, etc and apply the regression). You then can look at the coefficients and determine how far they diverge from the ideal coefficients. You can decide what your divergence criteria to say it is good or bad.
05-23-2013 11:28 AM
Hi Joseph,
thanks for getting back to me..
Is there a VI that can do this analysis or do we have to code it?
Thanks
Labmat