Greetings! I have a Electron where I completely discharged the battery, and thereby “destroying” it. So I replaced the battery with another 1s LiPo 3,7V at 3200mAh which seems to work fine except with charging. I’ve tried numerous of >10W power sources with both Vin and USB, and its only my Macbook that is able to give the battery a net surplus and charging the battery. With all other power sources the electron only draw about ~150mAh, resulting in a net discharge of the battery. The red charging LED however lights up in both cases.
I have a multimeter connected to the battery so that I can monitor the current with my Mac providing a small charge.
Also, when I monitor fuel.getVCell() and fuel.getSoC(), I only get the values 5.00 and 256.00. When measuring the battery with my other multimeter however, the voltage is at 3.77 volts.
Is the charging circuit broken, or does the larger capacity battery create problems?
Thank you, but there was no difference after running this script. Still only charging from the Mac, like it needs to be a real USB port connected, not only USB power. However it can charge from a USB power source (at ~400mAh), but only when the Electron is powered down (doubletap mode).
Or don’t return that kind of value that you’d expect from the name
/*
//-----------------------------------------------------------------------------
// Charge current control register
//-----------------------------------------------------------------------------
REG02
BIT
7: ICHG[5] 2048mA | offset is 512mA
6: ICHG[4] 1024mA | Range: 512 to 4544mA (BQ24195)
5: ICHG[3] 512mA | Range: 512 to 2496mA (BQ24195L)
4: ICHG[2] 256mA | Default: 2048mA (011000) = 512mA+1024mA+512mA
3: ICHG[1] 128mA | enabling bits 2 to 7 adds the current to 512mA base value
2: ICHG[0] 64mA |
1: Reserved (should always be 0)
0: FORCE_20PCT (fill this description)
*/
/*******************************************************************************
* Function Name : getChargeCurrent
* Description : It currently just returns the contents of the register
* Input :
* Return :
*******************************************************************************/
//TO DO: Return more meaningful value
byte PMIC::getChargeCurrent(void) {
return readRegister(CHARGE_CURRENT_CONTROL_REGISTER);
}
PS. I just got in a new Electron today and uploaded the same exact App. The results are completely different, and normal. Its like the pmic on the old one is broken. Unless there is some way to reset it.