• No results found

A Control Algorithm for an Ultrasonic Motor

N/A
N/A
Protected

Academic year: 2021

Share "A Control Algorithm for an Ultrasonic Motor"

Copied!
57
0
0

Loading.... (view fulltext now)

Full text

(1)

Institutionen för systemteknik

Department of Electrical Engineering

Examensarbete

A Control Algorithm for an Ultrasonic Motor

Examensarbete utfört i Reglerteknik vid Tekniska högskolan vid Linköpings universitet

av

Tomas Andersson, Jenny Arkad

LiTH-ISY-EX--11/4448--SE

Linköping 2011

Department of Electrical Engineering Linköpings tekniska högskola

Linköpings universitet Linköpings universitet

(2)
(3)

A Control Algorithm for an Ultrasonic Motor

Examensarbete utfört i Reglerteknik

vid Tekniska högskolan i Linköping

av

Tomas Andersson, Jenny Arkad

LiTH-ISY-EX--11/4448--SE

Handledare: Tohid Ardeshiri

isy, Linköpings universitet

Mattias Engström

Syncore

Examinator: Johan Löfberg

isy, Linköpings universitet

(4)
(5)

Avdelning, Institution

Division, Department

Division of Automatic Control Department of Electrical Engineering Linköpings universitet

SE-581 83 Linköping, Sweden

Datum Date 2011-06-06 Språk Language  Svenska/Swedish  Engelska/English   Rapporttyp Report category  Licentiatavhandling  Examensarbete  C-uppsats  D-uppsats  Övrig rapport  

URL för elektronisk version

http://www.control.isy.liu.se http://www.ep.liu.se ISBNISRN LiTH-ISY-EX--11/4448--SE

Serietitel och serienummer

Title of series, numbering

ISSN

Titel

Title

En styralgoritm till en ultraljudsmotor A Control Algorithm for an Ultrasonic Motor

Författare

Author

Tomas Andersson, Jenny Arkad

Sammanfattning

Abstract

This report is the result of a master thesis work where the goal was to develop a control system for a type of ultrasonic motor. The ultrasonic motors use ultrasonic vibrations from a piezoelectric material to produce a rotating motion. They are powered by two sinusoidal voltages and their control signals generally are the voltages amplitude, frequency and the phase difference between the two voltages. In this work the focus is on control using only amplitude and frequency. A feedback signal was provided by an encoder, giving an angular position. The behavior of the motors were investigated for various sets of control signals. From collected data a linearized static model was derived for the motor speed. This derived model was used to create a two part control system, with an inner control loop to manage the speed of the motors using a PI controller and an outer control loop to manage the position of the motors. A simple algorithm was used for the position control and the result was a control system able to position the motors with a 0.1 degree accuracy. The motors show potential for greater accuracy with a position feedback, but the result in this work is limited by the encoder used in the experiments.

Nyckelord

(6)
(7)

Abstract

This report is the result of a master thesis work where the goal was to develop a control system for a type of ultrasonic motor. The ultrasonic motors use ultrasonic vibrations from a piezoelectric material to produce a rotating motion. They are powered by two sinusoidal voltages and their control signals generally are the voltages amplitude, frequency and the phase difference between the two voltages. In this work the focus is on control using only amplitude and frequency. A feedback signal was provided by an encoder, giving an angular position. The behavior of the motors were investigated for various sets of control signals. From collected data a linearized static model was derived for the motor speed. This derived model was used to create a two part control system, with an inner control loop to manage the speed of the motors using a PI controller and an outer control loop to manage the position of the motors. A simple algorithm was used for the position control and the result was a control system able to position the motors with a 0.1 degree accuracy. The motors show potential for greater accuracy with a position feedback, but the result in this work is limited by the encoder used in the experiments.

Sammanfattning

Den här rapporten presenterar ett examensarbete med målet att utveckla ett styrsystem för en modell av ultraljudsmotorer. Ultraljudsmotorers rörelse pro-duceras av ultraljudsvågor skapade i ett piezoelektriskt material. De drivs av två sinusspänningar och de styrsignaler som kan användas är vågornas amplitud, frekvens och fasskillnaden mellan dem. I detta arbete är det enbart amplituden och frekvensen som används för att styra motorn. En feedback-signal från en encoder ger motorns position i grader. Beteendet hos motorerna studerades med hjälp av olika data skapade genom olika kombinationer av styrsignalerna. Från insamlad data kunde en linjär statisk modell för motorns hastighet tas fram. Den härledda modellen användes för att skapa ett tvådelat styrsystem, den inre delen är en re-glerloop som hanterar hastigheten av motorn med hjälp av en PI-regulator och den yttre delen hanterar motorns position. En enkel algoritm användes för att ta fram positionsstyrningen och resultatet blev ett system som kan positionera motorn med en noggrannhet på 0.1 grader. Motorerna visar stor potential för att ska-pa ännu bättre noggrannhet med hjälp av feedback av positionen, men resultatet under det här arbetet begränsades bland annat av encodern som användes.

(8)
(9)

Acknowledgments

During the work with our master thesis we have received a lot of help and in-spiration from different sources. We would like to thank Ranjdar Ferej for all the help he has given us learning how to use VHDL code, Anders Sjösvärd and Mikael Hagman for the interesting discussions both related to the work and others far from the subject. Dan Persson, Daniel Gustafsson and Daniel Forsberg should receive lots of thanks for having the patience to deal with all our questions concern-ing electronics and all the help they have given us assemblconcern-ing the drivconcern-ing source. The company Brimalm Engineering should receive thanks for donating gears and axles. Johan De Geer, thanks for trusting and supplying us with the motors used throughout the thesis work. And a special thanks to everybody else employed at Syncore Technologies for the nice company during the Friday breakfast meetings and other gatherings we’ve had during our six month at the Syncore. Last but not least we want to thank our supervisors Mattias Engström at Syncore Technologies and Tohid Ardeshiri at ISY, together with our examiner Johan Löfberg at ISY.

(10)
(11)

Contents

