# Idea for AC (or DC) controller



## PStechPaul (May 1, 2012)

After considering the idea of a bidirectional DC-DC converter to use perhaps 48 VDC or 96 VDC batteries to provide 240-700 VDC for a VFD, I got the idea that perhaps the DC bus voltage level could be adjusted according to the speed of the motor. My thinking is that, at low speed and high torque conditions, the PWM for a 300V bus would consist of very narrow high voltage pulses that may be less than ideal because of the resolution of the PWM generator. 

Instead, if the bus voltage could be reduced to, say, 24 or 48 volts, the PWM pulses would be ten times the width and would be more accurate, as well as perhaps less stressful on the insulation, with less noise, and reduced switching losses because of lower dV/dt. It may require larger bus capacitors because of the higher current, and the DC-DC converter would need to be able to supply the higher current as well, so that may present some difficulty. But if the battery pack could be switched from, say, 8S1P (96V) to 4S2P (48V) and even 2S4P (24V) and 1S8P (12V), you could get two or more ranges where there would be 2x, 4x, or 8x current capacity at 1/2, 1/4, and 1/8 voltage.

Of course, this might present a switching nightmare, especially on full-size EVs where each cell may need to provide 100 amps or more. But it might be practical for small EVs such as my tractor, especially since it will usually be running at, say, high speed low torque when the implements are not being used, medium speed medium torque for mowing, and low speed high torque for heavy work.


----------



## Siwastaja (Aug 1, 2012)

It's not a new idea; AFAIK some HEVs use exactly that. It makes sense when you use a boost converter from a lower voltage battery pack anyway to make the boost stage adjustable.

However, I'd suggest the general approach that:
- first define exactly what is the problem you are going to solve
- then make sure it really is a problem.

Your suggestion boils down to these parts:
- There is a PWM "inaccuracy" when stepping down too much
- High voltage pulses are stressful to insulation
- There are more switching losses.

First, I don't get the "inaccuracy" point at all. If you have that kind of problem, you have chosen absolutely wrong tool for the job.

Are the voltage pulses stressful to insulation? The motor needs to withstand the high voltage anyway if you are going to boost the voltage when necessary. Does it make a difference if it runs a little bit lesser time? Your suggestion would necessitate _two_ parts with high insulation requirements, the converter and the motor.

And, any improvement in switching losses is negated in increased conduction losses _and_ extra losses in the first boost/buck stage, I think.

IMO, you just introduce extra complexity with extra parts which need similar ratings to the motor, when you already have the motor that can do the buck converter job just perfectly fine (and need to do it anyway), and it's already there.


----------



## PStechPaul (May 1, 2012)

I recall seeing something like this concept previously, and it may even have attempted to match the bus voltage roughly to the sine wave voltage being created by PWM. But let me try to analyze the specifics of a VFD PWM.

Assume a 325 VDC bus for a 230 VAC 60 Hz motor. If the carrier frequency is 21.6 kHz, there will be 180 steps for the PWM, which is one PWM cycle per degree. At very low voltage, the PWM approaches 50%, and the effective voltage is determined by the difference in the duty cycles, which can be expressed as a time difference.

At 230 VAC, the PWM varies from 100% to 0%, which can be otherwise expressed as +50% to -50%. Some PWM values for various phase angles is:


```
1  0.0174 / 21.6 = 0.81 uSec
5  0.0870 / 21.6 = 4.03 uSec
30 0.5000 / 21.6 = 23.1 uSec
90 1.0000 / 21.6 = 46.3 uSec
```
A microcontroller like the PIC18F4431 has a resolution of 11 bits at 20 kHz with a maximum clock frequency of 40 MHz, which is about 50/2048 = 24 nSec. Thus the precision of the PWM for 1 degree is 24/810 or 3%. 

The lowest drive frequency for an ACIM is the slip speed, which is typically about 1800-1750 = 50 RPM, or about 3%. Thus with a constant V/F the 1 degree PWM would be 0.81 * 0.03 = 24.3 nSec, and the precision will be about 100%.

If my calculations are correct, then there does not seem to be a huge problem with the microcontroller. But the problem may be with the gate driver circuitry and the IGBTs, which I think are in the order of 10 to 50 nSec rise and fall times. So to achieve switching losses of 10% or less, it seems that the PWM period must be in the order of 100 to 500 nSec, which means that the 1 degree PWM may be just barely achievable at full motor voltage. But it could pose a major problem at low speeds near the slip frequency where maximum torque is often required for start-up (locked rotor).

Since the PWM waveform at very low speeds is very close to 50%, the actual switching losses will be pretty much the same as at the peaks, where the duty cycle approaches 100% and 0%. But as I understand it, the full DC link voltage is being applied as a 20 kHz square wave when the motor is stopped or rotating slowly. And it seems to me that the magnetizing current will be higher at this full voltage than it would be at a much lower voltage. Since there are resistive and magnetic losses in the motor, this will lower the efficiency and cause more heating under these low speed high torque conditions.

I would like to propose a design where the three phase motor controller operates on a continuously variable DC bus voltage, which could be supplied by a standard PWM DC motor controller or a variable output buck or boost DC-DC converter. The VFD can sense the DC bus voltage and adjust the frequency of the PWM according to the voltage, maintaining a predetermined V/F ratio, and the torque can be determined by the DC current consumed by the VFD. In its simplest form, the sine conversion can be determined by a fixed table, or even by using an EPROM driven by a variable frequency clock based on the voltage. Thus the PWM waveform will always be identical in terms of pulse width, and will vary only in height as determined by the drive voltage.

I think this may have several advantages even beyond those already discussed. It may offer a drop-in replacement for a series wound or PM DC motor where the existing DC controller can be used. And it provides a level of safety because the AC motor terminal voltages will be very low when it is stopped or rotating slowly. And in case of insulation breakdown that happens at higher RPMs, it may be possible to "limp home" at low speed. 

Anyway, that's my idea, and I think it should be fairly easy to implement for a test.


----------

