cancel
Showing results for 
Search instead for 
Did you mean: 

B-G431_ESC1 based Custom board with 0.2mOhm shunt instead of 3mOhm over current.

Peter Lissenburg
Associate III

Version of MCSDK 6.1.2
Firmware,MC WB,

DETAILS
I have a B-G431-ESC1 board, and a custom board based upon that.
Although using the STM32G431CBT6 chip, the major difference is really the current shunts being 0.2 mOhm. This together with total gain of 40.8 and appropriate bias gives me ~200Amp max measurement, as compared with the ~60Amps of the original B-G431_ESC1 board. The difference being about x3.35

I have created 2 projects, one for the B-G431-ESC1 and the other for my custom board. Comparing the 2 projects file by file I see the differences are reflecting the current range change detailed above. These differences are in the PI coefficients etc

Yet testing the 2 boards with the same motor and power supply (Lab supply @ 25v current limit 5 amps) the B-G431-ESC1 after a few seconds starts at very low current around 0.5Amps and slowly accelerates to 600RPM @ 1.5Amps.
My custom board immediately kicks off with over 50% duty after only 10 or 12 PWM cycles. The result being this drops the supply within a few milliseconds (I have 6 x 2200uF Cap bank, it's probably drawing 50Amps out of these), and the low supply resets the CPU.

As can be seen from the attached pics, my PCB has quite a bit more noise and is not ideal, probably due to too long tracks leading to the drive chips. However the higher duty cycle is quite different behavior to what I see on the B-G431-ESC1 pic. (Or could the noise be causing this behavior, it seems to be more effect than cause?)

The attached .txt file is the .stwb6 project file for my custom PCB

What have I missed, where should I look?

Thanks for any assistance.

2 REPLIES 2
DBE
ST Employee

Hello Peter,

You can enable "Open loop" feature in your MC workbench project and regenerate it:

WB_ol_cfg.PNG 

Then flash your firmware and select in MCPilot: OPEN_LOOP_VOLTAGE, set a voltage reference (few percent depending on your motor), and a speed ramp (few RPMs). Start the motor and check that the motor spins smoothly

The picture below shows an open loop voltage setting with B-G431-ESC1 board.

pilot_cfg.PNG

Then check the signals processed by the firmware like currents, voltage. the pictures below show the currents "read" by the ADCs.

currents.PNGYou can also compare the currents to the voltages like the picture below

current_vs_voltage.PNG This experiments will give you some hints on the current sampling.

Best regards

 

 

 

 

If you agree with my answer, please consider accepting it by clicking on 'Accept as solution'.

@DBEthank you for your reply.

I have been away from this project, but saw your reply a few days ago and have been investigating.

I have now changed the current shunt to 3mOhm as per the original dev kit.

Once I did that the open loop control allowed me to observe the drive and motor at very low power. The high speed trace confirmed what I have been seeing on the cro. I had a lot of noise, and on the 0v/ground rail. So I have rearranged the circuit to remove small earth loops (now star connection) and provided more and closer caps. I have the motor now behaving as it does using the B-G431-ESC-1 pcb. So thank you for the assistance that allowed me to see this.

Next I will reduce the current shunt progressively toward the 0.2mOhm that I will need to use.

Do you see anything that I should consider in doing this? The final application will need 100v @ 100Amp with short peaks of 200A

Thanks again for your assistance.

Regards Pete L.