How to stop charging below 100%?
Assuming you don't want to top up your bike and would rather charge it to some lower SOC, what can you do?
There are some manual methods. You can watch the dash SOC indicator during charging and disconnect anytime. You can ride until you reach some desired charge level and then don't charge. You can calculate the time it will take to reach a desired charge level, go away and come back to disconnect when the time is up. There are obvious problems with all of these choices.
How can this be done automatically? I will attempt to explore all of the possibilities and maybe I'll do something myself. Others are welcome to use my ideas. Here goes:
First there are a many ways to charge so that creates multiple solutions. In any case charging can be stopped either by disconnecting the AC to the charger or by controlling the charge enable logic. Deciding when to stop charging can be based on time, battery voltage, or some other SOC reading if available.
The simplest solution appears to be a settable timer on the AC to the charger. A calculation based on the current SOC, charging rate, and desired SOC is needed. That's a fairly easy web page to create, maybe I'll do that. Given the time it will take to reach the desired SoC, you set the timer and done. Complications include what type of AC connection is being used, and the accuracy of the charge prediction given variables like temperature, line voltage, pack condition etc. Huge advantage of this approach is it uses off the shelf components, no design needed, no warranty worries.
An existing, smart external charger with user input to select a desired stopping point would be great, but this choice doesn't seem to be available. Adding or modifying charger firmware requires proprietary knowledge so it probably isn't feasible. So it seems that some custom design may be required if the timer method isn't attractive.
Next up the ladder of complexity and design effort would be a pack voltage sensing AC power control device. This could be set to stop charging at some desired level by switching off the AC to the charger at a desired cutoff voltage. There are a few drawbacks to this approach. First it requires an AC power switching device rather than using existing contactors. Next it depends on a voltage reading that is going to be different than the final SOC voltage after the charging current stops. Some higher charge levels may not be settable because the cutoff voltage will be higher than the fully charged voltage. However this approach could be adapted to any bike and charger configuration. Voltage for sensing is available at the external charge connection and AC control is external to the bike. User input is simply what voltage to stop charging and that could include don't stop until the bike stops at 100% SOC.
It is possible to control the pack contactor using the enable line. Again pack voltage sensing could be used, or possibly some other SOC value obtained from the bike. In the case of external chargers the enable line is accessible and used in the connection to the bike. This approach looks pretty simple once the hurdle of an arduino type project is undertaken. The processor would have three inputs, user setting for the desired charge, voltage of the pack, and the enable line from the charger. The only required output is the enable signal to the bike. A pair of Anderson SBS 75X connectors puts the charge control device in series between the external charger and the bike. Power for the arduino could be from a battery so connection is simple. This idea might be a winner except for the programming piece.
Controlling the on board charger enable logic gets into some trouble with hardware, by modifying the bike wiring, or software, since communication with the MBB, BMS, CAN bus and charger gets complicated, bike model specific and is probably not feasible for development except by Zero. So the only practical way for riders to control on board charging seems to be AC power switching as already discussed.
That's it as far as I can come up with on a Sunday morning. Did I miss anything? Is this worth pursuing?