1 Introduction 1 1.1 Objective . . . 1 1.2 Limitations . . . 1 1.3 Outline of Report . . . 1 2 Background 3 2.1 The Ultrasonic Motor . . . 3

2.1.1 Design . . . 3

2.1.2 Function . . . 4

2.1.3 Advantages and Limitations . . . 5

2.2 Previous Work . . . 5 2.2.1 Models . . . 6 2.2.2 Control Algorithms . . . 9 3 Test Platform 11 3.1 Drivecard . . . 11 3.2 Testcard . . . 11 3.3 Limitations . . . 14 4 Model 15 4.1 Data collection . . . 15

4.2 Data interpretation and analysis . . . 16

4.3 Comparison of different motors . . . 17

4.4 Model Derivation . . . 18

4.5 Model Validation . . . 21

4.6 Investigation of possible use of open loop control . . . 21

5 Control System 23 5.1 Implementation . . . 23

6 Validation of the control system 25 6.1 Method and Result of Validation . . . 25

7 Results 27

(12)

x Contents

8 Discussion 29

8.1 Conclusions . . . 29 8.2 Future Work . . . 30

Bibliography 33

A Design of Test Platform 35

B Operating ranges for different motors 39

(13)

Chapter 1

Introduction

This report is a presentation of a master thesis work where the goal was to develop a control system for an ultrasonic motor.

1.1

Objective

The objective of this work was to develop a control system for a newly developed type of ultrasonic motor (USM). The motors are controlled by multiple input signals and shows several nonlinear characteristics, which will be explained in later chapters. To operate the motors it is therefore necessary to use a control system developed to take these properties into account.

What does it mean to have an algorithm able to control the motor in this project? The motor should be able to run both clockwise and counter clockwise to a specific given position. A feature to run the USM in a specific speed should also be implemented.

1.2

Limitations

This work has been limited to creating an algorithm able to control the system. The resulting algorithm should be possible to implement on a small microprocessor or FPGA since the complete package of motor and controller should not be much bigger than the motor itself.

No measurable target such as specific step responses or accuracy in position were given, the objective was therefore to make the control system as robust and accurate as possible.

1.3

Outline of Report

The first part of the report describes the background of the thesis work, the theory behind ultrasonic motors and previous work related to the motors. The theories and facts explained in these chapters are not all used throughout the work but are

(14)

2 Introduction

presented here as an introduction to the subject. After this a description of the test platform and hardware used when implementing, testing and validating the control system is presented. In Chapter 4 it is described how data was collected, interpreted and analyzed and later on how the model of the ultrasonic motor was derived. The implementation of the control system is described in Chapter 5 and later validated as in Chapter 6. In the last two chapters, the results of the work is presented and discussed, and suggestions are made on how to proceed with the work and how to improve existing implementation.

(15)

Chapter 2

Background

The purpose of this thesis is to develop a control system for a travelling wave ultrasonic motor. Different control algorithms have been investigated to determine which ones could be of interest to implement in a commercial product.

The tasks included in the work can be described as:

• Studying previous work and developments of USM models and control sys-tems.

• Assembling the drive card developed to provide the driving voltages for the USM.

• Creating a model of the USM suitable for this application. • Developing a control algorithm for USMs.

• Testing the algorithm by simulation and/or by implementing the control algorithms on a physical hardware.

• Validating and evaluating the control algorithm’s function

2.1

The Ultrasonic Motor

This section explains the design and function of the ultrasonic motors. The ul-trasonic motor is a special type of motor driven by ulul-trasonic vibrations created in the motor using a piezoelectric material [8]. The motors used throughout this thesis work are prototypes developed by Fukoku Co. They are rotational motors, about 15 mm tall and 12 mm in diameter.

2.1.1

Design

The USM used during this thesis work consists of mainly two parts, the stator and the rotor. The stator contains two components, a thin disc of piezoelectric ceramic and an elastic body able to transfer the movement in the piezoelectric material.

(16)

4 Background

Figure 2.1. Design of an ultrasonic motor

The driving sources, two voltages, as will be described later, are connected to different parts of the piezo material. The rotor is pressed against the stator with a thin layer of a rubber material in between, to help transferring the torque from the stator to the rotor. It is the rotor that is the moving part of the motor, the part that transfers the torque to other components. In Figure 2.1 the design of the motor can be studied.

2.1.2

Function

The USM is powered by two sinusoidal voltages. The piezoelectric material is ordered in such a way that when a single voltage is applied, a standing wave is created in the stator. When combining two phase shifted sinusoidal voltages, the result is a travelling wave moving across the surface of the stator [5]. The shape of the travelling wave can be controlled by the shape of the input voltages. If the voltages are kept sinusoidal and symmetric, which is optimal for powering the motors, the input to the system are three signals; the amplitude of the applied voltage, the driving frequency and the phase difference between the two driving voltages. The travelling wave will influence the speed of the ultrasonic motor, thus the above mentioned inputs can be used to control the speed.

There are two energy conversions taking place during the operation of the motor. The first is the creation of the travelling wave, where electrical energy is converted into vibrational energy. Typical values of the input voltages are an amplitude of about 100 V, a frequency around 64 kHz and a phase difference of 90 degrees. The high frequency of the signals is the reason for why the motors are called ultrasonic.

When the stator is affected by the travelling wave, the surface particles of the stator will move in elliptical curves, as can be seen in 2.2. At the wave crests, the contact areas between the stator and the rotor, the frictional force between the surfaces will cause the rotor to accelerate and rotate [3]. This represents the second energy conversion, where the vibrational energy of the stator is converted into rotational energy. The direction of the rotor is opposite the direction of the travelling wave [1].

(17)

2.2 Previous Work 5

Figure 2.2. The elliptical motion of particles in the stator material

2.1.3

Advantages and Limitations

