Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Anti Sway Vassa

Download as pdf or txt
Download as pdf or txt
You are on page 1of 112

UNIVERSITY OF VAASA

FALCUTY OF TECHNOLOGY
TELECOMMUNICATIONS ENGINEERING

Vo Thanh Vinh

ANTI-SWAY ALGORITHM AND ITS IMPLEMENTATION FOR INDUSTRIAL


OVERHEAD AND GANTRY CRANES

Master’s Thesis for the degree of Master of Science in Technology submitted for inspection
in Vaasa, 1st, May, 2014.

Supervisor Professor Petri Helo.


Professor Mohammed Salem Elmusrati.
2

ACKNOWLEDGEMENT

I would like to specially express my gratitude to Professor Petri Helo for inaugurating,
leading and managing this project. Along the way, he has provided me with all the needed
helps, encouragements, technical advises and communications. Therefore, to him I am
grateful.

I would like to express my gratitude to Professor Mohammed Salem Elmusrati for giving
me wholehearted support and supervision to successfully complete my thesis. Especially,
the knowledge that I learnt from him during my education period serves as vital role to the
success of the project.

My special appreciation and thanks to Mr. Steve Ekstrom who has also been a leader of this
project. His knowledge and passion have been essential for the success of the project.

A special thank goes to Mr. Niklas Envall and Mr. Andreas Ek. Mr. Niklas Envall has been
the main engineer in designing and producing process of the anti-sway production board.
Mr. Andreas Ek has been responsible for installation and configuration of cranes. In
addition, they have always been invaluable source of knowledge for me to consult when I
am stuck with problems.

In addition, I would like to credit all members of the Telecommunication and Information
Technology Department in the University of Vaasa and Technobothnia Research Centre for
maintaining the high quality and comfortable, learning-oriented environment during my
period of education.

Vaasa, 1st September 2013

Vo Thanh Vinh
3

TABLE OF CONTENTS
ACKNOWLEDGEMENT ...................................................................................................... 2
1. INTRODUCTION ........................................................................................................ 10
1.1. Background ............................................................................................................ 10
1.2. Objective of the project .......................................................................................... 11
1.3. Overview of related works ..................................................................................... 13
1.3.1. Mechanical-based solutions............................................................................ 13
1.3.2. Sensorless solutions ........................................................................................ 16
1.3.3. Sensor based solutions .................................................................................... 16
1.3.4. Conclusion of previous works ........................................................................ 19
2. MODELING OF INDUSTRIAL CRANE AND ITS LOAD-SWAY PROBLEM ..... 21
2.1. Introduction to gantry and overhead crane ............................................................ 21
2.2. Physics model of crane .......................................................................................... 23
2.3. Observational frame of reference in crane physics model analysis ....................... 25
2.4. Sway analysis of moving cranes ............................................................................ 27
2.5. Conclusion ............................................................................................................. 32
3. ANTI-SWAY ALGORITHM....................................................................................... 33
3.1. Introduction and requirements of the anti-sway algorithm .................................... 33
3.2. Crane’s oscillation propositions............................................................................. 33
3.2.1. Oscillation when trolley has no acceleration .................................................. 33
3.2.2. Oscillation during trolley acceleration/deceleration ....................................... 34
3.2.3. Symmetric property of oscillation .................................................................. 36
3.3. Anti-sway algorithm mechanism ........................................................................... 37
3.3.1. Ramping up period ......................................................................................... 37
3.3.2. Ramping down ................................................................................................ 45
3.4. Anti-sway algorithm pseudo implementation ........................................................ 49
3.5. Conclusion ............................................................................................................. 53
4. ANTI-SWAY ALGORITHM SIMULATION ............................................................. 54
4.1. Introduction ............................................................................................................ 54
4

4.2. Simulation model ................................................................................................... 54


4.2.1. Simulation model configuration ..................................................................... 54
4.2.2. Without anti-sway algorithm simulation results............................................. 57
4.2.3. With anti-sway algorithm simulation results .................................................. 59
4.3. Conclusion ............................................................................................................. 60
5. ABB ACS800 MOTOR DRIVE AND MODBUS PROTOCOL................................. 61
5.1. Introduction to ABB ACS800 motor drive ............................................................ 61
5.2. Introduction to Modbus protocol ........................................................................... 63
5.2.1. Modbus function number 3 (Read Holding Registers)................................... 67
5.2.2. Modbus function number 16 (Preset Multiple Registers) .............................. 69
5.3. Modbus configuration for ACS800 ....................................................................... 70
5.4. Conclusion ............................................................................................................. 73
6. ARCHITECTURE OF ANTI-SWAY DEVICE .......................................................... 75
6.1. Introduction ............................................................................................................ 75
6.2. Architecture and connection diagrams................................................................... 75
6.3. Conclusion ............................................................................................................. 77
7. FIRST GENERATION PROTOTYPE WITH ARDUINO BOARD........................... 78
7.1. Introduction ............................................................................................................ 78
7.2. Arduino Duemilanove introduction ....................................................................... 78
7.3. ASM PTAM27 inclination sensor introduction ..................................................... 80
7.4. Kalman filter for inclination sensor ....................................................................... 81
7.4.1. Introduction .................................................................................................... 81
7.4.2. Kalman filter formulas.................................................................................... 82
7.4.3. Kalman model for anti-sway process ............................................................. 83
7.4.4. Kalman filter results ....................................................................................... 84
7.5. ST485 transceiver .................................................................................................. 87
7.6. Prototype board ...................................................................................................... 88
7.7. Testing results ........................................................................................................ 90
7.8. Conclusion ............................................................................................................. 91
5

8. SECOND GENERATION PROTOTYPE WITH DSPIC33F ..................................... 93


8.1. Introduction ............................................................................................................ 93
8.2. dsPIC33F Microcontroller Family ......................................................................... 93
8.3. ADIS16209 digital multi-purpose sensor .............................................................. 96
8.4. Remote pendant integration ................................................................................... 98
8.5. Second generation prototype board ..................................................................... 101
8.6. Production board .................................................................................................. 102
8.7. Conclusion and testing results ............................................................................. 104
9. CONCLUSION AND FUTURE WORK ................................................................... 107
REFERENCE ..................................................................................................................... 109
6

ABBREVIATIONS AND ACRONYMS

MCU Microcontroller Unit


CPU Central Processing Unit
FLC Fuzzy Logic Controller
RTU Remote Terminal Unit
CRC Cyclic Redundancy Check
PLC Programmable Logic Controller
STRT Start
STP Stop
DIR Direction
EXT External
REF Reference
ICSP In Circuit Serial Programming
ODFC Output-Delayed Feedback Control
PWM Pulse-Width Modulation
EEPROM Electrically Erasable Programmable Read-Only
Memory
SRAM Static Random-Access Memory
TTL Transistor–Transistor Logic
SPI Serial Peripheral Interface Bus
I2C Inter-Integrated Circuit
HTTP Hypertext Transfer Protocol
FTP File Transfer Protocol
TCP/IP Transmission Control Protocol / Internet Protocol
UART Universal Asynchronous Receiver/Transmitter
ADC Analog-To-Digital Converter
CW Clock-wise
USB Universal Serial Bus
7

PID Proportional-Integral-Derivative
FLC Fuzzy Logic Controller
8

SYMBOLS

Sway angle from pendulum’s equilibrium point at


time .
Maximum sway angle from pendulum’s equilibrium
point.
Period of oscillation.
g Local strength of gravity.
L Length of the rope that suspends the load of
pendulum.
m Weight of load (of pendulum).
Acceleration vector.
Velocity vector.
9

UNIVERSITY OF VAASA
Faculty of Technology
Author: Vo Thanh Vinh
Topic of the Thesis: Anti-Sway Algorithm And Its Implementation For
Industrial Overhead And Gantry Cranes
Name of the Supervisor: Professor Petri Helo
Professor Mohammed Salem Elmusrati
Degree: Master of Science in Technology.
Department: Department of Computer Science.
Degree Programme: Master's Programme in Communications and
Systems Engineering.
Major Subject: Telecommunication Engineering
Year of Entering the University: 2011
Year of Completing the Thesis: 2014 Pages: 112

Abstract:

In today’s market, due to stiff competition, manufacturers must continuously seek for
innovation to increase productivity. One potential area of innovation is improving crane
operations. Typically, cranes are used in manufacturing or maintenance processes, where
productivity and safety are considered as most important requirements. Load swinging
during crane’s movement is considered as most severe problem affecting ability to operate
crane efficiently .Production queue delay can be greatly reduced if crane sway control is
implemented properly.

In this paper, the crane load sway phenomenon is modeled and analyzed in depth. As the
result, a new solution to suppress load sway is proposed. In contrast with various existing
anti-sway solutions, our solution is easy to deploy, fast to converge and independent with
load weight as well as crane’s rope length. Moreover, the solution is also very affordable
and suitable for most of existing motor drive models .The solution is theoretically verified
by simulation with software physics engine. Lastly, several anti-sway hardware prototypes
were developed and tested against a real overhead crane in factory. The proposed anti-sway
algorithm has been proven to be very effective in minimizing load sway to increase speed
and reliability in crane operation.

Keywords:
Overhead Crane, Load Sway, Anti-sway, Kalman Filter, Modbus, Inclination Sensor,
dsPIC33F, ABB ACS800, Arduino, ASM PTAM27, ADIS16029, ST485, Box2D.
10

1. INTRODUCTION

1.1. Background

Nowadays, cranes are very popular equipment in factories. They are part of everyday work
to move heavy objects between production lines. Cranes can be found in metal factories,
car industries, loading and unloading ships, machinery factories….In many cases, the
efficiency of production is decided by how fast load-moving operation is. Therefore, many
factory-owners have been investing money and effort in order to improve the safety,
consistency and velocity of their cranes.

There are many problems associated with improving the operation of cranes .However, the
sway of load carried by crane during movement has always been the most classical and
challenging problem in crane movement. Heavy-load sway can cause serious damage in
property and human injury if accident happens. Without the help of anti-sway solutions,
crane operators need to control crane based solely in feeling, observation and experience.
Workers need to have certain level of expertise and experience to be qualified to control
cranes. Anti-sway solutions can vastly reduce the risk of accidents and improve speed as
well as reliability of crane operation. Workers with basic training can operate crane safely
with the help of anti-sway algorithm.

In this thesis, I will focus on developing and analyzing an innovative solution to counter
sway when operating an industrial overhead or gantry crane. The solution is promised to be
effective and inexpensive in term of implementation, integration and maintenance.
Moreover, since we are developing systems for industrial environment, there is certain level
of robustness we need to fulfill such as: dust, water, electrical noise, wide range of
temperature… These standard requirements are also taken into account when designing the
solution.

In addition, because of the option of replacing the old motor drive with newer one is often
too expensive and complicated to be considered by factory-owner, the proposing anti-sway
11

