Vous êtes sur la page 1sur 13

An Open-Source Platform for

Power Converters Teaching


S.A. Gonz
alez, J.R. Fischer, M.A. Herran, and D.O. Carrica
Laboratorio de Instrumentaci
on y Control
Universidad Nacional de Mar del Plata
CONICET
sagonzal@fi.mdp.edu.ar

Abstract. This work presents a new approach for teaching power converters through the use of power inverter example experiments. This
scheme is based on a custom-designed hardware and a software platform
based on several open-source tools. The platform is controlled by a 32-bit
microprocessor which gives the student the possibility to modify the experiments through the control firmware. All the required hardware and
software necessary to design and implement the control is open-source.

Introduction

Power electronics is a subject included in both Electrical and Electronics Engineering curricula and also a research area. Laboratory experiments can help students assimilate the theoretical concepts and get hands-on practical results [1,2].
Nevertheless, laboratory experiments in the power electronics field, though a
good strategy, present problems of time, money, and safety [3].
This work presents a new custom-designed Power Electronics Converter experiment in a safe and cost effective way. All the real experiments conducted by
students can previously be simulated in software packages like Matlab or PSim
which are very useful for beginner students in power electronics [47]. OpenSource alternatives of Matlab , like Octave [8] or Scilab [9], can also be used
in the post analysis of the performed experiments.
One unique aspect of the laboratory is that undergraduate students, under
the direction of a graduate student and faculty staff, designed and constructed all
the hardware and software. This accomplishment has led several students to pursue graduate schools in this power electronics area. In the following section the
hardware design of the power inverter is going to be explained. Section ?? deals
with the software tools required to successfully compiled the control firmware for
an experiment. In section 4, an power inverter experiment is shown and results
are presented.

Hardware design and development

Since the main idea is to have a laboratory power inverter, the set of experiments
that are going to be carried on is important in order to define hardware design.

Open-Source Platform for Power Converter Teaching

Regarding this, two experimental areas that need be regarded are: open-loop
and close-loop control of the power load. Among the open-loop carrier-based
Pulse Width Modulation (PWM) schemes are the sinusoidal PWM (also called
suboscilation PWM) and the space-vector modulation (SVM). Regarding the
closed-loop control schemes the most significative techniques are the hysteresis
current control (HCC) and the predictive Dead-Beat current control. Although
not close to a complete list of control schemes, students have the opportunity
of revisiting a simple method and then scaling up their knowledge into a later
more refined technique.
All this control techniques are to be tested with a real load as a 2 kW three
phase induction machine. The control of an a.c. machine was selected as the load
of the inverter experiments since the motion is visual and students are faced
to motion control requirements, as start/stop control, brake and acceleration.
Other important aspect is sound, since variable speed converters are noisy and
the difference between modulation schemes or switching frequency can be heard.
It is educational to hear the difference in the laboratory and thus obtain a
broader experience, this aspect is often neglected in theoretical demonstrations
and of course, totally avoided in simulations. Students can observe the effects
of parasitics, physical limitations of devices, and the differences between poorly
and well-designed circuits and software.
Once the experiments to be carried out by the power inverter are defined, it
is important to define what kind of hardware must be in place. Since open loop
techniques must be implemented, a very rugged software-independent current
protection must be implemented. This is done by adding an always present
three-phase current measurement hall effect sensor and feeding its signal to three
independent comparators. Although open-loop schemes have a clear system gain,
students may produce distorted command signals to the inverter, which in term
could produce an important demanding currents with catastrophical results. In
those cases, current sensors ranging from dc to medium frequency (some tenths
of kilohertz) are sufficient to turn-off the inverter fast enough in order to assure
security.
Then a decision over the digital control unit must be made. Although a DSP
has been generally widely accepted for industrial control, recent improvements
in compact 32-bit ARM processor are challenging new deigns. DSP for industrial
control are specifically designed to include three-phase PWM modules, timer for
event recording as encoders, several general purpose I/O and serial communications to be able to communicate to DACs and a host system. Nevertheless,
DSPs have grown to fulfill communication market rather the the industrial one.
On the other hand, ARM architecture is a 32-bit RISC processor architecture
developed by ARM Limited that is widely used in embedded designs. The core
has been widely implemented by many semiconductor manufacturers and this
allow several companies cover different application areas, what is being called
open platforms, contrary to closed platform as DSPs. This has impact over student where they can learn an architecture rather than a specific DSP code, and
that will be useful no matter the application or the specific integrated circuit