Compared to conventional electric motors the USM has several advantages such as high torque at low speed and high torque to mass ratio. The ultrasonic motors retain efficiency while being reduced to very small sizes, have a high holding torque when they are inactive, have a totally silent drive and generate no magnetic inter-ference. This makes USMs suitable for applications in cameras and other optical instruments, medical instruments and operations close to magnetic field generating sources, to name a few examples. Important disadvantages of the motors however, are that they require a control system that is relatively complex compared to the common electric motor and a driving source capable of delivering high frequency and voltage. For this reason USMs are still not very common on the open market. The extra demands on the control system are due to nonlinearities in the mo-tors behaviour, as well as it behaving differently under varying temperatures and torque conditions. Currently only larger companies which can afford to develop control systems of their own have been able to use USM in market applications. To open up the market for USMs, it is of interest to the companies producing USMs to develop a versatile control system which can be delivered with the motors, thus enabling the spread of the USM technology to a wider range of customers. The control system must make a sensible compromise between accuracy, efficiency and low complexity, while at the same time being simple to use and implement for the customers of the system.

2.2

Previous Work

The ultrasonic motor is a relatively new invention. The first practical ultrasonic motors were developed during the 1970s, but they were hard to use at the time due to the difficulties controlling them and the fact that they wore down quite quickly [10]. New designs of the motors have reduced the effects of wear. The development of models and control systems for USMs is an even newer field, where most of the work has been published during the 21th century.

(18)

6 Background

Figure 2.3. Model of an ultrasonic motor [6]

Figure 2.4. An equivalent system to a piezoelectric actuator [6]

2.2.1

Models

There are several ways to derive models of varying complexity for the motors. Here, one approach of how this can be done is presented. Using this method, the model of the motors is divided into three submodels, where one submodel handles the dynamics of the stator, another models the rotor and a third describes the interface between the stator and the rotor, see Figure 2.3. The combination of these three submodels gives a model where the driving voltages are the input signals and the torque and speed of the motor are the output signals. This way was used by Kandare and Wallashek in [6]. A description of how the different parts were modeled will be described below.

Stator Model

The stator model describes how the input voltages are translated to a waveform motion in the stator. The vibrations of the stator can be controlled by three different parameters: the frequency, the amplitude and the phase difference the driving voltages. The input signals to the stator model are the voltages exciting the stator and modal forces affecting the stator from the stator/rotor interface. Outputs from the model are the modal displacement of the stator as well as time derivatives of modal displacements. A piezoelectric actuator can be modeled ac-cording to Figure 2.4. In the figure, w represents the vertical movement of the stator, UP is the excitation voltage applied to the stator and FS is a force from

the rotor that will dampen the wave motion in the stator. The other variables in the model are described in [6], and represent for example the capacitance of the piezoelectric material. If it is assumed that the stator is perfectly symmetric it would be possible to use only this system to create a model. Because this is not the case and the stator is excited by two voltages with the same eigenfrequency,

(19)

2.2 Previous Work 7

Figure 2.5. A two dimensional model of the stator [6]

cross-coupling will occur between the two orthogonal vibration modes. To take this into account, a lever connection between the two systems is introduced and the resulting system used in the model can be seen in Figure 2.5. In Figure 2.5 each system represents one of the standing waves.

By denoting the excitation voltages UP 1and UP 2and the modal forces FS1and

FS2, the modal displacement can be calculated by using the differential equations

in the Laplace domain described by the system in Figure 2.5 as

w1(s) = A1(1 − ε1) mef fs2+ dS1s + cS1 UP 1(s) + + A1ε2 mef fs2+ dS1s + cS1 UP 2(s) + + 1 mef fs2+ dS1s + cS1 FS1(s) (2.1) and w2(s) = A2(1 − ε2) mef fs2+ dS2s + cS2 UP 2(s) + + A2ε1 mef fs2+ dS2s + cS2 UP 1(s) + + 1 mef fs2+ dS2s + cS2 FS2(s). (2.2)

(20)

8 Background

Figure 2.6. The interface between stator and rotor

For more information about how this model was derived, see [6]

Interface between the stator and the rotor

The interface model describes how the travelling wave in the stator translates to a force that affects the rotor. The principle of how this works can be seen in Figure 2.6. In the figure one can see a side view of how the top of the travelling wave moves up into the rubber material of the rotor. The surface of the wave has different velocities depending on the height of the wave. Depending on the speed of the rotor, different parts of the stator’s wave will either go faster or slower than the rotor. Frictional forces act in the contact area between the rotor and the stator. Depending on whether the surface segment of the stator moves faster or slower than the rotor, the frictional force will either contribute to the acceleration of the motor or slow it down. The magnitude of the frictional force is calculated as the normal force acting on the surface of the wave times a friction constant. In the model it is assumed that the rubber material can be described as a spring, the normal force is then proportional to how deep the travelling wave goes into the rubber material. The total force acting on the rotor in the rotational direction can be calculated via the Equation 2.3. Here n is the number of wave tops that appear in the stator, µ is the friction constant, the signum expression describes if the segment contributes to the movement or not, as described above, and fzis the

normal force. The output signals from the stator-rotor interface is the total force acting in the rotational direction and the total normal force acting in the vertical direction calculated from the rubber-spring assumption.

Fdrv = nµ xk

Z

−xk

(21)

2.2 Previous Work 9

Rotor Model

The rotor model describes how the forces from the stator-rotor interface affects the movement of the rotor. The model is divided into two parts according to the movement, one vertical part, where the rotor is lifted up by the travelling waves of the stator, and one rotational. These parts are modeled as simple moving masses, the first as a mass with one dimensional movement and the other as a rotating disc. The transfer function

Gvertical(s) =

1

mrotors2+ drotors + crotor

(2.4) for the vertical model and

Grotational(s) =

1

Jrs

(2.5) for the rotational model can be derived from the following differential equations respectively:

mrotorw¨rotor+ drotorw˙rotor+ crotorwrotor= Fn− Fnorm (2.6)

and

Jrω˙rotor= Mdrv− Mload, (2.7)

where ωrotor is the angular velocity and wrotor is the vertical displacement. For

more information about how this was done, see the paper in [6]. The output signals from the rotor model are the speed and the output torque, which are also the output signals of the complete model.

2.2.2

Control Algorithms

