VOLVO+ Development Story (5), low power is HARDER than expected
After the low power prototype completed, I put VOLVO+ on my car over night. In the next day, I found the battery voltage dropped deeper than expected. It seems VOLVO+ drained too much current. Measuring low current consumption is not equal to low-power design completed...
I put a LED blinking every 0.1 seconds as receiving CAN bus packet. I sit in the driver seat as the car is locked. Several minutes later, the car entered sleep mode but I saw the LED still blinking. The car alarm system detected something moving and triggered the alarm. I can't stop the alarm and finally the OBD2 fuse was broken and I can't do any experiment
There are 3 possible reasons that LED blinking as the door locked
- LED blinking makes car send CAN bus packet
- The car still sends CAN bus packet, if it enters sleep mode
- VOLVO+ wakes up the car, so CAN bus packet appeared
LED blinking makes car send CAN bus packet- The car still sends CAN bus packet, if it enters sleep mode
- VOLVO+ wakes up the car, so CAN bus packet appeared
ELM327 had a handy command called "ATMA", monitor all, which showed all traffic in the terminal. So I connected a one-to-two OBD2 cable from the car, and did two experiments
- If I connected ELM327 only, after the car locked, I observed NO CAN bus packeton ELM327 terminal
- This means as the car entering sleep mode, no traffic is sent
- If I connected both ELM327 and VOLVO+, ELM327 and VOLVO+ tells me some CAN bus packet appeared
- The packets appeared in periods of several seconds
With a series of debug trial, here's the error reason
- In the boot time, CAN transceiver is not enabled, CAN-TX pin can be either 0 or 1
- Event A: enable CAN transceiver
- CAN-TX pin default value is 0
- As CAN transceiver enabled, it saw CAN-TX pin=0, which sends dominant signal to wake up others
- Event B: enable MCU internal CAN controller
- Since no packet to send, CAN-TX pin becomes 1
- In the boot time, CAN transceiver is not enabled, CAN-TX pin can be either 0 or 1
- Event B: enable MCU internal CAN controller
- Since no packet to send, CAN-TX pin becomes 1
- Event A: enable CAN transceiver
- CAN-TX pin is 1, it doesn't send dominant to wake up others
Comments
Post a Comment