robot

87
PSZ 19:16 (Pind. 1/07) DECLARATION OF THESIS / UNDERGRADUATE PROJECT PAPER AND COPYRIGHT Author’s full name : HISYAM BIN ABDUL RAHMAN Date of birth : 7 MAY 1988 Title : PASSIVE UPPER-LIMB EXOSKELETON ROBOT FOR HAND REHABILITAION OF STROKE PATIENT Academic Session: 2010/2011 I declare that this thesis is classified as: I acknowledged that Universiti Teknologi Malaysia reserves the right as follows: 1. The thesis is the property of Universiti Teknologi Malaysia. 2. The Library of Universiti Teknologi Malaysia has the right to make copies for the purpose of research only. 3. The Library has the right to make copies of the thesis for academic exchange. Certified by: SIGNATURE SIGNATURE OF SUPERVISOR 880507-04-5127 Assoc Prof Dr Rosbi Bin Mamat (NEW IC NO. /PASSPORT NO.) NAME OF SUPERVISOR Date: 7 MAY 2011 Date: NOTES: * If the thesis is CONFIDENTIAL or RESTRICTED, please attach with the letter from the organisation with period and reasons for confidentiality or restriction. UNIVERSITI TEKNOLOGI MALAYSIA CONFIDENTIAL (Contains confidential information under the Official Secret Act 1972)* RESTRICTED (Contains restricted information as specified by the Organisation where research was done)* OPEN ACCESS I agree that my thesis to be published as online open access (full text)

Upload: mahayudin-saad

Post on 28-Sep-2015

1 views

Category:

Documents


0 download