To control the speed or position of an ultrasonic motor there are as mentioned earlier three different parameters which can be used, the amplitude, the frequency and the phase difference of the two voltages used to drive the motor. If one would try to control the motor using only one parameter, keeping the other two fixed, the driving frequency gives the widest speed range. Because of this several systems use the driving frequency as the main control signal, either alone or with one of the other two parameters [2].

When it comes to the control design, several different ways have been proposed, a few examples are model based control, PI control, direct PWM control, fuzzy adaptive control and neural networks.

In [9] a comparison between a PI control algorithm and an adaptive control algorithm was made. A common solution of how to implement a control system for USMs can be found in [1], where the function of a two-phase serial-resonant inverter circuit is explained as well as a control algorithm based on frequency control. Another approach to develop a model is described in [4] and in [3] where

(22)

10 Background

a system using two feedback control loops is developed. Research on how to create speed estimations based on the vibration velocity and consumed current are investigated in [8]. In [7] Maas et al. derive a complex model of the USM with individual control of the two input voltages used in travelling wave USMs, and use this to develop a powerful, but also complex control system.

(23)

Chapter 3

Test Platform

This chapter describes the hardware and software used to drive and control the motors.

Restrictions in both hardware and software inflicts limitations on what control signals can be provided. A test platform has been assembled to provide the means for investigating the behavior of the motor as well as to test control algorithms. The platform consists of three components, a drivecard, a testcard and a mechan-ical construction with the motor and the encoder. The test platform basmechan-ically consist of a driving source providing the two input signals to the USM, an FPGA used to control the inputs to the motor and an encoder used to measure the speed of the motor. Closer details of how the platform was constructed can be seen in Appendix A

3.1

Drivecard

The drivecard was developed by Syncore Technolgies and was assembled as a part of this thesis work. The drivecard has two functions, the first is to convert the input voltage of 5 volt into two output voltages of +-120 volt. The other part is a digital to analogue converter circuit (DAC), followed by a low pass filter allowing the voltages to be controlled by the FPGA described in Section 3.2. In Figure 3.1 the basic function of the drive card can be studied.

Experiments has shown that the maximum amplitude of the sinusoidal output voltage the drivecard is able to produce is 64 volt, which is lower than the antici-pated 120 volt. Further experiments show that the output voltage created is not notably affected by the impedance in the motor, which makes it easier to test how the motor performs using different input waveforms or defect sinus waves.

3.2

Testcard

The testcard used was a predeveloped card from Altera. The card contains, among other things, an FPGA, digital displays, IDE-ports, buttons and switches, etc. The

(24)

12 Test Platform

Figure 3.1. Diagram of the function of the drive card

Figure 3.2. Output signals from the encoder used to determine the rotation of the

motor

FPGA on the testcard was the part of the test platform that controls the movement of the motor and does all calculations concerning data and communications.

To generate a sine wave in the FPGA, sampled values from half the wavelength of a sine has been stored in a list. Using the values in this list, each value was scaled with an internal factor to attain the desired amplitude, which is sent to the DAC. Upon reaching the end of the list the reading direction is reversed to generate a continuous wave. Different frequencies are created by varying the speed of which the list is read thorough, which dictates how often new values are updated to the DAC. The desired difference between the two output signals is realized by giving the two waves different starting points in the list.

The data from the FPGA is sent to the DAC using an SPI protocol (Serial Peripheral Interface), which was implemented in the FPGA. The SPI protocol is only used to send the new wanted amplitude to the DAC, therefore the protocol is implemented as a one way communication between the FPGA and the driving card.

There is also a communication channel between the FPGA and a computer, which is based on a UART protocol. Data, such as position, speed, amplitude and frequency are sent to the computer were it is received and logged in a file to be used for later analysis.

From the encoder the FPGA receives two pulse trains, which are used to deter-mine the position, speed and direction of the motor. The FPGA notices changes in the movement of encoder and depending on the order of these changes the di-rection of the motor can be determined according to the picture in Figure 3.2. If

(25)

3.2 Testcard 13

for example, the encoder is in state aB, meaning that signal a is low and signal B is high, and signal b goes low, it can be determined that the encoder has moved to the right in the figure. If on the other hand signal a goes high, the movement must have been to the left. The resolution of the encoder is 4096 and it is connected to the motor using gears with a combined gear ratio of 1.27. These numbers pro-vide the resolution of how small movements of the motor can be detected via the following formula:

360

4096∗ 1.27 = 0.11 degrees (3.1) This also means that the final control system will optimally be able to position the motor with an accuracy of ± 0.11 degrees.

Other implementations in the FPGA are test programs meant to investigate the behavior of the motor, control algorithms meant to govern the speed and position of the motor and programs for testing that the control algorithms behaves correctly.

There are a number of different ways to calculate the angular velocity of the motor using the output from the encoder, but all of these methods face problems when the speed of the motor is quite low, when the pulses from the encoder are sparse. The method described below was chosen and implemented because it handles low speed as well as possible when using a fixed sampling time for the speed calculation. At the same time the method provides good resolution for cases when the motor runs at higher speeds. The algorithm for calculating the speed in a given time interval is as follows:

Algorithm 1 Speed calculation

Store the time of the first detected encoder pulse

repeat

if new pulse detected then

Store time of new pulse as time of last pulse Store number of pulses

end if

until time interval reaches its end if number of pulses > 1 then

Current speed = (Number of pulses - 1)* Encoder resolution / (Time of last pulse - Time of first pulse)

else if number of pulses = 1 then

Current speed = Encoder resolution / Time interval

else

Current speed = 0

end if

Basically the algorithm calculates the mean speed during the interval and the algorithm is illustrated in Figure 3.3. The special case, when only a single pulse is detected during the time interval, represents the lowest detectable velocity of the system. This lowest velocity only depend on the sample time of the speed

(26)

14 Test Platform

Figure 3.3. Illustration of the speed calculation from the encoder signals. The speed

is calculated as the distance travelled during the time interval divided by the time from the first pulse to the last pulse.

calculation, decreasing the time interval means that the lowest detectable speed increases and it becomes harder to detect slow motions of the motor. Since this speed calculation only is used by the speed control algorithm the sample time of the speed calculation is chosen to be the same as the sample in the speed control loop. The unit used for speed from these calculations and throughout the thesis work is degrees/s.