S.A.Gonzalez et al.: Open-Source Platform for Power Converter Teaching

AC
380Vrms

DC

VSI

ISA
ISB

USA
USB

ISC

USC

IGBT Drivers
Digital
Control
Unit

Control Interface Board

IS(A,B,C)
US(A,B,C)

a.c. motor

Fig. 1. Block diagram of the digital control unit and the main connections to the
voltage source inverter (VSI).

vendor. The last issue was decisive for designing with ARM processor, specifically with the ARM7TDMI architecture for Embedded Processors. Code written
for ARM7TDMI is binary-compatible with other members of the ARM7 Family
and forward compatible with the ARM9 and ARM9E families. The specific vendor we have chosen for a control unit aims at the real-time control of a power
inverter for laboratory experiments is the Atmels AT91SAM7X256 in PQFP
package. Figure 1 is a block diagram of the system.
Since the authors aim at obtaining an open hardware platform, the control
unit should be replaceable, while the analog support circuitry remain hook and
wired to the power inverter. The support circuitry must contain the feedback
amplification of both voltage and current sensors, the independent comparators
for the short-circuit protections, the host connection interface, the dual rails
power supplies and the power and thermal supervisory support circuits. In order
to do this, a dual PCB design was preferred with independent optically-isolated
power drivers for each IGBT module. Photograph in figure 4 shows clearly this
design approach.
Figure 3 show a photograph of the control interface board. All the subsystems
previously mention are placed on the board. Further used of surface mount
technology (SMT) has provided the means of better technology support and
smaller board occupation.
Figure 2 shows the front and rear views of the complete power inverter.
The authors have chosen an open-frame 4-wheels rack in order to students to
have a complete access of the inverter, low weight and mobility. The mobility
is important since the electrical departments lab where the big a.c. machines
resides are one building away. The inverter rack consists of a three-phase full
bridge inverter constructed with discrete 1200 V, 60 A IGBTs modules, every
module consists of a complete leg, thus, 3 modules are laid out with 3 heat
sinks. Discrete modules were chosen to minimize space, connections and cost if
a leg fails.

Open-Source Platform for Power Converter Teaching

(a) Front view.

(b) Rear view.

Fig. 2. Photos of the experimental power converter.

Fig. 3. Photo of the main board and the CPU board as that contains the Atmels
AT91SAM7X256 microcontroller.

Some of the control racks are specific to applications since the goal of the
power inverter is to carry out several different experiments. In the photograph,
the connector to the ac motor can be seen and a complete rack for active power

S.A.Gonzalez et al.: Open-Source Platform for Power Converter Teaching

Fig. 4. Photo of the 3 drivers and their isolation barrier, the dc-bus and its decoupling
capacitors.

filter (APF) experiments is also shown. The APF rack (in figure 5) is attached
to the frame when experiment need to be carried out since access to the grid is
required. In this way other racks can be attached to suit specific experiments.
2.1

Data analysis

One of the most important issues for students is waveform display of every part
of the inverter. Students must have access to the whole inverter in order to fulfil
the experiments and answer the study guides of every experiment. The authors
preferred the use of oscilloscope with differential isolated probes. In one hand
the probes are easy to acquire and are perfectly prepared to access high power
devices, on the other hand, oscilloscopes give students control over what are
they viewing provided they know what are they looking for. This is important
since students are encouraged to read the study guides prior attending the lab
experiments. Once a wave form is captured on the oscilloscope and the probe
scales are set, the data is downloaded into an ASCII file. This downloading allows
the data to be read into Matlab or another post-processing software.

