2023-08-29 07:16 PM
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.
2023-09-06 07:32 AM
Hello Peter,
You can enable "Open loop" feature in your MC workbench project and regenerate it:
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.
Then check the signals processed by the firmware like currents, voltage. the pictures below show the currents "read" by the ADCs.
You can also compare the currents to the voltages like the picture below
This experiments will give you some hints on the current sampling.
Best regards
2023-09-20 10:45 PM
@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.