cancel
Showing results for 
Search instead for 
Did you mean: 

3-shunt current calib result not consistent v6.4.1

XWang.5
Associate II

Hi ALL,

I'm working on a MCSDK project which configures as follow:

1. STM32F407VET6 (yes I migrated a device).
2. EG3118 driver w/ 12V power supply.
3. SVGP104R1NL5 MOSFET.
4. 3 Shunt, 15mohm resistor, and 15x amplified external OPAMP which comes from EVAL boards. The OPAMP I tried includes RS821XF and COS721TR.
5. Motor VBUS is powered with another 8V rail.
6. ADC 1/2 configuration, and sampling time is 667ns(15 adc clk).

I am building a MOST SIMPLE scene: Open Loop Voltage, motor DISconnected to board, low noise linear desktop power supply. RPM and Voltage both set to 0. Which means there should no any current flow through shunt resistors.

When I power up and first time start the motor, the current offset calibration value is not consistent. the "pHandle->PhaseAOffset" varies from 32900 to 33400, which means about 0.1A inaccuracy.

The only way I can get stable readout, is commenting out 2 instance of below line in R3_2_CurrentReadingCalibration():

R3_2_SwitchOnPWM( &pHandle->_Super );

This phenomenon implies if PWM is on (50% duty), the current reading is not accurate. I checked the high-side gate signal and be sure the bootstrap voltage is good.

I've tried adding delay between SwithOnPWM() and waitForPolarizationEnd(), nothing gets better. 

I've also tried modify t-noise and t-rise, hoping this can adjust ADC sampling point, also didn't get good result.

This bothered me for days and I don't know how to dig into ADC timing cause it's triggered by another timer.

If anyone could tell me where should I look into, it would be very appreciate.

Looking forwards for reply and best regards.

 

0 REPLIES 0