solution will be convenient and simple to be able to integrate with not only modern cranes
but also legacy crane systems. In fact, the solution is designed as a plug-in system for
existing cranes. By using plug-in design, the solution can support various crane vendors
and can be highly customizable and extendable. At the end of the thesis, some extended
possibilities of the solution will be introduced to readers.

1.2. Objective of the project

The thesis will mainly focus on developing an inexpensive, effective and convenient
solution for minimize the effect of load sway in industrial crane operation. This project,
apart from promoting academic knowledge gained from my education, has practical impact
to production’s efficiency and safety if it is applied successfully. Manual controlling of the
crane can be replaced with computer-aided system to improve speed and reliability. Target
of the project is to fulfill following requirements:

 Develop effective algorithm to reduce load sway of cranes.


 Simulate the system using physics engines.
 Build a working prototype including hardware and software to demonstrate the
concept.
 Testing of prototype with actual crane.

Phần này là giới thiệu project, cách mà cần trục được sử dụng trong nhà máy,
nơi sản xuất hay các cảng. Mục đích chính của project là thiết kế hệ thống
anti-sway thay vì phải thay thế động cơ (với chi phí cao) nhằm đảm bảo tính an
toàn, hiệu quả và ổn định.

Bài luận này sẽ đi theo các phần sau:


- Xây dựng lý thuyết điều khiển.
- Mô phỏng hệ thông bằng động cơ vật lý.
- Xây dựng bản thử (project) để thử nghiệm phần cứng và phần mềm để chứng
minh concept.
- Thử nghiệm hệ thống anti-sway với cần trục thực tế.
12

Figure 1. Use case without anti-sway device.

Figure 2. Use case with anti-sway device.

The anti-sway module will act as a plug-in to existing crane system as demonstrated by the
user cases in Figure 2. The module will be integrated with motor drive and remote
controller to listen and modify speed command for the motor via motor drive to reduce the
sway effect during operation.
13

The thesis will be presented in following structure:

 Overview of related works.


 Modeling of industrial crane and its load-sway problem.
 Detailed requirements of the anti-sway module.
 Detailed anti-sway algorithm is proposed and analyzed.
 Simulation of algorithm is implemented by computer using physic engines to
demonstrate its effectiveness.
 Conceptual hardware design.
 Test case implementation of software and hardware for crane with ABB ACS800
drive.
 Test results are presented. Sử dụng cơ cấu
cơ khí, sensor và
 Future work and possibilities. phương pháp
điều khiển
1.3. Overview of related works

There has been significant research effort on minimizing sway effect of cranes. As a result,
there is wide range of solutions using various mechanical structures, sensor inputs and
controlling methods to address the problem. Popular existing anti-sway solutions will be
examined in this session.

1.3.1. Mechanical-based solutions Phương pháp cơ khí

In this type of solution, additional mechanical structure was installed to the crane to
maximize the damping effect of crane’s oscillation.

Sử dụng cấu trúc cơ khí để giảm sử giao động cần trục


14

One example solution is to install a small auxiliary mass to the spreader of the crane in
combination with closed loop system such as controller (GB. Kang et al.., 2003) or gain
scheduling controller (Dong Kyu Kim et al., 2005).

Figure 3. Crane with additional auxiliary mass (GB. Kang et al.., 2003:2).
In above solution, a rather complex auxiliary structure was required to be installed to the
spreader. The installation of the auxiliary mass is not always possible for all types of
hook/spreader. Moreover, spring damping effect is very slowly convergent. As the result,
sway effect is killed off slowly. In Figure 4 and Figure 5, it takes approximately 10 seconds
to stabilize the load. Moreover, he crane can’t be stopped effectively without a long delay
because of slow convergence. Lastly, system parameters depend on load mass and rope
length measurements which are usually vary from operation to operation.

Các cơ cấu cơ khí (ở đây là tải phụ) không phải lúc nào cũng khả thi cho tất
cả các móc/ các gắp xếp dỡ. Trong các nghiên cứu trước đây, giao động
khác phục bằng tải phụ tác động rất chậm (hình 4 và 5 phía dưới trong
nghiên cứu trước đây mất sấp xỉ 10s để ổn định tải). Do đó, cần trục ở các
nghiên cứu trên không thể dừng một cách hiệu quả nếu thiếu thời gian delay
dài vì sự hội tụ chậm (hình 4 và 5). Thêm vào đó, thông số hệ thống phụ
thuộc vào tính toán tải phụ và chiều dài dây rất ít được áp dụng khi thực
hiện từ lần hoạt động này sang lần hoạt động khác.
15

Figure 4. Displacement of moving mass (GB. Kang et al.., 2003:4).

Figure 5. Displacement of moving mass (Dong Kyu Kim et al., 2005:5)


16

Phương pháp không dùng sensor


1.3.2. Sensorless solutions Cụ thể là phương pháp điều khiển thanh mảnh

The main advantage of sensorless solutions is easy configuration which requires no


additional hardware or structure to be installed. However, this type of solution has many
disadvantages:

 Slow convergence of oscillation. This problem will cause crane movement to be


instable and stopping process will be slow as well.
 Adaptability of the system to inconstant system parameters such as rope length and
load weight. The controller requires an estimation of system parameters to
effectively model the system. Parameters such as rope length and load weight can
change greatly and they are not very easy to measure in real system.

Input Shaping Controllers (Neil Singer et al., 1997) is an example solution that requires no
sensor to minimize swinging effect. This is among most popular methods to control cranes.
However, the system greatly depends on rope length parameter and it is also slowly
convergent.
Ưu: Không cần thêm thiết bị
phần cứng.
PP điều khiển thanh Nhược:
mảnh (input shapping) là - Chậm hội tụ giao động.
pp đk không yêu cầu - Không phù hợp với các hệ
sensor để giảm thiểu giao thống có thông số thay đổi.
động tác động. Một trong Vì bộ điều khiển cần ước
những phương pháp phổ lượng thông số để cho ra
biến nhưng phụ thuộc model hiệu quả. Thông số
vào chiều dài dây và nó dây và tải có thể thay đổi rất
cũng chậm hội tụ (hình lớn và chúng thường không
6). dễ để đo đạc.

Figure 6. Measured Peak-to-Peak Oscillation (Neil Singer et al., 1997:5).

1.3.3. Sensor based solutions


17

Sensor-based solution consists of a sensor system and a closed-loop controller to stabilize


crane. Popular sensor systems include: vision system - camera with image processing
software (K. S. Hong et al., 2004; Hideki Kawai et al., 2009), acceleration sensor (Ki-Ru
Park et al., 2010) or inclination sensor (Y. S. Kim et al., 2004). Among these, vision system
is very expensive and difficult to maintain. Moreover, vision system doesn’t work well
under certain conditions such as rainy days or dusty environment. Therefore, vision system
is considered to be the least effective sensor system. Popular controllers which are used
along with sensor feedback are listed as follow:

 Nonlinear controllers: Nonlinear coupling controller (Y. Fang et al., 2003), Second-
order sliding-mode controller (G. Bartonlini et al., 2002), Output-Delayed
Feedback Control (Rajeeb Dey et al., 2010), Fuzzy Controller (Shu-jiang Li et al.,
2005). pp sử dụng
sensor và điều
khiển vòng kín
(closed-loop).
-> vision system:
Camera +
software
= Đắt + ảnh
hưởng bởi môi
trường.
-> cảm biến gia
tốc, cảm biến độ
nghiêng
= Sử dụng điều
khiển phi tuyến,
fuzzy, Second-
order sliding,
Output delay
feedback

Figure 7. Results for the gantry kinetic energy coupling control law (Y. Fang et al.,2003).
18

Figure 8. Result for second-order sliding-mode control (G. Bartonlini et al., 2002).

Figure 9. Result for Output-Delayed Feedback (Rajeeb Dey, 2010:4).


Non-linear controller convergence speed has been improved in comparison with other types
of controllers. However, it still takes some oscillation circles to reach its convergent state.

Điều khiển phi tuyến tốc độ hội tụ cải thiện nhưng vẫn còn một ít giao
động để đạt tới trạng thái hội tụ
19
Điều khiển tuyến tính: PID Chống nhiễu ngoài tốt và thay đổi thông số hệ thống. Tuy nhiên
vẫn có nhược điểm của chậm hôị tụ.

 Linear controllers. PID-based is the most popular in this controller category, PID
controller is very robust against external disturbance factors and changes of system
parameters. However, it still has the disadvantage of slow convergence.

Figure 10. PD type Fuzzy Logic Controller (M.A. Ahmad, 2009).

Figure 11. Sway angle of the hoisting rope response with PD-type FLC (M.A. Ahmad,
2009).

1.3.4. Conclusion of previous works


20

In this section, popular controlling methods of crane has been briefly described and
analyzed. Major problem of these controlling methods is that they take a long period of
time to achieve the convergence - stable system without sway. Some solutions have been
proven to be expensive, difficult to maintain and not reliable under some conditions (bad
weather, dusty environment …). In addition to those disadvantages, most of previous
solutions depend heavily on system parameters which are not always constant and easy to
measure. Therefore, the target of this thesis project is to address those disadvantages and
propose an inexpensive, maintainable, stable and most importantly, fast convergence.
21

2. MODELING OF INDUSTRIAL CRANE AND ITS LOAD-SWAY PROBLEM

2.1. Introduction to gantry and overhead crane

Overhead crane is the type of cranes consists of: parallel runways, crane bridge connecting
runways, hoist for lifting. As a result, overhead cranes can move load in 3 dimensions: up
and down, along the runways and along the bridge. This type of crane is very popular inside
factories due to its multi-directional movement ability.

Figure 12. Crane structure (Baoding Weyou Technology Company, EOT Crane).
22

Gantry crane is very similar to overhead crane. However, it does not have the parallel
runways which restrict the movement in 2 directions: up and down, along the bridge.
Gantry cranes are very popular outside manufacturing factories.

The movement of cranes is enabled by motors. Motors are controlled by motor drive, also
known as motor controller or frequency converter. Motor drive can control speed,
acceleration, torque and various other attributes of a motor.
23

Figure 13. Different types of overhead and gantry crane (U.S. Department of Energy, 2007.
DOE Standard Hoisting and Rigging).

2.2. Physics model of crane


24
Mô hình vật lý tải trên cần trục miểu tả bằng chuyện động con lắc di chuyển với
1 điểm pivot

Moving crane with heavy load can be modeled as a pendulum with movable pivot point.

Figure 14. Moving crane physics model.


For small swing amplitude, we have following formulas for pendulum:

 Harmonic oscillation formula:


Phương trình giao động con lắc đơn theo ly độ góc theo thời gian
(2.1)

is the sway angle from pendulum’s equilibrium point at time .


 Approximated formula of oscillation period can be expressed as:
Chu kì giao động con lắc
(2.2)

is the period of oscillation.


L is the length of the rope that suspends the load.
g is the local strength of gravity.
is the maximum sway angle from pendulum’s equilibrium point.
Công thức trên không thực tế để giả sử điều kiện của góc giao động tối đa trong
25 thức xấp xỉ theo chu kì trên không phù
quá trình di chuyển cần trục. Do đó công
hợp cho cần trục.
Tuy nhiên cần trục vẫn có các đặc tính riêng đối xứng với công thức con lắc giúp
khai thác giải quyết vấn đề giao động.
Although above formula is standard for theoretical pendulum, it is not realistic to
assume the condition of maximum swinging angle is met during crane’s movement.
Therefore, approximated formula of oscillation period is not applicable for crane.

However, the crane still possesses symmetric oscillation properties of the standard
pendulum which we will exploit to solve the swinging problem of the crane.

Chứng minh
khẳng định trên
Figure 15. Symmetric oscillation of pendulum.
The symmetric oscillation property can be demonstrated with following examples (with
reference to above figure):

 Time to oscillate from A to B will be same as from B to A.


 Time to oscillate from A to C will be same as from A to D, or from D to A, or
from C to A.
 Time to oscillate from C to B will be same as from B to C.

Those are some typical examples to demonstrate symmetric oscillation property of


crane models.

2.3. Observational frame of reference in crane physics model analysis Hệ quy chiếu vật lý
26

Sử dụng cần cầu trục làm hệ tham chiếu. Chiều dương từ t > p.

Throughout the analysis of crane’s physics model, we will use crane’s hoist as
observational frame of reference. It means that we will observe the swinging phenomenon
of the crane as if we are attached to the crane’s hoist. Moreover, positive direction of
coordinate system will be from left to right.

Figure 16. Observational frame of reference attached to the hoist and positive direction is
from left to right.
The swinging phenomenon is actually the movement of the load in reference to the hoist.
Therefore, the choice of using the hoist as reference coordinate system is logical.

It is worth noticing that: if the hoist is accelerating with acceleration and we are using the
hoist as observational frame, the load will look as if it suffers from a force from our
observational frame of reference (David Morin, 2008: 457 – 500).

Hiện tượng lắc liên quan tới sử di chuyển của hoist (phần di chuyển). Do đó
chọn hoist là hệ tọa độ tham chiếu là logic.

Vì vậy phải chú ý rằng, khi hoist di chuyển với gia tốc vector a và dùng hoist
làm hệ quan sát thì tải sẽ chịu 1 lực từ a là f = -m(a->). Tham khảo David Morin
2008: 457 - 500. Xem hình 17
27

Quy ước

Figure 17. Observational frame of reference attached to the hoist.


The convention in which observational frame of reference is attached to crane’s hoist will
be used throughout this paper.

2.4. Sway analysis of moving cranes

The crane movement is divided into three separated periods:

 Ramping up period: during this period the motor will accelerate according to
acceleration parameter configured in motor drive.
 Constant speed period: after ramping up period, the motor will reach maximum
speed configured in motor drive. The motor will be kept at constant maximum
speed until user decides to stop the movement.
 Ramping down period: this is stopping period of the crane. The crane speed
will be decelerated according to deceleration parameter configured in motor
drive.
28

Figure 18. Speed diagram during crane’s movement (taken from ABB ACS800 motor
drive).

At beginning, let’s assume that the load is at its normal equilibrium position as follow:
29

Figure 19. Crane at equilibrium position.


The load sway is initiated during the ramping up period.

B
B

Figure 20. Crane during acceleration.

During ramping up period (with acceleration ), the equilibrium position is changed


from A to B as above. As the result, crane’s load will start to oscillate around new
equilibrium point B (with maximum angle ) during ramping up period.

Suppose that at the end of the ramping-up period (at the beginning of constant speed
period), the load is at C position like in the figure below:

Gỉa sử ban đầu cần trục đang ở điểm cân bằng (không giao động). Trong quá trình
gia tốc (RAMPING UP) (với gia tốc a > 0) vị trí cân bằng thay đổi từ A -> B.
Kết quả là tải
sẽ bắt đầu giao động quanh điểm cân bằng mới là B (với góc tối đa là telta1/0).
30

Figure 21. Load sway after acceleration.


Within the constant speed period ( ), the equilibrium position is changed back to A. At
C, the load has velocity resulted from ramping-up period’s oscillation. Therefore the load
will oscillate at even greater amplitude around A. As a result, the load will oscillate around
A with maximum angle for the rest of constant speed period.

Suppose that at the end of the constant speed period the load is at F position like the figure
below:

Kết thúc quá trình gia tốc, động cơ sẽ chạy ổn định với a = 0. Tại khi
bắt đầu quá trình này, tải ở điểm C sau đó sẽ quay về điểm cân bằng A. Vì vẫn
còn vẫn tốc từ quá trình ramping-up, khi quay về A thậm chí sẽ giao động mạnh
hơn. Do đó góc dao động quanh 1 góc với biên độ tối đa
là một góc telta 2/0 (độ lớn = góc từ C-A).
31

Figure 22. Load sway during deceleration.

In the ramping down period (with acceleration ), the equilibrium point is now E in
figure above. The load, at the end of constant speed period is at F with certain velocity. As
a result, during ramping down period, the load is oscillating around E with amplified
maximum angle .

Suppose that at the end of the ramping down period, the load is at G position with certain
velocity like in the figure below:

Trong quá trình giảm tốc (ramping-down), vector gia tốc a < 0, điểm
cân bằng bây giờ là E. Khi kết thúc quá trình constant speed, tải
tại F sẽ có 1 vận tốc cố định. Kết quả là trong quá trình giảm tốc,
tải giao động quanh E với góc tối đa telta 3/0.
32

Khi dừng lại, vị trí con lắc lại trở về A và giao động quanh nó với 1 góc là
telta 4/0. Qúa trình lắc gây ra bởi sử thay đổi vị trí cân bằng. Thêm vào đó,
biên độ dao động phóng đại khi thay đổi trạng thái chuyển động.

Figure 23. Load sway after deceleration.


When the crane is stopped, the pendulum‘s equilibrium position is once again changed back
to A. At the end, the load will oscillate around A position with maximum angle .

In brief, during all periods of crane’s movement, swing happens as the result of changing
equilibrium position. Moreover, swing amplitude is magnified when crane is switching
from one state to another (ramp-up  constant speed  ramp-down).

2.5. Conclusion

In this chapter, overhead crane as well as gantry crane were introduced and compared with
each other. Both mentioned types of crane are affected by load swinging problem during
operation. In order to analyze swinging problem, physics model of crane is presented based
on a standard pendulum. However, small swing pendulum’s calculations are not applicable
to our crane model because it is not feasible to assume small swing during crane’s
movement. At the end, the analysis of crane motion demonstrates how swing happens and
how swing amplitude is amplified during movement’s process.
Để phân tích bài toán lắc lư, mô hình vật lý của cần trục được trình bày dựa trên
trên một con lắc chuẩn. Tuy nhiên, các tính toán của con lắc xích đu nhỏ không
áp dụng được đối với mô hình cần trục của chúng tôi vì không khả thi nếu giả sử
dao động nhỏ trong quá trình sự chuyển động
33

3. ANTI-SWAY ALGORITHM

3.1. Introduction and requirements of the anti-sway algorithm

The algorithm was developed in order to minimize swing of load for crane movement under
the control of operator.

Algorithm‘s requirements are listed as follow:

 The speed control commands must be simple so that motor drive can perform
effectively.
 The algorithm needs to take into account that crane might be carrying heavy load
that it is not possible to change speed very frequently.

 Approximated formula such as is not applicable because small swing

is not guaranteed.
 Rope’s length and load’s weight are not available for algorithm because we want
algorithm to be able to perform well with variable load’s weight and rope’s length.
 All motor drive’s parameters are available to algorithm to utilize such as: current
measurement of speed, speed settings (such as: step speed, max speed, min speed,
etc), digital IOs, …
 Algorithm can send start/stop/set speed command to motor drive.
 The inclination (or angle) of the crane’s rope will be made available for no-swing
algorithm by a sensor.
 The algorithm will be implemented using microcontroller.

3.2. Crane’s oscillation propositions

3.2.1. Oscillation when trolley has no acceleration

Giao động khi con lăn di chuyển với vận tốc không đổi
34

At normal condition (the trolley has no speed or constant speed), a pendulum will oscillate
around the equilibrium position as following figure due to gravity:

Tại điều kiện bình thường (v=0 hoặc a = 0), con lắc dao động quanh vị
trí cân bằng bởi ngoại lực.

Figure 24. Crane oscillation during stable situation.


This condition is named as stable situation.

3.2.2. Oscillation during trolley acceleration/deceleration

In the situation which the trolley is accelerating with acceleration of , if we are taking the
trolley as observational frame of reference (which basically means we are standing on the
trolley), we will see the load swinging around another equilibrium position( named B in the
figure) as follow:
Con lăn là hệ tọa độ thì con lắc sẽ dao động quanh điểm cân bằng
B như hình dưới.
35

Figure 25. Crane oscillation during acceleration situation.


Moreover, if at beginning of the acceleration process, the load has no oscillation and
velocity, the lowest point (named A in above figure) and highest point (named C in above
figure) are positions (maximum angle positions). As a result, velocity at A, and
velocity at C, during oscillation period around B.
Let’s name this accelerating situation. If we apply this with a=0, we will have situation
described in “3.2.1. Oscillation when trolley has no acceleration”, in which the trolley is
moving at constant speed.
Same argument is applied for deceleration situation:

Tại thời điểm bắt đầu gia tốc, a và v = 0, điểm A là điểm thấp nhất
C là cao nhất, đồng thời tại 2 vị trí này thì v = 0 và chúng dao động
quanh B trong quá trình gia tốc.

Và nếu con lăn di chuyển với v = constant thì a = 0, chúng ta sẽ được


trạng thái ổn định của con lắc. Tương tự với trường hợp giảm tốc.
36

Figure 26. Crane oscillation during deceleration situation.

3.2.3. Symmetric property of oscillation

Oscillation is a function of sine or cosine. As a result, oscillation is a symmetric movement


between two random positions. (Randall D. Knight, 2012: 378–406).

Dao động là theo sin hoặc cos, do đó thời gian từ 2 điểm biên qua lại với nhau
là bằng nhau.
37

Figure 27. Symmetric oscillation around point B.


Therefore we will have following facts:
 Time taken to travel from ABD will be same as DBA
 Time taken to travel from ABDCD will be same as DCDBA.
 Velocity at certain position does not depend on moving direction. For example:
velocity at point B when load is moving to the left is the same at velocity at point B
when load is moving to the right.

In other words, time taken for travelling from one point to another is independent of
moving direction during symmetric oscillation.

