074 - LinLabNORPIE3 by hilen


									High Power Linear Electric Machine - made possible by gas springs
Hoff, E., Brennvall, J.E*., Nilssen, R. & Norum, L. Norwegian University of Science and Technology, Department of Power Electronics * Redusator AS, Norway HiPLEMs have until now not been successful. The main reason is that mechanical springs are not strong enough to allow a relatively heavy piston to oscillate at high frequency. This limits the power of free-piston linear machines. There are two reasons as to why the piston in a HiPLEM needs this weight. First, the electric force is proportional to the volume of the magnets attached to the piston. This is due to increased magnetic field strength. Secondly, a heavier piston gives a higher amount of stored energy. This will again allow the use of a slower regulator. The combination of high power and small regulator requirements gives the HiPLEM great advantages as a linear electric machine. II. POWER OF A LINEAR ELECTRIC MACHINE The piston in the HiPLEM is the equivalent of the rotor in a rotating electric machine. Sinusoidal piston movement is a good approximation of the position, x(t). This is because the piston position is a solution of the differential equation (1). It describes a mass attached to a spring with k as the spring constant. The damping coefficient is assumed to be zero. ma = −kx (1) Solving equation (1) mathematically gives:

Abstract— In some applications, such as compressors, free piston linear machines have several advantages compared to rotating machines. The power level of linear machines has been limited, mainly due to difficulties with the spring. A solution for this has now been found and will be described in this paper. It can open up new areas of applications, where the power level exceeds the present power limit of about 2kW. This machine needs special regulators in order to work efficiently. Two regulator algorithms for piston phase and one for position amplitude are therefore implemented for this prototype.

I. INTRODUCTION A high power linear electric machine (HiPLEM) would be advantageous in many piston applications. Some examples are sterling engines, piston compressor engines, and vibrators. Figure 1 shows a HiPLEM built for compressor purpose. The power requirement for this compressor is 3.3kW, giving the power rating of the prototype. The linear movement eliminates the need of a crankshaft and piston rod, giving a cheaper and simpler production assembly line.

x(t ) = x M sin (2π ⋅ f ⋅ t )


Here xM is the piston amplitude. The resonant frequency, f, of the system, is given by piston mass m and spring constant k:

f =

1 k ⋅ 2π m


To simplify, the electric force is also assumed to be sinusoidal: Fel (t ) = Fel M cos(2π ⋅ f ⋅ t ) (4)
Figure 1: HiPLEM prototype 1.

Fel,M is the maximum electric force. Combining this with equation (2) and (3), gives an expression for the average power produced by the engine. This is given by averaging the power over one period T:



∫ F (t) x(t)dt
el 0

1 f


Solving equation (5) gives:

P = f ∫ 2π ⋅ f ⋅ xM cos ( 2π ⋅ f ⋅ t ) ⋅ Fel M cos ( 2π ⋅ f ⋅ t ) dt

= π ⋅ f ⋅ xM ⋅ Fel M

=π ⋅

1 k ⋅ xM ⋅ Fel M 2π m


Assuming constant current, Fel,M is proportional to the mass of the magnets in the piston. This gives the relationship between electrical force Fel,M and piston mass m: (7) Fel M = kel M ⋅ m Using equation (7), the expression for average power is further simplified:

Figure 2: Force as a function of position, for an ideal mechanical spring (full line), and for the sum of the double gas springs of the prototype (dotted line). For the prototype, xp is 21.5mm (9).


k ⋅ m ⋅ kel M ⋅ xM ⇒ P ∝ k ⋅m 2


Average power is proportional to k ⋅ m . It is therefore important to increase both k and m. The piston mass can easily be increased, but the mechanical spring constant is limited. III. GAS SPRINGS Instead of using a mechanical spring, the previous problems can be solved all together by using what is called a double gas spring. This spring effect is made when a piston is moving in a closed cylinder. The piston is compressing and decompressing the gas adiabatically, thus operating close to lossless operation. Gas springs can store more energy than mechanical springs. In fact, the double gas spring characteristic differs only slightly from an ideal mechanical spring, as shown in Figure 2. Assuming adiabatic compression and no losses, the differential equation (1) becomes:

