Update.
0.5 HW is nearly done, but I want some feedback for one thing from you peeps.
silkmasks not updated yet
There was talk about CAN and wiring with the VESCs in the tester group chat. So I presented the idea of switching up the connectors a little bit to make it an easier wiring setup to connect to a VESC CAN bus wiring setup specifically with the addition of ability to wake-up the BMS when the VESC gets powered.
Current connector setup:
Currently the idea would be to just hook up the CAN connector to the VESC with the CANH, CANL and GND. This does introduce one problem though, which is if the BMS is in it’s low-power states and it has the CAN IC powered down, how do we wake-up to an active state if the CAN bus has traffic moving in it?
Couple different ways to do it.
First would be to power-up to active state every couple second and see if there is any CAN activity, if not, go back to low-power state, if yes, stay active for a set time from the last received CAN message, after which go back to low-power.
Second would be to use the 5V available on the VESC’s CAN-connector and wire that to the opto-isolated enable input, which can be monitored even in the low-power state. When the VESC gets power it then also activates the BMS and we know to start monitoring and sending CAN-messages on the bus.
Now, the first option would be purely software solution and is easy wiring wise, but it would also means that the low-power state average current consumption is increased, as we need to pop into active state every once in a while + once VESC gets powered up and starts sending CAN-messages there might be a short delay before the BMS wakes up and starts sending its info as well. This does however leave the opto-isolated completely untouched and it is truly isolated from the system ground, so completely floating signals can be used to wake-up the BMS.
Second option needs a bit more complicated wiring setup, as you need to wire GND and +5V from the VESC to the opto-isolator input, which means splicing wires in the harness and Y-joint for the GND wire. But will result in lower low-power mode current consumption and simultaneous wake-up when the VESC’s 5V gets powered up.
So what’s the proposed change?
We change the BMS’ CAN-connector from 3-pin to a 4-pin and add the opto-isolator input to the 4th pin. Now we can wire the all 4 pins from the VESC to the BMS without the need to splice the wires (wire order on the connector might need to be changed though, but that’s easy on the PH-connector) and wake-up happens when the VESC gets powered up.
So what do we give up?
We lose the fully isolated opto-isolator input and it’s dedicated connector, as it now is referenced against system ground and added to the CAN-connector, but the enable signal can still be up to +50V level signal.
New connectors would look something like this:
So I’ll let you guys vote based on the information above, which connector setup you would prefer. If you have questions or other ideas those are also welcome.
- Old setup (more flexible connector options at the cost of wiring harness complexity, or slightly increase quiescent current consumption)
- New setup (simpler VESC-compatible wiring harness, lower quiescent current, opto-isolator now ground referenced)