Inputs to the ADC have no pulldowns. This was somewhat intentional.
- The pulldown resistors would ultimately be wired across the cell under test, which would continue to discharge the cell after the end of the cycle. A large value resistor on the order of 10k would probably be tolerable.
- I didn't have 8 of *any* value of resistor above > 470 ohms handy. (EDIT: I forgot I have a couple rolls of physically huge surface mount 499k resistors... that would probably do it, but I'm trying the software fix first anyway..)
- Nano has no INPUT_PULLDOWN? I guess I've been spoiled by the Teensy.
The immediate side effect of this is the settle time for the ADC without a cell plugged in is on the order of 10-30 seconds, which delays putting in the next cell. The trigger for starting the next discharge cycle is the ADC reading for the cell voltage dropping below 1v.
if ( Cell_Volt[cell] < 1)
{
// Low voltage = No cell. Reset for next.
Serial.println("Ready");
analogWrite(Mosfet_Pin[cell], 0);
State[cell] = READY;
Just touching the cell terminals fixes this, giving the remaining stray charge a path to ground.
I think I can solve this in software just by turning on the mosfet at a low PWM value, for a brief instant, just before every ADC reading while the discharge is NOT running. Of course this puts me back in the camp of continuing to discharge already discharged cells.
In the more dangerous camp, I could also digitalWrite the ADC pins low for a split second to clear the charge. Given they are sometimes hooked directly across a power source capable of delivering 20A or more, I would be relying on the Nano current limiting for its survival.
I'll be trying the mosfet PWM trick first I think. :)
EDIT: Turning on the mosfet briefly worked, and the cell bounced back after discharge to 3.4v. It doesn't look like 5ms of <1% PWM discharge is enough to pull down on a cell, but was plenty enough to clear the ADC pin charge. Done.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.