3.3

Limitations

The hardware and software causes some limitations in the control signals. The drive card can not produce an amplitude larger than 64 volts, which as stated is lower than desired. Notes from the manufacturers indicates that the motors have been tested with over 100 volts. This means that the full operation range of the motors cannot be investigated using this current setup. Because of how the sinus waves are generated in the FPGA, with the frequency determined by how long time to wait before updating a value, the resolution in frequency depends on the clock speed of the FPGA. It turns out that, for the current system, the steps in frequency are relatively large, making speed control based on frequency alone impractical unless the software is altered. The speed of the UART link lim-its the sample frequency with which the system can be monitored and the more parameters monitored the lower the sample frequency will be. This limits the pos-sibility to investigate fast transient behaviors of the system and the motors. The mechanical construction does not contain any equipment to measure the torque provided from the motor. This prevents investigation of how the torque is affected by different sets of control signals as well as the output power and efficiency of the motor.

(27)

Chapter 4

Model

This chapter describes how the motor behaves for different sets of control signals and how the model was derived from this information.

In order to develop a control system for a USM it is of importance to create a model to be used when developing and testing different control algorithms. Pre-vious work done indicate that it’s quite hard and time consuming to calculate a physical model of an ultrasonic motor, and that detailed information about the different motor dimensions and parameters are needed. This information was not accessible during this work and because of this, the approach chosen in this master thesis is to use a static velocity model calculated from data collected during the work.

The model was derived from data where no additional load was applied. The reason for this was that the limitation in time didn’t allow for creating a test platform sufficient for measuring load and torque.

4.1

Data collection

The primary sets of data for the model were collected using two different kinds of tests. In these tests only two of the three control signals were used, the amplitude and the frequency. This is due to the fact that previous work indicates that a 90 degree phase shift is optimal as long as no load is applied. In the first set of tests, called the frequency tests, the amplitude was kept constant while the frequency was gradually increased from it’s lowest value to it’s highest and then decreased back to the lowest value again. This process was repeated for different values of amplitude and the result from one of these frequency tests can be seen in Figure 4.1. The data from the frequency test was used to investigate the operating range of the motor, as in for what sets of control signals the motor rotates.

In the second set of tests, called the amplitude tests, the input signals were reversed, the frequency was kept constant while the amplitude varied, see Figure 4.2. This amplitude test was used to estimate the velocity of the motor as a function of frequency and amplitude for the model derivation.

(28)

16 Model

Figure 4.1. Set of data from the frequency test. The amplitude was kept constant while

the frequency was swept back and forth over the operating range. This was repeated for various values of amplitude. Note that the velocity increases exponentially when the frequency is decreased.

4.2

Data interpretation and analysis

By studying Figure 4.1, it can be seen that the motor does not operate for all sets of input signals. It can also be seen that some sets of input signals are enough to keep the motor running but not enough to make it start. This hysteresis effect is due to that the stator has different resonance frequencies depending on if the motor is running or not [8]. Information from the data set represented in 4.1 was used to derive a rough operating range for the motor. An example of this can be seen in Figure 4.3, where the operating range of one motor has been plotted. In Figure 4.3, the light gray field represents the working area were the motor can be started and will keep on running. The dark gray field represents the working area where the motor can be kept moving if brought there from the starting area, but if it for some reason stops while operating in the dark gray area it will have to be restarted with signals from the light gray working area.

The motor operates when fed with a frequency above its running resonance frequency. As the frequency is lowered or moved closer to the resonance frequency, the speed of the motor increases as can be seen in Figure 4.1. A problem is that the motor turns increasingly unstable the closer it gets to the resonance frequency, and eventually it will come to an abrupt halt. A higher amplitude makes it possible to operate on frequencies closer to the resonance frequency, as can be sen in Figure 4.3.

(29)

4.3 Comparison of different motors 17

Figure 4.2. Set of data from the amplitude test. The frequency was kept constant while

the amplitude was swept back and forth over the operating range. This was repeated for various values of frequency. Note that the velocity behaves like a piecewise linear function of the amplitude.

Information from the frequency test was used to decide what frequencies should be used in the amplitude test and in the model derivation. Frequencies were picked from the light gray area of Figure 4.3, the area where the motor can restart, should it for any reason be stopped. This is a simple way to ensure reliability of the motor. Should other frequencies be used some way to handle restarts of the motor must be implemented outside a normal PID-loop. Note that in the amplitude test sequence, see Figure 4.2, the speed of the motor appears to be approximately linear with respect to the amplitude for different fixed frequencies.

4.3

Comparison of different motors

Data was collected from five different motors for comparison, and plots of the operating range for all five motors can be seen in Appendix B. Comparisons shows that the principle look is the same. In the figures, the light gray working area has a V shape and for higher amplitudes, the dark gray area makes a leap in allowed frequencies. However, it can also be seen that the shapes differs between the motors.

The manufacturer of the motors have provided data showing that different frequencies tends to be optimal for different motors. However the operating ranges retrieved from measurements does not include these optimal frequencies and the differences between the motors seems to be much larger than what the developers

(30)

18 Model

Figure 4.3. Operating range for one of the tested motors. Within the light gray area

the motor is able to startup. The motor still operates within the dark gray area, but if it is stopped there the operating point has to be moved back to the light gray area to resume operation.

imply. One reason for not finding the optimal frequencies in the measured data could be that the amplitude doesn’t reach above 64 volt, this would imply that the optimal voltage need to be higher than the current maximum value for our drive card.

In Appendix C the velocities of all five motors can be studied. According to these data it can be seen that not only the operating range differs between the motors but also the rotational speed. For example, the fastest motor is about twice as fast as the slowest one.

4.4

Model Derivation

For the developed control system there is a need to derive what angular velocity the motor achieves for different values of the control signals. To do this a model was created.

To take the dynamics of the motor into account, step responses for the ampli-tude and frequency were investigated, however it turned out that the hardware was not fast enough to properly detect any dynamics in these tests. For this reason, it was chosen to derive a static model of the motor (assuming no dynamics is in the system).