Here xp is the distance the piston can move until the gas volume becomes zero. For air, used in this gas spring, the adiabatic constant α = 1.4. The piston area, A=0.025m2. Initial pressure p0 can be varied from 1 to 30 bars. The equation is not linear, and it is thus impossible to find an algebraic solution to the resonant frequency. Solving equation (9) numerically, however, shows that the resonant frequency increases with increasing stroke length. The difference is negligible if xp>>x. In this case the system behaves like ma = −kx . From equation (9), it can be seen that the large area of the HiPLEM and high absolute pressure (1-30bar) gives the desired large spring constant. To minimize machine volume without decreasing piston area, magnets and coils can be placed inside the gas spring. This is shown in Figure 3. To avoid the use of iron, the magnets are arranged in a multi-disk fashion. This ensures that the magnetic force is only in the direction of movement, and not on the bearings. This is in contrast to rotating machines, where the armature is usually made of iron.

⎡⎛ x ⎞α ⎛ x ⎞α ⎤ p p ⎟ −⎜ ⎟ ⎥ ma = Ap 0 ⎢⎜ ⎜ x + x⎟ ⎜ x − x⎟ ⎥ ⎢⎝ p p ⎠ ⎝ ⎠ ⎦ ⎣


Figure 4: The relative pressure of a single gas spring, as a function of piston position.

Figure 3: A cut through a HiPLEM, showing the placement of magnets and coils inside the gas springs. Casing is shown in red, framing in blue, coils in yellow, magnets in green, and bearing / sealing is shown in white.

IV. MECHANICAL MODEL As previously mentioned, the linear engine consists of a mass and a spring in resonance. Written in statespace form, equation (1) may be rewritten:

The prototype was built for a maximum of 30 bars pressure. The tests were done at 1 bar and 7 bars. At 1 bar, the measured resonant frequency is 37Hz. Using equation (3), and the fact that the piston mass is 4 kg, the spring stiffness, k, is 216184 [N/m]. The spring constant is proportional to the absolute pressure. Increasing it leads to a higher resonant frequency, giving the machine a higher power rating. For use in a digital signal processor (DSP), the statespace matrix A of the continuous-time equation (10) is transformed to the z-plane state-space matrix A:

⎡ ⎡ v ⎤ ⎢0 x = A⋅x ⇔ ⎢ ⎥ = ⎣ x ⎦ ⎢1 ⎣

−k ⎤ ⎡v ⎤ m ⎥⋅⎢ ⎥ ⎥ x 0 ⎦ ⎣ ⎦

A = 1+ ∑
n =1

n =∞

( A ⋅ Ts )


where A is given by (1)


v is piston velocity x is piston position

The piston position is assumed proportional to the pressure in one of the two gas springs. This is a sufficient estimate of the piston position. Pressure as a function of piston position is shown Figure 4. The calculations are based on equation (9), where the double gas spring expression is replaced by a single spring.

−k ⎤ ⎡ ⎡1 0⎤ ⎢ 0 Ts ⋅ ⎥ =⎢ m + ... ⎥+ ⎥ ⎣ 0 1 ⎦ ⎢T 0 ⎦ ⎣ s −k ⎤ ⎡ −26.962 ⎤ ⎢ 1 Ts ⋅ m ⎥ = ⎡ 1 ≈ ⎢0.0005 ⎢ ⎥ 1 ⎥ ⎦ 1 ⎦ ⎣ ⎣Ts
where Ts is sampling period (0.5ms) k is the spring constant


At zero velocity, the piston is at maximum amplitude. At the same instant, the direction of the electrical current is set to change direction. The zero crossings of the velocity are therefore used for phase synchronizing. In the HiPLEM, velocity is not a measured quantity; instead a state observer calculates the speed using relative pressure measurements. The state observer model was implemented using the discrete system in equation (11). As shown in equation (12), a feedback from the measured pressure is added.

