Opel Ampera Aux battery control

Discussion about components from Ampera/Bolt and the PSA group which owns Opel these days
Post Reply
arber333
Posts: 3554
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 131 times
Been thanked: 330 times
Contact:

Opel Ampera Aux battery control

Post by arber333 »

Up to winter 2024 our Ampera chewed through two AGM 12V aux batteries...in couple of months!
Seriously! I knew Ampera and Volts were though on Aux batteries but that is too much.
When i bought new AGM i went to observe what is happening and connected Torque pro and observed,
20250102_153004.jpg
Characteristic was real killer. DCDC directly at start would push 15V and about 135A into NEW battery! I could agree that is a shocker. :twisted:
Screenshot_20250102-153052_Torque.jpg
That torture lasted about 10min and then DCDC subsided to 14.4V to 13.8V during some 30min. That would be ok, but later this charging just ended and DCDC failed to charge with battery dropping down to 12.7V during normal highway operation!!! Which is eqally shocking. Therefore i can conclude that Ampera forces the aux battery to go through one full cycle during EACH drive!
I would imagine this would kill or seriously weaken AGM batteries quickly.

So what to do next...
You may remember i published how i made DCDC to work outside Ampera car.
https://leafdriveblog.wordpress.com/201 ... dc-or-apu/

I can see i have two options here:
1. I can add VCU with CAN bus which would simply request 14V from DCDC whenever its Enable line will be ON.
This does not include of listening DCDC report. I would simply request 14V and leave it at that. Lets see what happens...

2. I could add more complex VCU with 2 CAN buses and make it work as a middleCANman. I would use primary CAN to command DCDC and read its report, Then i would read command from the car on secondary CAN channel and transmitt the corrected report for the car to satisfy its systems.
That will require much more sophistication and programming loops.
arber333
Posts: 3554
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 131 times
Been thanked: 330 times
Contact:

Re: Opel Ampera Aux battery control

Post by arber333 »

On the first iteration i simply used ESP32 VCU i designed to control CAN devices.
https://leafdriveblog.wordpress.com/202 ... esp32-vcu/
This one has single CAN bus transciever and several digital inputs and outputs. I made provision for PWM signals with some pullups on transistor chip.

I ordered connector pair from aliexpress. Its P/N is AIT2PB-10P-2AK and i received several male and female connectors with crimp pins.
https://www.aliexpress.com/item/1005005 ... 1802TBH3Vb
20241220_205649.jpg
20241220_205626.jpg
20241213_085603.jpg
This will let me test this without hurting OEM connector or its wires. I made a test harness and used screw terminals to connect to my VCU.
20241220_221515.jpg
20241220_221500.jpg
The way it is connected is from VCU to sense Enable pin which car uses to start DCDC operation. This is connector pin no. 5.
There are two sets of CAN bus pins, but both connect to the same point.
Posnetek zaslona 2025-01-02 160134.jpg
In the car i removed the carpet in the back which let me to access the AUX battery terminals and DCDC connector.
20250102_153141.jpg
20250102_153146.jpg
I then rewired my connector and connected it to VCU. Of course i verified CAN transmission befrorehand with my CAN tool.
20250102_153217.jpg
20250102_153225.jpg
Inside VCU firmware i prepared a logic input that i called Cp (before i used it to sense EVSE Cp signal) to sense when Enable pin will signal DCDC to go ON (i pressed start button).
Then VCU starts to send CAN telegram at the rate of 25ms so it is faster than regaular DCDC signal at 100ms.
At first i tried to simply inject my faster CAN telegram over the OEM telegram and force DCDC to go to lower value of 14V. It wouldnt work. I literally had to remove the CAN wires so DCDC would only observe my CAN telegram.

Code: Select all

void sendCANframeF() { //Ampera DCDC 
 CAN_FRAME txFrame;
    txFrame.rtr = 0;
    txFrame.id = 0x1D4; // 0x1D4 A0 B2 
    txFrame.extended = false;
    txFrame.length = 2; // Data payload 8 bytes
    txFrame.data.uint8[0] = 0xA0;
    txFrame.data.uint8[1] = 0xB2;
    CAN0.sendFrame(txFrame);	
}
arber333
Posts: 3554
Joined: Mon Dec 24, 2018 1:37 pm
Location: Slovenia
Has thanked: 131 times
Been thanked: 330 times
Contact:

Re: Opel Ampera Aux battery control

Post by arber333 »

As i tried the first option result was encouraging.
Ampera would start from cold morning with 14V battery charging. It wouldnt matter if aux battery would be 13V or 11.8V, car would start. Previously i would get serious DTCs if aux voltage would go below 12.4V.
I am more hopefull for aux battery longevity now. Also thare is less chance of car breakdown because of firmware glitch...

Of course there are downsides to this simple method too. Since i only issue CAN command to DCDC from my VCU and dont want to let the car command it i had to totally cut CAN lines to DCDC. This means its voltage and current report does not arrive to HPCM2 module. Car then signals "aux voltage system error" light, but no DTCs.

I didnt notice any other side effects as of yet.

Later on i may prepare the second option with CAN middle man to satisfy HPCM2 module with bogus DCDC report... just because it would be neat.
Attachments
Screenshot_20241221-180243_Torque.jpg
Post Reply