To develop a static model, data such as what can be seen in Figure 4.4 was analyzed. This figure shows a plot from the amplitude test where the velocity as

(31)

4.4 Model Derivation 19

Figure 4.4. This figure shows data from the amplitude tests, where the frequency was

kept constant while the amplitude was varied. The velocity is plotted as a function of the amplitude for different sets of frequencies. Different sets are separated by colour. Notice that the velocity behaves like several linear, but noisy, functions.

a function of the amplitude can be seen. The velocity behaves as several linear, but noisy, functions and it turns out that each function represents one frequency. Due to this linearity the data was divided into sets with respect to the different frequencies. For each of these data sets a linear approximation of the speed as a function of the amplitude was made using the method of least squares. Plotting these linear approximations with the data in the previous figure, in Figure 4.5, shows that these approximations seems to be quite good.

In the control system there is a need to be able to state a desired speed, and the system should be able to provide the control signals needed to achieve this speed. Therefore an inverse function of the linear model above was derived. For each angular velocity the model is able to produce more than one set of input signals (amplitude and frequency), this is a problem that has to be taken into account when deriving the inverse function.

Since the highest frequencies give the lowest speed, it makes sense to use the highest frequency for all low velocities. When increasing the velocity the ampli-tude is also increased for this specific frequency until the maximum ampliampli-tude is reached. To keep increasing the velocity, the frequency is lowered one step and the amplitude corresponding to the wanted velocity is calculated. The process is then repeated until the point when the maximum speed is reached from the highest amplitude of the lowest frequency. These mentioned calculations provides the inverse function, and the procedure is illustrated in Figure 4.6.

(32)

20 Model

Figure 4.5. The velocity as a function of amplitude and frequency. Different colours

represents different datasets collected from the same motor. The black line is the linear approximation derived from the dataset.

Figure 4.6. Illustration of how amplitudes and frequencies are chosen for specific wanted

(33)

4.5 Model Validation 21

Figure 4.7. The velocity model was validated by running the motor with input signals,

amplitude and frequency, calculated from the inverse model. The resulting angular ve-locity from this test was found to follow the wanted speed used to calculate input signals, which indicates that the model is sufficiently accurate.

4.5

Model Validation

To validate the model, input signals were calculated from the inverse model for linearly increasing values of desired speeds. The motor was then run with these input signals and the measured speed of the motor was compared to the wanted speed from which the input signals were calculated. The measured speed values turned out to correlate well with the model speed values, therefore the model seems accurate in determining the speed of the motor.

The resulting measured speed of the motor together with the control signals are presented in figure 4.7. It can be seen that the speed of the motor increases linearly but with noise, as was expected.

4.6

Investigation of possible use of open loop

con-trol

To evaluate the possibility for open loop control of the motors, a test was performed where the motors were set to rotate in one direction for a fixed set of time and then run in the reverse direction using the same set of control signals. This back and forth motion was repeated several times and the resulting movement can be seen in Figure 4.8. The first thing to notice is that the motor seems to drift, which

(34)

22 Model

Figure 4.8. Investigation of open loop control for the motor. The motor was run back

and forth using the same set of control signals for a fixed time interval. Notice the drift in angular position of the motor, indicating that the speed of the motor differs between the two running directions.

indicates that the motor moves at different speeds in the different directions when using the same set of control signals. This should be taken into account when constructing a control system and it might be useful to derive different control or model parameters for the different directions. The second thing to notice, though harder to see without zooming in on the figure, is the variations in how far the motor moves during the speed steps in the same direction. In these rapid changing tests the results could differ a little more than a degree per flank, each flank lasting for 0.5 seconds. The calculated standard deviation while moving in the positive direction from the tests were about 0.3 degrees, which compared to the travelled distance represents a 0.5 percent deviation per flank, or about 1 percent deviation per second. This test was only performed for a single set of control signals to provide an indication of the open accuracy of the motors, and it is possible that the motor behaves either better or worse under other working conditions. Previous work indicate that the performance of the motors vary with temperature and time, likely making a feedback signal of some kind needed for most practical applications.

(35)

Chapter 5

Control System

The purpose of the control system is to control the position of the motor and to make sure that the motors move to the new position in a controlled fashion. As previously stated the characteristics of these motors make them suitable for positioning systems with high demands on position accuracy. In this chapter the function of the implemented control system is described.

5.1

Implementation

The control system basically consists of two parts, one inner speed control loop and one outer position control loop. The position control provides the input signals for the speed control and the speed control provides the control signals to the motor. In Figure 5.1 the control loops are depicted.

The position control attains the wanted position of the motor from the user as an input signal. This position is compared to the current position of the motor and the difference is used to decide which wanted speed to send to the speed control. If the motor is far away from the wanted position, the wanted speed is set to a high value, and if the motor is close to the wanted position, the wanted speed is set to a low value. The low speed value will make the speed control enter a stepping mode, which is described below. Whenever the wanted position for the motor is reached, the wanted speed is set to zero and the motor is stopped.

Figure 5.1. The inner speed control loop and the outer position control loop of the

control system

(36)

24 Control System

Algorithm 2 Position Control Algorithm

endPositionReached = value determining if wanted position is reached speedLimit = value determining what speed is to be used

———————————————————————————————–

while | wantedPosition - currentPosition | > endPositionReached do if | wantedPosition - currentPosition | > speedLimit then

wantedSpeed = high

else

wantedSpeed = low (stepping mode)

end if end while

Algorithm 3 Speed Control Algorithm if wantedSpeed = high then

error = wantedSpeed - currentSpeed

newSpeed = currentSpeed + (P × error) + (I × errorIntegral) errorIntegral = errorIntegral + (error × sampleTime)

signalsToUSM = InverseModel(newSpeed)

else

signalsToUSM = SteppingMode()

end if

