You are here

Incorrect R and L detection?

12 posts / 0 new
Last post
vadicus
Offline
Last seen: 17 hours 27 min ago
VESC Free
Joined: 2018-08-17 07:26
Posts: 223
Incorrect R and L detection?

I am using AMC1301s for voltage sensing, acs773s for current, and UCC21521DW as gate drivers in my design. The schematics is below.

All works except that motor detection seems to be producing wrong results.After detection is competed in FOC, the motor starts rough. Lowering Inductance and Gain to 1/2 values make it run start and runs smoother.

 

What am I missing? Some advice would be appreciated.

 

 

 

 

 

 

Eric
Offline
Last seen: 4 months 1 day ago
VESC Free
Joined: 2017-08-28 10:27
Posts: 16

You have wired the opamp wrong, R103 should be connected to the common mode voltage of the AMC1301 Vout (1.44 volt). Now your output is clipped.

The delay and filtering of the voltage sense can also be a problem for the detection algorithm.

I assume you have modified the firmware to set the correct gains for voltage and current.

diff amp.png

vadicus
Offline
Last seen: 17 hours 27 min ago
VESC Free
Joined: 2018-08-17 07:26
Posts: 223

Thank you. But why would it matter if the AMC+OpAmp circuits are measuring positive voltages?

Eric
Offline
Last seen: 4 months 1 day ago
VESC Free
Joined: 2017-08-28 10:27
Posts: 16

Ok, it doesn't since you only want positive voltages.

Is it for 150V motor voltage? 150x3.3k/(2M+3.3k)=0.25, 0.25x8.2x1.5=3.08 to ADC.

 

vadicus
Offline
Last seen: 17 hours 27 min ago
VESC Free
Joined: 2018-08-17 07:26
Posts: 223

Yes, targeting 150v max. I realize 220pf on the AMC1301 input creates an RC filter (2M+220pf) with the cutoff frequency of 361Hz. This seems to be too low. The AMC datasheet has no caps at all, so it's better take them out?

At 0% throttle, I am also getting a 1-2% jitter on the duty cycle which seems to be due to slight differences in phase voltages. I measure 10.30v, 10.28, 10.29 on phases. It seems like filtering is not going to help much with that as the differences are originating on the VSSA/return paths of high sides of the drivers which is where phase voltage sensing is wired as well.

 

 

bobfrank
Offline
Last seen: 1 year 2 months ago
Joined: 2019-04-23 09:43
Posts: 6

Not only that but look at the input bias current, 30uA across 2M is 60v, you need a low input bias current buffer before the isolation amplifier.

You probably don't want much of the noise filtering you have either - there is a pretty large propagation delay on your isolation amplifiers and your hall current sensors that may already issues at high eRPM, the last thing you want is any extra delays.

Eric
Offline
Last seen: 4 months 1 day ago
VESC Free
Joined: 2017-08-28 10:27
Posts: 16

Actually the low pass filter has the 3.3k resistor in parallel with 2M so the cutoff frequency is much higher.

 

vadicus
Offline
Last seen: 17 hours 27 min ago
VESC Free
Joined: 2018-08-17 07:26
Posts: 223

Per AMC1301 datasheet, high impedance resistors are needed on the input side and then smaller resistor to form the divider and meet the isolator input range of 250mv.

There is also a gain error that is caused by the divider resistor and the chip internal resistence. So, another resistor of the same value is recommended on the VINN to compensate.

I also realized I added another 3.3k on the VINP to be able to use AMC1311 which is where an RC filter is really recommended. When using AMC1301, however, I have 0Ohm there.

So I gather, there the voltage sensing circuit is good as is, correct?

 

2019-11-07_9-59-47.jpg

vadicus
Offline
Last seen: 17 hours 27 min ago
VESC Free
Joined: 2018-08-17 07:26
Posts: 223

Got it working smoothly by replacing the AMC1301 with 1311 part which is better suited for voltage sensing. 

However, for all motors, after detection, I need to reduce inductance and Gain settings to get the motors run without stuttering.  Any suggestions what else to check? Ideally, the motor needs to be detected and running correctly right after detection without any additional tweaking, right?

vadicus
Offline
Last seen: 17 hours 27 min ago
VESC Free
Joined: 2018-08-17 07:26
Posts: 223

I found that lowering the deadtime value in the code and lowering deadtime compensation makes the motor stutter less. But I still have to also lower the calculated observer gain for the motor to work smoothly. So, the calculated observer gain never works out of the box. I tried this on three different motor and the pattern is the same. Any ideas what can be causing this?

socrace
Offline
Last seen: 2 months 1 week ago
VESC Free
Joined: 2019-12-25 02:17
Posts: 2

Does the detected phase values agree with independent measurements? For example, my Flipsky 4.2 detects close to measured H, but only 72% of actual R. A little surprising that it gets the easiest thing to measure so wrong, but it does.

vadicus
Offline
Last seen: 17 hours 27 min ago
VESC Free
Joined: 2018-08-17 07:26
Posts: 223

I am getting a different hardware to compare and understand the differences in measurement and what is causing them.