Open-Source Platform for Power Converter Teaching

Fig. 5. Photo of rack for active power filter (APF) experiments.

Software tools

The main goal is to create in the students the skills required to develop an
industrial-grade embedded firmware that is both secure and safe. At the same
time it allows them to gain skills needed in industrial electronics and motion
control applications.
Due to the limited time it is important to choose a set of software tools that
help students develop applications by example in a rapid and natural fashion.
Today, most embedded software applications are written in C/C++, these languages have special features that makes them attractive for use in embedded
systems. First, they provide a high level of abstraction, which eases, and speeds
up, algorithm implementation. Secondly, they furnish the programmer with a
rich set of low level functions, specially helpful for hardware peripheral mapping
of a given microcontroller. There are a number of utilities that compliments a
C/C++ compiler, which are needed in order to obtain a working embedded application. The tools needed to do complete firmware development are as follows:
A C cross-compiler for ARM7 processors.
Binary utilities, such as assembler, linker, and other programs to make executable code.
A C library specially intended for use on embedded systems.
A program debugger.

S.A.Gonzalez et al.: Open-Source Platform for Power Converter Teaching

A modern Integrated Development Environment (IDE), which provides facilities to write, debug, and compile the source code for ARM processors.
In order to meet these requirements, a number of choices are to be made, to
get a functional software environment for rapid development of lab projects.
The GNU Compiler Collection (GCC) [10] was selected as a C/C++ crosscompiler, due to its compatibility with ARM cores, its flexibility, and its widely
available documentation. In conjunction with the GCC, the GNU Binutils [11]
software package provides the tools needed to make executable binary files from
object files created by GCC. There are several C libraries to use with GCC, one of
them which is specially intended for embedded systems is Newlib [12], a C library
developed by the Red Hat Foundation. It is only available in source code form,
so it has to be used in the compilation process of GCC for targeting ARM7 cores.
Due to the inherent difficulty of creating a custom made tool-chain for C crosscompiling, there are pre-compiled packages which includes the aforementioned
tools and can be downloaded from the internet. These binaries targets different
host operating systems such as Windows, GNU/Linux or MacOS.
The process of creation of the source code can be done with a simple text
editor, and the compilation can be executed from the command line, but it
is preferable the use an IDE for software development, which provides many
useful features, such as code folding, syntax error detection, automation of the
build process, and ease of use. Eclipse Platform [13] was chosen, this IDE has
been ported to various OS, is powerful, highly customizable, visually attractive
and open source. This last feature makes possible to students to build their
own plug-ins, improving their C/C++ language programming environment to
fit their particular needs.
For debugging purposes, the GNU debugger, GNU GDB [14], was chosen.
This software can easily be integrated in the Eclipse IDE to set breakpoints in
the source code and control the code execution in the embedded processor. The
OpenOCD program compliments GDB, making possible to debug and program
the ARM processor via JTAG flash programmer device (IEEE standard 1149.1).
As stated before, the microcontroller used for control board is the Atmels
AT91SAM7X256. Manufacturer gives a software package [15] to simplify firmware
development. These tools are used to create a base program that initializes all
the peripherals, so students can build the critical functions used in the control
of the power stage. This is done to avoid the problem of creating an application from scratch and make students focus in practical application of control
strategies taught in theory lessons. In this manner, a typical firmware project
consist of a few dozens of lines of C code, students can write them mostly during
laboratory time. An introductory lesson of the base application is given in order
to help students understand how to write their code.
The software development and firmware programming platform was tested
in Windows XP using the tools provided by the YAGARTO project [16], and in
GNU/Linux Ubuntu 8.10, using a tool chain provided by Zylin Consulting [17].
Although command line tools can be used successfully, and integrated development environment is preferable. The authors preferred the Eclipse IDE since

Open-Source Platform for Power Converter Teaching

Fig. 6. Eclipse IDE in GNU/Linux Ubuntu 8.10

