VFD motor drive 3kW - design considerations - Page 1
Forum section: electronics / projects

author: Miyuki
author_rank: Frequent Contributor
timestamp: March 30, 2016, 12:54:52 pm
content: Hi,I'm preparing to build medium size (3kW) induction motor inverterplan is simple: input PFC with capacitor bank and transistors for drive it all controlled by ATxmega - no special chips, minimum passive componentsInput will be single phase 210-220V 50hz with 15A target current at steady state and must be keep under 16A during startIt is budget project, so Ill use discrete transistors IRG4PC50UD (I have them cheap), six in motor stage and one at PFC, for gate drive/insulation will be TLP250 which can be directly connected to MCUXmega I use because I'm familiar with Atmel 8bit products and don't want to experiment with new architecture at this power levels (I know ARM offer better price for such functionality)As everything is relative slow frequency wont be above 20kHz (maybe just 10kHz, will depend on power loss calculations)I'm just unsure about output filter if use any. Motor will be just next to inverter

author: T3sl4co1l
author_rank: Super Contributor
timestamp: March 30, 2016, 01:03:22 pm
content: Unless you're a magician athard real time computinghttps://en.wikipedia.org/wiki/Real-time_computingthen an MCU is the last thing you should reach for. Especially at kW, where a single bit error in timing will result in physical destruction (like, grenading) of devices.The project itself, while hard, should prove to be a good exercise though. Do it carefully and methodically; use purpose made controllers for the PFC and drive.Don't forget current monitoring. The first and foremost thing you must control during switching is inductor and switch current. Voltage or duty cycle is secondary.Tim

author: Siwastaja
author_rank: Super Contributor
timestamp: March 30, 2016, 01:13:46 pm
content: No need for output filters IMO.Consider getting a SiC diode(s) for the boost PFC stage. They are not too expensive anymore.At very least don't use MCU for PFC stage - there are myriad of off-the-shelf controllers, because boost PFC is everyday stuff. Try to do the PFC by copying application notes, existing designs, etc., so that you can dedicate your time on the motor control.For motor control, using an MCU is a more interesting task; AFAIK there are nousabledrop-in IC's for that. All are specialized processors.Pay close attention on the physical layout of the DC bus. You want "laminated" kind (+ve and -ve sandwiched close together) with as little parasitic inductance (loop area) as possible, with low-inductance bypass caps (sometimes called snubber caps) between + and - super-close to the IGBTs.AFAIK, having a little bit of loop inductance (like a few nH, i.e., a cm or two) in the emitter/source leg of thebottomIGBT/mosfet could actually be a good thing as it helps the switching by generating Vge in the right direction. Everywhere else: try to get rid of any inductance.A more advanced gate driver with desaturation detection and miller clamp could help prevent blowing up things, but they are in the price range of about $5/piece. Negative gate drive voltages also help, but it's getting a bit complicated for such a low-power device.The hardest thing could be the algorithm side to properly drive an induction motor. A lot depends on your application. I did a proof-of-concept EV car conversion using an encoder on motor shaft to read rpm and developed "constant slip" algorithm that is absolutely super-simple and gives good efficiency, but torque command only, with less than optimal transient response. This was just fine in a car.A random Xmega won't be necessarily powerful enough to do any "proper" IM control algorithm, it depends on the peripherals. You need quick current sense on at least two phases and need to process that information quickly. There are specialized "motor control" MCUs with suitable timers with suitable direct communication ("pulse stop" inputs) from analog comparators, for example.

author: Miyuki
author_rank: Frequent Contributor
timestamp: March 30, 2016, 02:02:46 pm
content: SiC diode looks nice, but in this low frequency I don't think recovery loss will be big issue and forward drop is smaller at common Ultrafast (which I also have cheap less than 1$ piece, same as transistors)That PFC controller is hard choice (I really want to use software way, it is ma obsession and yes I have here box of PFC controller samples)Speed control will be simple open loop Vf mode regulated by average input current, motor drive compressorXmega A3 have powerful peripherals Two Eight-channel, 12-bit, 2 Msps ADC and Four Analog Comparators (external or DAC treshold)It can realise even current controlled PWM in hardware to DAC level (via DMA/event without any software interrupt), cpu core will be used just for calculations valuesand almost any mcu manufacturer have demo board with software controlled PFC (why would they do it if not be ready to use)

author: Siwastaja
author_rank: Super Contributor
timestamp: March 30, 2016, 04:40:43 pm
content: Quote from: Miyuki on March 30, 2016, 02:02:46 pmFrequency doesn't matter. Transition (even one pulse) causes the EMC issues; serious layout considerations, designing in RC snubbers etc, not only for EMC compliance, but to avoid the magic smoke escaping due to parasitically induced overvoltages. So, choosing a SiC diode could make the design a bit easier, it's not only about efficiency. Efficiency, yes, is kind of related to the switching frequency.QuoteOh, this is easy, but it is often unsatisfactory from the efficiency viewpoint, unless your compressor has a rather steady load near the full rating, and never too much.In this case, you absolutely must make sure manually that you are running the motor with small slip and not below breakdown torque. This is not automatic in the simplest form of V/f control and easily brings your efficiency down from 90% to somewhere about 10-20%.... In the world without VFD's, motor protectors are used, which just cut the power in this case. But if your VFD happily limits current, it can run the motor in this unacceptable range.You see, when you run the motor from mains, it can pull huge currents it needs for short periods of time to get into proper operating range; and when it can't get there, it just blows fuses (or motor protection devices). With a VFD too simple, you won't have either of those two mechanisms; with current limit, the motor happily runs at the wrong range, mostly generating heat. Without current limit, it blows the IGBTs.QuoteSounds good for induction motor control, then. If you are familiar with the Xmega architecture, this would be the best choice. Interfacing with all those peripherals always takes more time than anticipated, so any prior experience on the architecture is a good point.