The speed control loop uses the inverse model function derived in Section 4.4 to calculate the control signals for the motor. A PI controller will generally be used to make sure the motor reaches the wanted speed. For values of wanted speeds lower than the lowest measurable speed, it is no longer possible to use a feedback control, instead the speed control enters a stepping mode. In this mode the control signals are set to fixed values for a short time interval, making the motor accelerate, then the amplitude is set to zero for a short time interval, making the motor decelerate. This process is repeated, and the motor attains a very low speed by moving forward in short steps, allowing for good precision in the final position of the motor.

(37)

Chapter 6

Validation of the control

system

To make sure that the control system was working as expected the system was run through a few tests to validate its function. In this chapter it is described how the validation was done for the system and how the results of the validation turned out.

6.1

Method and Result of Validation

In this thesis, it was of importance that the final control system managed good accuracy in positioning. The system contains two elements that must be validated. First, the accuracy of the system when it comes to position control. Second, that the system has a functional speed control. Note that no demands has been given on how good the system need to perform apart from "as good as possible".

The first part was examined by simply giving the system a new wanted position. Then it was validated by comparing the wanted position to the final position given by the measuring equipment used. It turned out that the exact wanted position was reached in every test, this might indicate the fact that the position can be controlled more accurately than the equipment can measure. The equipment has an accuracy of 0.1 degrees, which can be considered a good accuracy for this position control system. Hence the position control can be considered validated.

The second part, the speed control, was validated by running the motor with a constant wanted speed, then applying a non-constant braking force to the motor and examining the behavior of the control output signals. If the speed control is operating as expected, the system should try to maintain the wanted speed by varying the control output signals to keep a constant speed. The result of this test can be seen in Figure 6.1, where the speed of the motor, the input amplitude and the input frequency are plotted. Here the wanted speed was set to 60 degrees/s and was kept constant during the application of braking forces. The areas where the braking forces were applied can clearly be distinguished by

(38)

26 Validation of the control system

Figure 6.1. Motor run with active speed control. During the time intervals 15 seconds

to 22 seconds and 39 seconds to 59 seconds the motor was affected by a constant but noisy breaking force. During the affected intervals the speed shows large variations, but the control system manages to keep the average speed around the intended target.

observing the changes in the behavior of the control signals. It can be seen that in general the amplitude is increased and the frequency lowered which indicates that the speed control attempts to counter the effects of the braking forces to maintain the wanted speed. This shows that the speed control is working as expected but in the particular test case shown in Figure 6.1 it seems to be too difficult to cancel all effects of the braking forces. One reason could be that the braking force applied were too strong and too varying.

(39)

Chapter 7

Results

The result of this master thesis is an assembled driveline and implemented software. The driveline is capable of delivering two sinusoidal driving voltages to a USM. The voltages have a peak value of 64 volts. The implemented software includes the control algorithm, the method used for generating sinus waves and processing of input and output data such position and speed calculations.

A static linear model of the motor’s angular velocity was derived using data collected from tests using various sets of control signals. This linear model turned out to be quite a good approximation of the average velocity.

The results of the control algorithms performance are, as validated in Section 6, an accuracy in positioning of the motor of 0.1 degrees. This position control is achieved in combination with a rough speed control capable of keeping a close to constant mean value of the velocity.

(40)
(41)

Chapter 8

Discussion

This chapter is divided into two sections discussing the work. In section 8.1, conclusions from the results are presented and discussed. Things that can be improved or further investigated and developed are described in Section 8.2.

8.1

Conclusions

We have shown that it is possible to create a simple speed control system using the linear model derived in Chapter 4. We have also shown that this speed control combined with a stepping functionality can be used to create a very accurate positioning system. We consider the accuracy of 0.1 degrees in positioning a good result and since the measuring of this value was limited by the resolution of the encoder used it is possible that the accuracy is even better than the presented value. Since the design of this control system is simple, it is likely that this can be further improved by either tweaking the parameters or testing more advanced methods. A focus in this project has been to keep the algorithms simple to make it easy to implement in the small hardware that might be used in a commercial product.

The speed control algorithm has a lot of room for improvements, this because the PI parameters are not yet properly calibrated. A reason for choosing not tweaking the parameters further was that the focus was on positioning and with the current setup we had already achieved good results. A better tuning of the speed control might lead to better and faster positioning control.

The difference in behavior between the motors can be due to differences from production, but it might also be that the motors have been set with different loads on the spring forcing the rotor down to the stator. This load can be altered by adjusting a screw on the motor. To test the robustness of the control system, some motors were run with systems derived for other motors, as in without model parameters calibrated for the running motor. During the tests the motors behaved very similar to when run with more optimal parameters as long as the top speed was adapted to the top speed of the running motors.

(42)

30 Discussion

It was noticed throughout the thesis work that the speed of the motors when run with constant input signals was, to us, surprisingly noisy and varied a lot. We had no indication that this would be the case from having read previous work on the subject. The characteristics of the noise varied between the different motors, but it was generaly of a very high frequency. Investigating the control signals, entering the motor, using an oscilloscope showed that they had the expected be-havior, and so this noise was probably not caused by strange input signals. A reason for the noise could be asymmetries in the motors, for example that the surface of the stator or rotor was not smooth enough. The fact that we had to use gears to connect the motor to our encoder could very well contribute to the noise if the gears are slightly off balance or uncentered. Running the motors at low speed unconnected to the encoder, it was possible to visually see a slight variation in the speed of the motors, so the gears cannot be the only noise source. In an actual application the motor will operate with a higher load, which will dampen the effect of this speed noise by lowering acceleration in general.

8.2

Future Work

To continue this work the most important part to improve is the driving source. The driving voltage amplitude has to be higher than what was able to be used during the time period of this project. We only had the possibility to reach voltages as high as 64 V while it is likely the motor should be run with around 100 V.

One approach to improve the performance of the control system is to evaluate the other ways to design models for the motor and compare their validity to that of the linear model used in this thesis. There are possibilities that other models might be able to describe the dynamic behavior of the motors in a more accurate way. Consideration must still be taken to keeping the combined complexity of the control system to a level where it’s possible to implement in small microprocessors or FPGAs.