integration with the GCC set of tools is well tested over several OSs. Eclipse is
a number of concepts:
A non-profit, open-source community Eclipse Foundation
An extensible application framework for the development of software tools
Eclipse Platform
A collection of open-source projects providing solutions for multiple development applications
An extensible Integrated Development Environment (IDE)
An important advantage, not found in equivalent company-specific IDEs
for firmware development, is the indirect benefit from software plug-ins, developed for the Eclipse platform. These plug-ins cover from code documentation
tools (such as the Doxygen multi-language documentation tool), versioning tools
such as the Subversion (SVN) client to Bug Tracking System tools such as the
Bugzilla. All theses benefits improve code readability and testability previously
only obtainable with isolated comercial software.
The Eclipse IDE is shown in Fig. 6, running in a Ubuntu 8.10 GNU/Linux
Desktop PC.

S.A.Gonzalez et al.: Open-Source Platform for Power Converter Teaching

C
a.c. motor

VSI

ISA
ISB
ISC

USA
USB
USC

wn

IGBT Drivers

wn*

IS(A,B,C)
+
-

wn

Control
Strategy
Control Interface Board

Fig. 7. Block diagram of a complete motion control system.

SAMPLE EXPERIMENTS

In the new power electronics course, experiments are used to validate analysis
and design controls for converters, inverters, and rectifiers. In addition, experiments are performed to demonstrate the influence of parasitics on system performance (electromagnetic interference, power quality, acoustic noise, etc.). In
the machines/drives course, experiments are being designed to implement the
control of brushless dc machines, stepper motors, and volts/Hertz control of
induction machines.
To demonstrate the feasibility of the testbed in representative applications,
an example is provided. A control of an induction motor is presented in the
following section.
4.1

Induction motor control

The block diagram of a motion control system based on a IM can be seen in


figure 7.
In figure 8 a block diagram of a scalar control is shown. In an scalar control
de PWM inverter controls both the frequency and the magnitude of the voltage
output. This is done in order to achieve the following characteristics:
the frequency is modified according to the desired output speed,
output voltage is adjusted in order to maintain a constant air-gap flux in
the constant-torque region.

10

Open-Source Platform for Power Converter Teaching

IS(A,B,C)

Slip
Compensation

wn

ws
+
+
-

wn

we

PI

PWM
Modulator

Fig. 8. Scalar control control strategy.

With this controllable frequency / voltage it is possible to achieve a high


efficient speed controller for the induction motor.
One thing to consider is the torque on the shaft.
T =

Pem
r

(1)

If the voltage added to the motor changes, the frequency also has to change
to ensure torque on the shaft. Looking at the torque, expressed from the power
(P) and the speed the following equation is given:
#

2 "
Pem Vm
r
2
Rr
(2)
T =3
2 + (r Llr )
2
s
(Rr )

where: P is the number of poles, Vm is the counter electromotive force (CEMF),


s is the angular frequency of the stator current, r is the angular frequency of
the rotor current, Rr is the rotor resistance, and Llr is the locked rotor inductance.

Pem
3V I
Vm
T = 9.55
= 9.55 60
cos = k
(3)
n
f
f p (1 s)
This equation implies that if the ratio between the voltage and the frequency
are kept constant the torque also stays constant. Moreover, output torque of
the machine will depend only on r , irrespective of the stator frequency, s ,
provided the ratio Vm /s is kept constant.

S.A.Gonzalez et al.: Open-Source Platform for Power Converter Teaching

11

Results from (3) are fed into the PWM inverter using an specific timer module
of the ARM CPU. Figure 9 shows the current at one of the motor phases. As can
be seen, a high-quality sinusoidal waveform of 10Hz can be produced modulating
the signal conveniently. The switching frequency in all this experiments was kept
constant at 20Khz and the characteristics of the motor can be seen in table 4.1.
Figure 10 shows both the line voltage and the phase current. It can be seen
how the PWM voltage signal spans from V d/2 to V d/2 obtaining the bipolar
current also shown in the figure.