3.3. Anti-sway algorithm mechanism

3.3.1. Ramping up period


38

Based on theoretical analysis, following speed control pattern is proposed in order to reduce
swing when ramping up.

Figure 28. Speed control during ramping-up.

Do đó cần có pha v = constant để trong quá trình giảm tốc con lắc đưa về vị trí cân
bằng
39

Figure 29. ABB ACS800 ramping-up.


The above figure shows the process when the motor is accelerating (ramping up). Motor
deceleration (ramping down) will be controlled in same manner.

In this control pattern, we have three time marks: .

 From 0 to : motor will accelerate/ramp-up from 0 to half of target speed. The


speed that the crane will achieve during constant speed period is called target speed.
 From to : motor will keep constant speed.
 From to : motor will accelerate/ramp-up to target speed.

The first period from 0 to is trivial. The algorithm will send a start command and set
speed to half of target speed in motor drive. Then motor drive will ramp up its motor
according to pre-defined acceleration parameter.

Qúa trình ramping-up chia ra 3 giai đoạn.


- t0 - t1: đạt 1/2 speed target.
- t2 - t3: di chuyển với v = constant để hạn chế lắc, thời gian phụ thuộc
vào thuật toán.
- t1-t2: đạt full speed target.
40

The third period from to is very similar to first period mentioned above. The
algorithm will set speed to full target speed in motor drive. Then motor drive will ramp up
its motor according to pre-defined acceleration parameter.

The critical period is from to , the second period of the whole ramping-up process. In
fact, the algorithm is all about deciding how long this period should be to effectively
prevent oscillation/swing.

From 0 to , the load will oscillate around point B with A and C as positions (maximum
angle positions). (Refer to “3.2.2. Oscillation during trolley acceleration/deceleration”).

Figure 30. Oscillation around equilibrium point B during acceleration.

Let’s suppose at , our load is at point D in the following figure:


41

Vào thời điểm t1, giả sử con lắc tại vị trí A, lúc này sau t1 với a = 0, v = constant. Con lắc quay
về A sau đó lại quay về D

Figure 31. Load is at random position point D during acceleration.


After , the motor will be kept running at constant speed. The load with its current speed
will now oscillate around point A (refer to “3.2.1. Oscillation when trolley has no
acceleration”). The load will go up a bit more and return to D with exactly same speed in
reversed direction (refer to “3.2.3. Symmetric property of oscillation”). At the moment
when the load is moving back to D again in reversed direction like following figure:
42

Figure 32. Load is at position point D again (in reverse direction).


Right at this moment ( ), the motor drive‘s speed parameter will be set to full target
speed. The motor will be ramped up to target speed.

When the crane reaches target speed ( ), the load will be exactly at point A with zero
velocity.

Tại thời điểm t3 (cuối quá trình constant speed), con lắc sẽ tại vị trí A. Explain is below.
43

Figure 33. Load at position point A with zero velocity.

How do we know at , the load will be at A? Because average acceleration is constant,


we have: . (Time to accelerate from 0 to half of target speed is same as
time to accelerate from half of target speed to full target speed).

(3.1)
v = v0 + at which v0 = 0 at t0 = 0

is duration of period.

is change of speed.

is acceleration.

