Home
devolepment 5 fingers robot hand using pic
Contents
1. Fs N A pg p Showing Four Showing Five 13 14 Showing Six Showing Seven 53 15 16 Showing Nine 17 Showing Ten Figure 6 7 Robot Hand autonomous mode 54 CHAPTER VII CONCLUSION AND RECOMMENDATION 7 1 Conclusion The objectives of this project have been achieved The robot hand was able to grasp roll objects and emulated human hand Besides it 1s also able to be real time controlled by the master glove To conclude the robot hand platform brings a great significance to the humanoid robotic and the invalid The humanoid robot hand concept can be widely applied into any application and field of research humanoid robot is widely research in our real world such as NASA Robonaut Program Honda Asimo Humanoid Robot and military research Hence the robot hand project is right on time project with a wide array of opportunity scopes in the field of economy scientific research and design The knowledge and skills obtained through this project will bring in a lot of benefits and opportunities 29 6 1 Recommendation There still a lot of space for improvement and enhancement for this 5 fingers robot hand project Humanoid robot covers a very large field which requires creativity talent and dynamic mentality to fully optimize the technology knowledge and inspiration of the nature The master glove design is a mechanical design while all the sensor
2. amp E B c E 2 amp amp 2 P gt di Bs 104155 df EL yams Jowod Cords IO Id 81100 de lass Is Dir oee TA TA el 81100 ID ISdS MS 5 Schematic diagram for microcontroller Figure 4 16 33 CHAPTER V SOFTWARE DEVELOPMENT 5 1 Software Design Apart from developing the hardware software 1s needed for the project to function This software is needed by the PIC microcontroller to take the appropriate action to produce an output from the input that it senses This software can be developed using C MPLAB IDE or PIC Basic In this project MPLAB IDE was used to produce the software where programming C language was applied to write the program and the compiler C18 was used to compile the program Besides the programming C there are other types of programming language that can be used to program the PIC microcontroller This includes the high level language the assembly language and the low level language machine language Each of this software has their own advantages and disadvantages Programming C language is used to write the program because this programming C can be used to represent the machine language instruction with alphanumeric characters and it 1s easier to be written 34 3 2 PIC Programming The robot hand programming flow chart wil
3. registers contain the individual priority bits for the peripheral interrupts Due to the number of periph eral interrupt sources there are two Peripheral Inter rupt Priority Registers IPR1 IPR2 The operation of the priority bits requires that the Interrupt Priority Enable IPEN bit be set REGISTER 8 8 IPR1 PERIPHERAL INTERRUPT PRIORITY REGISTER 1 R W 1 R W 1 R W 1 R W 1 R W 1 R W 1 R W 1 R W 1 bit 7 bit O bit 7 PSPIP Parallel Slave Port Read Write Interrupt Priority bit 1 High priority 0 Low priority bit 6 ADIP A D Converter Interrupt Priority bit 1 High priority 0 Low priority bit 5 RCIP USART Receive Interrupt Priority bit 1 High priority 0 Low priority bit 4 TXIP USART Transmit Interrupt Priority bit 1 High priority 0 Low priority bit 3 SSPIP Master Synchronous Serial Port Interrupt Priority bit 1 High priority 0 Low priority bit 2 CCPIP Interrupt Priority bit 1 High priority 0 Low priority bit 1 TMR2IP TMR2 to PR2 Match Interrupt Priority bit 1 High priority 0 Low priority bit O TMR1IP TMR1 Overflow Interrupt Priority bit 1 High priority 0 Low priority Note 1 This bit is reserved on PIC18F2X2 devices always maintain this bit set Legend R Readable bit W Writable bit U Unimplemented bit read as O n Value at POR 7 Bit is set 0 Bit is cleared x Bit is unknown DS39564C page 82 2006 Microchip Technology Inc 97 PIC18FXX2 REG
4. y 1 5 01 6 Pwm6 F Timer1 sv01 7 Pwm Figure 5 3 Multiple PWM output generated simultaneously by No yes 1 TimerO 3CAF 20ms Timer1 FC77 0 18ms yes Count 0 0 v Timer1 s flag 1 amp Timer1 enable 40 gt Re enable all interrupt y timer nent Figure 5 4 Flowchart for Timer Interrupt to generate PWM 4 5 4 MPLAB IDE In order to program the PIC microcontroller MPLAB IDE software 15 used where it offers a project manager and program text editor besides the user configurable toolbar that containing four predefined sets and a status bar which communicates editing and debugging information The programming of PIC microcontroller 1s achieved through the assembly language The advantage of this software is that it can write debug and optimize the PIC microcontroller based application 42 CHAPTER VI RESULT AND ANALYSIS This chapter discussed on the outcome of the project where analysis and experiments are being conducted in order to test the functionality and performances of the robot hand The complete prototype of the robot hand shows in Figure 6 1 Figure 6 1 Prototype of robot hand 43 6 1 Motor and Finger Force Analysis 6 1 1 Motor Torque and Speed The speed of th
5. 4 0 05 1 Analog input range 2 53 to 0 5 V Voltage reference Vref 10bits in ADC register 21024 38 Analog voltages convert to Digital value Result 5 3 3 Maximum digital voltage value Minimum digital voltage value a 102 Range between digital voltage values 527 102 425 Maximum Timer 1 62535 Minimum timer 1 58035 PWM timerl range 62535 58035 4500 Formula for converting Digital voltage value to interrupt timerl to create the PWM was generated by using the range of PWM and the range of digital voltage values result 5701 ETUR x 4500 56955 5 1 The value of 0 and timerl was determined at the beginning of the main program so that the interrupt can happen when the program starts to run The timer interrupt 0 will make the interrupt happen at every 20 ms and the timer interrupt 1 will make the interrupt happen depending on the pulse width of each PWM output Using this method the output of the PWM has been generated simultaneously The output of the PWM and flowchart of the timer interrupt were shown in figure 5 3 and figure 5 4 39 1 interrupt 0 277 interrupt Timer0 20ms I Timer1 sv01 0 Pwm0 k Timerl sv01 1 Pwm 1 F Timer1 sv01 2 Pwm2 5 01 3 Pwm3 Timer1 sv01 4 Pwm4 1 01 5 Pwm 5
6. Those researchers need to understand the human body structure and behavior to built and study the humanoid robots Furthermore the attempt to simuate the human body leads to a better understanding of it Besides the research developed the humanoid robots to let it can perform human tasks like personal assistance where they should be able to assist the sick and elderly and dirty or dangerous jobs Regular jobs like being a receptionist or a Health services are also suitable for humanoids In essence since they can use tools and operate equipment and vehicles designed for the human form humanoids could theoretically perform any task a human being can so long as they have the proper system 2 2 Actuators Actuators are the motors responsible for motion in the robot A mechanism or robot are constructed in such a way that they mimic the animal or human body so the actuators is to perform like a muscles and joints but with a different structure To achieve the effect motion of the robot robots normally use mainly rotary actuator The common actuator is electric pneumatic hydraulic piezoelectric or ultrasonic control 2 2 1 Pneumatic artificial muscles Pneumatic artificial muscles PAMs are contractile or extensional devices operated by pressurized air Similarly to human muscles PAMs are usually grouped in pairs figure 2 1 one agonist and one antagonist Figure 2 1 Agonist and Antagonist PAMSs are contractile and li
7. Writable bit U Unimplemented bit read as O n Value at POR 1 Bit is set 0 Bit is cleared x Bit is unknown 2006 Microchip Technology Inc DS39564C page 75 92 PIC18FXX2 REGISTER 8 2 INTCON2 REGISTER H W 1 H W 1 H W 1 H W 1 0 0 H W 1 0 0 H W 1 iwrEpeo iwreoai wwreoo2 maoe RP _ bit 7 bit O bit 7 RBPU PORTB Pull up Enable bit 1 PORTB pull ups are disabled PORTB pull ups are enabled by individual port latch values bit 6 INTEDGO External InterruptO Edge Select bit 1 Interrupt on rising edge 0 Interrupt on falling edge bit 5 INTEDG1 External Interrupt1 Edge Select bit 1 Interrupt on rising edge 0 Interrupt on falling edge bit 4 INTEDG2 External Interrupt2 Edge Select bit 1 Interrupt on rising edge 0 Interrupt on falling edge bit 3 Unimplemented Read as O bit 2 TMROIP TMRO Overflow Interrupt Priority bit 1 High priority 0 Low priority bit 1 Unimplemented Read as O bit O RBIP RB Port Change Interrupt Priority bit 1 High priority 0 Low priority Legend R Readable bit W Writable bit U Unimplemented bit read as 0 Value at POR 17 Bit is set Q Bit is cleared x Bit is unknown Interrupt flag bits are set when an interrupt condition occurs regardless of the state of its corresponding enable bit or the global enable bit User software should ensure the appropriate interrupt flag bits are clear prior to enabling
8. The example of the calculation of servo motor angle responds to the pulse width modulation used throughout this robot hand program is shown below including a graphical illustration of the servo position related to its pulse width value Two timer interrupt was used to generate the PWM for controlling the servomotor position which included timer interrupt 0 and timer interrupt 1 Pwm 0 5 2 35ms 20ms 0 5 M 1 Figure 5 2 Servomotor pulse width value and its related angles 37 5 31 Timer interrupt 0 The pulse width generating program and its calculation are shown here where the 18F452 PIC microcontroller is 16 bits thus there is 216 65536 value can be generated and the crystal clock for the circuit is 20MHz and the perscale factor 1s 2 thus the PWM period calculation are shown below Timer0 65536 5 3 1 4 0 05 2 Maximum timer value 65536 Period for PWM 20 ms Substitute PWM to equation 5 3 1 TimerO 15536 TimerO 53 0 Hence the timer interrupt 0 will be set to value 3CBO and when it flows from FFFF to 0000 it will jump to the interrupt subroutine program 5 3 2 Timer interrupt 1 The timer interrupt 1 1s used to generate the pulse of the PWM The timerl also is in 16 bits thus there is 2 65536 value be generated but the prescale factor 15 1 thus the pulse width calculation show below Timer0 65536 5 3 2
9. The user must provide a software time delay to ensure proper start up of the Timer1 oscillator TABLE 11 1 CAPACITOR SELECTION FOR THE ALTERNATE OSCILLATOR wwe me e 32kHz Crystal to be Tested 32 768 kHz Epson C 001R32 768K A 20 PPM Note 1 Microchip suggests 33 pF as a starting point in validating the oscillator circuit 2 Higher capacitance increases the stability of the oscillator but also increases the start up time Since each resonator crystal has its own characteristics the user should consult the resonator crystal manufacturer for appropriate values of external components Capacitor values are for design guidance only 11 3 Timer1 Interrupt The TMR1 Register pair TMR1H TMHR1L increments from 0000h to FFFFh and rolls over to 0000h The Interrupt if enabled is generated on overflow which is latched in interrupt flag bit TMR1IF PIR1 0 This interrupt can be enabled disabled by setting clearing 1 interrupt enable bit TMR1IE PIE1 0 11 4 Resetting Timer1 using a CCP Trigger Output If the CCP module is configured in Compare mode to generate a special event trigger CCP1M3 CCP1MO 1011 this signal will reset Timer1 and start an A D conversion if the A D module is enabled Note The special event triggers from the CCP1 module will not set interrupt flag bit TMRHIF PIR1 0 Timer1 must be configured for eithe
10. 26 26 27 2 4 11 4 12 4 13 4 14 4 15 4 16 SN 222 5 3 5 4 6 1 6 2 6 3 6 4 6 5 6 6 6 7 The dimension of Servomotor Potentiometer rotate sensor Potentiometer rotate sensor at each joint of a finger Potentiometer rotate sensor at each joint of 5 fingers Computer s power supply that used in this project Schematic diagram for microcontroller Robot hand program flowchart servomotor pulse width value and its related angles Multiple PWM output generated simultaneously by PIC Flowchart for Timer Interrupt to generate PWM Prototype of robot hand The self made PIC Programmer The MPLAB IDE programming Simulating and debugging platform Process of one finger debugging its position locomotion Master glove controller Robot Hand manually control by Master Glove Robot Hand autonomous mode 28 29 29 30 31 32 35 36 39 40 42 44 45 46 47 48 49 PIC DC LED PCB UART PAMs PWM PC CAD xiil LIST OF ABBREVIATIONS Programmable Intelligent Computer Direct Current Light Emitting Diode Printed Circuit Board Universal Asynchronous Receiver Transmitter Pneumatic Artificial Muscles Pulse Width Modulation Personal Computer Computer aided design CHAPTERI INTRODUCTION 1 1 Background of Project Robot hand 1 a part of robot arm and it 1s important part for a humanoid robot Typical applications of robot hand include welding painting ironing assembly pick and place packaging an
11. 5 ADC ADC ADC INT OFF DelaylOTCYx 5 Delay for 50TCY ConvertADci l Start conversion whilei BusyADC result O EeadADZ CloseADCG converter 75 Wait for completion Read result Disable A D OpenADC ADC FOSC 32 ADC RIGHT JUST ADC OREF ADC CH1 amp ADC INT OFF DelaylOTCYx 5 ConvertADC while BusyADC result 1 ReadADC CloseADC converter OpenADC ADC FOSC 32 Delay1loTcrx 5 ConvertAnci 6 whilet BusyA amp DC result 2 ReadADGC t CloseADCi converter Delay for 50TCY Start conversion Wait for completion Read result Disable A D ADC RIGHT JUST amp ADC BANA OREF ADC CH2 ADC INT OFF Delay for Start conversion Wait for completion Read result Disable A D OpenADC ADC FOSC 32 5 ADC RIGHT JUST ADC BANA OREF ADC CH3 ADC INT OFF DelaylOTCYx 5 ConmvertADc while BusyADC result 3 EkReadADC CloseADC converter Delay for SOTCY Start conversion Wait for completion Read result Disable A D OpenADC ADC FOSC 32 ADC RIGHT JUST 2 ADC BANA OREF ADC CH4 amp ADC INT OFF DelaylorTcyr 5 ConvertAnci whilei BusyADC result 4 ReadADC CloseADC converter Delay for Start conversion Wait for completion Rea
12. String Lower String Figure 4 3 Strings Tie Method for Finger 26 The illustration below summarized the Robot hand structure and mechanism design process of the revolution in the Robot hand prototype Figure 4 4 First prototype built Figure 4 5 Second prototype built using ice cream stick using aluminum plate Figure 4 6 Fourth prototype 15 a Figure 4 7 Third prototype complete robot hand consists of 4 fingers and no palm Figure 4 8 Final Robot hand consists of all the servo motors and fingers 27 4 1 2 String Pulling Method This robot hand s fingers were moved by controlling the servo motor on the forearm of the robot hand The strings tied from the servomotor and the finger s sector can pull those finger sectors to bend up to 90 The servomotor s shaft turned anticlockwise by 90 to make the finger bends upward 90 and if servomotor s shaft turned clockwise by 90 it will make the finger go back to the straight position Configuration diagram of this string pulling method was shown in Figure 4 10 Motor z 7 Motor 3 Default state Bending Straight Figure 4 10 The Configuration of The String Pulling 28 4 1 3 The Servomotor A servo motor servo is an electromechanical device in which an electrical input determines the position of the armature of a motor It was used to power this robot hand because its torque 15 felicitous and the position can be determined by using PWM
13. To do so the methods and technical strategies implied is the most important disciplined need to look at Therefore some simplified phase by phase method was proposed By using this method problems can be detected at the early stages to avoid hectic failures There is always a target to reach either short term or long term goals It is more organized to do the Job one by one according to their respective phases Thus the development of the robot is divided into three phases They include mechanical design electronic control system and software development process 3 1 1 Phase 1 Mechanical Design Process Mechanical design 1s one of the major phases in the development of the robot hand This part contributes to what the robot hand would look like The skeleton of the robot hand 1s designed and constructed this phase The purpose of the skeleton 17 is to provide a place to mount the electronics component such ask sensor and servo motor for the robot finger Theoretical design for the robot finger is done by using the servo motor to pull each sector of the finger Figure 3 1 String Joint Motor 2 Motor 3 Figure 3 1 Theoretical design of the finger 3 1 2 Phase 2 Electronic Control Development Process Electronic Control Development Process 15 the most complex phases as it covers many tasks which all need specific attention The second phase of the robot development involves system control circuit sensor interface
14. an interrupt This feature allows for software polling DS39564C page 76 2006 Microchip Technology Inc 93 PIC18FXX2 REGISTER 8 3 INTCONS3 REGISTER H W 1 R W 1 0 0 R W 0 R W O 0 0 R W O R W 0 irae ne inte T rar ONF bit 7 bit O bit 7 INT2IP INT2 External Interrupt Priority bit 1 High priority 0 Low priority bit 6 INT1IP INT1 External Interrupt Priority bit 1 High priority 0 Low priority bit 5 Unimplemented Read as O bit 4 INT2IE INT2 External Interrupt Enable bit 1 Enables the INT2 external interrupt 0 Disables the INT2 external interrupt bit 3 INT1IE INT1 External Interrupt Enable bit 1 Enables the INT1 external interrupt 0 Disables the INT1 external interrupt bit 2 Unimplemented Read as O bit 1 INT2IF INT2 External Interrupt Flag bit 1 The INT2 external interrupt occurred must be cleared in software 0 The INT2 external interrupt did not occur bit O INT1IF INT1 External Interrupt Flag bit 1 The INT1 external interrupt occurred must be cleared in software 0 The INT1 external interrupt did not occur Legend H Readable bit W Writable bit U Unimplemented bit read as 0 Value at POR Bit is set 0 Bit is cleared x Bit is unknown Interrupt flag bits are set when an interrupt condition occurs regardless of the state of its corresponding enable bit or the global enable bit User software should ensure the appropriate interrup
15. bit When 0 1 Enables all unmasked interrupts 0 Disables all interrupts When IPEN 1 1 Enables all high priority interrupts 0 Disables all interrupts PEIE GIEL Peripheral Interrupt Enable bit When IPEN 0 1 Enables all unmasked peripheral interrupts 0 Disables all peripheral interrupts When IPEN 1 1 Enables all low priority peripheral interrupts 0 Disables all low priority peripheral interrupts TMROIE TMRO Overflow Interrupt Enable bit 1 Enables the TMRO overflow interrupt 0 Disables the TMRO overflow interrupt INTOIE INTO External Interrupt Enable bit 1 Enables the INTO external interrupt 0 Disables the INTO external interrupt RBIE RB Port Change Interrupt Enable bit 1 Enables the RB port change interrupt 0 Disables the RB port change interrupt TMROIF TMRO Overflow Interrupt Flag bit 1 TMRO register has overflowed must be cleared in software 0 2 TMRO register did not overflow INTOIF INTO External Interrupt Flag bit 1 The INTO external interrupt occurred must be cleared in software 0 The INTO external interrupt did not occur RBIF RB Port Change Interrupt Flag bit 1 At least one of the RB7 RB4 pins changed state must be cleared in software 0 None of the RB7 RB4 pins have changed state Note mismatch condition will continue to set this bit Reading PORTB will end the mismatch condition and allow the bit to be cleared Legend H Readable bit W
16. can perform a few tasks by controlling it using master glove The robot hand 15 successful in emulating human hand and grasping roll materials like water bottle The figure 6 5 showed the master glove controller and figure 6 6 showed how the master glove controller controls the robot hand Figure 6 5 Master glove controller 48 Use master glove to control the robot hand to grasp a bottle The robot hand can emulate human hand Try to pick a piece of paper Figure 6 6 Robot Hand Is Manually Controlled by The Master Glove 49 6 4 Autonomous Movement After switching on the power of the electrical control circuit the PIC microcontroller will start to run the program The default state of the robot hand will be which all the fingers are in the straight position If the buttonl in the electrical control circuit has been pushed the autonomous mode would be activated In this mode the robot hand will move following a sequence of instructions The robot hand will open and close the hand 3 times and fingers bending start from thumb follow by index finger middle finger ring finger and the last is pinky finger After those fingers all close the hand starts to demonstrate number from one to ten The figure 6 7 showed the autonomous movement of the robot hand Open and close hand three times Index finger bended 50 51 Pinky bended F fP Showing One Showing Two Showing Three 22 11 12
17. circuit and servo motor control circuit Subsequently numerous tests on the designed circuit are performed on a prototyping board Once the circuit works effectively the circuit designed then is transferred on to a dot nut board There are several intermediate steps which comprises of drawing a schematic diagram and PCB layout using commercial software such as Portel 3 1 3 Phase 3 Software Development Process The first step in this stage 1s to select an appropriate type of microcontroller or in other words to recognize the appropriate PIC microcontroller language for the robot s programming through MPLAB IDE software Programming is an art of making the robot better and smarter The C18 Student Edition provided by the company Microchip is a compiler for the MPLAB IDE The setup of such 18 microcontroller system involves interfacing with the sensor and motor control circuit To design and draw the mechanical part of the robot hand a software call Solidwork is needed This software can let us drawing a 3D diagram and can change the 3D layout to 2D layout 3 2 Electronic Control System Power Robot Control Unit 1 PIC 18F452 Robot Control Unit 2 PIC 18F452 Figure 3 2 Electronic Control Block Diagram The block diagram in Figure 3 2 shows how the electronic control system was developed and how they communicate with each other There are 8 blocks at the block diagram show the Power Input Microcontroller center un
18. mode TMROIF TMROIE TMROIP HBIF RBIE RBIP INTOIF INTOIE Interrupt to CPU INTIIF Vector to location INTHE 0008h Peripheral Interrupt Flag bit Peripheral Interrupt Enable bit INT2IF Peripheral Internupt Priority bit 3 INT2IP TMRIIF GIEH GIE TMR1IP XXXXIF Priority Interrupt Generation Priority Interrupt Generation Peripheral Interrupt Flag bit Peripheral Internupt Enable bit Peripheral Interrupt Priority bit Interrupt to CPU Vector to Location 0018h TMRHIF TMRHIE 3 TMRHIP GIEL PEIE XXXXIE GIE GIEH XXXXIP Additional Peripheral Interrupts Mn e M DS39564C page 74 2006 Microchip Technology Inc 9 PIC18FXX2 8 1 INTCON Registers Interrupt flag bits are set when an interrupt condition occurs regardless of the state of its corresponding enable bit or the global The INTCON Registers are readable and writable reg isters which contain various enable priority and flag bits REGISTER 8 1 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit O enable bit User software should ensure the appropriate interrupt flag bits are clear prior to enabling an interrupt This feature allows for software polling INTCON REGISTER R W O R W O R W O R W O H W 0 H W 0 0 RAN x bit 7 bit O GIE GIEH Global Interrupt Enable
19. priority void InterruptVecLorHigh void i _ asm assembly code starts goto InterruptHandlerHidh interrupt control endasm assembly code ends pragma code pragma interrupt InterruptHandlerHigh enf REE RARER void InterruptHandlerHigh declaration of InterruptHandler fithis gets ran when ever the timers flop over from 20000 if INTCOHbits TMROIF check if THRO interrupt flag is set i WriteTimerO x3CAF WriteTimerli OxFC77 count 0 INTCONbits TMR IF 6 clear THRO flag if PIRlbiLs TMRIIF 1 FIElbits THR1IE 1 if set controls the first servo i switchi ocount case 1 1 First Stage WriteTimerl sv01 0 break case 2 0 Servo 1 1 WriteTimerl svOl 1 break case 3 pwml 0 pwmz2 1 WriteTimerli zv l 2 1 break case 4 pwms3 1i WriteTimerli swv01 3 break Case 5 pwm3 pwm 1 WriteTimerl 5770114 break case 6 0 pwmb5 1 WriteTimerl sv01 5 79 break Gase 7 pwm5 pwm 1 WriteTimerl 01 6 break case B pwms o pwm7 1 WriteTimerli svO1 7 break case 9 pwm7 0 WriteTimerl 0 break PIRibits THRIIF PIEibits TMRiIE O elear Timerl flag 1 elear Timerl enable flag set to INTCOMbits GIE 1 r
20. requirements ensure the external clock can be synchronized with the internal phase clock TOSC Also there is a delay in the actual incrementing of TimerO after synchronization 10 2 Prescaler An 8 bit counter is available as a prescaler for the module The prescaler is not readable or writable The PSA TOPS2 TOPSO bits determine the prescaler assignment and prescale ratio Clearing bit PSA will assign the prescaler to the module When the prescaler is assigned to the module prescale values of 1 2 1 4 1 256 selectable When assigned to the TimerO module all instructions writing to the TMROL register CLRF TMRO MOVWF TMRO BSF TMRO x etc will clear the prescaler count Writing to TMROL when the prescaler is assigned to TimerO will clear the prescaler count but will not change the prescaler assignment TABLE 10 1 10 2 1 SWITCHING PRESCALER ASSIGNMENT The prescaler assignment is fully under software con trol 1 it can be changed on the fly during program execution 10 3 TimerO Interrupt The TMRO interrupt is generated when the TMRO reg ister overflows from FFh to OOh in 8 bit mode or FFFFh to 0000h 16 bit mode This overflow sets the TMROIF bit The interrupt can be masked by clearing the TMROIE bit The TMROIE bit must be cleared in soft ware by the TimerO module Interrupt Service Routine before re enabling this inte
21. s eee 0000 Combiner cone T 5 Troubleshooting Fine Tuning B Cc _ ENS Cs ess Conia Gantt chart for PSM 2 60 APPENDIX B MECHANICAL STRUCTURE LAYOUT 62 dO ISHS ELNINO SHINE 31v28 LON Od SOS Gada lil OTIS OMi Hw 2839 SRV ipeo IHE x MOSS asd SHE NORM v ge ao lad 72839 ipM Lai IHL SH JHL Mechanical Structure Layout for Thumb 63 e F 6 dO 133HS IC vid 3esH SVN LESNI JO IHL LIORUM JIOHAVY 0 Iavad mni AMY 28H SIV AN INGO Lis ALgdO8d 252834151 SH Hi OSHIV INO D HOO VINA cet SHIDEY ZTIOL 1340831 T Tu 88 1 T1vWicadaovis OM cn c 99 OM3 onas 3 TeHOLZrvad ONYESIOL Mechanical Structure Layout for Index Finger 64 Tors Z OM SIMO 37ls LUNES Hdd DAN dd SHS SESH IAN LESSE 10 MOORS dd LOR Sy aic lad AMY aa INH ANY INO Lash dOd 250834181 SHIA HI OSHIV I
22. suitable approach and methods Once the literature review was 22 finished next is methodology will used to identified the problem and decide the suitable approach and method solving the problem After finish all the task above a report for PSMI will be prepared Next a survey on components tools and cost approximations will be carried out Once the development system has been decided a survey on the components and tools and the cost approximation will be done so that the budget in constructing the robot 1s not too expensive For the planning PSM 2 first at all all the components will be gathered followed by the construction stage or hardware development It will only start after all the components and tools are available It includes building of Robot hand skeleton interfacing circuits and the controller After that the controller used must be programmed to make sure it worked properly The language used to program the controller is a programming C language through MPLAB IDE software After complete all the construction the functionality of the system will be tested If there is a problem troubleshoot will be performs 23 CHAPTER IV HARDWARE DEVELOPMENT This chapter presents the framework of the 5 fingers robot hand The hardware be divided into mechanical and electronic design the components and techniques applied in this project are also presented in this chapter 4 1 Mechanical Design 4 1 1 Robot H
23. the forearm The flow of air into and out of each muscle 1s controlled by eighty valves also in the forearm This 1s done based on the information gathered from the joint sensors The entire system is built with a combination of metals and plastics The finger is built by using acetyl aluminium polycarbonate fingernails and polyurethane flesh The finger distal can general maximum force 2 5 Nm and the finger proximal can generate maximum force 0 5 Nm A Hall Effect sensor measured the position with typical resolution 0 2 degrees senses the rotation of each joint This data is sampled locally by 12 bit ADC The sampling rate is configurable up to 180Hz If the Tactile Sensing option is selected then tactile sensor data is made available as per the separate Tactile Fingertip Technical Specification PIC18F4580 microcontroller is used for embedded control throughout the robot system The firmware is provided as source on the host PC i lil Figure 2 4 Shadow robot hand 13 2 3 2 Mechatronic Design of Innovative Fingers for Anthropomorphic Hands This robot hand is development at the University of Bologna The new design 1s base on the concept that the robot hand finger 1s explicitly addressed at the endoskeleton structure concept so that it can host external compliant layers like in the biological model of the human hand in order to increase contact adaptability and grasp robustness and stability Figure 2 5 Com
24. used was potentiometer The mechanical design made the human hand s fingers hard to move hard to wear and only in 3 degree of freedom for each finger This can be improved by using Flexible Bend Sensor to make the master glove become suppleness easy to wear and easy to use The servo motor used in this project was in normal size and 16 servo motors were assembled in the forearm The servo motors fixed the size of human forearm but the torque was not enough to let the finger to support heavy load The more powerful air muscle should be applied with a metallic string to enhance the robot hand s fingers movement and its locomotion Furthermore the robot hand s finger was 3 degree of freedom but our human hand has 4 degree of freedom One degree of freedom needs to be added to improve the robot hand s agility and to make the robot hand can totally emulate human hand 1 2 56 REFERENCES Society of Robot 2005 2009 Actuator Servos Online Available http www societyofrobots com actuators servos shtml society of Robot 2005 2009 BEGINNERS How to Build Your First Robot Tutorial Online Available http www societyofrobots com robot tutorial shtml The University of Texas at Austin Joint Types Online Available http www robotics utexas edu rrg learn more low ed joints Ztypes L Biagiotti F Lotti C Melchiorri G Vassura Mechatronic Design of Innovative Fingers for Anthropomorphic Robot Hands IEEE Jou
25. void for 1 0 1i lt 8 i4 if BOcresult i c530 temp result i 4500 425 456955 Formula sv l i temp if sv01 i lt 58035 sv01 i 258035 else if 3701111262535 55701 1 62535 else EvUl i 52535 void changingl void 1 for i 0 icB ic4 if 80 lt result ij lt 530 i if i 45 i temp result 5 4500 164 49062 sev 1 5 temp if sevOl 5 c58035 8701 51 58035 else if s5v01 5 5 52535 savol 5 62535 else else i temp result i 4500 425 56955 sv liij temp if svOUl i c595035 zw l il 58035 else if swOl 1 gt 62535 avUl Iil 62535 svO0l i 262535 72 Formula Formula fk e kk ke e e e e e e e e e e e e e e e ke ke e e e e e e ke e e e e kk e e e e e e e e ES A amp utonomous mode void action 1 void if done 1 t while lt 3 result O0 result 1 result 2 result 3 result 4 result 5 j result 6 result 7 automove changing DelaylOKTCYx 1 if auLomacve S05szctest 0 au tomcowve autaoamove 1l else if automove 530 else 1 test l1 automove automove 1 test o AT if a 3 done o if 0 Cest 1 automowe 530 while automove B0 result 7 result ij result 5 automove tomove automove 1 ehanging DeLaylORTCYx 1 autemowre 5 30 while automove B80
26. CS 1 1 Do not synchronize external clock input 0 Synchronize external clock input When 1 0 This bit is ignored Timer1 uses the internal clock when TMRH1CS 0 bit 1 TMR1CS Clock Source Select bit 1 External clock from pin RCO T1OSO T13CKI on the rising edge 0 Internal clock Fosc 4 bit O TMR10ON Timer1 On bit 1 Enables 0 Stops Timer1 Legend H Readable bit W z Writable bit U Unimplemented bit read as 0 n Value at POR 1 Bit is set O Bit is cleared Bit is unknown 2006 Microchip Technology Inc DS39564C page 107 PIC18FXX2 103 11 1 Timer1 can operate in one of these modes Timer1 Operation Asatimer synchronous counter asynchronous counter The Operating mode is determined by the clock select bit TMR1CS lt 1 gt FIGURE 11 1 TIMER1 BLOCK DIAGRAM TMR1IF Overflow Interrupt Flag Bit CLR TMR1L TMR1H T1CKI T1OSO T1OSI Oscillator Fosc 4 Intemal Clock When TMR1CS 0 increments every instruc tion cycle When TMR1CS 1 Timer increments on every rising edge of the external clock input or the Timer1 oscillator if enabled When the Timer1 oscillator is enabled T1OSCEN is set the RC1 T1OSI and RCO T1OSO T1CKI pins become inputs That is the TRISC lt 1 0 gt value is ignored and the pins are read as O also has an internal RESET inpu
27. DC CH2 5 ADC INT OFF DelaylO0TCYx 5 Delay for ConvertALDCi i Start conversion while BusyADC Wait for completion result 2 ReadADC Read result CloseADCi Disable A D converter OpenADCi ADC Pose 32 5 RIGHT JUST 5 ADC CH3 amp ADC INT OFF DelaylO0TCYx 5 Delay for ConvertADC t Start conversion while BusyADC Wait for completion result 3 ReadADC Read result CloseADC Disable A D converter OpenADC ADC FOSC 32 ADC RIGHT JUST ADC SANA OREF 5 INT OFF DelaylOTCYx 8 Delay for 5O0TCY ConvertADGC Start conversion while BusyADC Wait for completion result 4 ReadADC Read result CloseADC convercter ff 84 Disable A D OpenADC ADC FOSC 32 ADC RIGHT JUST 5 ADC SANA OREF ADC CH5 ADC INT OFF DelaylOTCYx ConvertADCi i while BusyADC result 5 ReadADC CloseADCi converter ff fi j Delay for S0TCY Start conversion Wait for completion Read result Disable A D Openanc ADC FOSC 32 ADC RIGHT JUST amp ADC OREF ADC 6 amp ADC INT OFF DelaylOTCYx 5 ConvertADCc while BusyADC result 5 EeadADC CloseAnDC i converter Delay for Start conversion Wait for completion Read result Disable A D OpenADC ADC FOSC 32 ADC RIGH
28. Figure 4 11 showed the dimensions of the servomotor Figure 4 11 The dimension of Servomotor The specifications of the Servomotor were listed as below Table 4 2 Servomotor specifications 29 4 1 4 Master Glove Design A potentiometer 15 a three terminal resistor with a sliding contact that forms an adjustable voltage divider Potentiometers are commonly used to control electrical devices such as a volume control of a radio Potentiometers which are operated by a mechanism can be used as position transducers for example in a joystick However in this project the potentiometer will be constructed at every joint of the master glove to measure the position of our hands The output voltage from the potentiometers which was converted to 10 bits digital value will be saved in the ADC register of the microcontroller The potentiometer was shown in Figure 4 12 and the one finger s master glove controller was shown figure 4 13 Figure 4 12 Potentiometer rotate sensor Figure 4 13 Potentiometer rotate sensor at each joint of a finger Figure 4 14 Potentiometer rotate sensor at each joint of 5 fingers 30 3l 4 2 Electronics Design The microcontroller used in this project to control the robot hand 15 8 452 It is the brain for the robot where it controls all the robot behaviors The microcontrollers are easy to be used It can be used to interface with motors produce a variety of displays as output devi
29. I L result 2 result 1 result O automove automcowve zautomowe 1 changing DelaylORTCYX 1 automove 5 30 while automove 80 result s autemove autemovre autemovre 1 ehanging DelaylLORTCYx 1 for L 0 1 lt 4 714 DelaylOKTCYx 255 1 DelaylORTCYxi 40 while sutomove 530 result 2 resuLlt 1 result 0 automeve au temovre automove 1 changing DelaylORTeYs 1 automacwe z amp 0 while automove h 53i0 73 74 reault 3 automcove automceve automenve 1 changing DelaylORTCYx 1 for i 0 icz6 it Delayl 0KTCYzx 255 DelaylORTCyYx 50 autlomove 60 While automowve 53u0 result 7 result 4 result 5 autamove automcowve autaomcewveme 1 changingi DelaylOKTCyx 1 While automeve B0 result 0 result 1 result 2 result 3 result 5 automosre automcoe automewe 1 ehanging DelaylOKTCYx 1 while autemeve lt 530 result 2 result 1 result 0 automove automceve automeve 1 changing 0 DelaylORTCYTx 1 automeve ED while fautomove lt 530 result 3 1 automoyve automcwve autaomcwve 1 changing DelaylOKTCYzx 1 Jf ee he nhe hee e dee e eee e he nee he dee ee dee e e e e eee e hee ee e eee e e e e hee e e e e ehe e Read and process Value from Analog input void masterglove oid OpenADC ADC FOSC 32 amp ADC RIGHT JUST
30. ISTER 8 9 IPR2 PERIPHERAL INTERRUPT PRIORITY REGISTER 2 0 0 0 0 0 0 R W 1 R W 1 H W 1 H W 1 R W 1 EEP BCLIP LVDIP TMR3IP CCP2IP bit 7 bit O bit 7 5 Unimplemented Read as O bit 4 EEIP Data EEPROM FLASH Write Operation Interrupt Priority bit 1 High priority 0 2 Low priority bit 3 BCLIP Bus Collision Interrupt Priority bit 1 High priority 0 Low priority bit 2 LVDIP Low Voltage Detect Interrupt Priority bit 1 High priority 0 Low priority bit 1 TMRSIP TMR3 Overflow Interrupt Priority bit 1 High priority 0 Low priority bit O CCP2IP CCP2 Interrupt Priority bit 1 High priority 0 Low priority Legend R Readable bit W Writable bit U Unimplemented bit read as 0 n Value at POR Bit is set O Bit is cleared x Bit is unknown 2006 Microchip Technology Inc DS39564C page 83 98 PIC18FXX2 8 6 INTO Interrupt External interrupts on the RBO INTO RB1 INT1 and RB2 INT2 pins are edge triggered either rising if the corresponding INTEDGx bit is set in the 2 reg ister or falling if the INTEDGx bit is clear When a valid edge appears on the pin the corresponding flag bit INTXF is set This interrupt can be disabled by clearing the corresponding enable bit INTxE Flag bit INTxF must be cleared in software in the Interrupt Ser vice Routine before re enabling the interrupt All exter nal interrupts INTO INT1 and INT2 can wake up the proc
31. InterruptHandlerHigh void changing void changingl void void action_1 void void masterglove void int count 0 int i test done a float temp unsigned int sv01 8 unsigned long int result 9 automove pattern 9 PIC18F452 movzdec 20 2 bankO Ln 1 Col 1 INS WR Figure 6 3 The MPLAB IDE programming Simulating and debugging platform During the program writing testing and debugging process one of the robot hand s fingers was tested to make sure the finger can move as human finger At the beginning state 3 servomotors were debugged so that the right position of the robot fingers can be found The figure 6 4 shows the process of one finger debugging its position locomotion 46 Figure 6 4 Process of one finger debugging its position locomotion After one finger was successfully debugged 5 fingers robot hand is built and the same method was used to find the right position locomotion 47 6 3 Master glove Controller The master glove controller is used to control the movement of the robot hand There are 15 potentiometers built in into the master glove to generate the different output voltage to the PIC microcontroller Then the output is used to measure the position of the human hand s fingers The process of converting analog input to the PWM output was carried out in the PIC microcontroller This process make the robot hand emulate human hand movement in the real time The robot hand
32. LR PIC18FXXX Note 1 Extemal Power on Reset circuit is required only if the VDD power up slope is too slow The diode D helps discharge the capacitor quickly when VDD powers down 2 40 is recommended to make sure that the voltage drop across R does not violate the device s electrical specification 3 R12 1000 to 1 will limit any current flow ing into MCLR from external capacitor C in the event of MCLR VPP pin breakdown due to Electrostatic Discharge ESD or Electrical Overstress EOS 3 2 Power up Timer PWRT The Power up Timer provides a fixed nominal time out parameter 33 only on power up from the POR The Power up Timer operates on an internal RC oscillator The chip is kept in RESET as long as the PWHT is active The time delay allows VDD to rise to an acceptable level A configuration bit is provided to enable disable the PWRT The power up time delay will vary from chip to chip due to VDD temperature and process variation See DC parameter 2033 for details 3 3 Oscillator Start up Timer OST The Oscillator Start up Timer OST provides a 1024 oscillator cycle from 5 1 input delay after the PWHT delay is over parameter 32 This ensures that the crystal oscillator or resonator has started and stabilized The OST time out is invoked only for XT LP and HS modes and only Power on Reset or wake up from SLEEP 3 4 PLL Lock Time out With the PLL enabled the ti
33. MPLAB IDE software 1s also able to support the debugging process by using the MPLAB SIM to simulate and debug the process until it is fully utilized Figure 6 2 The self made PIC Programmer hand pic 1 MPLAB IDE v8 10 File Edit View Project Programmer Tools Configure Window Help Clear Memory 1 MPLAB ICD 2 hand 1 hand pic 1 m Source Files Select Tool Run Animate Halt Step Into None 45 EEk Checksum 0x8482 2 MPLAB ICE 4000 v MPLAB SIM 4 MPLAB ICE 2000 5 REAL ICE 6 PICkit 2 Hp UN Year Project 2 robothand hand_pic_1 c PIC32 Starter Kit S hand pic Header Files C3 object Files Library Files Linker Script Other Files Step Over Step Out Reset q WDT OFF config CCPZMUX ON config STVR OFF pragma config LVP OFF fpragqma config DEBUG OFF CPB ON WRTB ON EBTRB ON LATBbits LATBO LATBbits LATB1 LATBbits LATBZ LATBbits LATB3 LATBbits LATB4 LATBbits LATBS LATBbits LATB6 LATBbits LATB fdefine glove sw PORTCbits RCO fdefine buttonl PORTCbits RCl fpracgma fpracgma Breakpoints Stopwatch Complex Breakpoints Stimulus Profile fdefine pwm fdefine pwml fdefine pwmz fdefine pwm3 fdefine pwm4 fdefine pwmS fdefine pwm fdefine Clear Code Coverage Refresh PM Files Settings void void void
34. NO D HOO VINA Bad OHIO massa TveWIO3O3owId CML FHS EVIDENS Mechanical Structure Layout for Middle Finger 65 dO 1 ISHS ade DAN dd SHIDEHYEYXIOI SLOSS 1399831 WWIDSd OML SON VETE SSHONI dav SHOISHSWKO old AN IO LASHI HORIN HILAM 3HJ LIOR TOHM Sy do 14 HI NOLS idag JVM AH aic Lis 30 3109 81 THL Hi HOLY TMI IHL Mechanical Structure Layout for Ring Finger 66 130 119395 m 31925 LOM OO Cano SVN 144 gt 20 MOSINA NILAM HL v 80 lavd HI HOlI2ndoassa ANY ZW VEM LAJSNI JO AlaadOSd 3105 3HI ONIM vai YHL CHNIVINCO BOLANGNI IHL ad adii TWO CN FHOVIA SAYIN EION YTL SSHONI FI Sa SLAMS Mechanical Structure Layout for Pinky Finger APPENDIX C THE SOURCE CODE FOR 5 FINGERS ROBOT HAND WITH PIC 18 452 MICROCONTROLLER 68 Source Code for Microcontroller 1 Development 5 Fingers Robot Hand Using FIC Microcontroller Program for Robot hand s Written by NG DER LI IC Ho B51230 01 5503 Course SEC 8Sup
35. PSZ 19 16 Pind 1 07 UNIVERSITI TEKNOLOGI MALAYSIA DECLARATION OF THESIS UNDERGRADUATE PROJECT PAPER AND COPYRIGHT Author s full name NG DER LI Date of birth 30 12 1985 Title Development 5 Fingers Robot Hand Using PIC 2008 2009 Academic Session declare that this thesis is classified as 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 agree that my thesis to be published as online open access full text acknowledged that Universiti Teknologi Malaysia reserves the right as follows l 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 7 99 o 2 SIGNATURE SIGNATURE OF SUPERVISOR 851230 01 5503 DR IZZELDIN IBRAHIM MOHAMED NEW IC NO PASSPORT NO NAME OF SUPERVISOR Date 13 MA Y 2009 Date 13 2009 NOTES If the thesis is CONFIDENTIAL or RESTRICTED please attach with the letter from the organisation with period and reasons for confidentiality or restriction declare that I have read this work and my opinion this work is adequate in terms of scope and quality for the purpose of awarding a Bachelor s Degr
36. Reset path The filter will detect and ignore small pulses FIGURE 3 1 SIMPLIFIED BLOCK DIAGRAM OF ON CHIP RESET CIRCUIT RESET Instruction ck Stack Full Underflow Reset External Reset SLEEP WDT WDT Time out Reset VDD Rise Power on Reset Chip Reset OST se 10 bit Ripple Counter qi PWRT T 1 1 12 10 bit Ripple Counter X OSC1 Enable PWRT Enable 5 2 Note 1 Thisis a separate oscillator from the RC oscillator of the CLKI pin 2 See Table 3 1 for time out situations 2006 Microchip Technology Inc DS39564C page 25 PIC18FXX2 88 3 1 Power On Reset POR A Power on Reset pulse is generated on chip when VDD rise is detected To take advantage of the POR cir cuitry just tie the MCLR pin directly or through a resis tor to VDD This will eliminate external RC components usually needed to create a Power on Reset delay A minimum rise rate for VDD is specified parameter 0004 For a slow rise time see Figure 3 2 When the device starts normal operation i e exits the RESET condition device operating parameters volt age frequency temperature etc must be met to ensure operation If these conditions are not met the device must be held in RESET until the operating conditions are met FIGURE 3 2 EXTERNAL POWER ON RESET CIRCUIT FOR SLOW POWER UP MC
37. SP2 28L RB7 PGD 27L RB6 PGC 26 RB5 PGM 24 lt gt RB3 CCP2 23 RB2 INT2 RBI INTI 21L lt RBO INTO 15L gt RC4 SDI SDA PIC18FXX2 87 PIC18FXX2 3 0 RESET Most registers are not affected by a WDT wake up since this is viewed as the resumption of normal oper The PIC18FXXX differentiates between various kinds ation Status bits from the RCON register RI TO PD of RESET POR and BOR are set or cleared differently in different a Power on Reset POR RESET situations as indicated in Table 3 2 These bits are used in software to determine the nature of the RESET See Table 3 3 for a full description of the RESET states of all registers b MCLR Reset during normal operation MCLR Reset during SLEEP Watchdog Timer WDT Reset during normal operation e Programmable Brown out Reset BOR f RESET Instruction g Stack Full Reset h Stack Underflow Reset on rix 4 l is not driven low by any internal Most registers are unaffected by a RESET Their status RESETS including the WDT is unknown on POH and unchanged by all other RESETS The other registers are forced to a RESET state on Power on Reset MCLR WDT Reset Brown out Reset Heset during SLEEP and by the RESET instruction A simplified block diagram of the On Chip Reset Circuit is shown in Figure 3 1 The Enhanced MCU devices have a MCLR noise filter in the MCLR
38. T JUST ADC OREF ADC CH7 amp ADC INT OFF DelaylOTCYx 5 ConvertADCi while BusyADC result 7 R amp adADC CloseADCi converter Delay for Start conversion Wait for completion Read result Disable A D APPENDIX C DATASHEET COMPONENT PIC18F452 Pin Diagrams Cont d MCLR VPP RAO ANO RA1 AN1 RA2 AN2 VREF RA3 AN3 VREF RA4 TOCKI RAS AN4 SS LVDIN REO RD ANS RE1 ANWR ANG RE2 CS AN7 OSC1 CLKI OSC2 CLKO RA6 RCO T1OSO T1CKI RC1 T1OSI CCP2 RC2 CCP1 RCS SCK SCL RDO PSPO RD1 PSP1 Note Pin compatible with 40 pin PIC16C 7X devices DIP SOIC 1 121 RAO ANO el RA1 AN1 LJ RA2 AN2 VREF RA3 ANS VREF4 LI RAA TOCKI 1 RAS AN4 SS LVDIN 0 OSC1 CLKI 1 OSC2 CLKO RA6 L 10 RCO T10S0 T1CKI 11 RC1 T1OSI CCP2 12 RC2 CCP1 13 RC3 SCK SCL 14 RB3 is the alternate pin for the CCP2 pin multiplexing DS39564C page 3 2006 Microchip Technology Inc PIC18F442 PIC18F242 PIC18F452 PIC18F252 HB PGD HB6 PGC HB5 PGM HB4 RB3 CCP2 HB2 INT2 RHB1 INT1 RBO INTO VDD ma V SS HD7 PSP7 RHD6 PSP6 n RHD5 PSP5 HDA PSPA 4 RC 7 RX DT HCO TX CK HC5 SDO RHCA SDI SDA HD3 PSP3 RD2 P
39. a robot index finger which 15 manipulated by the servo motor We have built the robot hand other 4 fingers and successfully manipulated them by the servo motors e We have combined all the fingers to develop our robot humanoid hand which was controlled and manipulated by using a PIC microcontroller We have successfully controlled the robot hand by using a master glove the output of the master glove 15 directly proportional to the input for the PIC microcontroller The microcontroller generated the PWM signals which were used by the servo controller to control the shaft position of the servo motor We have successfully tested our robot hand capability to pick up small and medium size objects and roll materials like ping pong ball CHAPTER II LITERATURE REVIEW 2 1 Robotics and Humanoid Robot A robot with its overall appearance based on the human body 15 a humanoid robot This kid of robot have a torso with a head two arm two leg one body although some forms of humanoid robots may model only part of the body Like other mechanical robots humanoid refer to the following basic components too sensing Actuating and Planning and Control Since they try to simulate the human structure and behaviour most of the times humanoid robots are more complex than other kinds of robot Humanoid robots are used as a research tool in many areas such as military aerospace research area scientific areas University development and education
40. and Framework The chassis specifications were summarised in Table 4 1 while the dimensions and orientations for the chassis were shown in Figure 4 1 24 Table 4 1 Robot hand mechanism specification Weight Total 1 2 kg The weight includes the forearm and all the servomotors As long as the overall robot hand weight is not heavier than human hand then it is acceptable 300mm x 245mm x 150mm The size of the framework 15 length x width x high according to the size of human hand Material Frame Aluminum plate Material are relatively inexpensive light and available everywhere 20 am Servo motor 16 Figure 4 1 Robot Hand dimension and orientation The Robot hand was constructed based on the human hand s shape with 3 joints at each fingers There were 3 degrees of freedom for each finger which made those fingers can bend 90 at every finger sector The sixteen servo motors were placed at the forearm which acted as the muscle of the robot hand s fingers Strings were tied from the shaft of servomotor to each sector of finger to mimic the tendon and muscle of the fingers The upper string was tied on the left side of the shaft and the lower string was tied on the right side of the servomotor s shaft 22 Anticlockwise to 73 bend the fingers 57 f 4 P 75 Clockwise to straighten the fingers 7Servo motor Figure 4 2 Strings Tie Method for Servomotor and Finger Upper
41. atch interrupt 0 Disables the TMR2 to PR2 match interrupt bit O TMR1IE TMR1 Overflow Interrupt Enable bit 1 Enables the TMR1 overflow interrupt 0 Disables the TMR1 overflow interrupt Note 1 This bit is reserved on PIC18F2X2 devices always maintain this bit clear Legend R Readable bit W Writable bit U Unimplemented bit read as O n Value at POR Bit is set O Bit is cleared x Bit is unknown DS39564C page 80 2006 Microchip Technology Inc 95 PIC18FXX2 REGISTER 8 7 PIE2 PERIPHERAL INTERRUPT ENABLE REGISTER 2 0 0 0 0 0 0 R W 0 R W O R W O H W O R W O ee seue woe ocraie bit 7 bit O bit 7 5 Unimplemented Read as O bit 4 EEIE Data EEPROM FLASH Write Operation Interrupt Enable bit 1 Enabled 0 Disabled bit 3 BCLIE Bus Collision Interrupt Enable bit 1 Enabled 0 Disabled bit 2 LVDIE Low Voltage Detect Interrupt Enable bit 1 Enabled 0 Disabled bit 1 TMRSIE TMR3 Overflow Interrupt Enable bit 1 Enables the TMR3 overflow interrupt 0 Disables the TMR3 overflow interrupt bit O CCP2IE CCP2 Interrupt Enable bit 1 Enables the CCP2 interrupt 0 Disables the CCP2 interrupt Legend R Readable bit W Writable bit U Unimplemented bit read as 0 n Value at POR 1 Bit is set O Bit is cleared Bit is unknown 2006 Microchip Technology Inc DS39564C page 81 96 PIC18FXX2 8 4 IPR Registers The
42. caler The prescaler is only cleared on writes to 2006 Microchip Technology Inc DS39564C page 109 105 PIC18FXX2 TABLE 11 2 REGISTERS ASSOCIATED WITH TIMER1 AS A TIMER COUNTER Value on All Other BESEDY TWROE TOE INTOF com Value on POR BOR Holding Register for the Least Significant Byte of the 16 bit TMR1 Register Holding Register for the Most Significant Byte of the 16 bit TMR1 Register MCON TICKPS TICKPSO TIOSCEN TISYNC TMRICS TMRION 0 00 0000 u uu Legend unknown u unchanged unimplemented read as 0 Shaded cells are not used by the module Note 1 The PSPIF PSPIE and PSPIP bits are reserved on the PIC18F2X2 devices always maintain these bits clear DS39564C page 110 2006 Microchip Technology Inc
43. ces communicate to PCs read external sensor values and even connect to a network of similar controllers as well as to do all of these tasks without many extra components This leads to a small and compact system that is more reliable and cost effective the potentiometers will be the input for the microcontroller while the output from the microcontroller PWM was connected to the Servomotor Figure 4 16 showed the main layout circuit for the electronic control system It needed two PIC18F452 two 20MHz crystal and 5V supply The oscillator circuit is used to provide an accurate and stable periodic clock signal to PIC18F452 microcontroller The range of clock frequency could be changed from 4MHz to 25MHz The clock frequency will determine the speed of the microcontroller executing the instructions There is no voltage regulator in the layout circuit because the 5V supply 16 directly connected to the Computer power supply The figure 4 15 shows computer s power supply that was used in this project The microcontroller needs to be programmed so that it can perform the predetermined tasks The software used to program the 8 452 microcontroller is the MPLAB IDE software from Microchip Inc Figure 4 15 Computer s power supply that used in this project 32 9104196 df OATES df pI 04195 df OATES df 1 OATES df 04155 df OT OATES df 6 0455 df
44. ckground of Project 1 2 Objectives 1 3 Scope of Project 1 44 Work Contribution vll PAGE ii iii iv vi vii xi xii xiv 02 N N CHAPTER II CHAPTER III CHAPTER IV LITERATURE REVIEW 2 Robotics and Humanoid Robot 2 2 Actuators 224 22242 252 3 2 24 Pneumatic artificial muscles sensing Servomotor Communication 2 3 Existing Robot Hand 2 9 2 3 2 2 519 Shadow Robot Hand Mechatronic Design of Innovative Fingers for Anthropomorphic Hands Pinching at finger tips by humanoid robot hand METHODOLOGY 3 Development Process 25122 3 1 3 Phase 1 Mechanical Design Process Phase 2 Electronic Control Development Process Phase 3 Software Development Process 3 2 Electronic Control System 3 3 Project Implementation HARDWARE DEVELOPMENT 41 Mechanical Design 4 1 1 4 1 2 4 1 3 4 1 4 Robot Hand Framework String Pulling Method The Servomotor Master Glove Design Vill 13 14 16 16 16 17 17 18 20 23 23 23 2 28 29 CHAPTER V CHAPTER VI CHAPTER VII REFERENCE APPENDIX A APPENDIX B APPENDIX C APPENDIX D 4 2 Electronics Design SOFTWARE DEVELOPMENT 5 1 2 2 5 3 5 4 software Design PIC Programming Pulse Width Modulation PWM 5 5 1 Timer interrupts 0 5 3 2 Timer interrupts 1 MPLAB IDE RESULT AND ANALYSIS 6 1 6 2 6 3 6 4 Motor and Finger Force Analysis 6 1 1 Motor Torque a
45. d result Disable A D OpenADC ADC FOSC 32 ADC RIGHT JUST ADC ORFF ADC ADC INT OFF DelaylOTCYx 5 Comrertabc while BusyADC result 5 ReadADC CloseADC Converter Delay for 50TCY Start conversion Wait for completion Read result Disable A D OpenADC ADC FOSC 32 amp ADC RIGHT JUST amp ADC BANA OREF ADC CH6 amp ADC INT OFF DelayiOTCYx 5 Delay for 76 ConvertADci i Start conversion while BusyADC Wait for completion result 6 ReadADc Read result Disable A D converter OpenADC ADC FOSC 32 5 ADC RIGHT JUST amp ADC SANA OREF ADC CH7 amp ADC INT OFF DelaylOTCYx 5 Delay for 5 0TCY ConvertADC4 Start conversion while BusyADC Wait for completion result 7 RBeadBDC Read result CloseADC Disable A D 77 Source Code for Microcontroller 2 Development 5 Fingers Robot Hand Using PIC Microcontroller Proqram for Robot hand s Written by NG DER LI IC gt 851230 01 5503 Course SEC Supervisor DR IZZELDIN IMBRAHIM MOHAMED ff He he e ee ie e eee hee e ee e hee e ehe he ee he ee e e dSinclude pl8f452 h inelude sade h gt inelude lt stdlib h gt inelude lt timers h gt dKinclude lt delays h gt dee de TAREE EERE THERE TERRA c dc de eee TEE dee dee
46. d testing all accomplished with high endurance speed and precision It is easy to found a robot hand now day industrial for instead of human hand to do the dangerous job and precision job Industrial robot hands are used in the production process and the transportation process for quality control and carrying the heavy stuff Robot may be used for exploration de mining in the military and aerospace activities These robots use it robot hand in place of people demolition bomb to reduce casualties Astronauts will allow the robot to check out the surrounding areas to ensure the safety of the space In addition the robot hand 15 also widely used for helping doctor in medical surgery patients This requires very precise technology to avoid the mistake Most of the robot hand in the world 1s making by some purpose and reason So this project aims to investigate and development the multipurpose humanoid robot hand The robot hand will be manipulated by using the master glove The movement of the robot hand should be as close as possible with the human hand 1 2 Objectives The objectives of the project are as follows e The aims of this work 15 to develop a five fingers robot hand that 15 able to e Pick up or handle small to medium sized objects Grasping roll material e Perform like a humanoid robot hand e Control using DIY master glove controller 1 3 Scope of Project The system consists of a mechanical design electro
47. e ede Configuration config OSC HS config OSCS OFF pragma config PWRT pragma config BOR OFF pragma config OFF Spragma config CCPZMUX ON poragma config STVR OFF config LVP OFF pragma config DEBUG OFF CPE ON WRTB ON ft he e We he hee he lee he e ele he e ee ee e de e ee eee e e he ee he eee e le e he e e e ee ee e e e he Input Output Pin Configuration define pwmo LATEbits LATBO define pwml LATEbits LATB1 define LATEbitz 2 define pwm3 LATEbits LATHS define pwm4 LATBbits LATB4 define pwm5 LATBbits 5 define pwm6 LATEbitz LATBR6 pwm7 LATEbits LATBR7 define glove sw PORTCbits RCO define buttonl PORTCbits foxkckckckok EEE how hok kckckchok kck k kckock hok ok kckch hock ch ko kk Ek wk f e e he e e ee he e e ene ie he he ene he e ee Function and Parameter Declaration void InterruptHandlerHigh void void changing wveid void action 1 void masterglove void int count D int i test done a float temp unsigned int svD1 B 78 unsigned long int result 8 automeve pattern sS Jf e e eee he e ehe ee e ehe e e eee e he e hee e ede hee e e ehe e he e he ee e e hee e he hee INTERRUPT CONTROL pragma code InterruptvectorHigh 0 interrupt pointer address 0x18 low
48. e enable all interrupts 535522222222 221222222222 222222222222 222222222222 void 1 TRISA OxFF PORTA is input TRISB Ob00000000 Port RC2 is the output TRISC 0611111111 0906000000000 INTCOH 0610100000 OpenTimer TIMER INT 2 16BIT TO SOURCE amp PS 1 2 OpenTimerl TIMER INT 16 5 SOURCE INT amp 1 1 Tl OSCIEH OFF SYNC EXT OFF WriteTimer 0 Ox3CAF Triqger Interrupted after 20ms WriteTimerl 62535 This is just small initial delay chosen at random while 1 if glove sw 0 masterglove ehanging else if buttonl 0 auteomeve 520 test 0 done 1 action 14 else 80 result 0 result 1 result 2 result 3 result 4 result 5 result 6 result 7 530 changing 0 void changing void 1 for i 0U icB i t i if B8Dc result i c530 temp result i 4500 425 456855 Formula ewvOol i l temp if svO01 i cs58035 51701 1 58035 else if 8 01111262535 5 0111 1 62535 else 21701 1 62535 Jf eee eie de de e ede ee e e de e e EEEE e e e ee ee oe oe e e e de e ee e e e e e e e e e e void action 1 void if done 1 a while lt 3 result O result 1 result 2 result 3 result 4 r
49. e o pwm7 1 Writelimerl svOl 7T l break Case 9 pwm7 0 WriteTimerli 0 break PIRIbits TMRIIF PIELbits THRIIE O e lear Timerl flag l clear Timerl enable flag set Lo zero INTCOMbita GIE 1 re enable all interrupts hee ee ee le ee e e ede e e e e ee se ce e e e e c e e c e e e e e e e je en HMain Program oid Malin void TRISA xFF PORTA is input TEISE 0600000000 Port RC2 is the output TERISC B11111111 ECON 06000000000 0610100000 TIMER INT ON TO 16 TO SOURCE INT TO 2912 OpenTimerl TIMER INT ON 2 Tl 16 RW 5 SOURCE INT 5 PS 1 1 5 Tl OFF 2 SYNC EXT WriteTimer 0 Trigger Interrupted after 2 Ons WriteTimerl 62535 This is just a small initial 71 delay chosen at random while 1 glove sw 0 Master glove control mode masterglovei j changingl else if butLtonl 0 Autonomous mode autoemewve 520 test o done 1 action 10 else Default value for pwm result 0 result 1 result 2 result 3 result 4 result 5 2re amp esult S zresult 7 z530 changing PERRE e e ee eee ec e ee ec e ee e e ee e e e ee e eec eee de e ce eese ec e ec Changing the voltage value to timer interrupt value Wold changing
50. e servo motor depended on the changes of analog input of the master glove it was directly proportional to the voltage change of the potentiometer However it had two maximum speeds for the servo motor The power supply for this robot hand s servomotor was 5V for this project so the maximum speed was 0 14 s 60 and the fingers maximum speed was also 0 14 s 60 Technical analysis on torque of the robot hand s fingers was calculated and the length of the shaft and the length of the finger were measured The torque could be predicted by Torque of Servomotor 4 50 kg cm Radius of the Shaft r 1 20 cm T 4 5 Force of the string F T 1 2 3 75 kg cm s Radius of the joint r 0 70 cm Torque of the Fingers x 3 75 x07 2 625 kg cm Hence the torque was reduced from 4 50 kg cm to 2 625 kg cm 44 6 2 Program debugging After the robot hand hardware structure electronic system and basic robot hand locomotion program were tested the next stage was the programming enhancement of the robot where interesting pattern and movement will be tested to fully optimize the 15 degree of freedom of the robot hand In this stage creativity and observation of human hand movement as well as characteristics play important roles to enhance the robot hand movement The aid of support circuit of DIY PIC Programmer plays an importance role to debug the program and it is used to flash program into the microcontroller The
51. ee of Electrical Engineering Computer Signature Name of Supervisor Dr Izzeldin Ibrahim Mohamed Date 13 MAY 2009 DEVOLEPMENT 5 FINGERS ROBOT HAND USING PIC NG DER LI A thesis submitted in partial fulfillment of the requirements for the award of the degree of Bachelor of Electrical Engineering Computer Faculty of Electrical Engineering Universiti Teknologi Malaysia MAY 2008 declare that this thesis entitled Development 5 Fingers Robot Hand using PIC is the result of my own research except as cited in the references The thesis has not been accepted for any degree and is not concurrently submitted in candidature of any other degree N ok s Signature Name of Candidate NG DER LI Date 12 MAY 2008 DEDICATION Specially to my beloved parents parents siblings and friends for their eternal support encouragement and inspiration throughout my journey of education 1 ACKNOWLEDGEMENT First would like to express my heartily gratitude to my supervisor Dr Izzeldin Ibrahim Mohamed for the guidance and enthusiasm given throughout the progress of this project Under supervision many aspects regarding this project been explored and with the knowledge idea and support receive from him this thesis can be presented in the time given My appreciation also goes to my family who has been so tolerant and supports me all these years Thanks for their encouragement love a
52. ervisor DR IZZELDIH IMBRAHIM MOHAMED ii ERA EEE Ffinclude pl8f452 h inelude lt ade h gt ine lude lt stdlib h gt include lt timers inelude lt delays h gt PERERA 233855352525 Configuration pragma config OSC HS pragma config 8 8 OFF pragma config PWRT OH config BOR OFF pragma config WDT OFF pragma config CCPZMUX ON pragma config STVR OFF pragma config LVP OFF nragma config DEBUG OFF ON fce ehe he dee de eek he hee hee he dec de e c eee he eed e dee he e he ee e c ee e he eee c e ee deed de Input Output Pin Configuration define pwm LATEbits LATEO define pwml LATBbits LATB1 define pwm2 LATBbi ts LATE define pwm3 LATEbits LATB3 define pwm4 LATEbits LATBE4 define pwm5 LATBbits LATB5S define LATBEbits LA amp TES define LATEbitzs LATB7 fdefine glove sw PORTCbits RCO define buttoni PORTCbits RCl he eee e eee e he ee e ee e je e te e e te e e e e ee e e c ke ee e e e e e e e e ko Function and Parameter Declaration void InterruptHandlerHigh void void changing void 69 void changingl void void action 1 void masterglove void int count 0 int i test done a float temp unsigned int svOl B unsigned long int re
53. essor from SLEEP if bit INTxE was set prior to going into SLEEP If the global interrupt enable bit GIE is set the processor will branch to the interrupt vector following wake up Interrupt priority for INT1 and INT2 is determined by the value contained the interrupt priority bits INT1IP INTCONS3 6 and INT2IP INTCON3 7 There is no priority bit associated with INTO It is always a high priority interrupt source EXAMPLE 8 1 MOVWF W TEMP MOVFF SIATUS STATUS TEMP MOVFF BSR BSR TEMP USER ISR CODE MOVFF BSR TEMP BSR MOVF W TEMP W STATUS TEMP STATUS 8 7 TMRO Interrupt In 8 bit mode which is the default an overflow FFh in the TMRO register will set flag bit TMROIF In 16 bit mode an overflow FFFFh 0000h in the TMROH TMROL registers will set flag bit TMROIF The interrupt can be enabled disabled by setting clearing enable bit TOIE INTCON lt 5 gt Interrupt prior ity for TimerO is determined by the value contained in the interrupt priority bit TMROIP INTCON2 2 See Section 10 0 for further details the TimerO module 8 8 PORTB Interrupt on Change An input change lt 7 4 gt sets flag bit RBIF lt 0 gt The interrupt can be enabled disabled by setting clearing enable bit RBIE INTCON 3 Interrupt priority for PORTB interrupt on change is determined by the value contained in the interrupt priority bit RBIP 2 lt 0 g
54. esult 5 result result 7 automcove changing DelaylO0KTCYx 1 if automove B amp Zztest D autcomcowve auteomowve i else if automovech530 test 1 autemowve automovet l else test o if 2 3 done 0 done 0 for 1 0 51 6 14 DelaylORTOCrx 255 DelaylOKTCYyxi50 automcewe 530 while automewve B U f result i result 65 automcowve autormcwe auLbomcowe changing 0 Delayl KTCYx 1 automowe 5 3t while automove B8u result 3 result 4 rezsult 5 automove automove automove 1 ehanging 0 Delayl KTCYx 1 automowe 53D while automeve Bu result result l1 result 2 automcne au temovre au tomovre 1 ehanging Delayl KTCEx 1 for i 20 1i1 2 i34 DelaylOKRTCYx 255 DelaylORTCYx 20 while automeve cs530 result 7j result 6 automowves autormcwve zauLomowve 1 changing 0 1 10 1 autormconre B8n 81 while fautemeve lt 5 30 result 3 result i result 5 automove automcoe automcenre 1 changingi DelaylO0KTCYx 1 auteaomowve agg while automove 530 resultioOj result l result 2 automcowve automcowvae automcowve 41 changingi DelaylOKTCYx 1 for 1 0 i lt 2 it DelaylO0RTCYx 255 DelayloORTe yx 20 while automove BD 82 resulti j result iij r
55. esult 2 result 3j resulti4d result 5 result o o resulti autiomove automeowve automcenre 1 changing DelaylOKTCYx 1 for i z0 i 2 i tt DelaylOKTCYx 255 DelaylOKTCYx 20 while automowve 530 I resulti 7j result 5 automowve automevre automove 1 changing DelaylLORTCrxz 1 aAUTCaomMove s8i0 while automove lt 530 result 3 sresuit 4 sresult 5 sautomovre automcowve automcnre 1 changing DelaylO0KTCYx 1 automowe B80 while autemeove lt 530 83 result O rezult lj result 2 automove automcowve automcewvetl changingi DelayvylORTCYx 1 Jf eene e ee e ee e e e ee e ee e e ce e e ec e Ec We e e e e void mastergLove void OpenADC FOSC 32 amp ADC RIGHT JUST 2 ADC OREF ADC CHO ADC INT OFF DelaylOTCYx 5 Delay for 5OTCY ConvertADc Start conversion while BusyADC Wait for completion result 0 Readanc Read result CloseADCi Disable A D converter OpenADC ADC Pose ADC RIGHT JUST ADC OREF ADC ADC INT OFF DelayloTcyx 5 Delay for ConvertADC Start conversion while BusyADC Wait for completion result 1 ReadADC Read result CloseADC Disable A D converter OpenADC ADC FOSC 32 amp ADC RIGHT JUST BANA ORFF A
56. fied block diagram of the Timer1 module Hegister 11 1 details the Timer1 control register This register controls the Operating mode of the 16 bit timer counter module and contains the Timer1 oscillator enable bit two 8 bit registers TMR1H and 105 can be enabled or disabled by Headable and writable both registers setting or clearing control bit TMR1ON T1CON O Internal or external clock select e nterrupt on overflow from FFFFh to 0000h RESET from CCP module special event trigger REGISTER 11 1 T1CON TIMER1 CONTROL REGISTER R W 0 0 R W 0 R W 0 R W 0 0 R W 0 R W 0 mot Tickeso TiOsceN TMAICS bit 7 bit O bit 7 RD16 16 bit Read Write Mode Enable bit 1 Enables register Read Write of Timer1 in one 16 bit operation 0 Enables register Read Write of Timer1 in two 8 bit operations bit 6 Unimplemented Read as 0 bit 5 4 T1CKPS1 T1CKPSO Timeri Input Clock Prescale Select bits 11 1 8 Prescale value 10 2 1 4 Prescale value 01 2 1 2 Prescale value 00 1 1 Prescale value bit 3 T1OSCEN Timer1 Oscillator Enable bit 1 Oscillator is enabled 0 Timer Oscillator is shut off The oscillator inverter and feedback resistor are turned off to eliminate power drain bit 2 T1SYNC External Clock Input Synchronization Select bit When TMR1
57. for external clock REGISTER 10 1 TOCON TIMERO CONTROL REGISTER R W 1 R W 1 R W 1 R W 1 R W 1 R W 1 R W 1 R W 1 bit 7 bit O bit 7 TMROON TimerO On Off Control bit 1 Enables 0 Stops TimerO bit 6 08 TimerO 8 bit 16 bit Control bit 1 is configured as an 8 bit timer counter 0 TimerO is configured as 16 bit timer counter bit 5 TOCS Clock Source Select bit 1 Transition on TOCKI pin 0 Internal instruction cycle clock CLKO bit 4 TOSE TimerO Source Edge Select bit 1 Increment on high to low transition on TOCKI pin 0 Increment on low to high transition on TOCKI pin bit 3 PSA TimerO Prescaler Assignment bit 1 prescaler is NOT assigned TimerO clock input bypasses prescaler 0 TimerO prescaler is assigned TimerO clock input comes from prescaler output bit 2 0 TOPS2 TOPSO Prescaler Select bits 111 1 256 prescale value 110 1 128 prescale value 101 1 64 prescale value 100 1 32 prescale value 011 1 16 prescale value 010 1 8 prescale value 00121 4 prescale value 000 1 2 prescale value Legend R Readable bit W Writable bit U Unimplemented bit read as 0 n Value at POR 1 Bit is set O Bit is cleared x Bit is unknown 2006 Microchip Technology Inc DS39564C page 103 100 PIC18FXX2 FIGURE 10 1 TIMERO BLOCK DIAGRAM IN 8 BIT MODE Data Bus Fosc 4 Sync with Internal RA4 TOCKI pin Prog
58. g paper or needle with the finger tips The authors firstly propose a small sized and light weight robotic hand and the secondly propose a new robot hand capable of properly realizing a pinching motion with finger tips Author also focuses on additions degree of freedom of twisting motion to the thumb Author design the robot with few characteristic e The robot hand size and shape close to those of the humans hand e Degree of freedom motion to be furnished on the robot should be sacrificed to some extent e The motor and reduction gears can be incorporated in the hand From the figure 2 7 show a motor with encoder and reduction gear occupies mechanism space of the robotic hand with most non compromising manner Four 15 fingers except for the thumb have three joints referred to as MP joint PIP joint and DIP joint Motor and encoder cable Wire rope 420 Internal gear Planetary gear Motor and buit in encoder Motor gear LF Crown gear Ceu AL fag di gt Pulley for wire rope Figure 2 7 Mechanism of Finger Sector gear a ay 744 on finger IV GY uim Connecting linkage between finger Il IV and V Motor for abduction motion Figure 2 8 Inside mechanism in a palm 16 CHAPTER III METHODOLOGY 3 1 Development Process The objective of this project 1s to develop and investigate the feasibility of using master glove to manipulate a 5 finger robot hand
59. gister Each interrupt source except INTO has three bits to control its operation The functions of these bits are Flag bit to indicate that an interrupt event occurred Enable bit that allows program execution to branch to the interrupt vector address when the flag bit is set Priority bit to select high priority or low priority The interrupt priority feature is enabled by setting the IPEN bit RCON 7 When interrupt priority is enabled there are two bits which enable interrupts glo bally Setting the GIEH bit INTCON 7 enables all interrupts that have the priority bit set Setting the GIEL bit INTCON lt 6 gt enables all interrupts that have the priority bit cleared When the interrupt flag enable bit and appropriate global interrupt enable bit are set the interrupt will vector immediately to address 0000081 or 000018h depending on the priority level Individual interrupts can be disabled through their corresponding enable bits When the IPEN bit is cleared default state the inter rupt priority feature is disabled and interrupts are com patible with PlCmicro mid range devices Compatibility mode the interrupt priority bits for each source have no effect INTCON lt 6 gt is the PEIE bit which enables disables all peripheral interrupt Sources INTCON 7 is the GIE bit which enables disables all interrupt sources All interrupts branch to address 000008h in Compatibility mode When an interr
60. it 1 Microcontroller center unit 2 and Output There have 2 microcontrollers 18 452 to control servomotor The input of this system have a reset button button 1 slide switch and 16 signal from the potentiometer at the master glove The outputs generate by the 19 microcontroller are PWM that used to control the servomotors This system is an open loop system because there has no feedback from the robot hand 20 3 3 Project Implementation In development stages planning is the most important aspect Proper planning is important to make sure that the project will be constructed successfully in time Figure3 3 and 3 4 shows the project s planning for PSM1 and PSM2 Begin Title 5 2 Figure 3 3 PSMI Planning 21 From PSMI System Functionality YES Figure 3 4 PSM 2 Planning The elements of the Figure 3 3and 3 4 explain as the step planning for PSM For the part searching of reference materials explain that searching and reference all the materials are obtained from published journals books and internet relative about my PSM project Then submit proposal proposal is prepared for supervisor At the gather literature information part obtained information will be evaluated and the appropriate portion or parts of the literature will be adopted into the project It will be as references or guidance in developing the project After that 15 identifying of problem deciding
61. ith further research and development the robot hand can be use to implement humanoid robot vi ABSTRAK Tangan Robot adalah satu bahagian yang sangat penting dalam satu robot kemanusian Tesis ini berkenaan dengan reka bentuk satu tangan robot yang sama saiz serta ringan dan dapat menggunakan master sarung tangan untuk mengendalikan 5 jari tangan robot Projek ini adalah membuat satu 5 jari tangan robot yang boleh bergerak seperti tangan manusia Setiap jari tangan robot mempunyai 3 darjah kebebasan untuk mememulasikan seperti tangan manusia Master sarung tangan adalah memberikan isyarak untuk mikrpengawal ketika pengguna mengubah posisi tangan Motor yang Servo drive menggunakan rantai untuk menggerakkan sektor setiap jari Selain daripada itu servomotor yang hanya dapat mengeluarkan tenaga putaran rendah untuk jari tangan jadi tangan robot hanya dapat mengeluarkan tenaga yang umum untuk setiap jari Segala tingkah laku dan pergerakan robot di kawal oleh dua mikropengawal jenis PIC18F452 Master sarung tangan mengawal tangan robot dalam masa nyata Jadi tangan robot berupaya mengikut tangan orang untuk memegang dan mengerjung bahan Dengan lebih pengajian and penyelidkan tangan robot ini boleh digunakan dalam robot yang kemanusian CHAPTER CHAPTER I CONTENTS SUBJECT TITLE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK CONTENTS LIST OF TABLES LIST OF FIGURES LIST OF ABBREVIATIONS INTRODUCTION 1 1 Ba
62. l be shown on this part and will be converted into the C language together with the pic18f452 h library using the student version of the C 18 PIC complier The robot hand program flow chart 1s shown below figure 5 1 The full program 15 attached on the appendix From the flowchart there are two modes in the program to control and manipulate the robot hand The first mode 1s autonomous mode which was pre programmed for the robot hand to move by following the sequence of instruction The second mode is manually controlled by the master glove This program 15 about to read the data from the analog input and change it to timer interrupt to generate PWM If both the modes are not activating all the fingers will be in the default position which those fingers will be straight position There are two parts of the program which are the main program and the interrupt program The microcontroller will always run the main program until there is an interrupt occurred When microcontroller receives an interrupt flag it will jump to interrupt process 35 Start Figure 5 1 Robot hand program flowchart 36 5 3 Pulse Width Modulation PWM Pulse width modulation PWM of a signal or power source involves the modulation of its duty cycle to either convey information over a communications channel or control the amount of power sent to a load The PWM 15 used to control the position of the servomotor
63. me out sequence following a Power on Reset is different from other Oscillator modes A portion of the Power up Timer is used to pro vide a fixed time out that is sufficient for the PLL to lock to the main oscillator frequency This PLL lock time out TPLL is typically 2 ms and follows the oscillator start up time out OST 3 5 Brown out Reset BOR A configuration bit BOREN can disable if clear programmed or enable if set the Brown out Reset circuitry If VDD falls below parameter DOO5 for greater than parameter 35 the brown out situation will reset the chip A RESET may not occur if VDD falls below parameter 0005 for less than parameter 35 The chip will remain in Brown out Reset until VDD rises above BVDpD If the Power up Timer is enabled it will be invoked after VDD rises above BVDD it then will keep the chip in RESET for an additional time delay parameter 33 If VDD drops below BVDD while the Power up Timer is running the chip will go back into a Brown out Reset and the Power up Timer will be initial ized Once VDD rises above BVDD the Power up Timer will execute the additional time delay 3 6 Time out Sequence On power up the time out sequence is as follows First PWRT time out is invoked after the POR time delay has expired Then OST is activated The total time out will vary based on oscillator configuration and the status of the PWHT For example in RC mode with the PWRT disabled there will be no time out a
64. nd Speed Program debugging Master glove Controller Autonomous Movement CONCLUSION AND RECOMMENDATION 7 1 L2 Conclusion Recommendation 31 33 33 34 36 37 37 41 42 43 43 44 47 49 54 54 55 56 58 61 67 85 LIST OF TABLES TABLE NUMBER TITLE 221 The finger has 4 degree of freedom and 4 joints 4 Robot hand mechanism specification 4 2 Servomotor specification PAGE 10 24 28 LIST OF FIGURES FIGURE NUMBER TITLE a 2 2 2 3 2 4 2 5 2 6 Zick 2 8 3 1 222 3 3 3 4 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 Agonist and Antagonist Connecter of the servo motor The finger of Shadow hand Shadow robot hand CAD representation of the finger under development Structural scheme of the endoskeleton Mechanism of Finger Inside mechanism in a palm Theoretical design of the finger Electronic Control Block Diagram PSM 1 Planning PSM 2 Planning Robot Hand dimension and orientation Strings Tie Method for Servomotor and Finger Strings Tie Method for Finger First prototype built using ice cream stick Second prototype built using aluminum plate Fourth prototype 1s a complete robot hand Third prototype consists of 4 fingers and no palm Final Robot hand consists of all the servo motors and fingers The basic idea layout of robot s finger The configuration of String pulling 11 12 13 13 15 15 17 18 20 21 24 25 25 26 26 26
65. nd emotional supports that they had given to me Thanks to my senior and all my friends who helped me directly or indirectly in completing this project Not forgetting grateful appreciation is also extended to the lab technician of UTM s Laboratory who gave me great assistance during the process in accomplishing PSM I and II Finally my deepest appreciation goes too my parents for their unconditionally love and support ABSTRACT Robot hand is an important part of a humanoid robot It is difficult to generate the action to emulate human hand This thesis proposed a same sized and light weight robotic hand designed and concerned with the feasibility of using master glove to control 5 fingers robot hand The 5 fingers robot hand 15 designed so that it can move and act like a human hand Each finger of the robot hand has 3 degree of freedom which 15 almost like a human finger The function of master glove controller is to provide the control signal to microcontroller when the manipulator s fingers move The Servo Motor chain drive 15 use to drive the sector of each robot hand s finger Furthermore the servo motor can only provide a low torque for the finger so robot hand only can only generate a suitable force for each finger All the behaviour and movement of the robot are process by two PIC 18 452 microcontrollers The master glove controller has real time control over the robot hand So it can emulate a human hand such as grasping object W
66. near motion engines operated by gas pressure Their core element is a flexible reinforced closed membrane attached at both ends to fit along each other mechanical power is transferred to a load As the membrane is inflated or gas is sucked out of it it bulges outward or 1 squeezed respectively Together with this radial expansion or contraction the membrane contracts axially and thereby exerts a pulling force on its load The force and motion thus generated by this type of actuator are linear and unidirectional This contractile operation distinguishes the PAM from bellows which extend upon inflation Although this type of actuator is very suitable to use as the muscle of a humanoid robot it 1 hard to find Malaysia market so this actuator will not been used in this project 2 2 2 Sensing Sensor 1s a device that measures a physical quantity and converts it into a signal which can be read by an observer or by an instrument The sensor 1s responsive to changes in the quantity to be measured for example temperature position or chemical concentration The transducer converts such measurements into electrical signals which usually amplified can be fed to instruments for the readout recording or control of the measured quantities Sensors and transducers can operate at locations remote from the observer and in environments unsuitable or impractical for humans Proprioceptive sensors sense the position the orientation and
67. nic hardware and software The works undertaken the project are limited to the mechanical part electronic control and software development For the mechanical part The robot includes a finger skeleton design motor and caster mounting Strings are mounted at the shaft of servo motor to pull ever sector of the finger This robot finger 1s designed to operate in 3 degree of freedom The master glove design includes the sensor in each joint of the finger by using potential meter Electronic control Choosing control system uses PIC microcontroller Input control using potentiometer and feedback control also using potentiometer rotate sensor The servo controller can generate the servo pulse from 0 5115 to 2 5ms when it receive the signal from main PIC microcontroller Software development To run a PIC a set of C programming code have to be programmed into the device using MPLAB IDE software and modify program based on requirement of real attitude of robot hand The phase of the robot hand 15 design using the Solidwork software Software use to draw out the schematic diagram 1s Protel 1 4 Work Contribution We have developed a five fingers humanoid robot hand that has a 15 degree of freedom Each sector of the finger was tied with 3 chain system that powered by the servo motor The robot hand was capable to pick up small to medium size object and roll s material The major contributions of this work are We have built
68. pliant hinges y on Endoschelet Soft layer Figure 2 5 CAD representation of the finger under development The actuation of the finger 1s provided by remote linear actuators like at currently linear synchronous motors with the motion transmission obtained with flexible elements routed with low friction linear guides no any pulley or other non biomorphic devices are being used Coupled Joints Tendons Figure 2 6 Structural scheme of the endoskeleton 14 The structural scheme of the endoskeleton show in the Figure 2 6 got only three parallel joints have been implemented and the adduction abduction joint is not present The proximal and the medial joints are independently actuated while the distal joint is coupled to the movement of the medium joint Joint actuation is powered by remote motors The material used to built this finger 1s high strength steel There are several sensor been used in this project that 1s position sensor and force sensor The positions sensor 1s links of the finger a measure based on tendon lengths and the normally the sensor is potentiometers and hall effect based sensors Strain gauge sensor and tactile sensors was distributed under the soft skin of the finger 2 3 3 Pinching at finger tips by humanoid robot hand This project is design by the Kiyoshi Hoshino which under the Institute of Engineering Mechanics and Systems at University of Tsukuba The robot hand design to stably pinchin
69. r Timer or Synchro nized Counter mode to take advantage of this feature If Timer1 is running in Asynchronous Counter mode this RESET operation may not work In the event that a write to coincides with special event trigger from CCP1 the write will take precedence In this mode of operation the CCPR1H CCPR1L regis ters pair effectively becomes the period register for 11 5 Timer1 16 Bit Read Write Mode can be configured for 16 bit reads and writes see Figure 11 2 When the RD16 control bit lt gt is set the address for TMR1H is mapped to a buffer register for the high byte of Timer1 read from TMR1L will load the contents of the high byte of Timer1 into the Timer1 high byte buffer This provides the user with the ability to accurately read all 16 bits of Timer1 without having to determine whether a read of the high byte followed by a read of the low byte is valid due to a rollover between reads A write to the high byte of Timer1 must also take place through the TMR1H buffer register Timer1 high byte is updated with the contents of TMR1H when a write occurs to This allows a user to write all 16 bits to both the high and low bytes of Timer1 at once The high byte of Timer1 is not directly readable or writ able in this mode All reads and writes must take place through the Timer1 high byte buffer register Writes to do not clear the Timer1 pres
70. rammable imn Prescaler TOSE 2 delay Set Interrupt TOPS2 TOPS1 TOPSO Flag bit TMROIF TOCS on Overflow Note Upon RESET is enabled 8 bit mode with clock input from TOCKI max prescale FIGURE 10 2 TIMERO BLOCK DIAGRAM IN 16 BIT MODE Syne with Set Interrupt Internal TMROL PEGN Flag bit TMROIF TOCKI pin e roscaler 2 Tey delay TOPS2 TOPS1 TOPSO CS PSA Data Bus 7 0 Note Upon RESET Timer is enabled in 8 bit mode with clock input from TOCKI max prescale DS39564C page 104 2006 Microchip Technology Inc 101 PIC18FXX2 10 1 TimerO Operation TimerO can operate as a timer or as a counter Timer mode is selected by clearing the TOCS bit In Timer mode the TimerO module will increment every instruction cycle without prescaler If the TMROL reg ister is written the increment is inhibited for the follow ing two instruction cycles The user can work around this by writing an adjusted value to the TMROL register Counter mode is selected by setting the TOCS bit In Counter mode TimerO will increment either on every rising or falling edge of pin RA4 TOCKI The increment ing edge is determined by the TimerO Source Edge Select bit TOSE Clearing the TOSE bit selects the ris ing edge Restrictions on the external clock input are discussed below When an external clock input is used for it must meet certain requirements The
71. rnal 2003 Kiyoshi Hoshino Ichiro Hawabuchi Pinching at Finger Tips by Humanoid Robot Hand IEEE Journal 2005 L Biagiotti Lotti C Melchiom G Vassura Mechatronic Design of Innovative Fingers for Anthropomorphic Robot Hands IEEE Journal 2003 Cytron Technologies Sdn Bhd SERVO CONTROLLER User s Manual 2008 Online Available http www cytron com my listProductCategory asp cid 286 10 11 12 13 14 15 16 57 PICkit M 1 Flash Starter Kit User s Guide Wikipedia Robotics Online Available http en wikipedia org wiki Robotics Wikipedia Humanoid robot Online Available http en wikipedia org wiki Humanoid_ robot Wikipedia Potentiometer Online Available http en wikipedia org wiki Potentiometer Chris 2007 Tutorial Servo Motor Control Online Available http www pyroelectro com tutorials servo motor index html K S Fu R C Gonzalez C S G Lee Robotics control Sensing Vision and Interlligence MCGRAW HILL Book Company 1987 MPLAB C18 C COMPILER LIBRARIES APPENDIX A GANNT CHART BBPRPBEREPRPISISISPISPISTE eem aee Literature review research ume me RN efor TT LL ERE Ta frames PP PP Gantt chart for PSM 1 2009 Item Particulars Activities DEE e e
72. rrupt The TMRO interrupt cannot awaken the processor from SLEEP since the timer is shut off during SLEEP 10 4 16 Bit Mode Timer Reads and Writes TMROH is not the high byte of the timer counter in 16 bit mode but is actually a buffered version of the high byte of TimerO referto Figure 10 2 The high byte of the TimerO counter timer is not directly readable nor writable TMROH is updated with the contents of the high byte of TimerO during a read of TMROL This pro vides the ability to read all 16 bits of TimerO without having to verify that the read of the high and low byte were valid due to a rollover between successive reads of the high and low byte write to the high byte TimerO must also take place through the TMROH buffer register TimerO high byte is updated with the contents of TMROH when a write occurs to TMROL This allows all 16 bits of to be updated at once REGISTERS ASSOCIATED WITH TIMERO Value on Bit 7 POR BOR All Other RESETS TMROL TimerO Module Low Byte Register m TimerO Module High Byte Register TRISA PORTA Data Direction Register XXXX XXXX unn unu 0000 0000 0000 0000 ELA I IL dedi SEDI Legend x unknown u unchanged unimplemented locations read as 0 Shaded cells are not used by 2006 Microchip Technology Inc DS39564C page 105 102 PIC18FXX2 11 0 TIMER1 MODULE Figure 11 1 is a simpli
73. servo to 0 and a pulse of 1 75 ms could set the servo to 180 The physical limits and timings of the servo hardware varies between brands and models but a general servo s angular motion will travel somewhere in the range of 180 210 and the neutral position 1s almost at 1 5 ms 2 2 4 Communication In my project the communication between microcontrollers microcontroller with the computer 1s needed and the UART will be used So UART is a universal asynchronous receiver transmitter it is a type of asynchronous receiver transmitter a piece of computer hardware that translates data between parallel and serial forms By using UART the serial transmission of digital information through a single wire or wireless medium is much more cost effective than parallel transmission through multiple wires The transmitted information between sequential and parallel form at each end of the link can be done by using UART Each UART contains a shift register which is the fundamental method of conversion between serial and parallel forms Two type of Communication may be used which is full duplex and half duplex The full duplex is both send and receives at the same time and half duplex devices take turns transmitting and receiving Now a day UARTs are commonly used with RS 232 for embedded systems communications It is useful to communicate between microcontrollers and also with PCs Many chips provide UART functionality silicon and lo
74. sult BH automove pattern B f hee he je he ee ee ne e hee e ee he ee ee ee e i e e ee hc e ene hc e ee e c e ke e e e e e e e le e e e e e e e IHNHTERRUPT CONTROL pragma code InterruptvectorHigh interrupt pointer address 0X18 low priority void InterruptVectorHigh void asm assembly code starts goto InterruptHandlerHigh interrupt control _endasm assembly code ends pragma code Hpragma interrupt InterruptHandlerHigh enf PRESET ds dede e e ET AREER o dc d E E 222222222222 void InterruptHandlerHigh declaration cf interruptHandler this gets ran when ever the timers flop over from gt 0000 if INTCONbits THMEOIF check if THRO interrupt flag is set WriteTimerO OxSCAF count 0 INTCONbits TMROIF 0 iclear THRO flag 1 1 amp amp PIELBits THRIIE 1 if set controls the first servo eount switchicount i case 1 pwm 1 First Stage WriteTimerl 5707110 break casa 2 pumd 0 Servo 1 pwml 1 WriteTimerl zvO01 1 break case 3 0 pwm2 1 WriteTimerl zvO1 2 70 break case 4 pwmz pwm3 1 WriteTimerl svOl 3 break pwm3 pwm4 1 WriteTimerl svOl 4 break case 6 pwmd pwm5 1 WriteTimerli svOl 5 break case 7 pums 1 WriteTimerl svOl 6 break case B pwm
75. t 8 9 Context Saving During Interrupts During an interrupt the return PC value is saved on the stack Additionally the WREG STATUS and BSR regis ters are saved on the fast return stack If a fast return from interrupt is not used See Section 4 3 the user may need to save the WREG STATUS and BSR regis ters in software Depending on the user s application other registers may also need to be saved Equation 8 1 saves and restores the WREG STATUS and BSR registers during an Interrupt Service Routine SAVING STATUS WREG AND BSR REGISTERS IN RAM W TEMP is in virtual bank STATUS TEMP located anywhere BSR located anywhere Restore BSR Restore WREG Restore STATUS 2006 Microchip Technology Inc DS39564C page 85 99 PIC18FXX2 10 0 TIMERO MODULE Figure 10 1 shows a simplified block diagram of the TimerO module in 8 bit mode and Figure 10 2 shows TimerO module has the following features simplified block diagram of the TimerO module in 16 bit Software selectable as an 8 bit or 16 bit timer mode counter The TOCON register Register 10 1 is a readable and Headable and writable writable register that controls all the aspects of Dedicated 8 bit software programmable prescaler including the prescale selection Clock source selectable to be external or internal nterrupt on overflow from to OOh in 8 bit mode and FFFFh to 0000h in 16 bit mode Edge select
76. t This HESET can be generated by the CCP module Section 14 0 CCP Special Event Trigger Synchronized TMR1ON On Off T1SYNC Prescaler 1 2 4 8 T1CKPS1 T1CKPSO TMR1CS Synchronize _f det SLEEP Input Note 1 When enable bit TTOSCEN is cleared the inverter and feedback resistor are tumed off This eliminates power drain FIGURE 11 2 Data lt 7 0 gt Write TMR1L n JL 0 Timer 1 CLR High Byte 2 T1OSCEN Enable NU Oscillator Read TMR1L TMR1IF Overflow Interrupt Flag bit T13CKI T10SO xX T1OSI 5 4 Intemal Clock TIMER1 BLOCK DIAGRAM 16 BIT READ WRITE MODE CCP Special Event Trigger Synchronized s Ec T1SYNC 1 Prescaler 1 2 4 8 0 2 TMR1CS T1CKPS1 T1CKPSO Synchronize _f det SLEEP Input Note 1 When enable bit T1 OSCEN is cleared the inverter and feedback resistor are turned off This eliminates power drain DS39564C page 108 2006 Microchip Technology Inc 104 PIC18FXX2 11 2 Timer1 Oscillator crystal oscillator circuit is built in between pins 1 5 input and T1OSO amplifier output It is enabled by setting control bit TIOSCEN T1CON 3 The oscilla tor is a low power oscillator rated up to 200 kHz It will continue to run during SLEEP It is primarily intended for a 32 kHz crystal Table 11 1 shows the capacitor selection for the Timer1 oscillator
77. t all Figure 3 3 Figure 3 4 Figure 3 5 Figure 3 6 and Figure 3 7 depict time out sequences on power up Since the time outs occur from the POR pulse if MCLR is kept low long enough the time outs will expire Bringing high will begin execution immediately Figure 3 5 This is useful for testing purposes or to synchronize more than one PIC18FXXX device operat ing in parallel Table 3 2 shows the RESET conditions for some Special Function Registers while Table 3 3 shows the HESET conditions for all the registers 0539564 26 2006 Microchip Technology Inc 99 PIC18FXX2 8 0 INTERRUPTS The PIC18FXX2 devices have multiple interrupt sources and an interrupt priority feature that allows each interrupt source to be assigned a high priority level or a low priority level The high priority interrupt vector is at 0000081 and the low priority interrupt vector is at 000018h High priority interrupt events will over ride any low priority interrupts that may be in progress There are ten registers which are used to control interrupt operation These registers are RCON INTCON INTCON2 INTCONS e PIRI PIR2 6 e It is recommended that the Microchip header files sup plied with MPLAB IDE be used for the symbolic bit names in these registers This allows the assembler compiler to automatically take care of the placement of these bits within the specified re
78. t flag bits are clear prior to enabling an interrupt This feature allows for software polling 2006 Microchip Technology Inc DS39564C page 77 94 PIC18FXX2 8 3 PIE Registers The PIE registers contain the individual enable bits for the peripheral interrupts Due to the number of periph eral interrupt sources there are two Peripheral Inter rupt Enable Registers PIE1 PIE2 When IPEN 0 the PEIE bit must be set to enable any of these peripheral interrupts REGISTER 8 6 PIE1 PERIPHERAL INTERRUPT ENABLE REGISTER 1 R W O R W O R W O R W O R W O R W O R W O R W O bit 7 bit O bit 7 PSPIE Parallel Slave Port Read Write Interrupt Enable bit 1 Enables the PSP read write interrupt 0 Disables the PSP read write interrupt bit 6 ADIE A D Converter Interrupt Enable bit 1 Enables the A D interrupt 0 Disables the A D interrupt bit 5 RCIE USART Receive Interrupt Enable bit 1 Enables the USART receive interrupt 0 Disables the USART receive interrupt bit 4 TXIE USART Transmit Interrupt Enable bit 1 Enables the USART transmit interrupt 0 Disables the USART transmit interrupt bit 3 SSPIE Master Synchronous Serial Port Interrupt Enable bit 1 Enables the MSSP interrupt 0 Disables the MSSP interrupt bit 2 Interrupt Enable bit 1 Enables the 1 interrupt 0 Disables the 1 interrupt bit 1 TMR2IE TMR2 to PR2 Match Interrupt Enable bit 1 Enables the TMR2 to PR2 m
79. the speed of the humanoid s body and joints In human beings inner ears are used to maintain balance and orientation Humanoid robots use accelerometers to measure the acceleration from which velocity can be calculated by integration tilt sensors to measure inclination position sensors that indicate the actual position of the robot or even speed sensors In my project the position sensor will be mounting at every joint of the finger 2 2 3 Servomotor A servo motor is a generic term used for and automatic control system The Servo is an automatic device which uses error sensing feedback to correct the performance of a mechanism The term correctly applies only to systems where the feedback or error correction signals help control mechanical position or other parameters In practical terms that means a mechanism that you can set and forget and which adjusts itself during continued operation through feedback There are numerous types of servos but they differ their precision speed and strength The connection of these servos are same 1s controlled by three wires see figure 2 2 which 15 negative positive and signal Roughly 6VDC to power the servo motor and a PWM pulse stream to indicate position T black positive negative yellow signal Figure 2 2 Connecter of the servo motor A servo pulse of 1 5 ms width will set the servo to its neutral position or 909 For example a servo pulse of 1 25 ms could set the
80. upt is responded to the Global Interrupt Enable bit is cleared to disable further interrupts If the IPEN bit is cleared this is the GIE bit If interrupt priority levels are used this will be either the GIEH or GIEL bit High priority interrupt sources can interrupt a low priority interrupt The return address is pushed onto the stack and the PC is loaded with the interrupt vector address 000008h or 000018h Once in the Interrupt Service Houtine the source s of the interrupt can be deter mined by polling the interrupt flag bits The interrupt flag bits must be cleared in software before re enabling interrupts to avoid recursive interrupts The return from interrupt instruction RETFIE exits the interrupt routine and sets the GIE bit GIEH or GIEL if priority levels are used which re enables interrupts For external interrupt events such as the INT pins or the PORTB input change interrupt the interrupt latency will be three to four instruction cycles The exact latency is the same for one or two cycle instructions Individual interrupt flag bits are set regardless of the status of their corresponding enable bit or the GIE bit Do not use the MOVFF instruction to modify any of the Interrupt control registers while any interrupt is enabled Doing so may cause erratic microcontroller behavior 2006 Microchip Technology Inc DS39564C page 73 90 PIC18FXX2 FIGURE 8 1 INTERRUPT LOGIC Wake up ifin SLEEP
81. w cost chips exist to convert logic level signals to RS 232 level signals like Maxim s MAX232 and it can be easy find at the market 10 2 3 Existing Robot Hand Robot hands have not been widely sold in the market So this literature 15 based on the existing robot hand build by individual person or University research There 15 only one company got sold the robot hand in this world which is Shadow Robot Company This company manufactured a product name Shadow Robot Hand show in Figure 2 4 2 3 1 Shadow Robot Hand The Shadow Dexterous Hand has been designed to be as similar as possible to the average hand of the human hand The base of the forearm widens to 146mm but the length 1s comparable to the human forearm The Finger Unit reproduces as closely as possible the four degrees of freedom of the human finger Table 2 3 and Figure 2 4 It has been designed to provide comparable force output and movement sensitivity to the human finger as well as upwards compatibility with the Shadow Dextrous Hand Shadow Dexterous hand has 24 joints all together with 20 degrees of freedom Table 2 1 The finger has 4 degree of freedom and 4 joints Joint Connects Range Muscle Type 1 Distal Middle 20 90 ERA 2 Middle Proximal 0 90 3 Proximal Knuckle 20 90 Pair 4 Knuckle Palm 25 425 single with Spring 11 Figure 2 3 The finger of Shadow hand The movements of the hand are powered by a set of 40 Air Muscles in
Download Pdf Manuals
Related Search
Related Contents
Panduit WGINTSPLEZ mounting kit STIHL KM 55 本機に収録されている学習用コンテンツ Requisite Audio Engineering L2M MkII Mastering 40007005 INST BOOK VHC 980AT-S 9L §xw§i`i`¢~0peration Instructions Sharp MX-M623 Government Compliance Buffalo Technology HD-HBXXXU2 User's Manual GSX Server User`s Manual - Support On Line service manual for 46101-8114 46103-8114 backwall Copyright © All rights reserved.
Failed to retrieve file