A complication using more physical models are that they require more knowl-edge about the motors. Examples of knowlknowl-edge missing in our case was mechanical data such as the dimensions of the USM, resonance frequencies, and optimal driv-ing voltages. The optimal frequencies were the only reliable data provided by the manufacturers.

Two examples of possible models are the ones described in Section 2.2 by Kandare and Wallashek [6] and using a black box model. A black box is a kind of model, or part of a model, which describe the relationship between input and output signals without taking the physical processes of the system into account [7]. Therefore data has to be collected and interpreted, this also gives knowledge about how the motor does function and how the output, the speed, react to different input signals.

Since it turned out that the behavior of the motors differ, each motor need individual parameter estimations for the linear model used in the control system. Because of this the hardware needs to be adaptable for each motor. This can be done either manually from test runs or by some sort of auto calibrating function.

(43)

8.2 Future Work 31

A suggestion on how such a function could be implemented is to run the motor for a set of different control parameters and measure the angular velocity of the motor. Using knowledge of the linear behavior with respect to amplitude and some sort of functional description of frequency, the parameter values can be estimated. Further investigations that can be made on the existing system is to study how well it can handle different load characteristic, and if this is not sufficient, adapt the system to handle these loads. One way to eventually make this improvement could be to study the general behavior of the motor under different loads.

Another desired functionality is to control the output torque. To be able to do this, a test rig able to measure the torque must first be designed. It might be an issue to find commercial products able to measure torque from motors of such a small size.

(44)
(45)

Bibliography

[1] G. Bal. A digitally controlled drive system for travelling-wave ultrasonic motor. Turk J Elec Engin, 11(3), 2003.

[2] E. Bekiroglu. Ultrasonic motors: Their models, drives, controls and applica-tions. J Electroceram, 20:277–286, 2008.

[3] A. Ferreira and P. Minotti. Review of affective computing. Control Engineer-ing Practice, 6:1–13, 1998.

[4] F. Giraud, B. Semaile, and J.T. Audren. Analysis and phase control of a piezo-electric travelling-wave ultrasonic motor for haptic stick application. IEEE Trans. Ind. Appl., 40(6):1541–1549, 2004.

[5] H. Hirata and S. Ueha. Design of a traveling wave type ultrasonic motor. IEEE Transactions on ultrasonics, ferroelectrics, and frequency control, 42(2):225– 231, 1995.

[6] G. Kandare and J. Wallashek. Derivation and validation of a mathemathical model for traveling wave ultrasonic motors. Smart Materials and Structures, 11(4):565–574, 2002.

[7] J. Maas, T. Shulte, and N. Fröhleke. Model-based control for ultrasonic motors. IEEE/ASME Transactions on Machatronics, 5(2), 2000.

[8] L. Petit, N. Rizet, R. Briot, and P. Gonnard. Frequency behaviour and speed control of piezomotors. Sensor and Actuators, 80:45–52, 2000.

[9] T. Senjyu, H. Miyazato, and Uezato K. Performance comparison of pi and adaptive controller for adjustable speed drives of ultrasonic motors. Proc. of IEEE International Confernece on Industrial Technology, pages 519–523, 1994.

[10] K. Uchino. Piezoelectric ultrasonic motors: overview. Smart Mater. Struct, 7:273–285, 1998.

(46)
(47)

Appendix A

Design of Test Platform

In this appendix pictures of the test platform design are presented. The test platform consists of a testcard with an fpga, a drivecard providing the needed voltages and the ultrasonic motor connected to an encoder.

Figure A.1. The complete test platform

(48)

36 Design of Test Platform

Figure A.2. The assembled drivecard

(49)

37

Figure A.4. Design of the encoder frame

Figure A.5. The encoder frame, the switch blade function is to be able to replace to

(50)

38 Design of Test Platform

(51)

Appendix B

Operating ranges for

different motors

In this appendix the operating ranges for five different motors can be studied. Within the light gray area the motor is able to startup and run. The motor still operates within the dark gray area, but if it is stopped there the operating point has to be moved back to the light gray area to resume operation.

Note that these plots are calculated from a single test run for each motor and therefore only are approximations of the real working area. The same test was repeated in order to determine that the presented operating ranges are realistic and representative.

(52)

40 Operating ranges for different motors

Figure B.1. Operating range for motor 1

(53)

41

Figure B.3. Operating range for motor 3

(54)

42 Operating ranges for different motors

(55)

Appendix C

The angular velocity for

different motors

In this appendix plots of the angular velocity for five different motors can be studied. The figures shows data from the amplitude tests, where the frequency was kept constant while the amplitude was varied. The velocity is plotted as a function of the amplitude for different sets of frequencies. Different sets are separated by colour. Notice that the velocity behaves like several linear, but noisy, functions for all motors.

Figure C.1. Angular velocity for motor 1

(56)

44 The angular velocity for different motors

Figure C.2. Angular velocity for motor 2

(57)

45

Figure C.4. Angular velocity for motor 4

References

Related documents

Annually, 7.5 million young people (15–24 years) are treated for an injury in European Union hospitals (European Association for Injury Prevention and Safety Promotion, 2013),

Anledningen till att filtrering och stabilisering avstås från är för att behålla mer doft- och smakaromer samt pigment för att vinet ska kunna vara mer orört (Suárez et al., 2007)

innehåller så få tillsatser som möjligt. Han beskriver att de har idéer om var och vad företaget ska vara, samt att de ”skjuter lite från höften”. När det gäller vision

Resultaten för mätpunkter längs flank 3 redovisas i tabell 6.3 och figur 6.5 (tersband) och figur 6.6 (smalband) med excitation av hammarapparat... Flankerande vägg står

Figure 20: Plot of measured and simulated water levels using a first order predictor with correction factor for submerged flow and parameters from October and November data

A model based Iterative Learning Control method applied to an industrial robot.. Mikael Norrl¨of and Svante Gunnarsson Department of

Figure 5.1: Temperatures and mode choice reference for the used evaluation cycle with the Simulink model and simplified control system. Fuel consumption [g/kWh] Emitted N O x

The result implies that instance segmentation using Mask r-cnn will not give better results when extracting building footprints using rendered images from a true ortho view of