−k ⎤ ⎡ ⎡ vest ( k + 1) ⎤ ⎢ 1 Ts ⋅ ⎥ ⎡ vest ( k ) ⎤ m ⋅⎢ ⎢ p ( k + 1) ⎥ = ⎢ ⎥ p (k )⎥ ⎣ est ⎦ 1 ⎦ ⎣ est ⎦ (12) ⎣Ts 1 ⎛ ⎡ 0 ⎤ ⎡ 0 ⎤⎞ + i⎜ ⎢ − ⎟ 16 ⎝ ⎣ pest ( k ) ⎥ ⎢ pmeas ( k ) ⎥ ⎠ ⎦ ⎣ ⎦
The resonance frequency depends upon the gas spring constant, k, which varies with varying pressure. A parameter estimator will automatically give a correct k for all applied pressures. A state observer is needed in order to implement this parameter estimator. The expression for k may be found using the formula for the input-output function of the discrete model (Ogata, 1995) given in equation (13):

Pressure sensor

20x amplifier

Analog to Digital (RS232)

State observer


Linear motor

Figure 5: Hardware control scheme

T ( z ) = C ( zI − A) B + D


⎛ ⎡ 1 T ( z ) = [ 0 1] ⎜ zI − ⎢ ⎜ ⎢ ⎜ ⎣Ts ⎝

Ts ⋅

−k ⎤ ⎞ ⎡Ts ⋅ 1⎤ +0 m ⎥⎟ ⎢ ⎥⎟ ⎣ 0 ⎥ ⎦ ⎟ 1 ⎦⎠

Ts2 m ⋅ z −2 T ( z) = m − 2m ⋅ z −1 + ( kTs2 + m ) ⋅ z −2
The equation may be rewritten using z-1 as the time shift operator. Reordering gives the expression for the pressure-dependent part of matrix A in equation 11-13. m ⋅ y ( k ) − 2 ⋅ m ⋅ y ( k − 1) + ⎡ k ⋅ Ts2 + m ⎤ ⋅ y ( k − 2) ⎣ ⎦ (14) 2 = Ts ⋅ m ⋅ u(k )
⇔ k ⋅ Ts Ts2 ⋅ u( k ) − y ( k ) + 2 ⋅ y ( k − 1) 1 = − m Ts ⋅ y ( k − 2) Ts

The inverter contains a separate microcontroller (ATtiny26). It is programmed with blanking time and necessary signals to drive the isolated IGBT gate driver power supplies. The microcontroller also memorizes the inverter state, making the polarity change every time a pulse is received. The prototype setup has well defined modules that can be debugged independently. This would not be cost effective, however, in a commercial product. A simplified product would use only one microcontroller to control everything. This is a research setup, made for easy access to all parameters. Parts of it may be used for calibrating a later commercial product. VI. POWER ELECTRONIC INVERTER The prototype machine is a 1-phase, single pole, linear permanent magnet machine. The solution is chosen because of its simplicity. A multiple-pole motor is considered for future prototypes. It will give a more compact machine when constructed for relatively low resonant frequencies. The control algorithms will, however, become more complex. The best way to drive the 1-phase full bridge inverter for a linear engine, is switching it in a squarewave modulated voltage-canceling mode (Maresca, 1998). The power electronics hardware is shown in Figure 6.

The estimated states were used, but the parameter still had a high noise level. A ten thousand points moving average filter was used to smooth the parameter estimate. V. CONTROL OVERVIEW
Figure 5.

14 13

1Q 2Q

1D C 2D

1 12 2

The overall hardware control scheme is shown in As previously described, the position is sensed using a pressure sensor. This signal is amplified twice, and then digitized by a microcontroller (ATtiny15). The digital signal is sent using standard RS232 format. A state observer is implemented in a DSP (Texas TDS340F2812).


2 7404

14 13

1Q 2Q

1D C 2D

1 12 2 100Vdc 13mH Linear motor stator



14 13

1D 1Q 2Q 2D C

1 12 2

14 13

1D 1Q 2Q 2D C

1 12 2

Figure 6: The IGBT driver circuit uses standard IGBT drivers (HCPL3150). Isolated power supply is provided by a high frequency transformer with three secondary windings. The primary winding is driven using a standard MOSFET driver IC (DS0026).