While oscillating around B, it takes to travel from AD, so DA will take same time
( . Moreover, from to , the load is oscillating around B with A as (maximum
angle). Therefore, at A, velocity will equal zero (At maximum angle, oscillation has no
speed).

At when the load is at A with zero speed, the crane will move with constant target speed.
It means that the load oscillate around A (refer to “3.2.1. Oscillation when trolley has no
acceleration”) with both initial position and speed are zero. As the result, after , all
oscillation is killed.
44

Notes:

At , the position of the load can be like following figure where the load has already
reached C and it is going back towards A.

Figure 34. Load at position point D and going towards A (positive speed).
Then we need to keep the motor running at half of target speed until the load reaches D
position in reversed direction again like following figure:

Figure 35. Load at position D and going towards C (negative speed).


45

When oscillating around B, time needs to travel ABCD ( ) will be same as


DCBA ( ).Therefore, at , the load will end up being at A with zero speed.
Finally, after , all the oscillation will be killed.

In short, if at the load is at a particular point D, the motor will be kept running under
constant speed (half of target speed) until the load is at D again in reversed direction ( ).
After that the crane will be accelerated up to target speed ( ). Then, constant target speed
is used for the rest of the movement. At the result of holding period (from to ), the
oscillation will be fully eliminated during constant speed period.

3.3.2. Ramping down

Figure 36. Anti-sway speed control.


46

Figure 37.ABB ACS800 ramping-down.

The same principle is applied to ramp down / decelerate crane. After ramping up period
(from 0 to ), all the oscillation is eliminated during constant speed period (from to ).
Therefore, the situation right before is:
47

Figure 38. Crane with no oscillation before deceleration period.

Right before , the oscillation’s equilibrium position is A and there is no oscillation. At ,


the speed parameter in motor drive is set to half of target speed. It causes the ramping down
of motor speed. Because of deceleration , the equilibrium position is shifted to B as
follow:
48

Figure 39. New equilibrium position point B during deceleration.


Because of the shift of equilibrium position, the load starts to oscillate around B with
maximum angle ( ) at A and C. Suppose that the situation at is as follow:

Figure 40. Load is at random position point D during deceleration.


49

At , the load is at D with certain velocity . After , motor is kept at constant speed (half
of target speed). As a result, oscillation’s equilibrium position is shifted back to A.
Algorithm will wait until the load returns back to D with same velocity and in reversed
direction as follow:

Figure 41. Load is at point D again (in reverse direction).


Right at above situation ( ), algorithm sets speed parameter in motor drive to 0. The
motor, then, will ramp down directly to zero in speed. During to , the oscillation
happens around equilibrium position B, with A as maximum angle.

According to formula, we can derive because we have same


deceleration rate and change of speed during these periods. While oscillating around B, it
takes ( ) to travel from ABD, hence it will also take ( ) to travel from
DBA. As a result, at , the load is exactly at A (maximum angle position) with zero
velocity, . After , the crane is stopped and no more oscillation is generated
anymore. In other words, crane stops stably with no oscillation.

3.4. Anti-sway algorithm pseudo implementation


50

Let’s denote that:

 is swing direction at time . can either be 1 (swing in positive


direction) or -1(swing in negative direction).
 is vertical angle of the load at time .
 is crane’s velocity at time .
 is crane’s target speed.

The algorithm’s logic is presented step by step as follow:

 At t = 0, the algorithm will set motor’s speed reference to and start motor.

Motor will ramp up.


 The algorithm will constantly poll actual speed value from motor drive. When

actual speed reaches , this moment is . It means . Algorithm

reads from inclination sensor.


 The algorithm will constantly poll until following two conditions is
satisfied :
- . This formula means the load is moving in opposite direction
with .
- . This
formula means the load is approaching with very small difference or the
load has already moved past
51

Figure 42. Crane oscillation variables.

If above two formulas are satisfied, the moment is . The algorithm will set speed
reference in motor drive to causing motor to ramp up to full target speed.

 The algorithm waits until crane’s operator presses button to stop the crane ( ).
 At , the algorithm will set motor’s speed reference to . Motor will ramp

down from full speed .


 The algorithm will constantly poll actual speed value from motor drive. When

actual speed reaches , this moment is . It means . Algorithm

reads from inclination sensor.


 The algorithm will constantly poll until following two conditions is
satisfied :
- . This formula means the load is moving in opposite direction
with .
- . This
formula means the load is approaching with very small difference or the
load has already moved past Notice that this formula is exactly same as
the formula for ramping up period.
52

 If above two formulas are satisfied, the moment is . The algorithm will set speed
reference in motor drive to 0 causing motor to ramp down to zero speed.
53

3.5. Conclusion

In this chapter, physics model of crane has been introduced and analyzed. Crane’s hoist was
chosen as observational frame of reference. Based on selected frame of reference, a detailed
explanation of swinging phenomenon was presented. In normal crane’s operation, swinging
of crane is amplified during all periods of crane’s movement: ramping up, constant speed
and ramping down. In order to minimize swaying of crane, anti-sway algorithm was
developed and proven using theoretical physics laws. Motor drive’s parameters and
inclination sensor’s values are served as inputs for anti-sway algorithm. In next chapter,
simulation tool will be used to simulate algorithm’s behaviors as well as its effectiveness.
54

4. ANTI-SWAY ALGORITHM SIMULATION

4.1. Introduction

After drafting anti-sway algorithm on paper, there is a need to simulate the algorithm in
order to study its behaviors and prove its effectiveness. Some of the most robust physics
frameworks have been evaluated including Bullet Physics Library, ODE (Open Dynamics
Engine), Newton Game Dynamics and Box2D. Finally, Box2D has been chosen as a
simulation framework to examine the performance of the algorithm.

The advantages of Box2D include:

 Using portable C++.


 Modern software design and algorithm.
 Large community support.
 Proven effectiveness through various games such as Angry Birds, Caelum, Crayon
Physics, iPhysics, etc.
 Having a good test-bed to support writing experimental models.

In fact, the Box2D engine is so good that it became de facto standard for 2D graphic games
nowadays. It has been ported to various languages such as .NET, Java, JavaScript, Flash,
etc.

4.2. Simulation model

4.2.1. Simulation model configuration

In order to simulate crane’s physics model in Box2D, following Box2D model is used.
55

Figure 43. Box2D Physics model.

Box2D model consists of:


 A very long crane bridge with no friction. In reality, the friction with crane’s bridge
is compensated by motor drive. Therefore, we are not considering friction in this
simulation.
 A very heavy trolley so that the sway of load doesn’t affect the movement of trolley.
This is same as crane’s behavior where the motor drive keeps the trolley moving
steadily regardless of swinging load. Oscillation of the load will have very little
impact on the trolley velocity thanks to mechanical binding between the trolley and
the bridge. Moreover, modern motor drive‘s torque control technology also
contributes in reducing effect of load swinging on the trolley
 A load.
 A distance join between load and trolley.
The final Box2D model is built as follow
56

Figure 44. Crane model in Box2D.

By using above settings, different periods during crane’s movement can be simulated as
follow:

 Ramping up period : a constant positive force is applied to trolley so that the trolley
is accelerated with a constant acceleration
 Constant speed period: when the trolley reaches target speed, the trolley is released
from the force and it moves steadily during this period.
 Ramping down period: a constant negative force is applied to trolley until it stops.
The Box2D is constructed with parameters defined as in following figure
57

Figure 45. Box2D sample model of crane.

4.2.2. Without anti-sway algorithm simulation results

In case of normal operation (without anti-sway algorithm), the results of simulation are as
follow
58

0
0 1.02 2.04 3.06 4.08 5.1 6.12 7.14 8.16 9.18 10.2 11.22 12.24 13.26 14.28 15.3
-1

-2
Time (sec)

Velocity Sway (radian)

Figure 46. Simulated result in Box2D without anti-sway algorithm (1).

-1
Time (sec)

Velocity Sway (radian)

Figure 47. Simulated result in Box2D without anti-sway algorithm (2).


59

The sway matches well with our theory in 2.4:

 During ramp up period: Sway only happens in negative side.


 During constant speed period: Sway happens symmetrically in both negative and
positive sides. Sway’s magnitude is amplified in comparison with ramping up
period.
 During ramping down: Sway happens much greater in positive side. Sway’s
magnitude is amplified in comparison with prior periods.
 Stop: Sway happens symmetrically in both negative and positive sides. Sway’s
magnitude is amplified in comparison with prior periods.

4.2.3. With anti-sway algorithm simulation results

The simulation results with the usage of anti-sway algorithm are as follow

10

0
0 1.02 2.04 3.06 4.08 5.1 6.12 7.14 8.16
-2
Time (sec)

Velocity Sway (radian)

Figure 48. Simulated result in Box2D with anti-sway algorithm (1).


60

-1
Time (sec)

Velocity Sway (radian)

Figure 49. Simulated result in Box2D with anti-sway algorithm (2).

From above simulation result charts, the effectiveness of anti-sway algorithm has been
clearly displayed. The sway only happens during ramping up and down periods. During
constant speed and fully stop periods, the sway is minimized to almost zero.

4.3. Conclusion

In this chapter, Box2D physics engine is utilized to simulate crane behaviors during normal
operation (without anti-sway algorithm) and enhanced operation (with anti-sway
algorithm). Theories in chapter 2 and 3 have been proven to be correct and effective in
killing load sway during crane movement. With the usage of anti-sway algorithm, the sway
is minimized to almost zero during constant speed and full stop period.
61

5. ABB ACS800 MOTOR DRIVE AND MODBUS PROTOCOL

5.1. Introduction to ABB ACS800 motor drive

Based on theoretical foundation built in previous sections of this paper, the prototype is
planned to test the concept of anti-sway on a real crane. Motor drive is a device used
variable-frequency technique to control the speed of AC motors. The ABB ACS800 motor
drive was selected as the target to test the concept because of its availability. We have a test
rack of ACS800 for testing in the laboratory and a real crane controlled by ACS800 in a
construction material factory which we can borrow during summer vacation period.

Figure 50. ACS800 test rack


62

In Figure 43, area marked with number 1 is the ABB ACS800 motor drive. Area marked
with number 2 is control board with digital and analog IOs. Lastly, area marked with
number 3 is the motor to be controlled.

ABB Group (www.abb.com) is the largest and most innovative motor drive manufacturer
nowadays. ABB provides customers with scalable motor control in all ranges of
application. ABB drives are bundled with advanced drive technologies and algorithms.
Moreover, ABB drive can be extended with optional module such as RTAC (Pulse Encoder
Interface Module), RMBA (Modbus Adapter Module), RDCO (DDCS Communication
Option Modules)…

The ACS800 Single Drive which belongs to the High Performance Drives group will be
our target of implementation and analysis. The ACS-800 includes Start-up Assistant,
Adaptive Programming and DTC-Direct Torque Control. Moreover, it is equipped with an
optional module RMBA-01(Modbus Adapter Module) which enables the drive control
through Modbus RTU RS-485 protocol.

The ACS800 can be connected to a computer via optical fiber cable, NDPA-02 DDCS/PC
Card and DriveWindow software. All motor and motor drive parameters can be seen in
DriveWindow software. DriveWindow can be used to read, monitor and set value for
parameters. Parameters can be used to completely control all features of motor drive such
as: start, stop, set maximum speeds, current speed, ramp-up time, ramp-down time, read
digital inputs, etc... More details of these parameters can be found in chapter “Actual
signals and parameters” (ABB Group, Firmware Manual ACS800 Standard Control
Program 7.x)
63

Figure 51. Screenshot of ABB DriveWindow software.

5.2. Introduction to Modbus protocol

Modbus is a serial communication protocol initially developed by Modicon to enable


communication with Modicon’s programmable logic controller (PLCs). Later in 1979,
Modicon published Modbus as open communication protocol. After that, Modbus has been
adapted and developed by many industrial equipment producers. Nowadays, it is one of the
most popularly supported protocols among industrial electronic devices. Currently, the
Modbus Organization is holding the responsibility to develop Modbus standards and
provide support worldwide. (http://modbus.org/)

Some of the reasons behind Modbus’s popularity are:


 Its focus on industrial applications and devices.
 Open protocol, no licensing fee to use and develop.
64

 Its simplicity, robustness and vendor-independence.


 Easy deployment: most of the communication channel can implement Modbus
protocol, including wireless, twisted pair line, Ethernet, fiber optics...
Modbus employs a master-slaves design over serial communication technique. In a Modbus
network, there is only one single master which can communicate with many slaves. The
number of slaves in a network can be up to 247 slaves. Every slave has its unique
identification number within a network to identify itself. The communication is always
initiated by the master; the master can send command/query to slaves to instruct slaves
‘actions or acquire measurement values. The slaves only can reply to the master’s
commands.

Figure 52. Modbus master-slave communication.

Modbus is asynchronous and does not define the physical interface. Popular physical
interfaces for Modbus includes RS-232 and RS-485.

Modbus protocol can be enabled for ACS800 by using ABB’s RMBA-01 (Modbus Adapter
Module). RMBA module only supports Modbus RTU (Remote Terminal Unit) over
galvanically-isolated serial RS-485. Therefore, our discussion of Modbus protocol will
focus on Modbus RTU over RS-485.
65

Most important specification details of RMBA-01 module are listed as follow (User’s
Manual Modbus Adapter Module RMBA-01, 2002:30-31).

 Size of the link: 247 stations including repeaters (31 stations and 1 repeater per
segment).
 Medium: Shielded, twisted pair RS485 cable.
 Termination: built in, active type.
 Maximum Bus Length: 1200 m.
 Topology: Multi-drop.
 Serial communication type: Asynchronous, half duplex.
 Transfer rate: 600, 1200, 2400, 4800, 9600, 19200 bit/s.
 Protocol: Modbus RTU.
66

Figure 53. RMBA-01 module layout (ABB Group, 2002:14. User’s Manual Modbus
Adapter Module RMBA-01).
67

Figure 54. Modbus Adapter Module installed on ACS800’s control panel (area marked in
red rectangular).

Within the scope of anti-sway application, not all functions of Modbus are used. Only two
following functions of Modbus are used and implemented:

 Function number 3: Read Holding Registers. This function is used to read multiple
consecutive parameters from the drive.
 Function number 16: Preset Multiple Registers. This function is used to write
multiple consecutive parameters to the drive.

5.2.1. Modbus function number 3 (Read Holding Registers)

Modbus RTU works only with 2 byte parameters. Therefore, after read holding register
query is sent successfully from Modbus master, the corresponding slave will send back
values of requested parameters using 2 byte format.
68

Query frame format

Table 1. Modbus function number 3 query frame.

Name Length Function


Start 3.5 characters idle At least 3,5 character times of silence

Address 8 bits Slave address

Function 8 bits Function code(in this case 0x03)

Register address 16 bits The data address of the first register requested
starts from 40001.
Register count 16 bits The total number of registers requested.

CRC 16 bits The CRC (cyclic redundancy check)

End 3.5 characters idle At least 3,5 character times of silence

Reply frame format

Table 2. Modbus function number 3 reply frame.

Name Length Function


Start 3.5 characters idle At least 3,5 character times of silence

Address 8 bits Slave address

Function 8 bits Function code(in this case 0x03)

Data byte count 8 bits The number of data bytes to follow


69

Register values Length is the Values of requested parameters. 2 bytes/


value of data byte parameter.
count.
CRC 16 bits The CRC (cyclic redundancy check)

End 3.5 characters idle At least 3,5 character times of silence

5.2.2. Modbus function number 16 (Preset Multiple Registers)

The Modbus master will request slave to change its parameter values by using function
number 16 (Preset multiple registers). Parameter value is represented as 2 bytes per each.

Query frame format

Table 3. Modbus function number 16 query frame.

Name Length Function


Start 3.5 characters idle At least 3,5 character times of silence

Address 8 bits Slave address

Function 8 bits Function code(in this case 0x10)

Register address 16 bits The data address of the first register starts
from 40001.
Register count 16 bits The number of registers to write.

Data byte count 8 bits The number of data bytes to follow

Register values Length is the value Values of parameters to write. 2 bytes/


of data byte count. parameter.
70

CRC 16 bits The CRC (cyclic redundancy check)

End 3.5 characters idle At least 3,5 character times of silence

Reply frame format

Table 4. Modbus function number 16 query frame.

Name Length Function


Start 3.5 characters idle At least 3,5 character times of silence

Address 8 bits Slave address

Function 8 bits Function code(in this case 0x10)

Register address 16 bits The data address of the first register starts
from 40001.
Register count 16 bits The number of registers written.

CRC 16 bits The CRC (cyclic redundancy check)

End 3.5 characters idle At least 3,5 character times of silence

5.3. Modbus configuration for ACS800

In order to enable RMBA to control ACS800 using EXT1(external 1) channel, following


parameters need to be modified from DriveWindow:

Table 5. Modbus configuration for ABB ACS800.

Parameter Parameter name Parameter Value Value


code description Description
71

10.01 EXT1 Defines the COMM.CW Fieldbus


STRT/STP/DIR connections and the Control Word.
source of the start,
stop and direction
commands for
external control
location 1 (EXT1).
10.03 REF Enables the control REQUEST Direction of
DIRECTION of rotation direction rotation control
of the motor, or fixes allowed
the direction.
11.02 EXT1/EXT2 Defines the source EXT1 EXT1 active
SELECT from which the drive
reads the signal that
selects between
the two external
control locations,
EXT1 or EXT2.
11.03 EXT REF1 Selects the signal COMM. REF Fieldbus
SELECT source for external reference
reference REF1 REF1
12.01 CONST Activates the NOT SEL No constant
SPEED SEL constant speeds or speeds in use
selects the activation
signal.
30.18 COMM FLT Selects how the NO Protection is
FUNC drive reacts in a inactive.
fieldbus
communication
72

break, i.e. when the


drive fails to receive
the Main Reference
Data Set or the
Auxiliary Reference
Data Set.
16.01 RUN ENABLE Sets the Run Enable YES Run Enable
signal on, or selects signal is on.
a source for the
external Run Enable
signal. If Run Enable
signal is switched
off, the drive will
not start or stops if it
is
running
52.01 STATION Defines the address 1 Currently, only
NUMBER of the device. Two one drive is
units with the same supported by
address are not anti-sway
allowed on-line. master device
52.02 BAUDRATE Defines the transfer 19200 19200 bit/s
rate of the link.
52.03 PARITY Defines the use of NONE1STOPBIT No parity bit,
parity and stop one stop bit
bit(s). The same
setting must be used
in all
on-line stations.
73

98.02 COMM. Activates the STD MODBUS The drive


MODULE external serial communicates

LINK communication and with a Modbus


controller via
selects the interface
the Modbus
Adapter
Module
(RMBA) in
option slot 1 of
the drive
More details of ACS800’s parameters can be found in chapter “Actual signals and
parameters” (ABB Group, Firmware Manual ACS800 Standard Control Program 7.x)

5.4. Conclusion

The ABB ACS800 motor drive is chosen as our first target to verify the concept of anti-
sway on a crane. Moreover, among many others, Modbus was selected as a standard
communication protocol to communicate between anti-sway device and motor drive.
Modbus is a ubiquitous protocol for industrial devices. Thus, anti-sway device has ability to
extend support to other vendors such as: Vacon, Kone, etc.

Among many Modbus’s functions, function number 16 (Preset multiple registers) and
function number 3 (Read Holding Registers) are presented in details. The anti-sway device
will utilize these Modbus functions to communicate with motor drives. Modbus
configuration for ACS800 is also demonstrated in this chapter.

Via Modbus protocol, it is possible to:

 Send commands to the drive (Stop, Run, Run Enable, etc).


 Set motor speed or torque reference.
 Read motor’s status and actual measurement values from the drive.
 Read/set parameters.
74

 Reset fault.

Above possibilities allow us to implement anti-sway solution for ABB ACS800 motor
drive.
75

6. ARCHITECTURE OF ANTI-SWAY DEVICE

6.1. Introduction

In this section, the architecture overview of anti-sway device will be presented. Moreover,
connections between different parts of the system are illustrated. As a result, readers will
have a broad picture of how the final device will look like after going through this chapter.

6.2. Architecture and connection diagrams

A minimal anti-sway device will consist of following hardware components:

 A central MCU (Microcontroller Unit) that run anti-sway algorithm and


communicate with motor drive via Modbus.
 A RS-485 transceiver to receive and transmit Modbus RS-485 signal.
 An inclination sensor mounted to crane’s rope to measure the angle. The inclination
sensor is mounted to the static part of the crane ropes.

Separated software modules are also required:

 Modbus driver: to communicate from MCU and motor drive.


 Anti-sway algorithm as presented in chapter 3 of this paper.
 Kalman filter to smoothen and correct measurement from inclination sensor.
76

Figure 55. Block diagram of anti-sway device.

Figure 56. System connections.


77

Figure 57. Static part of crane's rope.


The inclination sensor must be attached to the static part of the crane.

6.3. Conclusion

The block and connection diagrams have been demonstrated within this chapter. Generally,
for a minimal anti-sway device, three essential hardware parts are required: central MCU,
RS-485 transceiver and inclination sensor. Similarly, three separate software modules are
also required: Modbus driver, anti-sway algorithm and Kalman filter. With the combination
of software and hardware parts, anti-sway prototype device will be built and tested in
coming chapters.
78

7. FIRST GENERATION PROTOTYPE WITH ARDUINO BOARD

7.1. Introduction

This is a very early prototype implementation of the device. The main purpose is to verify
the concept of anti-sway algorithm before developing any further. The microcontroller will
be the central processing unit which contains the anti-sway algorithm and communicate
with motor drive via Modbus and acquiring measurement data from inclination sensor. We
started with an Arduino Duemilanove board which is very inexpensive, fast and easy to
build the prototype.

7.2. Arduino Duemilanove introduction

Arduino is an open-source electronics prototyping platform. Arduino Duemilanove is a


microcontroller board based on ATmega168 or ATmega328. The hardware is packed with
following capacity:

 14 digital input/output pins (of which 6 can be used as PWM outputs).


 6 analog inputs.
 16 MHz crystal oscillator.
 A USB connection, a power jack, an ICSP (In-circuit serial programming) header,
and a reset button.

Table 6. Arduino Duemilanove features.

Microcontroller ATmega168

Operating Voltage 5V

Input Voltage
7-12V
(recommended)
Input Voltage (limits) 6-20V

Digital I/O Pins 14 (of which 6 provide PWM output)


79

Analog Input Pins 6

DC Current per I/O Pin 40 mA

DC Current for 3.3V Pin 50 mA

16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB


Flash Memory
used by bootloader.

SRAM 1 KB (ATmega168) or 2 KB (ATmega328)

EEPROM 512 bytes (ATmega168) or 1 KB (ATmega328)

Clock Speed 16 MHz

Figure 58. Arduino Duemilanove.

Arduino board is also shipped with standard IDE (Integrated Development Environment)
based on Wiring (http://wiring.org.co/). Arduino developer can write AVR code in a
C/C++-derived language called Wiring. Therefore, the algorithm code which was used in
Box2D simulation environment can be quickly ported to Arduino.
80

7.3. ASM PTAM27 inclination sensor introduction

The selected inclination sensor for this first generation prototype is ASM PTAM27-1-180-
U6-CW-T0.1-KAB2M produced by ASM - Automation, Sensors, and Measurement GmbH
(http://www.asm-sensor.com/). The sensor provides linear analog output, wear free, high
resolution, small delay and high shock resistance capabilities.

Most important properties of this sensor are listed in following table.

Table 7. ASM PTAM27 features.

Property name Property value Description


Protection class IP67  Totally protected against dust.
 Protected against the effect of
immersion between 15cm and 1m.
Output/Excitation U6 Voltage 0.5 ... 4.5 V / UB
= 5 V DC ±5%
Number of axes 1 Inclination in X axis (mounting X)
Measurement range ±1°... ±180° in 1°
increments
Resolution 0.1°
Linearity 1 axis : ±0.5°
(≤±75°), ±1° (>7±5°)
Material Plastic
Connection KAB2M Cable 5 x 0.25 mm2, standard length 2 m
Characteristic CW Increasing signal for CW (clock-wise) inclination
Output delay T0.1 Delay 0.1 second
Shock (non- EN60068-2-27:1993 100 g/11 ms, 100 shocks
operational)
Vibration (non- EN60068-2-6:1995 20 g/10 Hz-2 kHz, 10 cycles
operational)
81

Figure 59. PTAM27 inclination sensor (ASM GmbH, 2012. PTAM27 Universal MEMS
Inclination Sensor with Analog Output).

According to the specification, this is one of the best inclination analog sensors available at
present. More details of ASM PTAM27 sensor can be found in “PTAM27 Universal
MEMS Inclination Sensor with Analog Output” (ASM GmbH, 2012).

7.4. Kalman filter for inclination sensor

7.4.1. Introduction

With the usage of inclination sensor, it is required to have Kalman filter to address noisy
measurements. The noisy data is fed to Kalman filter and less noisy data is returned by
Kalman algorithm.

“The Kalman filter is a set of mathematical equations that provides an efficient


computational (recursive) means to estimate the state of a process, in a way that minimizes
the mean of the squared error. The filter is very powerful in several aspects: it supports
estimations of past, present, and even future states, and it can do so even when the precise
nature of the modeled system is unknown.” (G. Welch and G. Bishop, 2004).
82

Our process can be considered similar as sloshing in which the measurement is oscillating
in form of sin wave. This is a non linear process which normally requires using extended
Kalman filter to model the process correctly. However, in this prototype, we can avoid the
complexity and slowness of extended Kalman filter in embedded system by relaxing
original Kalman model.

7.4.2. Kalman filter formulas

Discrete Kalman formulas are represented as follows:

Predict

(7.1)
(7.2)
Update

(7.3)
(7.4)
(7.5)
Where

.
83

Subscripts are as follows: k current step, k – 1 previous step.

Superscript is as follows: ‘–‘ is intermediate step.

(Greg Welch and Gary Bishop, 2006).

7.4.3. Kalman model for anti-sway process

A simple 2–D Kalman filter is implemented to correct noisy angle measurement from
inclination sensor. Our relaxed model is built as follow (constant-velocity particle model):

Where

and are sway angle at time and respectively.

is angular velocity ( ).

As a result, the continuous state-space equations are as follow:

With and

 Discrete state transition matrix is

. (Control variables are 0).


84

We cannot measure angular velocity, therefore our measurement is:

Where z is the noisy angle measurement from sensor.

We assumed that noise only caused by the swinging motion (angular velocity noise).
Therefore, the continuous process variant matrix can be represented as:

As a result, we have the discrete Q matrix (Dah-Jing Jwo, 2007:6):

. (Random initial value for state variance).

R=1. (Error from PTAM27 specification).

. (Control variables are 0).

q = 0.8.

. (Sampling rate).

7.4.4. Kalman filter results

The testing results of the Kalman filter are displayed in following graphs.
85

Figure 60.Kalman filter testing result (1).


In the following graph, the swing direction is also displayed in green color. The max level
of the green line means swing direction is positive. Otherwise, swing direction is negative.

Figure 61. Kalman filter testing result (2).


According to above graphs, it is clearly shown that the noisy measurement values have
been smoothened along the way. The implemented Kalman filter is able to detect and
correct noises, abnormal jumps in measured values. Moreover, the direction of the
swinging is detected more accurately based on corrected values.
86

However, Kalman filter is based on floating point mathematic operations. According to


Loughborough Sound Images (1997), using floating point arithmetic can cause overhead
ranges between a factor of 10 and 500 in comparison with fixed-point arithmetic. Since, our
Kalman filter will run in fast circle to update and estimate sensor values, floating point
arithmetic can potentially hurt performance of the application. Therefore, Kalman filter was
improved with the introduction of Q16 fixed-point format to represent floating point
numbers.

Figure 62. Kalman filter update takes 192 microseconds with floating point arithmetic.
87

Figure 63.Kalman filter update takes 88 microseconds with Q16 fixed point arithmetic.
As the result, we can see a big improvement in performance of Kalman filter. Time taken
with Q16 fixed point algorithm was reduced to less than 43% of floating point algorithm
time.

Accurate measurement of angle and direction is top-priority in anti-sway algorithm.


Therefore, the successful implementation of fast Kalman filter certainly improves the
effectiveness and accuracy of anti-sway algorithm.

7.5. ST485 transceiver

ST485 is a low-power transceiver of RS-485 and RS-422 signals from ST Electronics


(http://www.stee.stengg.com/).
88

Figure 64. ST485 pin configuration.

Pin description

Table 8. Pin configuration of ST485.

Pin number Symbol Name and function


1 RO Receiver Output
2 Receiver Output Enable
3 DE Driver Output Enable
4 DI Driver Input
5 GND Ground
6 A Non-inverting Receiver
Input and Non-inverting
Driver Output
7 B Inverting Receiver Input and
Inverting Driver Output
8 Supply Voltage

ST485 employs TTL (Transistor–transistor logic) logic level (5 V ±10%).

7.6. Prototype board


89

The connection of the prototype looks as follow

Figure 65. Anti-sway prototype with Arduino.

Prototype design and functionalities:

Button 2 is used to switch on initial communication establishment with the drive. After
turning button 1 to ON (switch to the right) for 5 seconds, the motor should be at the
READY_TO_GO state. Currently, only right switch of this button is connected.

Button 1 is used to START/STOP the motor. Right switch is used to start the motor. On the
other hand, motor stops if the left switch is ON.

R1, R2, R3 and R4 are pull-up resistors for buttons. Typical value for pull-up resister is 10
KOhm.
90

ST485 chip is used to convert RS485 signal from Modbus RTU of motor drive to UART of
Arduino.

R5 is used to reduce the current flowing in the sensor by connecting it in parallel with the
sensor. The maximum current of ASM PTAM27-1-180-U6-CW-T0.1-KAB2M is only 20
mA, while the output current of the Arduino is 40mA.

Figure 66. Actual picture of anti-sway Arduino-based prototype.

7.7. Testing results

After the board is set-up and tested against the ACS800 test rack, the board is taken to the
factory to test with real ACS800 crane. Inclination sensor is mounted to crane’s wire rope
91

and connected to our Arduino board. Then, our Arduino board is connected to ACS800 via
Modbus cable. Although we only managed to borrow the crane and arrange testing session
in four days, the final results show really promising result of the described anti-sway
algorithm. The board was able to start, stop and modify crane’s speed properly. Moreover,
the anti-sway algorithm has been able to reduce swinging significantly.

During testing session, some videos have been captured to demonstrate the effectiveness of
anti-sway algorithm.

 Video when the operator is operating crane normally(without anti-sway board)


https://www.youtube.com/watch?v=T8GPoLyKeX4
 Video when the operator is operating crane with help of anti-sway algorithm
https://www.youtube.com/watch?v=JDQ6FlAgZ60

In the video, the crane was carrying a very heavy hook which weights around 1 ton. The
anti-sway board was kept on the ground for debugging purposes. Therefore, the crane can
only move maximum approximately 20 meter distance because of the connection between
the anti-sway board and the inclination sensor.

In the first video where the operator is performing the crane movement normally, the
oscillation matches really well with our theory in 2.4. The oscillation always happens and it
is amplified during crane’s movement. At destination position, the crane swings heavily.

In the second video where the operator is performing the same crane movement via buttons
on anti-sway board, the oscillation does not exist during crane movement. The hook travels
smoothly when the crane reaches maximum speed. At destination, the crane stops quietly
with almost no sway. There was very small sway caused by the rotation of the hook around
its gravity center.

7.8. Conclusion

The anti-sway prototype board’s hardware is introduced in this chapter. A Kalman filter
was also implemented to minimize noise from inclination sensor’s measurement. Moreover,
92

testing results of anti-sway prototype board with real crane are described to prove the
efficiency of anti-sway algorithm. The algorithm implementation was capable of
minimizing dramatically the sway of crane during its movement.

However, some hardware defects are detected during testing sessions:

 Using TTL analog sensor in factory results in much noise because of electrostatic
generated from metals.
 Using TTL analog sensor with long distance cable also results in much noise.
 Using TTL analog sensor can be slow as the micro-controller needs to perform
DAC (digital-to-analog converter).

Overall, the analog sensor will be replaced by a new sensor in next prototype because it is
the most important hardware for anti-sway algorithm.

Summarily, by using a relatively inexpensive and available hardware, the first generation
anti-sway prototype has been built and proven to be effective in cancelling crane’s sway.
93

8. SECOND GENERATION PROTOTYPE WITH DSPIC33F

8.1. Introduction

The second generation design of the device is created based on testing results of the first
generation anti-sway prototype. The second generation prototype will be very similar to
final production product. The design improvements will include:

 dsPIC33F Microcontroller Family from Microchip Technology is selected as new


MCU for the board.
 ADIS16209 from Analog Devices, Inc is selected as our new inclination sensor
superseding previous noisy analog sensor.

The purposes of these improvements include:

 Giving developers more control over the board.


 Boosting performance and precision.
 Protecting signals against noise.
 Adding new functionality to the board in addition to original anti-sway feature.

8.2. dsPIC33F Microcontroller Family

dsPIC33F MCUs from Microchip Technology belong to high-performance 16-bit digital


signal controller family. The dsPIC33F MCU is equipped with Digital Signal Processing
(DSP) capacity. As a result, the dsPIC33F MCU can provide very high computation and
throughput capacities.

“A Digital Signal Controller (DSC) is a single-chip, embedded controller that seamlessly


integrates the control attributes of a Microcontroller (MCU) with the computation and
throughput capabilities of a Digital Signal Processor (DSP) in a single core.”(Microchip
Technology, dsPIC® Digital Signal Controllers The Best of Both Worlds, 2005).
94

Figure 67. dsPIC33F Performance vs. Price chart (Microchip Technology, 2005. dsPIC®
Digital Signal Controllers the Best of Both Worlds).

dsPIC33F distinguished features:

 Maximum CPU Speed: 40 million instructions per second (MIPS).


 Operating temperature: (-40° to 85° C).
 8 channel DMA.
 Up to 85 programmable digital I/O pins. Programmable pins make the hardware
design much simpler. Every programmable pin can be assigned different
functionality (UART, analog IO, digital IO, SPI, etc…). In another words, pin
functionality is defined by software.
 Built-in Internal RC Oscillator.
 Dedicated I²C module.
 Multiple protocol supports: UART, SPI, I2C, CAN, PMP (Parallel Master Port)
Parallel Port.

(Microchip Technology, 2006. dsPIC33F Family Data Sheet).


95

Following dsPIC33F MCUs have been tested during the project:

 dspic33FJ128MC802 which is 28-pin version of dsPIC33F family.


 dsPIC33FJ64MC804 which is 44-pin version of dsPIC33F family.

Figure 68. dsPIC33FJ128MC802 (Microchip Technology.dsPIC33FJ32MC302/304,


dsPIC33FJ64MCX02/X04 and dsPIC33FJ128MCX02/X04).
96

Figure 69. dsPIC33FJ64MC804 (Microchip Technology. dsPIC33FJ32MC302/304,


dsPIC33FJ64MCX02/X04 and dsPIC33FJ128MCX02/X04).

Both tested MCUs have shown great flexibilities and computational capacities. Especially,
by using programmable pin feature, the same software can run in both mentioned MCU
without any changes.

8.3. ADIS16209 digital multi-purpose sensor

ADIS16209 from Analog Devices is high accuracy, dual-axis digital inclinometer and
accelerometer. The sensor operates on 3.3 V and communicates with MCU via SPI (Serial
Peripheral Interface Bus).
97

Figure 70. ADIS16209 pin configuration (Analog Devices, ADIS16209 data sheet).

In addition to measuring inclinations, ADIS16209 is capable of measuring dual-axis


accelerations and temperature. These additional capabilities of the sensor make anti-sway
board even more versatile.

Most notable features of ADIS16209:

 High accuracy, 0.1°.


 Digital inclination data, 0.025° resolution.
 Digital acceleration data, 0.244 mg resolution.
 ±1.7 g accelerometer measurement range.
 Digitally controlled bias calibration.
 Digitally controlled sample rate.
 Digitally controlled frequency response.
98

The sensor is working based on request/response mechanism. The MCU sends read/write
requests to the sensor via SPI protocol and sensor will perform actions based on original
requests. For full list of possible request registers, please refer to table User Register Map
in “Analog Devices, ADIS16209 Data Sheet”.

In comparison to previous analog ASM PTAM27, ADIS16209 holds several advantages:

 ADIS16209 has built-in ADC (analog-to-digital converter).


 The SPI communication protocol of ADIS16209 is more robust than analog
channel.
 ADIS16209 has mechanism to correct known sources of errors that would otherwise
reduce accuracy level.
 ADIS16209 is more versatile with its acceleration and temperature measuring
capabilities.

8.4. Remote pendant integration

For normal remote pendant configuration in ABB ACS800 is as follow:

Table 9. Remote pendant configuration parameters for ACS800.

Parameter Value Description


Parameter 10.01 EXT1 DI1 F, DI2 R Digital Input 1 for forward
STRT/STP/DIR direction, Digital Input 2 for
reverse direction.
12.01 STEP REF SEL DI3,4,5 Digital Input 3, 4 and 5 are
used to change to different
speed.
12.02 STEP REF 1 [rpm] For example: 500. This speed is enabled if DI3,
DI4 and DI5 are low.
12.03 STEP REF 2 [rpm] For example: 1000. This speed is enabled if DI3
is high.
99

12.04 STEP REF 3 [rpm] For example: 1500. This speed is enabled if DI3
and DI4 are high.
12.05 STEP REF 3 [rpm] For example: 2000. This speed is enabled if DI3,
DI4 and DI5 are high.

Figure 71. Remote pendant direction configuration.


100

Figure 72. Remote pendant speed configuration.

For first generation board, the crane is started and stopped using buttons on the board
directly. However, for production usage, the remote pendant must be the device to start and
stop crane. Therefore, the remote pendant integration module must be implemented.

In second generation prototype, the remote pendant integration module is implemented by


reading parameters from the motor drive. Firstly, the ABB ACS800 is configured to enable
Modbus control and disable remote pendant control as in “5.3. Modbus configuration for
ACS800”. Then during start-up, the board will read and store parameter 12.02, 12.03, 12.04
and 12.05 values in memory. The anti-sway constantly listens for changes in value of
digital inputs by reading parameter 1.17 DIL DI6–1 STATUS and comparing with “Table
1. Remote pendant configuration parameters.” By detecting changes of 1.17 parameter, the
board is able to decide pendant actions such as start or stop signal. Moreover, the target
speed is also detected by reading DI3, DI4 and DI5. As the result, the anti-sway board is
able to act accordingly with user’s actions on the pendant.
101

Figure 73. Parameter 01.17 DIL DI6-1 STATUS.

8.5. Second generation prototype board

The board is built on breadboard to validate original design.

Figure 74. Second generation anti-sway prototype design.


102

Figure 75. Second generation anti-sway protoboard.

The board was successfully validated against the ACS800 test rack. In this prototype board,
Microstick II which is integrated development hardware platform for Microchip’s 16-bit
and 32-bit microcontrollers was used to develop software on the MCU. Modbus, remote
pendant integration and SPI drivers are successfully implemented on dsPIC33F platform.
All anti-sway requirements are strongly fulfilled by the design.

8.6. Production board

A short introduction of final production board will be given in this section of this thesis.
The final production board is highly similar in design with second generation prototype.
Improved features of production boards include:

 EEPROM (Electrically Erasable Programmable Read-Only Memory) is needed to


store sensor’s calibration parameters, logging data and different motor step speeds.
103

 ADM2582E from Analog Devices, Inc is selected as our new RS-485 Transceiver.
The signal and power of RS-485 signal is isolated. Therefore, better transmission of
Modbus is guaranteed.
 Ethernet support. Ethernet communication will be supported for future features.
Microchip TCP/IP stack (Microchip Technology Inc, The Microchip TCP/IP Stack)
has been successfully customized and flashed to production board. The board can
act as standard HTTP server, FTP server or TCP/IP client, etc.
 Better power module to provide protection against power outage.
 Instead of using imprecise internal oscillator of dsPIC33F, crystal oscillator is used
as clock source for better accuracy.
 The sensor is attached directly to the board. As the result, whole board will be
attached to the static part of the crane’s rope.

Figure 76. Final anti-sway production board (with Ethernet and 2 Modbus ports).
104

Figure 77. Final anti-sway production board (without Ethernet and only one Modbus port).

8.7. Conclusion and testing results

In this chapter, the second generation and production anti-sway devices were designed
using dsPIC33F from Microchip Technology as MCU. The dsPIC33F family is more
computationally powerful and gives developers greater control over functionalities of the
MCU. The inclination sensor, the most important component of anti-sway board, is also
switched to digital ADIS16209 inclination sensor which provides much more
functionalities and robustness. Moreover, software module for integrating with crane’s
remote pendant is implemented. In addition to second generation board design, the final
production board functionalities and improvements were briefly introduced.
105

The effectiveness of anti-sway solution is demonstrated by following videos which were


recorded during test session.

 Crane movement without anti-sway support:


http://youtu.be/ymtF1NXh8fE
 Crane movement in single direction(with anti-sway support):
http://youtu.be/krzeWyu0JJM
http://youtu.be/a-Qt9K2yXhM

 Crane movement in both directions(with anti-sway support):


http://youtu.be/B6X-sblZ1NI
http://youtu.be/Q5tB2DLaEXs
 Initial sway at the beginning of crane’s movement(with anti-sway support):
http://youtu.be/fdQmEl9V8w8

Following graphs were captured when operating crane with and without anti-sway device:

Figure 78. Sway angle when using anti-sway device.


106

Figure 79. Sway angle without anti-sway device.


As in Figure 77, after ramping up (acceleration) and ramping down (deceleration) period,
the crane moves very stable (with almost no oscillation). In contrast, in Figure 78, the crane
remains swinging heavily during and after crane’s movement. Moreover, with anti-sway
device, the sway is killed off very fast in comparison with previous works mentioned in
1.3. Overview of related works.
107

9. CONCLUSION AND FUTURE WORK

In this thesis, the swinging nature of overhead cranes has been discussed in depth in order
to come up with an effective anti-sway solution. Physics model of overhead crane has been
built in order to simulate swinging behavior in physics engine. Box2D framework was
selected as physics engine to study swinging phenomenon during crane’s movement. Based
on the research and simulation of crane model, a novel crane anti-sway solution was
proposed. The solution combines both hardware and software to solve swinging problem.
Apart from being able to effectively reduce sway, the proposed solution also satisfies
following additional requirements:

 Independence of load weight.


 Independence of crane rope length.
 Fast convergence, sway is reduced very rapidly.
 Easy to deploy and maintain.
 Easy to extend to perform additional functionalities.

The anti-sway solution has been successfully built and tested in simulated environment as
well as real industrial environment. Two prototype designs have been built and tested
during the project before producing production board.

The final anti-sway board can be considered as multi-purposed hardware. It can be


extended easily to perform additional tasks such as:

 Monitoring device over Internet: monitor different values (environment


temperature, crane acceleration and crane parameters, etc) and send them over
TCP/IP to server.
 Device control over Internet such as: start/stop crane, changing speed, etc.

Moreover, thanks to the multi-purpose sensor, anti-sway device can perform many
advanced features:
108

 Collision detection: by using inclination and acceleration readings from sensors to


monitor if there is collision happens with the load.
 Straight lift or drop of load: by using inclination readings, the crane is able
adjust/move to correct angle of the rope while lifting the load.
 Move the crane by using forced controlled pushing: operator can move the crane by
apply a small amount of pushing force to the load to create an angle, then crane will
slowly move accordingly to the direction of the pushing force.

In short, the limit of the board is up to our imagination. With TCP/IP and multi-purpose
sensor support, the anti-sway device is able to perform many operations that can greatly
enhance the safety and effectiveness of crane operations.

Currently, the board only supports anti-sway functionality for indoor cranes and cranes that
suffers from constant wind. For future work, we will continue to perform research with
outdoor cranes.
109

REFERENCE

David Morin (2008). Introduction to Classical Mechanics. Cambridge University Press.


ISBN: 9780521876223.

Randall D. Knight (2012). Physics for Scientists and Engineers: A Strategic Approach with
Modern Physics, 3/E. Pearson Education, Inc. ISBN-10: 0321844351.

M.A. Ahmad (2009). Sway Reduction on Gantry Crane System using Delayed Feedback
Signal and PD-type Fuzzy Logic Controller: A Comparative Assessment. Proceedings
of World Academy of Science, Engineering And Technology Volume 38 February
2009. ISSN: 2070-3740.

Y. S. Kim, K. S. Hong and S. K. Sul (2004). Anti-Sway Control of Container Cranes:


Inclinometer,Observer, and State Feedback. International Journal of Control,
Automation, and Systems, Vol.2.

G. Bartonlini, A. Pisano and E. Usai (2002). Second-order sliding-mode control of


container cranes. Automatica, Vol. 38.

Y. Fang, W. E. Dixon and D. M. Dawson, E. Zergeroglu (2003). Nonlinear coupling


control laws for an underactuated overhead crane system. IEEE/ASME Trans.
Mechatron, Vol.8.

W. Wang, J. Yi, D. Zhao and D. Liu (2004). Design of a stable sliding-mode controller for
a class of second-order underactuated systems. IEE Proceedings - Control Theory
and Applications.

K. S. Hong, B. J. Park, and M. H. Lee (2000). Two stage control for container cranes.
JSME International Journal, Series C, vol. 43.
110

Kim, Y.S., Yoshihara, H., Fujioka, N., Kasahara, H., Shim, H. and Sul, S.K (2003). A new
vision-sensorless anti-sway control system for container cranes. Industry
Applications Conference, Vol. 1.

Neil Singer, William Singhose and Eric Kriikku(1997) . An Input Shaping Controller
Enabling Cranes to Move without Sway. American Nuclear Society 7th Topical
Meeting on Robotics and Remote Systems.

Ki-Ru Park and Dong-Soo Kwon (2010). Swing-Free Control of Mobile Harbor Crane
with Accelerometer Feedback. International Conference on Control, Automation and
Systems 2010.

Rajeeb Dey, Nishant Sinha, Priyanka Chaubey, S. Ghosh and G. Ray (2010). Active Sway
Control of a Single Pendulum Gantry Crane System using Output-Delayed Feedback
Control Technique. 2010 11th Int. Conf. Control, Automation, Robotics and Vision.

Kitichoke Prommaneewat, Prapas Roengruen and Viriya Kongratana (2007). Anti-sway


Control for Overhead Crane. International Conference on Control, Automation and
Systems.

Hideki Kawai, Young Bok Kim and Yong Woon Choi (2009). Anti-sway system with image
sensor for container cranes. Journal of Mechanical Science and Technology 23.

Shu-jiang Li, zhi-yuan Xu, Hai Wu, Shao-hua Hu and Jin-xue Xu(2005). Intelligent anti-
swing control for horizontal moving process of bridge crane. International
Conference on Control and Automation.
111

Dong Kyu Kim, Young Bok Kim, Ji Seong Jang and Guisheng Zhai (2005). Gain-
Scheduling Approach to Mass Damper Type Anti-Sway System Design. Proceedings
of the 16th IFAC World Congress, 2005.

GB. Kang, Y.B. Kim, S.B.An, G.H. Chae and J.H. Yang (2003). A New Approach to Anti-
Sway System Design for a Container Crane. SICE Annual Conference.

Dah-Jing Jwo (2007). Remarks on the Kalman filtering simulation and verification. Applied
Mathematics and Computation 186 (2007).

Baoding Weyou Technology Company. EOT Crane [online]. Accessed 18 August 2013,
<http://www.weyou.co/info2/info25.html>.

U.S. Department of Energy (2007). DOE Standard Hoisting and Rigging.

Greg Welch and Gary Bishop (2006). An Introduction to the Kalman Filter.

Ramsey Faragher (2012). Understanding the Basis of the Kalman Filter Via a Simple and
Intuitive Derivation. IEEE Signal Processing Magazine.

The Modbus Organization(2002). MODBUS over Serial Line Specification &


Implementation guide V1.0.

ABB Group. ABB industrial drives ACS800, single drives, 0.75 to 6000 hp.

ABB Group (2009). ACS800 Firmware Manual ACS800 Standard Control Program 7.x.

ABB Group (2002). Modbus Adapter Module RMBA-01 User’s Manual.

ASM GmbH. Sensors and Encoders for Angle and Inclination.

ASM GmbH. PTAM27 Universal MEMS Inclination Sensor with Analog Output.

STMicroelectronics (2000). Low Power Rs-485/Rs-422 Transceiver.


112

Analog Devices, Inc . High Accuracy, Dual-Axis Digital Inclinometer and Accelerometer
ADIS16209 Rev.C.

ABB Group (2005). Adaptive Program Application Guide.

Microchip Technology Inc (2011). Microstick II Information Sheet.

Microchip Technology Inc (2004). dsPIC® Language Tools Libraries.

Microchip Technology Inc (2012). dsPIC33FJ32MC302/304, dsPIC33FJ64MCX02/X04


and dsPIC33FJ128MCX02/X04 16-bit Digital Signal Controllers (up to 128 KB
Flash and 16K SRAM) with Motor Control PWM and Advanced Analog.

Nilesh Rajbharti, Microchip Technology Inc (2008). The Microchip TCP/IP Stack.

Martin Bowman Microchip Technology Inc (2007). Using the C30 Compiler and the I2C™
Peripheral to Interface Serial EEPROMs with dsPIC33F.

Erin Catto (2011). Box2D v2.2.0 User Manual.

Arduino project. Arduino Language Reference [online]. Accessed 18 August 2013, <
http://arduino.cc/en/Reference/HomePage>.

Microchip Technology Inc (2009). Section 23. Serial Peripheral Interface (SPI).

Microchip Technology Inc (2006). Section 24. Inter-Integrated Circuit™ (I2C™)

Loughborough Sound Images (1997). Evaluation of the performance of the c6201


processor &compiler.

Hyeokho Choi(2003). Fixed Point Arithmetic.

You might also like