TRANSCRIPT

  • PSZ 19:16 (Pind. 1/07)

    DECLARATION OF THESIS / UNDERGRADUATE PROJECT PAPER AND COPYRIGHT

    Authors full name : HISYAM BIN ABDUL RAHMAN

    Date of birth : 7 MAY 1988

    Title : PASSIVE UPPER-LIMB EXOSKELETON ROBOT FOR HAND

    REHABILITAION OF STROKE PATIENT

    Academic Session: 2010/2011

    I declare that this thesis is classified as:

    I acknowledged that Universiti Teknologi Malaysia reserves the right as follows:

    1. The thesis is the property of Universiti Teknologi Malaysia.

    2. The Library of Universiti Teknologi Malaysia has the right to make copies for the

    purpose of research only.

    3. The Library has the right to make copies of the thesis for academic exchange.

    Certified by:

    SIGNATURE SIGNATURE OF SUPERVISOR

    880507-04-5127 Assoc Prof Dr Rosbi Bin Mamat (NEW IC NO. /PASSPORT NO.) NAME OF SUPERVISOR

    Date: 7 MAY 2011 Date:

    NOTES: * If the thesis is CONFIDENTIAL or RESTRICTED, please attach with the letter from

    the organisation with period and reasons for confidentiality or restriction.

    UNIVERSITI TEKNOLOGI MALAYSIA

    CONFIDENTIAL (Contains confidential information under the Official Secret Act 1972)*

    RESTRICTED (Contains restricted information as specified by the Organisation where research was done)*

    OPEN ACCESS I agree that my thesis to be published as online open access (full text)

  • "I hereby declare that I have read this thesis and in my opinion this thesis is sufficient

    in term of scope and quality for award of the degree of Bachelor of Engineering

    (Electrical - Mechatronic)"

    Signature: __________________

    Name of supervisor: ASSOC PROF DR ROSBI BIN MAMAT

    Date:

  • PASSIVE UPPER-LIMB EXOSKELETON ROBOT FOR HAND

    REHABILITATION OF STROKE PATIENT

    HISYAM BIN ABDUL RAHMAN

    A thesis submitted in fulfillment

    of the requirements for the award of the degree of

    Bachelor of Engineering (Electrical - Mechatronics)

    Faculty of Electrical Engineering

    Universiti Teknologi Malaysia

    MAY, 2011

  • ii

    I declare that this thesis entitled Passive upper-limb exoskeleton robot for hand

    rehabilitation of stroke patient" is the result of my own research except as cite in the

    reference. The thesis has not been accepted for any degree and is not currently

    submitted in candidature of any degree.

    Signature : __________________

    Name : HISYAM BIN ABDUL RAHMAN

    Date :

  • iii

    Specially dedicate to:

    My beloved family, lectures and all friends for their external support, encouragement,

    and inspiration throughout my journey of education

    MAY ALLAH BLESS US

  • iv

    ACKNOWLEDGEMENT

    First of all, I would like to thank Allah SWT for giving me strength to

    complete this project successfully on time. I would to express my gratitude to my

    project supervisor, Assoc Prof Dr Rosbi Bin Mamat who willing to accept me as his

    student to carry out my final year project under him. Besides, I would like to thank

    Assoc Prof Dr Rosbi Bin Mamat for the passionate guidance and advices he gave

    upon me throughout the entire project. It would be difficult to complete this project

    without his support and understanding.

    However, I wish to deeply indebted to my family member for giving me spirit

    along with the support assisting my project and throughout years in UTM. Their

    blessings were the main effort for me to overcome all the hardships and obstacles

    that I will face. Not forgotten to their hardworking to provide me financial support to

    ensure my successfulness in this project.

    Next, my sincerest appreciation goes to my friends and especially to my

    entire course mate who always giving me valuable guidance, suggestions, kindness

    and valuable time during the accomplishment of this project. Lastly I would like to

    extend my deep appreciation for the technicians of the laboratory for give me as

    much patient and guidance and support to enhance my project. Thank you so much.

  • v

    ABSTRACT

    In recent years, the exoskeleton robot has been applied in the areas of

    rehabilitation and power assist for daily life. The using of exoskeleton robot in field

    of medical is increasing due to increasing of stroke patient. The exoskeleton robot

    becomes alternative for rehabilitation of stroke patient due to not enough therapists

    available. However, compared to normal rehabilitation, exoskeleton robot is more

    attractive because some of the exoskeleton robot provides some attractive vision

    system so that the patient did not feel bored during rehabilitation. If compare to

    therapist, the patient need to come to the hospital or where the exoskeleton robot

    were placed. This thesis is mainly concern on improving the mechanical design. This

    project focuses on the basic movement for rehabilitation and method to control the

    exoskeleton robot. This project is using C language as the programming language for

    microcontroller. There are two methods to control this exoskeleton robot, first is the

    manual control and second is automatic control. During the manual control, the user

    can set the position due to user condition. Wired remote control is used as the

    controller device for control the exoskeleton robot. Display and six buttons are

    implemented at the remote control. There also an emergency stop button for this

    exoskeleton robot for emergency case.

  • vi

    ABSTRAK

    Sejak beberapa tahun ini, robot Exoskeleton telah dilaksanakan dalam bidang

    pemulihan dan kuasa membantu untuk kehidupan seharian. Penggunaan robot

    Exoskeleton dalam bidang perubatan semakin meningkat kerana peningkatan pesakit

    stroke. Robot Exoskeleton menjadi alternatif untuk pemulihan pesakit stroke kerana

    kekurangan terapis. Namun, jika dibandingkan dengan pemulihan biasa, robot

    Exoskeleton lebih menarik kerana sebahagian robot Exoskeleton menyediakan

    beberapa sistem visual yang menarik sehingga tidak membosankan pesakit semasa

    menjalani pemulihan. Jika dibandingkan dengan terapis, pesakit perlulah pergi ke

    tempat dimana robot exoskeleton itu ditempatkan. Tesis ini secara utamanya

    berfokuskan pada perbaikan desain mekanik. Projek ini memfokuskan pada gerakan

    asas untuk pemulihan dan kaedah untuk mengendalikan robot Exoskeleton. Projek

    ini menggunakan bahasa pengaturcaraan C sebagai bahasa pengaturcaraan untuk

    mikrokontroler. Ada dua kaedah untuk mengendalikan robot Exoskeleton, pertama

    adalah dengan kawalan manual dan kedua adalah dengan kawalan automatik. Semasa

    kawalan manual, pengguna boleh menetapkan kedudukan bergantung kepada

    keadaan pengguna. Kabel remote control digunakan sebagai alat kawalan untuk

    mengawal robot Exoskeleton. Paparan dan enam butang dipasangkan pada remote

    control. Robot Exoskeleton ini juga mempunyai butang kecemasan untuk kes-kes

    kecemasan.

  • vii

    TABLE OF CONTENTS

    CHAPTER TITLE PAGE

    DECLARATION

    DEDICATION

    ACKNOWLEDGEMENT

    ABSTRACT

    ABSTRAK

    TABLE OF CONTENTS

    LIST OF TABLES

    LIST OF FIGURES

    LIST OF SYMBOLS AND ABBREVIATIONS

    LIST OF APPENDICES

    ii

    iii

    iv

    v

    vi

    vii

    x

    xi

    xiii

    xiv

    1 INTRODUCTION

    1.1 Background

    1.2 Problem Statement

    1.3 Project Objective

    1.4 Project Scopes

    1

    1

    2

    3

    3

    2 LITERATURE REVIEW

    2.1 4-DOF Saga University Exoskeleton Robot

    2.1.1 Advantages of 4-DOF Saga University

    Exoskeleton Robot

    2.2 7-DOF Salford University Soft Actuated

    Exoskeleton robot

    4

    4

    5

    6

  • viii

    2.2.1 Advantages of 7-DOF Salford University

    Soft Actuated Exoskeleton robot

    2.3 Hand-Wrist Assisting Robotic Device (HWARD)

    2.3.1 Advantages of Hand-Wrist assisting robotic

    device

    2.4 7-DOF Exoskeleton Robot Design: CADEN-7

    2.5 Analysis of Previous Exoskeleton Robot

    2.5.1 Solution

    7

    7

    8

    8

    9

    11

    3 METHODOLOGY

    3.1 Hardware Part

    3.1.1 Hardware Design Using Computer Aided

    Design (AutoCAD 2010)

    3.1.2 Motor

    3.2 Electronics Design

    3.2.1 Sensor

    3.2.2 Cytron 40 Pins Start-Up Kit

    3.2.3 7-Segment Display

    3.2.4 Microcontroller: PIC 16F777

    3.2.5 Motor Driver

    3.2.6 Wired Remote Control

    3.2.7 Power Supply

    3.2.8 Interfacing Circuit

    3.3 Software Part

    3.3.1 Movement Algorithm

    12

    12

    13

    15

    16

    16

    17

    19

    20

    22

    23

    24

    26

    28

    30

  • ix

    4 RESULT AND ACHIEVEMENT

    4.1 Exoskeleton Robot Prototype

    4.2 Mechanical Stopper

    4.3 Potential Meter

    4.4 Exoskeleton Robot Accomplishment

    4.5 Typical Human Upper-Limb Movement

    4.6 Manual and Automatic Control

    4.7 Position Setting

    4.8 Mechanical Backbone Support

    4.9 Emergency Stop Button

    4.10 Sensor Detection

    33

    33

    35

    37

    38

    38

    42

    43

    44

    45

    45

    5 DISCUSSION AND CONCLUSION

    5.1 Discussion

    5.2 Suggestion and Future Development

    5.3 Conclusion

    46

    46

    47

    49

    REFERENCES 50

    APPENDICES

    APPENDIX A

    APPENDIX B

    APPENDIX C

    52

    52

    53

    56

  • x

    LIST OF TABLES

    TABLES NO. TITLE PAGE

    1.1

    2.1

    Analysis of Previous Exoskeleton Robot

    Power Supply Specification

    9

    25

    3.1 Mode Selection and Description 38

    3.2 Result of the Exoskeleton Robot 39

    3.3 Type of Movement 40

  • xi

    LIST OF FIGURES

    FIGURES NO. TITLE PAGE

    2.1 4-DOF Saga University Exoskeleton Robot 4

    2.2 7-DOF Salford University Soft Actuated

    Exoskeleton Robot

    6

    2.3 Hand-Wrist Assisting Robotic Device (HWARD) 7

    2.4 CADEN-7 8

    3.1 (a) Isometric view. (b) Back view 13

    3.2 Front View 14

    3.3 Left View 14

    3.4 Power Window Motor 15

    3.5 Limit Switch 16

    3.6 Potential Meter 16

    3.7 Cytron 40 Pins PIC Start-Up Kit 17

    3.8 SK40C Board Layout 18

    3.9 7-Segment Display and BCD 45HC11 19

    3.10 PIC16F777 Pin Diagram 20

    3.11 Motor Driver Circuit Connection 22

    3.12 Assembled Motor Driver 23

    3.13 Wired Remote Control 23

    3.14 Power Supply 25

    3.15 Modified Power Supply 26

    3.16 Interfacing Block Diagram 27

    3.17 Interfacing Circuit 28

  • xii

    3.18 MikroC PRO Interface 29

    3.19 Movement algorithms 30

    4.1 Exoskeleton Robot Front View 34

    4.2 left view 34

    4.3 Back View 35

    4.4 Without Mechanical Stopper 36

    4.5 With Mechanical Stopper 36

    4.6 Potential Meter Coupling 37

    4.7 Motor Shaft with Wing Bolt 37

    4.8 Remote Control 39

    4.9 Elastic String 42

    4.10 Back Bone Support 44

    4.11 Emergency Stop Button 45

  • xiii

    LIST OF SYMBOLS AND ABBREVIATIONS

    ADC Analog-to-Digital Converter

    DIY Do It Your Self

    HWARD Hand Wrist Assisting Device

    LED Light Emitting Diode

    Li-Po Lithium Polymer

    PWM Pulse Width Modulation

    DOF Degree of Freedom

    CR Center of Rotation

    PMA Pneumatic Muscle Actuators

    MCP Metacarpal

    CAD Computer Aided Design

    DC Direct Current

    MCU Microcontroller Unit

    PIC Programmable Integrated Circuit

    BCD Binary Code Decimal

    MAX Maximum

  • xiv

    LIST OF APPENDICES

    APPENDIX NO. TITLE PAGE

    A

    B

    C

    Human upper-limb segment

    Schematic circuit diagram

    Programming

    52

    53

    56

  • 1

    CHAPTER 1

    INTRODUCTION

    1.1 BACKGROUND

    The exoskeleton robots have been used in the industry for military and

    medical application. In recent years, the exoskeleton robots have been applied in

    the areas of rehabilitation and power assist for daily activity. The use of

    exoskeleton robot is increasing in the areas of rehabilitation in the hospital in

    which the number of physically weak such as stroke patients is increasing.

    Active exoskeleton robots were studied for the purpose of industry or

    medical applications in the 1960s and 1970s [1]-[2]. In addition, some

    exoskeleton robots were proposed to extend the strength of the human force [3],

    in early 1990s. In recent years, many active upper-limb exoskeleton robot

    systems [4]-[6] have been proposed for rehabilitation and power assist.

  • 2

    The passive term in this project title is because the robot move the hand

    for hand exercise or rehabilitation while the active term is the robot assists the

    hand for human assisted power. The passive upper-limb exoskeleton robot

    structure is the same as the active upper-limb exoskeleton robot structure. The

    different is on the algorithm and some of the sensor. The passive upper-limb

    exoskeleton robot is suitable for stroke patient to help them exercise to regain

    their hand function again.

    The difficulty of the upper-limb exoskeleton robot is on the mechanical

    design because the upper-limb structure is complex than lower-limb structure

    (leg). So these projects have reviewed some of the active upper-limb exoskeleton

    robot so that the passive upper-limb exoskeleton robot can be developed.

    1.2 PROBLEM STATEMENT

    Nowadays too many stroke patient come to the hospital to get therapy.

    The regain their hand function again, the patient required to do the hand exercise

    for 15 minute every one hour. The therapist at the hospital is not enough to

    handle the patient if the patient is too many. If the therapist monitor the patient

    during the rehabilitation process, it might take a long time to regain the hand

    function again because the patient need to wait long time to get the rehab from

    the therapist.

    So this project might help the therapist to handle the patient to regain

    their hand function again. This robot can operate automatically so that the

    therapists just monitor the patient while the therapist handles the other patients.

  • 3

    1.3 PROJECT OBJECTIVE

    The objectives of this project are as below:

    I. To design an upper limb exoskeleton robot for hand rehabilitaion for

    stroke patient with manual and automatic control.

    II. Set the position of hand movement according to the patient condition.

    1.4 PROJECT SCOPE

    The scopes of this project are as below:

    I. To implement the upper-limb exoskeleton robot which consist three

    degree of freedom (3DOF) for shoulder, upper arm and forearm.

    II. Focus on right hand upper-limb movement:

    Shoulder extension/flexion.

    Shoulder adduction/abduction.

    Elbow extension/flexion.

    Forearm supination/pronation.

  • 4

    CHAPTER 2

    LITERATURE REVIEW

    This chapter describes the literature review which is related to this

    exoskeleton robot project. All of the information about the exoskeleton robot has

    been studied from different resources to perform this project.

    2.1 4-DOF SAGA UNIVERSITY EXOSKELETON ROBOT

    Figure 2.1: 4-DOF Saga University Exoskeleton robot

  • 5

    A 4DOF active exoskeleton robot [4] with moving center of rotation (CR)

    mechanism [9] have been projected in Saga University to assist shoulder vertical

    flexion/extension, shoulder horizontal flexion/extension, elbow flexion/extension

    and forearm supination/pronation motions. This exoskeleton robot was installed on a

    mobile wheel chair since many disable persons use it, so that the user does not feel

    the weight of the exoskeleton robot at all. The human upper-limb is complex, so this

    project developed a mechanism to provide the movement of upper-limb. A special

    moving CR mechanism was proposed for the shoulder joint of the exoskeleton robot.

    The mechanism design prevents the ill effects caused by the position difference

    between the CR of the robot shoulder and the human shoulder. Mechanical stoppers

    have been attached for each single motion to prevent exceeding of movable range for

    safety and precaution. The position of the movable range of the robot can be set so

    that the user more comfortable with the robot [4].

    2.1.1 ADVANTAGES OF 4-DOF SAGA UNIVERSITY EXOSKELETON

    ROBOTS:

    I. The mechanism cancels out the ill effects caused by the position

    difference between the CR of the robot shoulder and the human shoulder.

    II. Mechanical stoppers have been attached for each individual motion to

    prevent exceeding of movable range for safety.

  • 6

    2.2 7-DOF SALFORD UNIVERSITY SOFT ACTUATED

    EXOSKELETON ROBOT

    Figure 2.2: 7-DOF Salford University Soft Actuated Exoskeleton robot

    The 7DOF exoskeleton robot was developed by Tsagarakis and Caldwell for

    upper arm training and rehabilitation. This robot is able to generate motions of

    shoulder flexion/extension, abduction/adduction, internal/external rotation, elbow

    flexion/extension, forearm supination/pronation, wrist flexion/extension and

    radial/ulnar deviation.

    This project focus on the soft actuated which is the actuator that this

    project use is pneumatic muscle. Therefore, the fulfillment control is allowed by the

    robots antagonistic action. This exoskeleton robot was using pneumatic muscle as

    an actuator because to have a high power/weight ratio and safety due to the inherent

    compliance. Two layered cylinder has been designed by pneumatic Muscle

    Actuators (pMA).The structure of the muscles gives the actuator a number of

    desirable characteristics. An appropriate antagonistic torques through cable and

    pulley driven by the pneumatic actuators has been design so that the joint motion

    /torque for the rehabilitation and training can be achieved [5].

  • 7

    2.2.1 ADVANTAGES OF 7DOF SALFORD UNIVERSITY SOFT

    ACTUATED EXOSKELETON ROBOT:

    I. Safety and human soft interaction which provides a soft

    feeling in human manipulation.

    II. Low mass and excellent power/weight ratio.

    2.3 HAND-WRIST ASSISTING ROBOTIC DEVICE (HWARD)

    Figure 2.3: Hand-Wrist Assisting Robotic Device (HWARD)

    Hand Wrist Assisting Robotic Device (HWARD) was developed by

    Cramer et al. in 2007. This exoskeleton robot has 3DOF to exercises and training

    grasping and releasing movements using real objects during therapy. This is

    achieved by providing a clear palm area where different objects can be

    implementing for interaction during training. This project was using pneumatic

    actuated desk mounted exoskeleton that supports the patients arm and is attached

    on the thumb and fingers. This type of actuator can bend or extend all 4 fingers

    together about the metacarpal (MCP) joint, the thumb at the MCP joint and the

  • 8

    wrist. This exoskeleton robot provides the joint angle sensors in the structure to

    measure the movement of the exoskeletons joints, and hence, movement of the

    patients limbs [6].

    2.3.1 ADVANTAGES OF HAND-WRIST ASSISTING ROBOTIC

    DEVICE (HWARD):

    I. An emergency stop button to stop the movement and move to

    default position.

    II. Provide the angle sensors for movements and safety.

    2.4 7-DOF EXOSKELETON ROBOT DESIGN: CADEN-7

    Figure 2.4: CADEN-7

    Figure 2.4 shows the active exoskeleton robot that consist 7 DOF. This

    system can generate the motion of shoulder extension/flexion,

    abduction/adduction, internal/external rotation, elbow flexion/extension, forearm

    supination/pronation, wrist flexion/extension and radial/ulnar deviation using the

  • 9

    complex mechanical design. For this project, the difficulty is to match the human

    arm with the mechanical joint range that provide by CADEN-7. For the safety

    system, this project implemented the mechanical stopper and emergency stop

    button. This safety system is important to prevent the user from any dangerous

    condition [8].

    2.5 ANALYSIS OF PREVIOUS EXOSKELETON ROBOT

    Regarding the three project in the literature review, there have some limitations

    of each project.

    Table 1.1: Analysis of Previous Exoskeleton Robot

    4-DOF Saga University

    Exoskeleton robot

    >Didnt have emergency stop

    button.

    >Limited for shoulder, forearm

    and elbow only.

  • 10

    7DOF Salford University Soft

    Actuated Complex mechanical

    design.

    > User needs to stand.

    > Didn't have mechanical stop.

    3DOF Hand-Wrist Assisting

    Robotic Device (HOWARD)

    >Focus on wrist only.

    >Higher force to assist the grasp.

    7DOF Exoskeleton Robot

    Design: CADEN-7

    >Complex mechanical design.

    >User needs to stand.

  • 11

    2.5.1 SOLUTION:

    I. Combine the four projects into one project which is focus on

    shoulder, forearm, elbow and grasping and releasing movement.

    II. Simplify the mechanical design and the degree of freedom.

    III. Install the robot on the chair so that the user not feels the weight of

    the exoskeleton robot.

    IV. Install the emergency stop button to stop all the movement.

    V. Install the mechanical stopper for each movement.

  • 12

    CHAPTER 3

    METHODOLOGY

    This chapter describes the methodology and approach taken in the

    project. Methodology of this project is divided into three parts. The first part will

    explain about the hardware part, second will touch about electronics part and

    lastly will explain about the software part.

    3.1 HARDWARE PARTS

    Choosing the suitable hardware is crucial in determining the best design

    for this project. In this part, the structural design and hardware component that

    are used in construct the passive upper-limb exoskeleton robot will be discussed.

  • 13

    3.1.1 HARDWARE DESIGN USING COMPUTER AIDED DESIGN

    (AUTOCAD2010)

    The base for this robot must be strong enough to handle the stroke

    patient, so the steel chair and sponge at the seat were used. The base should also

    be able to suit for all type of weight and size of the user. The structure of the

    robot will be using the aluminums plate with the thickness of 5mm. This

    aluminum is strong enough to handle the users hand. Figures 3.1 (a) and (b)

    below are the illustrations of the mechanical design of exoskeleton robot

    developed.

    (a) (b)

    Figure 3.1: (a) Isometric view. (b) Back view

    Figure 3.1 (b) shows that where circuit will be placed. The main reason to

    place the circuit at the back is because for the safety of the user and it also make

    the therapist easier to handle and monitor the patient. Figure 3.2 show the front

    view of the robot. The yellow spherical is the squeeze ball. It is for the patient to

    train the grasp and release exercise. The squeeze ball will be attached to the

    aluminum that bended 90 degree and at the end of the aluminum, there are some

  • 14

    string. The main reason of using the string for tighten the aluminum is so that it

    is flexible during the movement.

    Figure 3.2: Front view

    Figure 3.3: Left view

  • 15

    3.1.2 MOTOR

    Motor is one of the important parts for this project as an actuator. For this

    project, the motor must have higher torque because it needs to handle the user

    hand and to move the users hand and to hold the robot itself. The suitable motor

    for this project is DC motor. After the research of the type of DC motor, type of

    motor that suitable on this project is power window motor because it have higher

    torque and low cost. Figure 3.4 is the power window that will be used.

    One of the features that very important for this motor is high torque. This

    higher torque motor cannot move manually because the internal gearing system.

    So after the motor move by the supply voltage at some position, the movement

    should be stop. This type of motor not allowed the robot to move back during

    take up the robot hand. The robot hand part is very heavy, so type of motor can

    avoid the robot hand to turn down the robot hand.

    Figure 3.4: Power Window Motor

  • 16

    3.2 ELECTRONICS DESIGN

    Choosing the suitable electronics part is also one of the important things

    on this project. Several electronics component are used for specific reason such

    as display the selection movements, controller for the robot and the sensor.

    3.2.1 SENSOR

    Figure 3.5: Limit Switch Figure 3.6: Potential Meter

    Figure 3.5 and Figure 3.6 show the sensors that will be used in this

    project. The usage of this sensor is to protect the users hand from moving

    exceeding the limit of human hand movement. The sensor is very important for

    this project because if there is no sensor, the robot might be moved the users

    hand beyond the limit and that will cause some damage or broke the hand. So

    using two sensors is safer for the user [7].

  • 17

    3.2.2 CYTRON 40 PINS PIC START-UP KIT

    Figure 3.7: Cytron 40 Pins PIC Start-Up Kit

    This PIC start-up kit was developed by Cytron Company for ease of the

    microcontroller unit (MCU) user. this PIC start-up kit will ease the user because

    all the component are already in the connection such as crystal, 5.0V regulator

    and the socket for the voltage supply and the user can directly use this start-up kit

    as main board. The input output pins are already labeled to avoid misconnection

    by user. to power up this start-up kit, there have three method; first by directly

    plug in the start-up kit using USB to computer, second by using DC power

    adapter between 7V to 15V, and the last method is by directly connect an input

    voltage such as battery. ICSP programmer is needed to program the

    microcontroller (PIC16F777) and must be connected to the ICSP connector of

    the start-up kit. For this project, an ICSP programmer from cytron, UIC00A was

    used to program the microcontroller [7].

  • 18

    Figure 3.8: SK40C Board Layout

    For the main circuit, the output voltage from SK40C circuit is around

    4.5V to 4.7V. So to make the supply voltage is always 5V, the external voltage

    regulator circuit was developed. This is because some of the electronic circuit

    will not stable with 4.5V. The internal voltage regulator from the SK40C is use

    as standby power supply. The external voltage regulator circuit is use as main

    power supply.

  • 19

    3.2.3 7-SEGMENT DISPLAY

    Figure 3.9: 7-Segment Display and BCD 45HC11

    Figure 3.9 shows that the common cathode 7-segment displays that will

    be use at this project. The purpose of this 7-segment display in this project is to

    display time for user because the rehabilitation did not focus on how many tries

    exercise are, but how long in time the exercise is. The limit for exercise is

    between 10 to 15 minutes. To reduce the connection to main circuit

    (PIC16F777), the BCD chip need to be used so that the connection can be

    reduced from 8 to 4, at the same time, the use of the BCD chip make the program

    become easier. The BCD chip converts the binary to decimal value. This 7-

    segment display has been attached at the remote control circuit as shown in

    Figure 3.13.

  • 20

    3.2.4 MICROCONTROLLER: PIC16F777

    In this project, PIC16F777 will be using as the controller of the

    exoskeleton robot as shown in the Figure 3.10. This type of microcontroller is a

    combination of a microprocessor, memory, input and output port and some

    special functions. The main function of the controller is to control the process of

    the exoskeleton robot movement and to process the feedback from the sensors

    give command to the actuator to perform the movements. It acts as the brain for

    the exoskeleton robot where it controls all the exoskeleton robot behavior. The

    other type of controller also have the same features, but this project require 3

    PWM mode because this project uses 3 motors to make the movement of

    rehabilitation, so this type of controller full fill the requirement.

    Figure 3.10: PIC16F777 Pin Diagram

  • 21

    The microcontroller acts as a brain of this robot and will make the

    decision has been programmed to perform for any case occurs. Below is the

    specific task for the microcontroller to perform:

    I. Motor control

    Rehabilitation has some movements to exercise, so the

    microcontroller will control the motor clockwise or anticlockwise.

    Since this project contains 3 motors, so the controller need to select

    the motor that will be move at one time.

    II. Position setting

    During the movement of the robot, some positions need to be set

    by the microcontroller. The microcontroller needs to memorize the

    position so that the movement is between that positions only if there

    is any changes of the position.

    III. Sensor reading

    The sensor will send the signal to the microcontroller. The type of

    signal is either analog or digital. For this exoskeleton robot,

    microcontroller will receive both types of signals. The digital signal is

    from the limit switch and the analog signal from the potential meter.

    This analog signal will be converted to digital signal using internal

    Analog-Digital-Convertor (ADC) from the microcontroller before it is

    processed. For limit switch sensor, the signal is already in digital

    form, so it is not necessary to convert it using ADC.

  • 22

    3.2.5 MOTOR DIVER

    To drive the motor, it cant directly be connected to the microcontroller

    because the current required for the motor is higher than current flow to

    microcontroller. So the motor driver is needed to drive the motor. Since the

    power window is operate at starting current of 1.5 Ampere are, motor driver is

    needed to regulate the requirement current to drive the motor.

    For this exoskeleton robot, the motor driver that are used is consists of

    relays with up to 10 Ampere, MOSFET (IRFZ44N) and transistor (BC547).

    Since this exoskeleton robot used 3 motors, so it needs 3 motor drivers. The

    circuit connection of the motor driver is shown in Figure 3.11:

    Figure 3.11: Motor Driver Circuit Connection

    The features of this motor driver are; support high current up to 10

    Ampere and can control the speed of motor using MOSFET. This type of motor

    driver also can control bidirectional which is clockwise and anticlockwise. Every

  • 23

    motor diver required 2 relays, 1 MOSFET and two transistors. The function of

    transistor is to switch the current flow through the relay. Its like on off switch

    for the relay.

    To indicate the current flow through the relay, LED is place in series

    between microcontroller and transistor. When the LED is light on, that mean the

    transistor is allowing the current flow through the coil inside the relay and it will

    switch on the relay if the supply voltage is connect to normally close pin.

    Figure 3.12: Assembled Motor Driver

    3.2.6 WIRED REMOTE CONTROL

    Figure 3.13: Wired Remote Control

  • 24

    Figure 3.13 show that the remote control circuit. This remote control is

    the interface between the 7-segment displays, button and microcontroller. The

    data send from the button will be in digital signal and it is wired by ribbon cable.

    Data from microcontroller also will send in digital signal through ribbon cable to

    7-segment displays and to LEDs.

    The use of this remote control is to control the movement of the

    exoskeleton robot. In addition, this remote also can select the mode of movement

    which is for shoulder, upper-arm and forearm. There has 2 buttons for movement

    control, 1 button for mode selection, 1 button for position setting, 1 button for

    automatic mode and the small button is for emergency stop. The emergency

    button was connected to master clear pin at the microcontroller. The function of

    the emergency button is for safety features. The design of this remote control is

    user friendly for the therapist to train the patient.

    The function of the LED is to indicate during the mode selection. The red

    LED will turn on when mode 1 was selected which is for shoulder movement,

    yellow LED is for mode 2 indicator which is for upper-arm movement and the

    green LED is for mode 3 indicators which are for forearm movement.

    3.2.7 POWER SUPPLY

    Computer power supply is being used in this project rather than lithium

    polymer (Li-Po) batteries because of the upper-limb exoskeleton robot design

    and the characteristic of the power supply itself. In this project the exoskeleton

    robot designed not to be moved, so it is more suitable to use the computer power

  • 25

    supply rather than battery. This project required several stable input voltages and

    high current to operate the exoskeleton robot.

    The microcontroller and 7-segment display required 5V input voltage and

    the actuator required 12V input voltage. Since the power window motor require

    high current, this type of power supply is suitable to supply the high current

    requirement of the motor. The specifications of the power supply are shown in

    Table 2.1.

    Figure 3.14: Power Supply

    Table 2.1: Power Supply Specification

    AC~ INPUT

    VOLTAGE CURRENT FREQUENCY

    115V~

    230V~

    10A

    5A 50-60HZ

    DC ==

    OUTPUT

    3.3V 5V 12V 5V 12V 5Vsb PS-ON POK COM

    28A 40A 20A 0.5A 0.8A 2.0A REMOTE P.G. RETURN

    MAX 250W 240W 2.5W 9.6W 10W

    TOTAL MAX POWER 450W MAX 427.9W MAX 22.1W

  • 26

    This type of power supply cant be used directly because the ground

    connection is on the open circuit. So the ground needs to be connected first. This

    power supply has been modified so that it will have on off switch and two 12V

    output connector.

    Figure 3.15: Modified Power Supply

    3.2.8 INTERFACING CIRCUIT

    Interfacing circuit is a circuit to interface the microcontroller circuit with

    other circuits. Below is the block diagram for interfacing circuit:

    TWO 12V

    CONNECTOR ON-OFF

    SWITCH

    SWITCH

    INDICATOR

  • 27

    Figure 3.16: Interfacing Block Diagram

    The interfacing circuit for this project is at the main board where the PIC

    KIT SK40C has been attached. On the right side, the components need to go

    through interfacing circuit first before being connected to microcontroller circuit.

    At the same time, the power supply will be distributed at the interfacing circuit.

    Interfacing circuit makes the circuit design become more systematic.

    When there have some new connection or we want to modify the connection of

    the circuit, we just need to modify the interface circuit only so this will reduce

    the complexity to debug all circuits.

    INTERFACING

    CIRCUIT

    MICROCONTROLLER

    DISPLAY BUTTON

    SENSOR

    MOTOR

    REMOTE

    CONTROL

    POWER SUPPLY

  • 28

    Figure 3.17: Interfacing Circuit

    3.3 SOFTWARE PART

    Software part is where the program of the exoskeleton robot will be

    designed. Apart from the hardware and electronic design, software design is

    important to control the operation of hardware through circuit. In the software

    design, C language, MICRO C PRO and PICkits tool are used. C language is

    used since PIC16F777 support the C language. However, it is easy to write the

    program and use it. Figure 3.18 is MicroC PRO interface.

    Interface with

    remote control

    Interface with

    potential meter

    Interface with

    limit switch

  • 29

    Figure 3.18: MikroC PRO Interface

    There are three main parts of the MICRO C PRO. The first part that is

    located at the left side of the interface shows the code explorer. This window

    eases the user by giving a clear view of every declared item in the source code.

    The second part is the code editor which is the largest window and main window

    where the user writes the C code that will be program to the microcontroller and

    the third part is the error window located at the bottom of the interface. This

    window will display locations and type of errors compiler has encountered.

    Figure 3.19 is the algorithms flow chat that show how the program of the

    exoskeleton robot work. The actual program can be review at the appendix.

  • 30

    3.3.1 MOVEMENT ALGORITHM

    Figure 3.19: Movement Algorithm

    Start

    Mode selection 1 - 3

    Execution

    Mode 2 Mode 1 Mode 3

    Push button

    up

    Push button

    down

    Push button

    set position

    Position

    set

    Motor1 rotate

    clockwise

    Limit switch 1 Stop motor1

    Position set Set position

    Position

    set

    Motor1 rotate

    anticlockwise

    Limit switch 2 Stop motor1

  • 31

    Figure 3.19: Movement Algorithm, continue

    Mode 2

    Push button up

    Push button

    down

    Push button

    set position

    Position set Motor2 rotate

    anticlockwise

    Limit

    switch 3 Stop motor2

    Position set Set position

    Position set Motor2 rotate

    clockwise

    Limit

    switch 4 Stop motor2

    Start

  • 32

    Figure 3.19: Movement Algorithm, continue

    Mode 3

    Push button up

    Push button

    down

    Push button

    set position

    Position set Motor3 rotate

    anticlockwise

    Limit

    switch 5 Stop motor3

    Position set Set position

    Position set Motor3 rotate

    clockwise

    Limit

    switch 6 Stop motor3

    Start

    Push button

    auto mode Count

  • 33

    CHAPTER 4

    RESULT AND ACHIEVEMENT

    This chapter discusses the result of the project and several problems faced

    during the process of testing the exoskeleton robot.

    4.1 EXOSKELETON ROBOT PROTOTYPE

    In this chapter, the results and achievement of the project is discussed.

    This design is slightly different from the design in the previous chapter because

    during the construction of this real prototype, there are some factors that must be

    consider such as the placement of the motor, limit switch, placement of

    mechanical stopper and the potential meter. Figure 4.1, 4.2 and 4.3 below shows

    the fabricated of robot hand structure from different side of view.

  • 34

    Figure 4.1: Exoskeleton Robot Front View

    Figure 4.2: left view

  • 35

    Figure 4.3: Back View

    As mentioned in previous chapter, the circuit is placed at the back of the

    chair because this is the safe place to avoid the user from the electrical shock.

    This prototype is focus on the patients right hand movement.

    4.2 MECHANICAL STOPPER

    Mechanical stopper is one of the safety features that must be installed on

    this type of robot because this is the last part of stopping the motor from

    continuous movement if the limit switch and the potential meter break down.

  • 36

    Figure 4.4 show the forearm part without mechanical stopper. During this

    session, there is no connection to the motor, so the forearm part will move freely.

    Figure 4.4: Without Mechanical Stopper

    From the figure 4.4, we can see that the forearm part is at the unsafe

    condition. If the user place the hand and start the movement, the user hand will

    broke. The placement of the mechanical stopper is important in this exoskeleton

    robot. The following figure shows the forearm part with mechanical stopper. The

    mechanical stopper has made by installed the screw on the forearm part so during

    some position, the screw will hit the upper arm part and automatically the

    forearm part will stop moving.

    Figure 4.5: With Mechanical Stopper

    No

    connection

    for the

    motor

    Mechanical

    stopper

  • 37

    4.3 POTENTIAL METER

    These exoskeleton robots have been used the potential meter for position

    setting. However, this type of potential meter dint have the coupling to the motor,

    so I need to design the potential meter coupling so that the rotation of the motor

    will be detect by rotation of potential meter. This potential meter has been

    installed at the shaft of the motor. This is because the shaft of the motor is at the

    center of the rotation. So the flexible bracket is used so that the potential meter is

    movable. This is because to screw the bolt to the motor shaft, there must be no

    connection between the shaft, so with the flexible bracket, the potential meter can

    move away from the shaft and after screwed the shaft, the potential meter must

    be connect to the wing bolt that have been modified to have the place for

    potential meter. Figure 4.6 and 4.7 shows that the coupling of the potential meter.

    Figure 4.6: Potential Meter Coupling

    Figure 4.7: Motor Shaft with Wing Bolt

    Shaft of the

    motor without

    bolt

  • 38

    4.4 EXOSKELETON ROBOT ACCOMPLISHMENT

    The exoskeleton robot achieved the objective where it is able to perform

    the basic typical human movement and grasp, set the position and it also can

    perform automatic movement. In more details, the robot hand is able to achieve 8

    types of movement and they are categorized into 1-3 modes as shown in the

    Table 3.1.

    Table 3.1: Mode Selection and Description

    MODE SELECTION DESCRIPTION OF THE PERFORMANCE

    Mode 1 Shoulder movement

    Mode 2 Upper arm movement

    Mode 3 Forearm movement

    During every mode Grasp and forearm movement

    4.5 TYPICAL HUMAN UPPER-LIMB MOVEMENT

    This robot hand is able to perform certain typical human movement such

    as shoulder adduction and abduction, upper arm extension and flexion, forearm

    extension and flexion. Table 3.2 below shows the result of the exoskeleton robot.

  • 39

    Table 3.2: Result of the Exoskeleton Robot

    TYPE OF MOVEMENT CAPABILITY

    Shoulder adduction

    Shoulder abduction

    Upper arm flexion

    Upper arm extension

    Forearm flexion

    Forearm extension

    Forearm supination

    Forearm pronation

    Grasping

    Besides, the ways to control the movement task of this exoskeleton robot

    can be categorized into two types and they are manual type control and automatic

    type control. The manual type control is for every mode and the automatic mode

    is for mode 3 only. Figure 4.8 below shows the remote control of this

    exoskeleton robot.

    Figure 4.8: Remote Control

    Mode change

    button

    Auto mode

    button

    Position set

    button

    Emergency

    stop button

    Interface with

    interfacing circuit

    7-segment

    display

    Down

    movement

    button

    Up

    movement

    button

    Mode 1

    indicator

    (red LED)

    Mode 2

    indicator

    (yellow LED)

    Mode 3

    indicator

    (green LED)

  • 40

    Table 3.3: Type of Movement

    Type of movement Result of exoskeleton robot

    Shoulder movement

    Upper arm movement

  • 41

    Table 4.3: Type of Movement, continue

    Forearm movement

    Forearm movement and grasping

    method

  • 42

    However, during shoulder and upper arm movement, the length of the

    exoskeleton robot become longer than user hand, this is because the center of

    rotation between user and exoskeleton robot is slightly different. So to overcome

    this from happening, some flexible material has been installed at the forearm.

    Figure 4.9: Elastic String

    For the grasping exercise, the squeeze ball was used. The squeeze ball is

    one of the resistance exercise which mean when we squeeze the ball, the ball will

    produce reaction force to resist the human squeeze force. For the normal person,

    the ball is nothing because the normal person has enough strength to squeeze the

    ball, but for stroke patient there must strangle to squeeze the ball.

    4.6 MANUAL AND AUTOMATIC CONTROL

    Manual control has been program for three modes which is mode one for

    shoulder movement, mode two for upper arm movement and mode three for

    forearm movement. For the upper arm movement, there have some problem

    Elastic string

  • 43

    occur which is the speed of the movement for take up and pull down the upper

    arm cant be controlled due to heavy load. The upper arm part needs to be

    supplied with high value of PWM because the motor cant take up the heavy

    load. So the PWM supply value is constant. For the others movement, this

    exoskeleton robot can properly perform the task.

    For this project, the automatic control is focused on the forearm

    movement due to this part did not have any load problem. The automatic control

    has been programmed to perform forearm flexion and extension movement.

    During the automatic control, this system can display and counting from 9 to 0

    which is equivalence to ten seconds. The automatic control will be started if the

    users pushed the button auto mode button in mode three. The system will start

    counting just after the user push the auto mode button. After ten second the

    forearm movement will stop automatically.

    4.7 POSITION SETTING

    Position setting is one of the main objectives for this project. This

    objective is applied at the mode three of this project which is forearm movement.

    The position setting is actually set by the analog potential meter where the

    potential meter has been attached at the shaft of the motor. The user needs to

    make some movement first and stop wherever the user wants to stop then push

    the set position button. After set the position, the user can start make some

    movement as usual but the movement now is limited from the forearm is in

    straight position until where the position that has been set to stop. If the user

    needs to make some changes to the position, the user need to push the reset

    button and select mode three again and start to set the position. This system has

  • 44

    been proposed due to different ability of user. Some user has different position

    that they can handle. So with this system, any type of user can use this

    exoskeleton robot.

    4.8 MECHANICAL BACKBONE SUPPORT

    This robot is focus on the right hand side only. So this exoskeleton robot

    needs external support so the material of the exoskeleton robot will not be

    bending. Ten millimeter hollow aluminum has been use as the back bone of this

    exoskeleton robot. Figure 4.10 shows the back bone supports. The place where

    the back bone is placed is the best place because the back bone support from the

    top of the exoskeleton robot. So the exoskeleton robots will not bending due to

    heavy load that the exoskeleton robot need to handle. However, some part there

    did not have the support, so this can be implementing in the future development.

    Figure 4.10: Back Bone Support

    Back bone

    support

  • 45

    4.9 EMERGENCY STOP BUTTON

    Emergency stop button is connected directly to the MCLR pin at the

    microcontroller. This is because when the MCLR pin is low, the whole system is

    reset and back to the initial condition. The initial condition for this project is at

    the no mode condition which is no mode has been selected yet. There have two

    stop button at this exoskeleton robot, one is at the wire remote control and the

    other one is at the PIC start up kit that provided by Cytron.

    Figure 4.11: Emergency Stop Button

    4.10 SENSOR DETECTION

    Sensors would ensure that the user is in safe condition when user makes

    some movement from this exoskeleton robot. Every movement of this

    exoskeleton robot has been installed with limit switched. The limit switch

    position is the exactly where it should be. The entire limit switch is well

    functioning.

    Emergency

    stop button

  • 46

    CHAPTER 5

    DISCUSSION AND CONCLUSION

    5.1 DISCUSSION

    Based on the outcome, achievement and the comment from the lecturer

    and other students, the weight of the exoskeleton robot itself is the obvious

    problem faced in this project. The main root of cause is the use of actuator.

    Power window motor is quite heavy compared to other DC motor, but yet the

    performance of this power window is better than other DC motor from the torque

    specification. Power window DC motor has higher torque than other normal DC

    motor. Meanwhile, due to the structure of the exoskeleton robot, the exoskeleton

    robot is not capable to control the speed of the movement. Although the power

    window is higher torque DC motor, this type of motor have specific value of

    weight that can be handle.

  • 47

    The other factors that increase the weight of this robot are the material

    using in this exoskeleton robot. The material to implement this robot is 3mm

    thickness aluminum. In this project, to overcome this kind of weight, a lot of

    holes to reduce the weight are made. The direct shaft connection cant be

    implemented if the load is too heavy. To overcome this problem, there must be

    using belting method or use the muscle actuator. The mechanical design need to

    be changed so that it can implement the belting or muscle actuator.

    Apart from that, center of rotation problem is also one of the inadequate

    in this exoskeleton robot project as the center of rotation is slightly different than

    human hand. This issue can be clarified by the mechanical design of the

    exoskeleton robot. Since the upper limb is complex joining, the mechanical

    design also complex to design. The size of the power window is too big so that

    will affect to design the center of rotation of the human hand. Choosing the

    correct size and specification is one of important thing before implement the

    design. The type of motor must successfully fulfill the requirement of the design

    which is small size and higher torque until can handle the heavy load.

    5.2 SUGGESTIONS AND FUTURE DEVELOPMENT

    From the observation, there are several improvements that can be made to

    this exoskeleton robot:

  • 48

    I. Implement The Gearing System

    Gearing system will increase the specification of the DC motor in

    the aspect of higher torque. Gearing system is one way to

    accommodate the heavy load. By implement this system into this

    exoskeleton robot, the movement of the robot will be smooth.

    II. Reduce The Weight

    The total weight of this robot is too heavy. Some movement not

    moves smoothly. The total weights of this robot are including the

    motor and the material used in this project. By selecting the

    lighter material such as high quality plastic and select the suitable

    size and type of motor can reduce the total weight of the robot.

    III. Replace The Potential Meter With Digital Encoder

    Encoder will make the system more intelligent. By adding the

    digital encoder, the response of the system will be faster. This is

    because this robot is interacting with the human, every movement

    need faster response.

    IV. Replace The Upper Arm With Flexible Material

    The flexible part will make this robot more flexible to everybody,

    because every person has different length of their hand. So with

  • 49

    this type of feature, the robot can fit for everybody whatever their

    hand length.

    V. Choose The Suitable Type of Actuator

    The type of actuator is one of the important things for this project.

    This project needs to handle the weight of the robot itself and also

    the hand of the user. So the total weight is become heavier and

    need the high specification from the actuator. The appropriate

    types of actuator are hydraulic and pneumatic system. Hydraulic

    and pneumatic can support the heavy load. This system also can

    control the speed of the movement of the robot where this system

    need slow movement but constant speed.

    5.3 CONCLUSION

    The main objective of this project is to design an upper limb exoskeleton

    robot for hand rehabilitation for stroke patient has been developed with manual

    and automatic control and to set the position of the movement due to the patient

    condition has been achieved. The robot can set the position correctly and make

    the movement properly. But, several improvements still can be made in the

    future.

  • 50

    REFERENCES

    [1] Cloud. W, Man Amplifiers: Machines that Let You Carry a Ton, Popular

    Science, vol. 187, no. 5, pp. 7073, 1965.

    [2] Mosher. R. S, Handyman to Hardiman, Society of Automotive Engineers

    Publication, MS670088, 1967.

    [3] Benjuya. N, and S. B. Kenney, Hybrid Arm Orthosis, J. Prosthetics Orthotics,

    vol. 2, no. 2, pp. 155-163, 1990.

    [4] Kiguchi. K, Active Exoskeletons for Upper-Limb Motion Assist, J. Humanoid

    Robotics, vol. 4, no. 3, pp. 607-624, 2007.

    [5] Tsagarakis. N. G, and Caldwell. D. C, Development and Control of a Soft-

    Actuated Exoskeleton for Use in Physiotherapy and Training, J. Autonomous

    Robots, vol. 15, pp. 21-33, 2003.

    [6] Cramer. S. C, Takahashi. C. D, Der-Yeghiaian. L, See. J, Motiwala. R. R, and

    Le. V, Robot-Based Hand Motor Therapy after Stroke, in Proc. Int. Stroke

    Conf., 2007.

    [7] Cytron. (n.d.). Retrieved December 2009, from http://www.cytron.com.my

    [8] Perry. J. C, Rosen. J, and Burns. S Upper-Limb Powered Exoskeleton Design,

    IEEE/ASME Trans. on Mechatronics, vol. 12, no. 4, pp. 408-417, 2007.

  • 51

    [9] Kiguchi. K, Iwami. K, Iwami. M. Iwami, Watanabe. K, and Fukuda. T, An

    Exoskeletal Robot for Human Shoulder Joint Motion Assist, IEEE/ASME

    Trans. on Mechatronics, vol. 8, no. 1, pp. 125-135, 2003.

  • 52

    APPENDICES

    APPENDIX A

    HUMAN UPPER-LIMB SEGMENT

    Human Upper-Limb Motion

    Shoulder Elbow Forearm

  • 53

    APPENDIX B

    SCHEMATIC CIRCUIT DIAGRAM

    MAIN BOARD

  • 54

    MOTOR DRIVER

  • 55

    REOMOTE CONTROL

  • 56

    APPENDIX C

    PROGRAMMING

    /*******************************MOTOR1***************************/

    #define pwm1 CCPR3L

    #define m1L PORTD.F4

    #define m1R PORTD.F5

    /*******************************MOTOR2***************************/

    #define pwm2 CCPR1L

    #define m2L PORTD.F2

    #define m2R PORTD.F3

    /*******************************MOTOR3***************************/

    #define pwm3 CCPR2L

    #define m3L PORTD.F0

    #define m3R PORTD.F1

    /*******************************BCD*******************************/

    #define bcdA PORTC.F7 //LSB

    #define bcdB PORTC.F6

    #define bcdC PORTC.F5

    #define bcdD PORTC.F4 //MSB

    /******************************BUTTON******************************/

    #define swas PORTB.F0 //switch angel set

    #define swstrt PORTB.F1 //switch start

    #define swmc PORTB.F2 //switch mode change

    #define swup PORTB.F3 //switch up

    #define swdown PORTB.F4 //switch mode change

  • 57

    /*******************************LED********************************/

    #define ledr PORTD.F6 //red led

    #define ledy PORTB.F6 //yellow led

    #define ledg PORTB.F7 //green led

    /***************************LIMIT SWITCH****************************/

    #define ls1 PORTA.F3 //limit switch 1

    #define ls2 PORTA.F4 //limit switch 2

    #define ls3 PORTA.F5 //limit switch 3

    #define ls4 PORTE.F0 //limit switch 4

    #define ls5 PORTD.F7 //limit switch 5

    #define ls6 PORTC.F3 //limit switch 6

    /*************************function declaration*********************/

    unsigned int mode,count,read,i,x, set2, speed,speed2,temp ;

    unsigned int set1=0;

    void mode_condition();

    void called_mode(int);

    void select_motor(int);

    void display();

    void _init();

    void clockwise_m1(unsigned int);

    void clockwise_m2(unsigned int);

    void clockwise_m3(unsigned int);

    void unclkwise_m1(unsigned int);

    void unclkwise_m2(unsigned int);

    void unclkwise_m3(unsigned int);

    void stopm1(void);

    void stopm2(void);

    void stopm3(void);

    void auto1(void);

    void auto2(void);

    void auto3(unsigned int);

    /*************************main function****************************/

  • 58

    void main() {

    _init();

    while(1)

    {

    if (swmc==0)

    {

    mode_condition();

    }

    else

    select_motor(mode);

    }

    }

    /*************************function prototype***********************/

    void _init()

    {

    ADCON1=0x8C;

    TRISA=0x1F;

    TRISB=0x1F;

    TRISC=0x08;

    TRISD=0x80;

    TRISE=0x01;

    mode=0;

    ledr=ledy=ledg=1;

    bcdD=bcdC=bcdB=bcdA=1;

    m1L=m1R=m2L=m2R=m3L=m3R=0;

    //Setup up PWM operation

    PR2=255; //Set PWM period

    CCP1CON = 0b00001100; //Configure CCP1CON to on the PWM1 operation

    CCP2CON = 0b00001100; //Configure CCP2CON to on the PWM2 operation

    CCP3CON = 0b00001100; //Configure CCP3CON to on the PWM3 operation

    T2CON = 0b00000100;

  • 59

    pwm1 = 0; //Clear motor1 speed

    pwm2 = 0; //Clear motor2 speed

    pwm3 = 0; //Clear motor3 speed

    }

    void mode_condition()

    {

    if(swmc==0)

    {

    delay_ms(50);

    if(swmc==0)

    {

    delay_ms(50);

    while(swmc==0) continue;

    delay_ms(50);

    mode=mode+1;

    called_mode(mode);

    if (mode>3)

    mode=0;

    }

    }

    }

    void display()

    {

    switch(count)

    {

    case 0:break;

    case 1:bcdD=0;bcdC=0;bcdB=0;bcdA=0;

    break;

    case 2:bcdD=0;bcdC=0;bcdB=0;bcdA=1;

    break;

    case 3:bcdD=0;bcdC=0;bcdB=1;bcdA=0;

    break;

  • 60

    case 4:bcdD=0;bcdC=0;bcdB=1;bcdA=1;

    break;

    case 5:bcdD=0;bcdC=1;bcdB=0;bcdA=0;

    break;

    case 6:bcdD=0;bcdC=1;bcdB=0;bcdA=1;

    break;

    case 7:bcdD=0;bcdC=1;bcdB=1;bcdA=0;

    break;

    case 8:bcdD=0;bcdC=1;bcdB=1;bcdA=1;

    break;

    case 9:bcdD=1;bcdC=0;bcdB=0;bcdA=0;

    break;

    case 10:bcdD=1;bcdC=0;bcdB=0;bcdA=1;

    break;

    }

    delay_ms(1000);

    }

    void called_mode(int num)

    {

    switch(num)

    {

    case 1:

    ledr=0;

    ledy=1;

    ledg=1;

    break;

    case 2:

    ledr=1;

    ledy=0;

    ledg=1;

    break;

    case 3:

  • 61

    ledr=1;

    ledy=1;

    ledg=0;

    break;

    }

    }

    void select_motor(int num)

    {

    switch(num)

    {

    case 1: ADCON0=0x05;

    stopm2();

    stopm3();

    if(swup==0)

    {

    if(swup==0)

    {

    while(swup==0)

    {

    delay_ms(100);

    read=Adc_Read(0);

    if(ls1==0||swup==1)

    stopm1();

    else

    clockwise_m1(100);

    }

    }

    else

    stopm1();

    }

    else if(swdown==0)

    {

  • 62

    if(swdown==0)

    {

    while(swdown==0)

    {

    delay_ms(100);

    read=Adc_Read(0);

    if(ls2==0||swdown==1/*||read

  • 63

    read=Adc_Read(1);

    temp=read;

    if(swup==0)

    {

    if(swup==0)

    {

    while(swup==0)

    {

    delay_ms(50);

    read=Adc_Read(1);

    if(ls3==0||swup==1)

    stopm2();

    else

    unclkwise_m2(speed);

    }

    }

    else

    stopm2();

    }

    else if(swdown==0)

    {

    if(swdown==0)

    {//unclkwise_m2(230);

    while(swdown==0)

    {

    delay_ms(100);

    read=Adc_Read(1);

    if(ls4==0||swdown==1)

    stopm2();

    else

    clockwise_m2(speed2);

    }

  • 64

    }

    else

    stopm2();

    }

    else if(swas==0)

    { delay_ms(50);

    read=Adc_Read(1);

    while(swas==0)continue;

    {

    delay_ms(100);

    read=Adc_Read(1);

    set1=read;

    }

    }

    else

    stopm2();

    break;

    case 3: ADCON0=0x15;

    stopm1();

    stopm2();

    //set1=0;

    if(swup==0)

    {

    if(swup==0)

    {

    while(swup==0)

    {

    delay_ms(100);

    read=Adc_Read(2);

    if(read

  • 65

    unclkwise_m3(90);

    }

    }

    else

    stopm3();

    }

    else if(swdown==0)

    {

    if(swdown==0)

    {

    while(swdown==0)

    { delay_ms(100);

    read=Adc_Read(2);

    if(ls6==0||swdown==1)

    stopm3();

    else

    clockwise_m3(70);

    }

    }

    else

    stopm3();

    }

    else if(swas==0)

    {

    read=ADC_Read(2);

    set1=read;

    if(swas==0)

    {

    read=ADC_Read(2);

    while(swas==0)continue;

    {

    ledr=0;

  • 66

    read=ADC_Read(2);

    set1=read;

    }

    delay_ms(100);

    read=ADC_Read(2);

    set1=read;

    }

    }

    else if(swstrt==0)

    {

    auto3(set1);

    }

    else

    stopm3();

    break;

    }

    }

    void auto1()

    {

    while(swstrt==0)continue;

    {

    while(1)

    {

    for(count=10;count>=0;count--)

    {

    delay_ms(50);

    read=Adc_Read(0);

    if(ls1==0)

    {

    delay_ms(100);

    unclkwise_m1(110);

    read=Adc_Read(0);

  • 67

    }

    else if(ls2==0)

    {

    delay_ms(100);

    clockwise_m1(110);

    read=Adc_Read(0);

    }

    if(count=0;count--)

    {

    delay_ms(50);

    read=Adc_Read(1);

    if(read>=set1||ls3==0)

    {

  • 68

    delay_ms(100);

    clockwise_m2(70);

    read=Adc_Read(1);

    }

    else if(ls4==0)

    {

    delay_ms(100);

    unclkwise_m2(100);

    read=Adc_Read(1);

    }

    if(count=0;count--)

    {

  • 69

    read=ADC_Read(2);

    delay_ms(500);

    if(ls6==0&&ls5==1)

    {

    unclkwise_m3(110);

    read=ADC_Read(2);

    }

    else if(read

  • 70

    {

    pwm1=pwm;

    m1L=1;

    m1R=0;

    }

    void clockwise_m2(unsigned int pwm)

    {

    pwm2=pwm;

    m2L=1;

    m2R=0;

    }

    void clockwise_m3(unsigned int pwm)

    {

    pwm3=pwm;

    m3L=1;

    m3R=0;

    }

    void unclkwise_m1(unsigned int pwm)

    {

    pwm1=pwm;

    m1L=0;

    m1R=1;

    }

    void unclkwise_m2(unsigned int pwm)

    {

    pwm2=pwm;

    m2L=0;

    m2R=1;

    }

    void unclkwise_m3(unsigned int pwm)

    {

    pwm3=pwm;

  • 71

    m3L=0;

    m3R=1;

    }

    void stopm1()

    {

    pwm1=0;

    m1L=0;

    m1R=0;

    }

    void stopm2()

    {

    pwm2=0;

    m2L=0;

    m2R=0;

    }

    void stopm3()

    {

    pwm3=0;

    m3L=0;

    m3R=0;

    }

    borang thesisdeclarationcontent and listthesis fyp