author: diyaudio
author_rank: Frequent Contributor
timestamp: March 30, 2016, 06:26:55 pm
content: Quote from: T3sl4co1l on March 30, 2016, 01:03:22 pmThere are secondary supervisory circuits that can be built.

author: NiHaoMike
author_rank: Super Contributor
timestamp: March 31, 2016, 05:24:39 am
content: Digital or digitally assisted PFC lets you play tricks like varying the bus voltage in order to boost efficiency over the operating range of the drive. At part load, you can even play with the "cut in voltage" since a boost converter is especially inefficient with large boost ratios. It all comes down to balancing between minimizing the boost ratio and minimizing current losses, while holding your target power factor.What type of compressor is it? If it's a scroll as is typical of A/C compressors of that size, it would be hard to FFT the rotor speed from the current measurement (which is how the Shannon Liu Quadrature Drive does it), but a piezo sensor glued to the casing would likely work very well.

author: Miyuki
author_rank: Frequent Contributor
timestamp: March 31, 2016, 06:54:37 am
content: It is low speed reciprocating compressor (about 1000rpm) so torque requirements are stable with speed

author: NiHaoMike
author_rank: Super Contributor
timestamp: March 31, 2016, 06:59:16 am
content: You should be able to get a good rotor speed measurement using FFT off the current waveform then. But it would probably still be simpler to mount a piezo on the casing itself.

author: Miyuki
author_rank: Frequent Contributor
timestamp: March 31, 2016, 08:09:00 am
content: Motor is chosen to have enough torque reserve in any operation mode (to start without any regulation, just heat fuse)So I can simple measure slip by average current and regulate frequency to desired power/speed

author: Siwastaja
author_rank: Super Contributor
timestamp: March 31, 2016, 09:26:46 am
content: Try it, it might work well enough without any complicated control. You have already oversized the motor; oversize the drive too so that it can pull to proper operating point by itself in all conditions. So that you are creating a variable-frequency version of mains, kind of.I was also told that you absolutely need certain blah blah things with complex math and dozens of modelling parameters to do anything with an induction motor. It appears that a simple slip control I developed (and later found that it's a commonplace thing in reality!), at least two-three orders of magnitude simpler, worked quite fine, with no efficiency or transient issues. You can see it working here:(video not shot/uploaded by me but the other guy working with me on that project).Complex things cannot be blindly implemented. I have tried to understand what's really going on in a full "FOC" implementation, but it's not easy to find usable sources, because no one else seems to understand it either. I bet it's notthatcomplex really, but when people cant't even agree on what they are discussing, it's a difficult starting point.

author: jpittner
author_rank: Contributor
timestamp: April 02, 2016, 03:47:48 am
content: Hi,I had almost the same idea some time ago, however, wanted it to use also as pure sine AC power supply, so I used LC filters.In the end it turned out to be a good exercise in power electronics, but definitely it was not a fast 'right the first time' project.I have published my construction as open hardware and firmware under GPL athttp://www.pittnerovi.com/jiri/hobby/electronics/frequency_changer/If you need it quickly or it should be cheap, don't attempt to build youself, buy some at Aliexpress!If you want to learn, build one, but I recommend to use 32bit MCU with hardware floating point and enough ADC and timer/PWM peripherals(I used LPC1114 and it is rather busy).Probably best would be to use 2 MCUs, one for user interface, measurement and control and second MCU (or perhaps CPLD) dedicatedto DDS sine wave synthesis via PWM only. For IGBT driving I would recommend IRS21844, for optoisolation I used 6N135.Fast in-hardware short circuit/overcurrent protection is a must. For motor drive I would also recommend NPT-type IGBT which canwithstand 8usec long short circuit. Look at my page for more info.Best, Jiri

author: Miyuki
author_rank: Frequent Contributor
timestamp: April 04, 2016, 08:34:36 am
content: I take it as a learning project to gain experience at this power levels till go even higherUse MCU without DMA and solve timing with all that interrupts? It is mad.

author: jpittner
author_rank: Contributor
timestamp: April 05, 2016, 12:23:31 pm
content: well, you could use DMA from precomputed tables to the timer's PWM registers in principle, buthow you would do then a real-time change of the voltage or frequency requested by a user turningthe rotation encoder?If starting from scratch, I would, however, use STM32F37 instead of LPC1114, with enough gpio pins to serve display and keyboardand thermal sensor directly, avoiding the need for I2C.Jiri

author: Miyuki
author_rank: Frequent Contributor
timestamp: April 05, 2016, 12:46:28 pm
content: You have even rotation encoder at software level, without interface? This all at single chip just with timers and interrupts?I must be lot of work an planing how to synchronise everything

author: ChunkyPastaSauce
author_rank: Unknown
timestamp: April 05, 2016, 01:03:57 pm
content: nxp has a bunch of mcu support and dev kits for FOC motor control I believe. Starting there, you have a a huge portion of the software side of things covered and partial hardware.

author: jpittner
author_rank: Contributor
timestamp: April 06, 2016, 09:28:12 am
content: Actually, I do not need to synchronize anything. The trick is buffering the values to bet set into the PWM match registers.At the very beginning of the timer overflow interrupt, I set the match registers from the buffer in RAM - this is just a few instructions. I forbid interrupts during this time and limit the values of the match registers so that match cannot be missed during this time. Then I have time enough to perform computations (inside the interrupt routine) of new values of the match registers,based on user input, chirping the frequency for motor start etc., and save them to the buffer. Servicing a rotation encoder(slow one - hand turned by a user) just with interrupts is very easy, I have been doing this for years, starting with ATmega8.Jiri