1->

1) [Tek TDS210].CH1 20 mV

25 mS

Fig. 9. Waveform for a 10Hz fundamental current.

Figure 11 shows the averaged waveform in order to depict both the quality
of the signal and the phase lag introduced by motor, in this case 32 deg approximately. The averaged PWM line-to-line voltage was obtained using a Tek
TDS210 oscilloscope and sequential acquisitions.
Manufacturer / Origin Weg / Brasil
Frequency
50 Hz
Power
1 CV
Speed
1430 RP M
Voltage
Y 380V / 220V
current
Y 2.2A/ 3.8A
cos()
0.74
Inertia
0.00175Kgm2
Isolation
B Clase (40 Amb.)
IP
54

12

Open-Source Platform for Power Converter Teaching

2->

1->

1) [Tek TDS210].CH1 20 mV 1 mS
2) [Tek TDS210].CH2 50 V 1 mS

Fig. 10. Waveform for a 100Hz fundamental current an its PWM line-to-line voltage.

2->
1->

1) [Tek TDS210].CH1 20 mV 25 mS
2) [Tek TDS210].CH2 50 V 25 mS

Fig. 11. Averaged voltage and current waveforms.

S.A.Gonzalez et al.: Open-Source Platform for Power Converter Teaching

13

Conclusion

This work presents a hardware-based educational tool for teaching power converters, which has been designed to h help students get hand-on technology.
In addition, they further develop their skills to obtain meaningful and accurate
measurements and learn safety measures that are required to work with power
electronics.
All the firmware designed for the control experiments is developed using opensource tools. Both security and safety issues were implemented in the firmware,
without loosing flexibility and performance for the real-time control algorithm.
Although these can be a challenge to any firmware development tool, author
experiences show that GNU GCC compiler is suitable for the real-time code
production. Moreover, the code obtained in the experiments presented in this
work, less than 14 s was required to implement the control algorithms.

References
1. Torrey, D.: A project-oriented power electronics laboratory. Power Electronics,
IEEE Transactions on 9(3) (May 1994) 250255
2. Williams, J., Cale, J., Benavides, N., Wooldridge, J., Koenig, A., Tichenor, J.,
Pekarek, S.: Versatile hardware and software tools for educating students in power
electronics. IEEE Trans. Educ. 47(4) (Nov. 2004) 436445
3. Jimenez-Martinez, J., Soto, F., Jodar, E., Villarejo, J., Roca-Dorda, J.: A new
approach for teaching power electronics converter experiments. IEEE Trans. Educ.
48(3) (Aug. 2005) 513519
4. Hart, D.W.: Circuit simulation as an aid in teaching the principles of power electronics. IEEE Trans. Educ. 36(1) (February 1993) 1016
5. Widlok, H.: The applications of concurrent simulation in the power electronics
laboratory. Proceedings of the IEEE International Symposium on Industrial Electronics, 1996. ISIE 96. 2 (Jun 1996) 573577 vol.2
6. Mohan, N.: A novel approach to integrate computer exercises into teaching of
utility-related applications of power electronics. Power Systems, IEEE Transactions
on 7(1) (Feb 1992) 359362
7. Ayasun, S., Nwankpa, C.: Induction motor tests using matlab/simulink and their
integration into undergraduate electric machinery courses. IEEE Trans. Educ.
48(1) (Feb. 2005) 3746
8. Octave: http://www.gnu.org/software/octave/index.html
9. Scilab: http://www.scilab.org
10. GCC: http://gcc.gnu.org/
11. GNUBinutils: http://www.gnu.org/software/binutils/
12. Newlib: http://sourceware.org/newlib/
13. Eclipse: http://www.eclipse.org/
14. GDB: http://www.gnu.org/software/gdb/
15. Atmel: http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4343
16. Fischer, M.: http://www.yagarto.de/
17. Zylin: http://www.zylin.com/gccbinary.html

Vous aimerez peut-être aussi