VII. POSITION SENSING The pressure sensor signal has small amplitude. Therefore an amplifier is needed. Galvanic isolation to the rest of the circuitry decreased the level of electromagnetic noise. The galvanic isolation was easily obtained using an IGBT driver (HCPL3150) as the RS232 level shifter. The isolation reduced the power line noise (100Hz) significantly. Figure 7 shows the pressure sensor (full wheatstone piecoresistive sensor) with amplifiers. The sampled signal (2000 samples/sec) is converted to a standard serial RS232-byte, running at 38400baud. The RS232 signal can easily be logged using Matlab (Figure 10), or a DSP (Figure 12). The RS232 signal was first used to verify discrete models in Matlab. Afterwards, it was fed into the RS232 connection of a Texas TDS340F2812 DSP, controlling the IGBT inverter. VIII. OPEN-LOOP TEST RESULTS A signal generator was first used for making a variable-frequency signal for the inverter. Figure 8 shows the electrical waveforms, in addition to the gas spring pressure (position). The instantaneous values were used to calculate the losses during no-load conditions, which were found to be 120W.

Figure 8: Instantaneous electrical parameters used for loss calculation (7bar). The upper blue graph is proportional to the position. The lower blue graph is the instantaneous power [W]. The green line is the voltage [V]. The red line is the current [A/10].

Figure 7: The pressure sensor amplifier is a standard 20x op-amp circuit with high pass output filter. This cancels the absolute pressure signal. The right part of the circuit diagram symbolizes the microcontroller used for A/D conversion (ATtiny15L). The microcontroller has an internal 20x amplifier, giving the circuit a total amplification of 400x.

To investigate what happens near the resonant frequency, current through the machine was measured for applied voltage at three frequencies. This is shown in Figure 9. The numbers shows the different phases of a cycle: 1. The piston is not moving; it is at its maximum amplitude. 2. The piston speed is at its maximum; it is in middle position. The goal of the phase regulator is to synchronize piston velocity, so that it is in phase with the current. The current maximum should therefore be close to the velocity maximum (numbered as point 2 in the figures). This is the case when applied voltage is close to resonance.


Figure 10: Matlab simulation of the state estimator using data from an actual run. The engine is fed with 37Hz fixed frequency voltage, 30V peak. Blue is measured pressure, red is estimated position, and green is estimated speed. The pink peaks are when the voltage pulses should be started. The scaling is not taken into consideration.


IX. CLOSED-LOOP TEST RESULTS The piston position amplitude is controlled using a standard PI-controller, with some special sampling periods (Figure 11). A state observer with on-line parameter estimation filters the noise from the pressure signal (Figure 12). This model also gives the velocity of the piston. Every time the velocity becomes zero, the piston position is at the maximum. This marks the sampling period of the amplitude controller. It is therefore equal to half the resonant period.

1 2




Figure 9: Voltage (blue) and current (red) through the machine at varying frequencies (1 bar). The upper graph shows the response below resonant frequency. The middle graph shows resonant frequency. The lower graph shows the response above resonant frequency.

Figure 13: Parameter estimator converging from a wrong value (700) to the real value (200) in 20 seconds.

Figure 11: Software flow diagram.

X. DISCUSSION OF CLOSED-LOOP TESTS The state estimator feedback gain was chosen to ¼ in the Matlab model (Figure 10). In the lab prototype, it had to be reduced to 1/16 (Figure 12). The reason for this was more noise than expected. One of the sources was a short between the stator winding and the motor casing. This means the voltage was jumping near the pressure sensor. Capacitive currents were then injected into the sensor circuit at the switching instants, even though the pressure sensor was isolated from everything else. Because of a high noise level, the state observer could not be used for voltages higher than 100V. The parameter estimator (spring constant) is biased. It has to be scaled down 10% to make it fit the model. The reason for this is possibly a poor filtering of freak numbers, prior to the averaging calculation. Another reason may be the latency of the A/D conversion, which is 1 ms. It could be halved by modifying the microcontroller software. A simplification of the lab setup could have been done, using a regular IGBT inverter with snubbers and drivers already designed. A modular design was chosen, however, due to the possibility of using different sources such as a signal generator, a DSP, or a simple microcontroller to control the setup. Designing a commercial prototype requires simpler solutions. One of these simplifications is sensorless control.


1 Figure 12: Results from lab prototype (DSP) run, 7 bars. Pink is measured gas spring pressure. Red is estimated pressure. Yellow is estimated velocity. The lower horizontal pink line is the (negated) measured position amplitude.

Due to noise, a moving average filter was used for filtering the estimated parameter k·Ts/m (equation 14) which is the only one depending on the absolute pressure. The applied force (u) was neglected. A test shows good parameter estimation when the machine was running (Figure 13). When the inverter was stopped (the DSP still running), the parameter was sliding away from the true value. This is not a problem, however, as the parameter is only needed when the engine is running.

XI. SIMPLIFICATION AND SENSORLESS CONTROL Detection of the instant when velocity is crossing zero, may be found without using pressure sensor. This would reduce the cost for a commercial product. A sensorless method (using only current measurements), will give best results when combined with a voltage-canceling inverter. In difference from a current controlled PWM inverter, the voltage-canceling method simplifies measurements of the back-EMF. This is because the latter method gives no noise near zero velocity. When no voltage is applied, the back-EMF is proportional to the current derivative. Combining the formula for voltage over an inductor, and back-EMF, gives the relationship between piston speed and current derivative:

∂i vinverter − EMF = ∂t L 0 − EMF = , v inverter =0 L −k ⋅ v = E piston L


Figure 14: Software flow diagram for sensorless control (only frequency control)

Here L is the machine inductance (13mH), and kE is the electrical machine constant. XII. SENSORLESS CONTROL TEST RESULTS When the piston is at maximum amplitude, backEMF is zero. The effect may be observed in Figure 9. The control strategy was successfully implemented for frequency control. A simple microcontroller (ATtiny15) was used instead of the DSP used in the observer-based control algorithm. The sensorless algorithm is shown in Figure 14. It is a phase-locked loop, with the current derivative (equation 15) as input parameter. The results are shown in Figure 15 and Figure 16.



Figure 15: Sensorless synchronizing – 75V and no load (square wave voltage is 50V/div and current is 1A/div)



Figure 16: Sensorless synchronizing – 100V and no load (square wave voltage is 50V/div and current is 2A/div)

There is possibly a bug in the sensorless control software. That is wrong sign of the current measurement. It causes the sensorless algorithm to switch when the current is near zero, not when the derivative is zero. This makes the algorithm work for low frequencies (1 bar), but it has trouble at higher frequencies (7 bars). The sensorless control works well for resonant frequency tracking. An amplitude regulator was not implemented. The need for accurate amplitude control is questionable for simple applications such as a vibrator. When the frequency is well synchronized, the engine works as a DC machine. The current is mostly governed by the load, whilst the amplitude is governed by the applied voltage. XIV. CONCLUSION A High Power Linear machine has been built; using gas springs instead of mechanical springs. Piston amplitude and frequency was regulated using a state observer. This enabled the use of a parameter estimator, which is important when the gas pressure varies. Initially, the piston position was estimated using a pressure sensor. These sensors were sensitive to electromagnetic noise, making them unsuitable for a commercial product. Sensorless control proved to be less susceptible to electromagnetic noise. This is based on continuous measurements of the current through the machine. These measurements are done using the standard component Hall-effect sensor. The sensorless control avoids the matrix calculations of the state observer. Thus, in addition to using better measurements, sensorless control is also simpler to implement than the pressure measurement algorithm. A sensorless amplitude control of the HiPLEM is also possible to implement, and could give some marginal positive effect. This was, however, not done for this first prototype, but could be considered in future work. REFERENCES
[1] Maresca, Robert I, “A 400-W Tri State Switching Controller for Reciprocating Linear Motors”, IEEE Transactions on Power Electronics, vol 3, No. 1, January 1998 Ogata, Katsuhiko, “Discrete-Time Control Systems, 2nd edition”, Prentice-Hall, Inc. New Jersey 1995

XIII. DISCUSSION OF SENSORLESS CONTROL A qualified guess concerning resonance frequency is needed in order to get the machine oscillate near resonant frequency when starting the algorithm. This is due to the need of a curve where dI/dt is both continuous and zero. Figure 17 shows what happens when the starting frequency is too far from the resonant frequency. In this case the algorithm will fail.

Figure 17: The sensorless algorithm fails to track the resonant frequency, if the starting point is far away from the mechanical resonant frequency (square wave voltage is 50V/div and current is 1A/div)


To top