Home

mechatronics control kit user`s manual

image

Contents

1. Pin5 PWM signal Part List Any standard 28 AWG 0 05 in spacing stranded ribbon cable Crimp Pins DigiKey part number WM2557 ND Crimp Tool DigiKey part WM9999 ND 5 pin housings DigiKey part number WM2803 ND 2 US Digital encoder cable Quanser Interface 5 Pin Encoder Pin 1 Pin 1 GND Pin 3 Pin 3 CH A Pin 4 Pin 4 SV Pin 5 Pin 5 CH B Part List Any standard 28 AWG 0 05 in spacing stranded ribbon cable Crimp Pins DigiKey part number WM2557 ND Crimp Tool DigiKey part WM9999 ND 5 pin housings DigiKey part number WM2803 ND 3 Motor Encoder cable Ouanser Interface 5 Pin Motor Wires Pin 1 Black GND Pin 3 Yellow CH A Pin 4 Red 5V Pin 5 Blue CH B Part List Any standard 28 AWG 0 05 in spacing stranded ribbon cable Crimp Pins DigiKey part number WM2557 ND Crimp Tool DigiKey part WM9999 ND 5 pin housings DigiKey part number WM2803 ND 4 Motor and Leads Solder 22 AWG wire onto ribbon cable wire for screw terminal ends Part List Any standard 28 AWG 0 05 in spacing stranded ribbon cable 22 AWG Red and Black stranded wire 5 LCD cable Daughter Card 16 Pin Housing Ifa pin is not listed in is a No Connect Pin is connected to Pin 4 Gnd of LCD Power Connector Pin 3 is connected to Pin 1 SV of LCD Power Connector Pin 8 is connected to Pin 3 Serial Receive of LCD 9pin Dsub Pin 9 is jum
2. Figure 4 2 Visual Basic GUI 10 Enable the PWM Amp to ON LED should turn ON 11 a If you want to run the Mid swing up controller for the Pendubot experiment you can simply click the Start button in the VB plug in This will however use the default gains that are hard coded in the balboth c source file If you would like to use the gain values found in the edit boxes of the VB application click on the Download Gains button to use those gains Then press the Start button to start the control To run the Top controller for the Pendubot experiment first click on the Pendubot Top Gains button Then to download those gains click on Download Gains Click Start to start the controller To run the reaction wheel experiment s swing up algorithm first click on the Reaction Wheel Gains button Then to download those gains click on Download Gains Click Start to start the controller To run the Furuta pendulum experiment s swing up algorithm first click on the Furuta Gains button Then to download those gains click on Download Gains Click Start to start the controller 12 While the controller is running angular position or velocity data data is updated in the display edit boxes and the same data is used to update the linkage animation 22 13 To Halt the Controller click the Halt button 14 The Download Gains button can be clicked both when the contr
3. GUANSER MECHATRONICS CONTROL KIT USER S MANUAL IMPORTANT NOTICE Do not attempt to operate the Mechatronics Control Kit without proper supervision and without first reading this manual Quanser Consulting Inc assumes no responsibility for injuries or damage caused by improper usage Copyright 2002 Quanser Consulting Inc under license by Mechatronic Systems Incorporated All rights reserved Table of Contents Chapter 1 Int 0d WE ON yi saigesssseiscs csesues BNN NN 3 T About Quauser Consulti DG iode ioi Semak San Aa NUN RARE ON ANN 4 2 How to Cor bae ASET es ei LE AN BATAN LAS BBI NAN vats 5 3 What Can You Do With the Mechatronics Control Kit oWooooooWWoo 6 Chapter 2 Getting Started saxena an kurana agen eses Gabe seduadsessatnedeisieonsesecenussbadoedeisseceseseeeass 7 1 Running Your First Controller irern anakiona a na Hosted Gs a a aa ecuc is 7 2 Sample Controllets sininen a a a E values E EE EE E E estu dete etus iet aa 8 CEN Us IC a BN o uu 9 4 Additional Temi risin tis ca mati ap aman alan AT Oa poteat NU ARSI ESES una didus ein 10 Chapter 5 Software Installati n cc sesssecesss savessevseccovssesdsncesececesvpecsveeseedsasasnedseonssscsdoaspudessosguassossscesvanpoensovioncssous 11 1 Installing CCS under Windows 95 98 NT 2000 Me XP cessere enne enne 11 2 Installing the Mechatronics Kit Software mix aps eis re namakan queer ecucalsuaeandencemedsseeeoundees 11 Chapter 4 Software Desc
4. 75 1 451 b You will find that the encoder cable for link 2 and the friction of the motor can cause some offset problems for different control designs The offset problem is that the controller tends to balance the unactuated link offset from the desired equilibrium position These offset errors are more pronounced with lower gain controllers We have added an open loop offset voltage parameter to our control algorithm to adjust for this problem somewhat but with low gain controllers it does not always solve the problem Routing the cable with minimum disturbance to link2 is a key factor in reducing this offset also While the controller is balancing the Pendubot play around with the cable to see how it affects the control c Our swing up controller implements a partial feedback linearization controller See the controller section and given references for more details on this control algorithm There are four gain values that you can tune to get the second link to swing to the MID equilibrium point slowly enough so that the balancing controller can catch and stabilize the system The 4 gains are Kp Kd the proportional and derivative gains for the outer loop controller and an amplitude ampl and frequency w gain that determine the amplitude and frequency of the initial pump trajectory for the swing up control If your goal is to experiment with the non linear partial feedback linearization controller then feel free to adjust all four of the gain
5. DSK Default Flash Program readme txt bootflsh c Ink cmd myvectors asm myboot asm bootflsh mak bootflsh out 16 bootflsh map FLASH Files and Instructions for re flashing the DSK readme txt hex cmd balint hex balext hex flash exe flash_prog out flashit bat genhexfiles bat MATLAB Matlab M files used to identify and form the models of the two experiments readme txt id pendubot m id furuta m LINPENDU M linRwhl m id reaction wheel m RTW Files needed to run the Mechatronics Kit using Real Time Workshop readme txt WINCON3 Files to setup Quanser WinCon with the Mech Kit readme txt c6xbd h c xen dll c6xen h c6xen tlc c xlib mdl c xpwm dll coxpwm h coxpwm tlc EXAMPLES Example External Simulink models for WinCon swpendtop mdl swfuruta mdl swfurutaEnergy mdl swpendtopobs mdl swpendmid mdl swIwhlE mdl swlIwhlEobs mdl goodRWhlobs mat HOWTO DLLS How to compile the mex dll files readme txt c xen c c6xpwm c c6xbd h c6xen h c6xpwm h DataTypes h hardware h WINDOWSTARGET2 0 Files for MathWorks WindowsTarget2 0 17 readme txt c6xbd h c6xen dll c6xen h c xen tlc c6xlib mdl c6xpwm dll coxpwm h coxpwm tlc EXAMPLES Example External Simulink model for WTarget2 0 swpendtop mdl swpendtopobs mdl swpendmid mdl swIwhlE mdl HOWTO_DLLS How to compile the mex dll files readme txt c6xen c c6xpwm c c6xbd h
6. Instruments which includes DSK board 5VDC at SAMP desktop power supply parallel port cable and Code Composer Studio software installation CD Part number TMDS320006711 See www ti com for more information 4 24VDC at 2 1AMP Power Supply from ELPAC Power Systems Model W4024 You can find this part at DigiKey www digikey com 20Char X 2Row LCD Screen from Matrix Orbital Part number LK202 25 www matrixorbital com C6XDSK DIGIO daughter built by QCI PWM Amplifier board built by QCI Quanser interface board built by QCI LCD cable built by QCI 10 US Digital Optical Encoder Cable built by QCI 11 PWM Amplifier signal cable built by QCI 12 Aluminum pieces all built by QCI Bottom Plate Eight 2 75 inch standoff posts Base Plate Plastic Top Two LCD mount pieces Motor or Optical Encoder Mount Pendubot Link 1 piece Pendubot Link 2 piece with 4 8 32 nuts Pendubot Link 2 coupler piece Reaction wheel Link piece Reaction wheel Fly Wheel Four extension post for the Reaction wheel setup LAJU mA pa mono Pp m Furuta base piece n Furuta upright piece o Furuta Link 1 13 Installation CD for Kit example code 4 Additional Items REQUIRED ITEMS 1 The following tools a 15 inch socket b 7 64 3 32 and 5 64 inch Allen wrenches c Small Phillips screw driver d Small Standard Flat screw driver i e 3mm precision screw driver Scotch Tape for taping the routed cables in place Dedicated Power Strip for the 24V
7. NC No Connect 8 NC No Connect PWMI PWM Output 1 10 PWM2 PWM Output 2 Connector for PWM Outputs 1 and 2 J4 4 DB CLKSI jumper J8 The J8 jumper connects the 10MHz clock of the C6XDIGIO daughter card to the CLKSI pin of McBSP1 This jumper MUST be installed for the given LCD code to work The slow at least compared to the 150MHz clock of the DSP 10MHz clock is used to generate the slow 19200 Baud rate for the LCD serial port transmissions The only reason you would need to remove this jumper is if you would like to use the J11 serial port connector for a different purpose then the LCD screen 5 Serial Port LCD connector J11 Use this connector to connect the serial LCD panel to the DSP s serial port 1 McBSP1 The McBSP1 s pins are not connected to the MAX232 RS232 voltage converter chip on the board Instead these connections need to be made at connector J11 So to convert McBSP1 s data transmit pin to RS232 voltages pin 9 is jumper to pin 10 and pin 8 is taken to LCD See the schematics for more details Power is also brought out to this connector to power the LCD If the LCD screen is not needed you can use this connector to connect McBSPI to other peripherals Signal Name Description Signal Name Description DGND DSP Daughter Digital Gnd 5V DSP Daughter Power 5V DSP Daughter Power RS Routl RS 232 Receive Output DB DRI DSP Seriall Data Receive RS Rinl RS 232 Reveive Input DB FSRI DSP Seriall FSR RS Toutl RS 232 Transmit Output DB DX
8. On Off switch for the Kit You will find that you will spend most of the building time of constructing either the Pendubot or Reaction Wheel experiment in getting the routing of the cables correct Routing the cables so that they produce a minimum amount of drag on the experiments is very important in getting the controllers to work properly You will find that different bends and loops in the cable routing will cause your system to react in different ways In other words the cable plays a big role in the system model In this section we have supplied pictures and a description of how we recommend routing the cables for the Pendubot and reaction wheel experiments Feel free to experiment with your own routing but these have worked best for us You will need to be careful with the ribbon cables because with excessive bending and pulling the 28 AWG wires of the ribbon cable can be broken Take care when inserting the connectors that you are not pinching the cable wires in the process If you do break a cable though they are very easy to build We have supplied a section below giving the parts and pin outs for each cable 37 Routing the cables for the Pendubot Experiment You will want to read this section along with the section that discusses assembling the Pendubot experiment Before routing the swinging cable you should first have most of the Pendubot experiment built The motor should be mounted and its M cable should be loosely wrappe
9. adjust the gain by smaller amounts then 0 1 You will also find that as the motor and amplifier chip heat up in use the motor torque constant will start to drop a bit This will require you to tune the backopenloop gain again to get the link to swing to the equilibrium IMPORTANT Do not let the motor get stuck in a position say by a wrapped up cable or some other obstacle If the motor stalls with maximum torque being applied the motor could get very hot and become damaged Always take care to power off you system when it is unattended so that an issue like this can be avoided Also very high gain controllers can cause the motor to heat up When attempting new control algorithms monitor the motor s temperature from time to time and power off if the motor gets hot 26 Perform tuning either by using the VB plugin supplied with the DSP BIOS II code example or by using CCS watch windows with the use of the bootcode example source files See the readme txt files in those respective directories for instructions 3 Reaction Wheel Controllers a To design a linear full state feedback controller for the reaction wheel at the Top equilibrium point pi 0 0 we have supplied two Matlab M files to perform the parameter identification and the linearization of the non linear equations about the equilibrium point First run the script file id reaction wheel This produces a P parameter vector Then run the linpendu function as follows A
10. and 5V power supplies Clean sturdy table that allows the rubber feet to get a good grip on the table PC with free parallel port running Windows 2000 XP recommended Windows 98 Second Edition or Windows NT 4 0 I have not tried CCS in Windows ME but it should work fine We recommend a Pentium II or higher system 6 Matlab Simulink en he RECOMMENDED ITEMS 1 Microsoft Visual Basic 6 0 2 Amplified PC Speakers Battery power or external power supply 3 Real Time Workshop for Matlab with either WinCon preferred or Windows Target 10 Chapter 3 Software Installation The Mechatronics Control Kit is supplied with source code of all programs including example controllers Matlab Simulink programs and a Visual Basic GUI plug in In addition the Code Composer Studio software CCS from Texas Instruments is included for developing and running your own application programs on the DSK CCS presently supports Windows 95 98 NT 2000 Me XP 1 Installing CCS under Windows 95 98 NT 2000 Me XP Before installing Code Composer Studio make sure that you have assembled your Mechatronics Control Kit and run the flash memory demo program according to the instructions in the Getting Started Section of this manual This will ensure that the DSK is functioning properly and is ready to be connected to the PC Locate the Code Composer Studio for C6211 6711 DSK Quick Start Guide and the C6211 6711 DSK Hardware Installation Quick Start Guide supplied with t
11. c6xen h coxpwm h SIMULINK Example simulation files for the two experiments using Simulink readme txt pendubot blocks mdl swlIwhlsimE mdl swlIwhlsimEobs mdl swpendmidsim mdl swpendtopsim mdl swpendmidsimobs mdl swpendtopsimobs mdl pendubotanim m Iwhlanim m howto mak msvc60opts bat parfdbk c parfdbk dll pendubot c pendubot dll pend sfunc exmpl mdl furutaanim m goodfurutaobs mat goodIwhobs mat swfurutasim mdl swfurutasimobs mdl LINUXINCONTROL Method for controlling the Mechatronics Kit in Linux and Simulink See the readme txt file in this directory for more information DOCS Mech Kit documentation and Board Schematics kitmanual pdf PDF version of the Mechatronics Control Kit manual 18 kitmanual doc Microsoft Word version of the Mechatronics Control Kit manual DATASHEETS Datasheets for different components and chips of the Mechkit pittmanmotor pdf LCD LK202 25 pdf S1 amp S2 Data Sheet pdf LS7266R1 Data Sheet pdf LS7266R1 Manufacturer s Data Sheet pdf CTS8254 pdf 3952 pdf SCHEMATICS Schematics of C6XdigIO daughter card and PWM Amp board board_schematics pdf PAPERS This folder contains several tutorials and papers describing the Mechatronics Control Kit 3 Bootcode The code that runs when the DSK system is first power ON is the source code found in the bootcode directory There are four source files that make up this project bootflsh c myvectors asm myboo
12. diag 05 850 10000 0 b You will find that the encoder cable for link 2 and the friction of the motor can cause some offset problems for different control designs The offset problem is that the controller tends to balance the unactuated link offset from the desired equilibrium position These offset errors are more pronounced with lower gain controllers We have added an open loop offset voltage parameter to our control algorithm to adjust for this problem somewhat but with low gain controllers it does not always solve the problem Routing the cable with minimum disturbance to link2 is a key factor in reducing this offset also While the controller is balancing the Pendubot play around with the cable to see how it affects the control c Our swing up controller implements a partial feedback linearization controller See the controller section and given references for more details on this control algorithm There are three gain values that you can tune to get the second link to swing to the TOP equilibrium point slowly enough so that the balancing controller can catch and stabilize the system The 3 gains are Kp Kd the proportional and derivative gains for the outer loop controller and back pump open loop excitation value that is applied for a hard coded value of 0 475 seconds before swinging the linkage up to the TOP equilibrium As with the MID position if your goal is to experiment with the non linear partial feedback linearization controller th
13. encoder cable into the encoder connector Make sure to align ground with pin 1 4 Attach the flywheel using a 5 64 Allen wrench Slide the flywheel until the motor shaft protrudes slightly from the back end of the flywheel See Figure 5 3 le Figure 5 3 DC Motor Control Setup 5 Plug the motor encoder cable into ENCI on the Quanser interface board 30 2 Building the Reaction Wheel Pendulum With this experiment you have the highest chance of damaging the US Digital optical encoder unit This is due to the large moment arm that is created by hanging the motor at the end of the 5 inch link Just be careful when assembling this experiment and always try to be careful not to allow the motor and link to be bumped into when resting in the experiment configuration Also avoid unneeded stress on the encoder and link coupling ALWAYS assemble the link motor flywheel assembly first before sliding the coupling onto the encoder shaft 1 Use a inch socket to mount the encoder to the encoder mount If the encoder mount is not already attached to the base plate do so now Insert the encoder shaft through the backside of the encoder mount With the encoder positioned so that the cable extends above the encoder mounting bracket attach the encoder to the bracket using the 3 8 inch washer and nut supplied with the encoder Tighten the nut using the 4 inch socket so that the encoder enclosure is not able to rotate but do not over tighten the nut a
14. logic level When the jumper is not installed a HI logic level is being compared In this way you can set the address of the board The default board address is set to all the jumpers installed or 0x000000 The C6XDIGIO daughter card uses CE2 space therefore the base address of the daughter card is 0xA0000000 The only reason you would ever need to change these jumper settings is if would have the need to install another daughter card in between the C6711DSK and the C6XDIGIO daughter card In that case you may find that you need to change the address so that it does not conflict with the new daughter card s memory space Optical encoder connector for encoder 1 and 2 J2 Use this connector to plug the US Digital encoder and the motor encoder into the DSP system 48 Pin Signal Name Description Pin Signal Name Description DGND DSP Daughter Digital Gnd 2 DGND DSP Daughter Digital Gnd NC No Connect 4 NC No Connect ENCICHA Encoder 1 Channel A ENC2CHA Encoder 2 Channel A 5V DSP Daughter Power 8 5V DSP Daughter Power ENCICHB Encoder 1 Channel B 10 ENC2CHB Encoder 2 Channel B Connector for Optical Encoder Inputs 1 and 2 J2 3 PWM connector for PWM outputs 1 and 2 J4 Use this connector to connect the PWM output signal to the PWM amplifier board Pin Signal Name Description Pin Signal Name Description DGND DSP Daughter Digital Gnd 2 DGND DSP Daughter Digital Gnd 5V DSP Daughter Power 4 5V DSP Daughter Power NC No Connect 6 NC No Connect
15. manually move the link to the balancing position and the control will switch and balance the link there See the tuning section for more information on getting the system to swing up correctly If you would like to re run the same controller simply move the PWM Amp ENABLE switch to OFF and depress the hardware RESET button and the program will start over Wait for the links to be at rest and then ENABLE the Amp and tap on USER SW3 To switch to a different mode again DISABLE the Amp switch USER SWI and USER SW2 to the desired mode and then press the hardware reset button The new mode will then run and you can enable the amp and tap USER SW3 to start this controller The bootflsh out file does not only have to be run from the flash You can in fact download and run bootflsh out from CCS or even with dsk6xldr exe When done in this fashion the boot asm code is ignored This way you can modify the bootflsh source code and debug it using CCS Then when your final version is complete you can flash the program to the DSK See the files in the FLASH directory for information on re flashing the DSK 20 4 DSP BIOS II code and Visual Basic Interface Plugin BALRTDX and RTDXPROJ This section describes the DSP BIOS program found in the DSPBIOSINRTDXPRONDSP directory along with its companion Visual Basic program found in the DSPBIOSINRTDXPRONVB directory The target program must be loaded and run from inside CCS and then commanded to start the ap
16. open loop stable configuration to the inverted equilibrium is an interesting problem because of the strong nonlinearity and dynamic coupling between the degrees of freedom We have supplied controllers that are based on the notion of partial feedback linearization and nonlinear zero dynamics that can be used for swing up control You may design additional controllers using heuristic fuzzy logic or machine learning methods or a host of other available techniques e Swing up and Balance Combining the operations of swing up and balance is an ideal problem to investigate so called hybrid and switching controllers So called Logic Based Switching control is a relatively new approach to designing robust controllers for complex systems Chapter 2 Getting Started We have supplied you with most of the reaction wheel experiment assembled We are going to first have you assemble this experiment and control it with the program flashed on the C6711DSK board First step is to unpack all the pieces Second step is to read the rest of this manual to get a better feel for the experiment you will be building 1 Running Your First Controller l 11 12 13 After familiarizing yourself with the manual and the various components of the Kit you are ready to assemble the reaction wheel experiment and run the demo control program residing in flash memory The next few steps will help you assemble the reaction wheel experiment The encoder is shipped alr
17. the 25 pin Dsub connect to the DSP s External Interrupt 4 When connected to a PC s parallel port Pin 17 is the parallel port s Control Pin 3 8 Jumper W1 Connects AGND to DGND underneath the DAC2815 IC This is required when installing the DAC portion of the Daughter Card 3 PWM Amplifier Board The mechatronics kit also comes with a pulse width modulating PWM motor amplifier board First thing to be award of with this board is that it CANNOT drive any size of DC motor The amplifier board is based on the A3952SB from Allegro MicroSystems which has only 2 Amps of continuous current output That means if you drive a larger current motor with this chip it may work as long as the motor does not get in a stall situation or doesn t need to switch directions but the second the motor stalls or switches direction you will blow the A3952SB chip This chip was specifically design to drive the small motors found inside the inexpensive ink jet printers on the market today The motor supplied with the mechatronics kit is a Pittman 24V DC motor with a stall current of 2 Amps i e rotor resistance 12 Ohms It therefore is a perfect match for this small PWM amplifier chip In fact the main reason we chose this motor was that it was the right size for the A3952SB Cost and the fact that the A3952SB was a current output amplifier instead of voltage output were the main factors in designing the mechatronics kit experiments around the A3952SB The A3952SB chip s
18. to control your own developed experiments The Software Installation section discusses the installation instructions for this CD 1 Code Composer Studio and TI example code The Code Composer Studio IDE which includes a assembler and C compiler for the C6000 DSP is a development environment that allows you to create projects create and edit source files compile source files into a downloadable COFF out file download programs to the DSK target and debug your programs with breakpoints watch windows and RTDX real time monitoring plug ins Code Composer Studio is a very powerful software package and this manual will not go into all the details of this package Instead the Code Composer Studio IDE CD contains an extensive amount of documentation and tutorials to get you up to speed quickly with the software Therefore the details we will leave to the CCS manuals help files and tutorials but we will briefly try to pass some of our experience with CCS onto you in this section There are also a number of examples supplied with CCS that deserve a brief introduction Recommended Reading and Tutorials for CCS 1 Before starting with CCS read the General Help topics found under the Help menu There is a lot of information here so initially skim through the material mainly just to know the location of the different help topics so that you can come back to that section as you get increasingly familiar with the software The TMS320C6
19. to the balancing controller and hold it there DO NOT let the link wrap up the cable too tightly This can damage the cable 15 You have just performed your first control with the Mechatronics Kit 16 Now power OFF the system and go onto the Software installation 2 Sample Controllers We have supplied you with a number of different example programs to control the Mechatronics Control Kit Below is a list of these controllers and their source file names 1 Power On Flash Program This program runs when you power on or hardware reset the Mechatronics Control Kit Three different controllers can be run with this example and the configuration of the three user switches on the C6711DSK determines which controller to run USER_SW1 USER SW2 USER SW3 UP UP UP Swing Reaction Wheel to Balancing point DOWN UP UP Swing Pendubot experiment to TOP position UP DOWN UP Swing Pendubot experiment to MID position DOWN DOWN UP Swing Up Furuta Pendulum All three of these controllers require the links to be at rest before the control algorithm can begin Tapping on USER SW3 in all three cases starts the control algorithm The source code for this program can be found in the bootcode directory Read the source code and readme txt file to familiarize yourself with this example 2 DSP BIOS II Example Program This example requires the use of both Code Composer Studio and Visual Basic 6 0 Visual Basic 6 0 is not required but highly recommended for ease o
20. values and observe how the control reacts However if your main goal is to just get the Pendubot to swing up to the equilibrium value then we recommend that you fix three of the gain values and just adjust the amp gain of the swing up trajectory Note You can of course find other gain values to work to swing up the Pendubot but the following gains are values that we have found to work well Fix Kp at 150 0 Kd at 21 0 and w at 5 55 Start with an ampl value of around 1 7 Run the swing up control and see if the controller is able to catch the linkage at the MID position Note ALWAYS remember to let the links go to rest before starting your next run When the controller starts it reinitializes the optical encoder count so to work correctly the link needs to be at rest If the swing up control did not add enough energy to link 2 i e the link did not make it up to the equilibrium point then increase ampl by about 0 05 or so and try the run again Continue this until you find the ampl gain that brings link 2 to the equilibrium If the swing up control adds too much energy to link2 and link2 swings quickly through the equilibrium reduce the value of ampl by about 0 05 and try the run again You will also find that after the motor and amplifier chip have heated up some the motor torque constant drops a bit This will require you to tune the ampl gain again to get the link to swing to the equilibrium IMPORTANT Do not let the motor get stuck in a
21. your hard drive ie c mechkit 11 Chapter 4 Software Description There is quite a bit of software to digest in this mechatronics kit This section will give you an overview of the Code Composer Studio software package and the example source files supplied with the kit Three CDs come with the Mechatronics Control Kit Two of the CDs as you can probably tell by the packaging are supplied by Texas Instruments with the C6711 DSK The CD titled Product Information eXpressDSP Real Time Software Technology is simply an informational CD Feel free to follow the installation instructions printed on the package to install this CD on your PC The CD overviews the new software design strategy called eXpressDSP that TI is putting into practice This manual does not discuss anything further about this CD The second CD package titled Code Composer Studio IDE is the important CD The DSK development and interface software Code Composer Studio is found on this CD The Getting Started section earlier in this manual discussed installing this software on your PC See this section for a discussion of installing this software The Mechatronics Control Kit CD contains all the example code for the four experiments Below you will find a breakdown of all the supplied code We make a point to supply you with all our source code in order that you have all the tools to develop your own special controllers This also allows you to expand the kit
22. 711 DSK Board 46 This DSK board acts as the motherboard for our system All the control routines are run on the C6711 floating point processor and use the external SDRAM supplied on the DSK We also use the audio CODEC chip output to play short sound clips at different transitions in the control routines The parallel port connector on this board is used to communicate with the host PC JTAG emulation is achieved through this parallel port By reading through TI s documentation and tutorials you will become very familiar with this board and its capabilities The DSK kit comes included with the DSP board Code Composer Studio software and DSP BIOS II DSP BIOS II is a new DSP operating system that TI released in 2000 It is a powerful real time operating system that still allows for relatively small footprint in the DSP s memory A must read is the TI document TMS320C6000 DSP BIOS User s Guide spru303 which gives a good overview of the DSP BIOS II operating system This manual along with many more C6000 documents can be found after CCS has been installed in the Help window under the topic CCS Documentation This manual for the Mech Kit is intended to give you enough information to run the different example programs supplied and get you started with the dynamics models of the two experiments We have not gone into detail though on the CCS software We recommend that you take some time to read and perform the different manuals and tut
23. 711 DSK discusses the DSK board which is the motherboard for the mechatronics kit DSP system 2 Manuals found in the Help window under the item CCS Documentation These are the manuals that are the most useful when developing on the DSK a Code Composer Studio Tutorial SPRU301 b Code Composer Studio User s Guide SPRU328 c TMS320C6000 DSP BIOS User s Guide SPRU303 d TMS320C6000 DSP BIOS Application Programming Interface API Reference Guide SPRU403 e TMS320C6000 Peripherals Reference Guide SPRU190 12 3 Tutorials under the Help gt Tutorials menu in CCS are excellent for getting you started in CCS We recommend at least going through the Code Composer Studio Tutorial before working with our examples and developing your own projects 4 Read the readme txt files located in the ti directory and the Mechatronics Kit CD root directory These text files explain the files and sub directories present in that directory Tips when using CCS 1 To keep the parallel port interface and C6711 DSK synchronized there are two good practices to get into the habit of performing when running CCS connected to the DSK a Never press the hardware reset button on the DSK board when running CCS Doing so can interrupt communication with CCS and you will probably need to exit CCS and restart it to regain communication b Periodically before loading or re loading an out file first run the Reset CPU command Debug gt R
24. B linpendu P pi This will produce the linearized A and B matrices Now with this linear model you can design a linear controller to stabilize the system As an example find a full state feedback controller using the Igdr function i e K Iqrd A B Q 1 005 where Q diag 1 0 0 0005 You will find that when the reaction wheel is balancing the inverted pendulum it normally does not spin down to zero velocity This is due to the disturbance torque applied to the link by the encoder and motor cable While the link is balancing you can change the bends in the cable to get the wheel spinning at a slower rate You do not want the motor spinning too fast because then it has a smaller region of torque to apply Torque is achieved by accelerating the flywheel and if the motor is already spinning close to its maximum speed it will not have a way to accelerate in that one direction So routing the cable with minimum disturbance is one way to minimize this problem You also though may have to tune slightly the K3 state feedback gain multiplied by the flywheel velocity state Using theVB plugin along with the DSP BIOS II example you can easily update the K3 value while the balancing control is in operation Increasing the K3 gain slightly from the gain calculated by place or Igr in Matlab will help this problem Increasing K3 too much though will make your control unstable Also note that as with the Pendubot experiment low gain cont
25. H infinity fuzzy neural nets adaptive and nonlinear controllers Quanser control challenges and solutions are operational in over 500 institutions worldwide including universities research laboratories and commercial organizations Quanser offers a variety of control challenges that are appropriate for all levels of university education and research Our control experiments are distinctively modular which enable you to cost effectively employ the same power plant to perform experiments of varying complexity By coupling the appropriate module to the plant you achieve configurations ranging from simple position servo control to advanced MIMO systems such as the Seesaw Pendulum When all is said and done you receive a greater variety of experiments to explore and save money in the process See the Quanser Difference for more information on how we stack up in the marketplace All our control challenges can be managed via our complete line of control solution software and data acquisition hardware so you can create fully self contained control workstations Our solutions can be used to deploy an embedded system explore hardware in the loop applications as well as control a number of alternative hardware systems Our systems are fully compatible with MATLAB Simulink and Real Time Workshop and operate in a variety of computing environments including Windows 95 98 Me NT 2000 and RTLinux For more information on Quanser or a free video detailing our co
26. I DSP Seriall Data Transmit RS Tinl RS 232 Transmit Input DB FSXI DSP Seriall FSX DB CLKXI DSP Seriall CLKXI DB CLKRI DSP Seriall CLKRI No Connect 5V DSP Daughter Power DSP Daughter Digital Gnd Serial Interface Expansion Header J11 6 Secondary Parallel Port Interface General Purpose Digital I O J12 This connector is used for two purposes If you would like to use the Matlab Real Time Workshop interface that we have developed for the mechatronics kit then you would plug your parallel port cable into this connector instead of the DSK s parallel port connector and run your Simulink code using either WinCon or Windows Target See section on RTW Otherwise this connector can be used to access 8 digital inputs and 5 digital outputs connector J10 has the additional 3 digital outputs generated by the daughter card External interrupt 4 is also brought out to this connector if J13 is installed No Connect Parallel Port Data Pin 0 Parallel Port Data Pin 1 Parallel Port Data Pin 2 Parallel Port Data Pin 3 Parallel Port Data Pin 4 Parallel Port Data Pin 5 Parallel Port Data Pin 6 Parallel Port Data Pin 7 Parallel Port Status Pin 6 Parallel Port Status Pin 7 Parallel Port Status Pin 5 Parallel Port Status Pin 4 No Connect Parallel Port Status Pin 3 No Connect PC3 Parallel Port Control Pin 3 OMANIDNDNBRWN DINO DINI DIN2 DIN3 DIN4 DINS DIN6 DIN7 DOUT3 DOUTA4 DOUT2 DOUTI NC DOUTO NC EIN
27. Servo motors Contact us at QCI for more information Pin Signal Name Description Pin Signal Name Description DGND DSP Daughter Digital Gnd 2 DGND DSP Daughter Digital Gnd 5V DSP Daughter Power 4 5V DSP Daughter Power NC No Connect 6 NC No Connect NC No Connect 8 NC No Connect PWM3 PWM Output 3 10 PWM4 PWM Output 4 Connector for PWM Outputs 3 and 4 J5 See Schematics to add the appropriate ICs to the daughter card for the additional PWM Outputs 3 Granddaughter Card Expansion Connector J6 Use this connector to add additional expansion boards to your DSP system 51 Pin Signal Name Description Signal Name Description DGND DSP Daughter Digital Gnd 5V DSP Daughter Power 15V Daughter Card 15V 15V Daughter Card 15V BS Daughter Card Board Select DB EINT7 DSP External Interrupt 7 DB D0 DSP Data Line 0 DB AWE DSP Write Line DB DI DSP Data Line 1 DB D2 DSP Data Line 2 DB D3 DSP Data Line 3 DB D4 DSP Data Line 4 DB D5 DSP Data Line 5 DB D6 DSP Data Line 6 DB D7 DSP Data Line 7 DB D8 DSP Data Line 8 AGND Daughter Card Analog Gnd DGND DSP Daughter Digital Gnd DB D9 DSP Data Line 9 DB DIO DSP Data Line10 DB DII DSP Data Line 11 DB A2 DSP Address Line 2 DB A3 DSP Address Line 3 DB A12 DSP Address Line 12 DB ARE DSP Read Line DB A13 DSP Address Line 13 DB EINT6 DSP External Interrupt 6 AGND Daughter Card Analog Gnd 15V Daughter Card 15V 15V Daughter Card 15V 5V DSP Daughter Power DGND DSP Daughter Digital Gnd Parallel Interfa
28. T4 DGND DSP Daughter Digital Ground Pin Faroe Port Signal Name amp Description General Purpose Signal Name amp Description NC No Connect Digital Input Pin 0 Digital Input Pin 1 Digital Input Pin 2 Digital Input Pin 3 Digital Input Pin 4 Digital Input Pin 5 Digital Input Pin 6 Digital Input Pin 7 Digital Output Pin 3 Digital Output Pin 4 Digital Output Pin 2 Digital Output Pin 1 No Connect Digital Output Pin 0 No Connect DSP External Interrupt 4 Jumper J13 Must be installed Parallel Port General Purpose Digital I O Connector J12 50 Connectors not required for Mechatronics Kit 1 Optical encoder connector for encoder 3 and 4 J3 Install this connector after installing the second encoder interface chip LS7266R1 Pin Signal Name Description Pin Signal Name Description DGND DSP Daughter Digital Gnd 2 DGND DSP Daughter Digital Gnd NC No Connect 4 NC No Connect ENC3CHA Encoder 3 Channel A ENC4CHA Encoder 4 Channel A 5V DSP Daughter Power 8 5V DSP Daughter Power ENC3CHB Encoder 3 Channel B 10 ENC4CHB Encoder 4 Channel B Connector for Optical Encoder Inputs 3 and 4 J3 See Schematics to add the appropriate ICs to the daughter card for the additional Encoder Inputs 2 PWM connector for PWM outputs 3 and 4 J5 Install this connect after installing the second 82C54 timer chip With the use of DSP Timer and jumper J7 to connect Timer 1 to the second 82C54 chip the 82C54 can be programmed to control RC
29. The remaining mdl file pend sfunc exmpl mdl demonstrates how to use Simulink S functions to simulate both the non linear equations of motion and control algorithm The file howto mak describes how to compile the S functions 7 Real Time Workshop The Mechatronics Kit comes equipped to support the Real Time Workshop toolbox using both the WinCon from Quanser www guanser com and the Windows Target Toolbox from Mathworks 23 www mathworks com The way Real Time Workshop is supported is by turning the DSP system into a simple data acquisition board or as we also call it a dummy data acquisition board What we mean by this is the DSP is not doing any control calculations Its only purpose is to monitor commands from the host PC and receive or send data to the PC That means that all the control calculations are done on the host PC So what we are supplying you with in this mode is a data acquisition card that plugs into your PC s parallel port To activate this mode on the DSP system you will need to have the bootcode program flashed on the DSKs flash chip Power off the DSK and connect the secondary parallel port connector on the C6XDIGIO daughter card into the PC s parallel port Then switch all the USER SWITCHES to the DOWN position and power on the DSK On reset the LCD screen should print a message indicating that the system is in dummy data acquisition mode Now in this mode you are ready to run your RTW controller files Four e
30. arkham ON L3R 2R6 Canada Tel 1 905 940 3575 Fax 1 905 940 3576 E mail info quanser com FOR TECHNICAL SUPPORT World Wide Web http www quanser com english html support fs_support html E mail support quanser com 2 What Can You Do With the Mechatronics Control Kit The Mechatronics Control Kit possesses many attractive features for control research and education Using this kit one can investigate system identification linear control nonlinear control optimal control learning control robust and adaptive control fuzzy logic control intelligent control hybrid and switching control gain scheduling and other control paradigms One can program the plants supplied with the kit for position and speed control friction compensation swing up control balancing regulation and tracking identification gain scheduling and disturbance rejection to name just a few of the applications Below is a description of several interesting problems that you can use to develop control projects and to design and implementing your own algorithms e Identification The first step in any control system design is to develop a mathematical model of the system to be controlled The Mechatronics Control Kit comes with parts to assemble four distinct plants A DC motor with load inertia a Reaction Wheel Pendulum a Pendubot and a Furuta Pendulum The dynamic equations for these plants are given in terms of certain parameters such as the link masse
31. ce Expansion Header J6 4 Jumper J7 Used in conjunction with the second 82C54 chip which is also not installed See schematics for more details 5 DAC output connector J9 The Burr Brown Now TI DAC2815AP chip can be added to the C6XDIGIO daughter card to add two channels of 10V DAC output to the DSP system Add this connector after installing the DAC2815AP chip Pin Signal Name Description AGND Daughter Card Analog Ground DACOUTI Digital to Analog Output 1 AGND Daughter Card Analog Ground DACOUT2 Digital to Analog Output 2 AGND Daughter Card Analog Ground DAC Output Connector J9 See Schematics to add the appropriate ICs to the daughter card for the DAC portion 6 Digital I O header J10 This connector brings out the 2 digital inputs and 2 digital outputs supplied by the C6711DSK DB CNTLO 1 and DB STATO 1 It also brings out External Interrupt 5 and the three additional digital outputs not used by the secondary parallel port interface J12 52 Pin Signal Name Description Pin Signal Name Description DGND DSP Daughter Digital Gnd 2 DB EINTS DSP External Interrupt 5 DB CNTLO DSP Extra Digital Out0 4 DB TINPI DSP Timerl Input Pin DB CNTLI DSP Extra Digital Outl 6 DIGOUTS Daughter Digital Output 5 DB STATO DSP Extra Digital InO 8 DIGOUT6 Daughter Digital Output 6 DB STATI DSP Extra Digital Inl 10 DIGOUT7 Daughter Digital Output 7 Digital I O Expansion Header J10 7 Jumper J13 Install to connect Pin 17 of
32. d around the motor and its leads screwed into the terminal block of the PWM AMP board The encoder should be attached to link 1 of the Pendubot and the link 2 coupler should be tightened on the shaft of the encoder Do not attach Link 2 until after the cable has been routed 1 First connect the US Digital encoder cable to the connector on the US Digital encoder Match Pin 1 of the 5 pin female connector with the Pint 1 on the encoder housing Note The bent angle of the encoder connector pins is correct They are angle toward the link in order to keep the connector a little more out of the way when the cable wraps up with multiple revolutions of link 1 2 With the ribbon cable laying flat on link 1 use a piece of Scotch tape to tape the cable to the link just above the connection See Figure Figure 5 15 Taping the Encoder Cable to Pendubot Link 1 3 Now slide the link1 coupler over the motor shaft and tighten in proper position 4 Using the figures below as a guide create a 3 inch loop to the left when facing the linkage of link 1 and tape the cable to the back side of the motor mount There should be no twists in the cable and you may have to shape the cable slightly after it has been taped to the motor mount You may have to try the routing a couple of times to get it the way you want it Rotate link 1 up 180 degrees and watch that the cable does not touch any obstacles along the way 38 Figure 5 16 Pendubot Cable Routing F
33. dulum 10 Finally screw inch threaded end of link 2 into the link 2 coupler piece The 5 inch threaded end of link 2 should have four 8 32 nuts on it p Figure 5 14 Completed Furuta Pendulum Setup 36 5 Routing the Cables The Mechatronics Kit includes the following cables 1 US Digital Encoder Cable Four wire ribbon cable approximately 22 inches long One end to mate at the Quanser interface board and the other end to mate at the US Digital Encoder connector 2 Motor and cable attached to the motor RED M BLACK M 3 Motor Encoder cable attached to the motor Free end is to mate at the Quanser interface board Notice the labels that have been placed on the encoder connectors Pin 1 is marked as ground Pin 1 of the encoder headers on the Quanser interface board are denoted by a notch in the silk screened box surrounding the header So when connecting the cables for the different experiments make sure to match Pin 1 Note that the US Digital encoder is also labeled with Pin 1 as ground The two 2 5mm power cables are also marked with colored tape BLUE is the SVDC supply connector to be connected to the C6711DSK ORANGE is the 24VDC supply to be connected to the Quanser interface board DO NOT plug the 24VDC supply into the C6711DSK ALWAYS first connect the power connectors to the boards and turn on AC power to the DC supply Plugging the DC supplies into a dedicated power strip is recommended This way you have an
34. e cable wires Screw the M red and M black leads into the screw terminal of the PWM AMP board Now assemble the linkage Use a 2 inch socket to mount the US Digital encoder to the flat side of link 1 using the nut and washer supplied with the encoder Orientate the encoder so that the connector points up towards the link coupler Rotate and center the encoder by eye and then tighten the nut with the 2 inch socket NOT too tight but tight enough so that the encoder housing cannot rotate easily against link 1 Assemble the coupler for link 2 on the encoder shaft Slide the coupler on the shaft so that the end of shaft is flush with the surface of the coupler Now JUST holding the coupler try not to hold onto the encoder use a 7 64 Allen wrench to tighten the coupler s socket head cap screw The coupler should not be able to slide on the shaft when tightened Ne SSS Figure 5 6 Pendubot Link Encoder Assembly Plug the US digital encoder cable into the encoder connector Make sure to match up pin 1 to ground Tape the cable flat to link 1 just above the connector See the cable routing section for more detail Slide the link 1 coupler onto the motor shaft Slide the coupler just far enough so that the motor shaft barely protrudes out the back of the coupler The link should sit pretty far out on the shaft so that the swinging cable has room to wrap a time or two 33 9 Route and tape the US Digital encoder cable as ins
35. e inverted position a To design a linear full state feedback controller for the Furuta at the inverted equilibrium point 0 0 0 0 we have supplied a Matlab M file to perform the parameter identification and the linearization of the non linear equations about the up and down equilibrium points 1 First run the script file id furuta This produces a par parameter vector 2 It also outputs the linearized A and B matrices for both the inverted up equilibrium point and the hanging down down equilibrium 3 Now with this linear model you can design a linear controller to stabilize the system As an example find a full state feedback controller using the place i e K place Aup Bup 8 9 10 11 You will find that the encoder cable for link 2 and the friction of the motor can cause a large limit cycle for different control designs We have supplied a friction compensation algorithm to get ride of some of this limit cycle You may want to adjust these friction gains to achieve the best performance Our swing up controller for the Furuta pendulum implements an energy based swing up control found in the paper Energy Based Control of Pendulum by IWASHIRO FURUTA and Astrom We have supplied this paper in the directory docs papers furuta There are three gain values that you can tune to get the second link to swing to the inverted equilibrium point slowly enough so that the balancing controller can catch and stabilize the sy
36. eady attached to the encoder mount You will need to attach the encoder mount and encoder to the base plate using the two 6 32 screws supplied These screws are located in mounting holes at the front end of the base plate Remove them and use them to attach the encoder mount to the base plate Now slide the reaction wheel link coupler over the encoder shaft Slide it almost to the gap in the encoder shaft but leave a little space so that the coupler is not rubbing on the stationary portion of the encoder DO NOT force the coupler on the encoder shaft Take your time lining up the hole so that it slides easily on the shaft See the reaction wheel assembly instructions if you have trouble sliding the link on Tighten the link coupler socket head cap screw with a 5 64 inch Allen wrench Now use the cable routing section for the reaction wheel to guide you through the routing of the motor and encoder cable Again using the cable routing section as a guide plug the motor encoder cable into ENC2 on the Quanser interface board Plug the US Digital encoder cable into ENC1 on the Quanser interface board Note that Pin 1 is ground on the encoder connectors Screw the M red and M black leads into the PWM Amplifier screw terminals Make sure that the power to both power supplies is off and plug the two power COAX cables into both the C6711DSK and the Quanser interface board The 5VDC power supply is the larger of the two power supplies The 5VDC power
37. ells for only 3 5 each which makes an easy replacement if the chip becomes damaged over the life of your mechatronics kit There is nothing complicated about the PWM amplifier board In fact the board design is quite similar to the example circuit that Allegro MicroSystems gives as an example circuit in the A3952SB data sheet We again have supplied the full schematics for this board docs schematics board_schematics pdf so you can figure out all the details of the board there The A3952SB ENABLE line is controlled by toggle switch on the board The ENABLE is latched on when there is a transition from OFF to ON If the PWM Amp board is powered on with the switch in the ON position the A3952SB will not power on enabled In that case the user will have to toggle the switch first to OFF and then back to the ON position This prevents the motor from being driven before the DSP system has completed its power on reset 53 E Tu RTT YN IP IP SA dWVCWMd I EE Em Figure 5 26 PWM Amplifier Card The PWM signal from the DSP enters the A3952SB chip through the PHASE pin If the PHASE pin is held LO the motor spins in one direction if the PHASE pin is held HI the motor spins in the opposite direction So to applied a 0 input to the motor we apply a 50 duty cycle square wave to the PHASE pin The carrier frequency of the PWM signal is 20 KHz See the source file c6xdskdigio c for more details on the output signal Then changing or modulatin
38. en feel free to adjust the three gain values and observe how the control reacts However if your main goal is to just get the Pendubot to swing up to the equilibrium value then we recommend that you fix the Kp and Kd gain values and only adjust the open loop amplitude gain This open loop amplitude gain causes the linkage to pump backwards adding enough energy to the system so that link 2 can be swung up over link 1 Note You can of course find other gain values to work to swing up the Pendubot but the following gains are values that we have found to work well Fix Kp at 350 0 Kd at 24 3 Start with a backopenloop value of around 5 5 Run the swing up control and see if the controller is able to catch the linkage at the TOP position Note ALWAYS remember to let the links go to rest before starting your next run When the controller starts it reinitializes the optical encoder count so to work correctly the link needs to be at rest If the swing up control did not add enough energy to link 2 i e the link did not make it up to the equilibrium point then increase backopenloop by about 0 1 or so and try the run again Continue this until you find the backopenloop gain that brings link 2 to the equilibrium If the swing up control adds too much energy to link2 and link2 swings quickly through the equilibrium reduce the value of backopenloop by about 0 1 and try the run again When you are getting close to the link being able to be caught you will want to
39. er 3 Using Figures 5 16 and 5 17 as a guide create a 3 inch loop to the right when facing the linkage of the link and bring them behind the link and tape the cables to the front side of the encoder mount There should be no twists in the cables and you may have to shape the cables slightly after they have been taped to the encoder mount You may have to try the routing a couple of times to get it the way you want it Rotate the link up 180 and 180 degrees and watch that the cables do not touch any 41 obstacles along the way Note The link will hit the loop portion of the cable when you rotate the link positive Counter Clock Wise Figure 5 20 Reaction Wheel Cable Routing 4 With the ribbon cables routed now connect the end of the motor encoder cable to ENC2 on the Quanser interface board Match Pin 1 of the connector to Pin 1 on the board 5 Also screw the M red and M black leads into the terminal of the PWM Amp Board 6 Connect the US digital encoder cable to ENCI on the Quanser interface board Again match Pin 1 on the connector to Pin 1 on the board Also make sure that this cable is also plugged into the US Digital encoder match Pin 1 on the connector to Pin 1 on the encoder and that the excess of this cable is not in the path of the link s motion 42 Routing the cables for the Furuta Pendulum Experiment You will want to read this section along with the section that discusses assembling the Furuta Pendulum e
40. eset CPU 2 If you lose communication with the DSK you will need to EXIT CCS and before re launching CCS you will probably need to power ON and OFF the DSK system 3 Note that when CCS is loaded the hardware RESET button on the DSK board is disabled Pressing the RESET button still does perform some reset functions but does NOT cause the DSK to boot from its flash memory You should not use the hardware RESET button when CCS is connected to the DSK 4 Note also that when you exit CCS the hardware reset button is still deactivated You will need to power ON and OFF the DSK to re enable the RESET button 5 TI has also supplied a file dsk6x11hpi dll that allows you to create your own HOST C program i e compiled with Microsoft Visual C to communicate with the DSK There is a different communication driver for the CCS software In order for this DLL to communicate with the DSK the DSK needs to be in the power on reset state So if you have just been using CCS to communicate with the DSK you will need to power ON and OFF the DSK before the DLL will be able to communicate with the DSK For example the flash exe program that is used to re program the flash on the DSK uses this DLL So if you were previously working in CCS to compile the files to be flashed to the DSK you will need to power ON and OFF the DSK before running the flash program After installing CCS your PC should have a directory structure similar to the following BIN Mi
41. f use With this example you use CCS to download the example balrtdx out file to the 6711DSK board Then you use the Visual Basic plug in to start the different controllers and to download gain settings The plug in also adds a mechanism for saving response data in a Matlab M file format This is the perfect environment for testing and tuning different control algorithms With this example five different controllers can be selected and run from the VB plug in 1 Swing Pendubot experiment to the MID position and balance it there 2 Swing Pendubot experiment to the TOP position and balance it there 3 Swing Reaction Wheel experiment to the inverted position and balance it there 4 Swing the Furuta Pendulum to the inverted balancing position and balance it there 5 PIspeed controller for the DC Motor with attached fly wheel These example files are found in the dspbiosii rtdxproj directory MathWorks Real Time Workshop examples Along with DSP C source code examples we have also supplied Real Time Workshop examples that run with either WinCon from Quanser or Windows Target from MathWorks To run the examples using Wincon you will need the software Matlab 6 Simulink Real Time Workshop toolbox Microsoft Visual C 6 0 and Wincon 3 To run the examples using Windows Target you will need the software Matlab 6 0 Simulink Real Time Workshop toolbox Microsoft Visual C 6 0 and Windows Target 2 0 The following controller files are sup
42. file for information on operating the power on code 3 Now launch CCS The LEDs on the DSK should stop blinking when CCS has finished loading 4 Run the GEL file QuickTest Menu GEL gt Check DSK gt QuickTest and verify the Target OK message 5 Open the project file dspbiosII rtdxproj dsp balrtdx mak 6 Software Reset the DSP by running the menu item Debug gt Reset DSP Note Resetting the DSP takes about 5 seconds to complete When running Reset DSP you should wait for the reset to complete before running any other commands So after running the Reset DSP command watch the LEDS on DSK board When they finish cycling the DSP has finished the Reset function 7 Load the out file dspbiosII dsp balrtdx balrtdx out The download takes approximately 10 seconds to download the code 8 Now Run the DSP program Menu Debug gt Run All three LEDs should start blinking on and off and the LCD Screen should print a message indicating that the DSP is waiting for a command from the VB plugin 9 Now Launch the VB application plug in dspbiosII rtdxproj vb rtdxproj vbp A GUI interface similar to Figure 4 2 should appear 21 w RTDX Demo Download Gains K2 13 1133 K3 152 2921 K4 19 8846 Kp 150 Kd 21 w 555 ampl 1 75 0 0 offset unused 3 141592E 02 6 291039 MID Encoder 1 Encoder 2 Setup Pendubot Pendubot Quit e i ave Data To File i i ele Setup PI 31 Speed Setup Reaction ua Wheel Eris
43. g the duty cycle of the PHASE input causes the motor to be driven in different directions with different current This can also be called a torque mode amplifier As stated in the A3952SB data sheet in this mode of operation where the PHASE pin is driven with a PWM signal the A3952SB is the most linear in current output In our experiments with the chip we have also found this to be true for current outputs below 1 4 Amps approximately Above 1 4 Amps the PWM input to current output graph starts to decrease in slope The maximum current output with the 24 Volt power supply the A3952SB and the Pittman 8222D116 motor is somewhere around 1 8 Amps This is because the A3952SB is not able to output the full supply voltage to the motor In our quick tests we have found the A3952SB to output a maximum of 21 to 21 5 Volts when powered with the kit s 24 Volt DC power supply The PWM Amplifier board has only two connections The DC motor is plugged into the board through two screw terminals Screw the red lead of the motor into the M terminal and the black lead into the M terminal To connect to the DSP system a 5 pin header connector is used A red dot on the connector indicates pin to the user Below is a pin out of this connector Pin Signal Name Description DGND Digital Ground Supplied by C6XDIGIO Card 5V 5V Power Supplied by C6XDIGIO Card NC No Connect NC No Connect PWM_IN PWM Input from C6XDIGIO Card PWM Amplifier Board s 5 Pin C
44. he TI CCS Before installing the software on the Code Composer Studio CD ROM according to the Quick Start Guide instructions verify that the parallel port on your PC is configured in either EPP mode or ECP EPP mode in the BIOS Setup program on your PC Follow the instructions on both Quick Start Guides for connecting the PC to the DSK and installing the CCS software Note that there are two parallel port interfaces on the Mechatronics Control Kit To install Code Composer Studio use the parallel port connection on the lower board which is the 6711DSK After installing CCS and rebooting the PC check to make sure that CCS is configured to use the EPP mode of the parallel port To check this launch the command line utility called Test C6x11 DSK Ports This utility is installed with CCS 2 0 and is found in the Start Up menu under C 6x11 DSK Utilities You want to verify that an EPP port reports PASS in the test If an EPP port does not pass you should change the setting in your PC s BIOS to enable the EPP mode only On some PCs the DSK does not work in the ECP and EPP mode CCS will work in the SPP mode but it will communicate much slower with the DSP 2 Installing the Mechatronics Kit Software The Mechatronics Kit software is supplied on a single CD Locate the CD labeled Quanser Mechatronics Kit Software and insert it in your CD drive Directories and files may be copied from the CD as needed or all at once to a directory on
45. igure 5 17 Pendubot Cable Routing 39 Figure 5 18 Pendubot Cable Routing With the ribbon cable routed now connect the cable to ENC2 on the Quanser interface board Match Pinl of the connector to Pin 1 on the board Connect the motor encoder cable to ENCI on the Quanser interface board Again match Pinl of the connector to Pin 1 on the board Make sure that the excess of this cable is not in the path of link 1 40 Routing the cables for the Reaction Wheel Experiment You will want to read this section along with the section that discusses assembling the reaction wheel experiment Before routing the motor power and encoder cables you should first have most of the reaction wheel experiment built The US Digital encoder should be mounted to the encoder mount Wait to plug in its cable until after you have the motor encoder cable connected The motor and flywheel should be assembled as discussed in the assembly instructions 1 Lay both ribbon cables from the motor flat along the inside of the link Use a piece of Scotch tape to tape the cables side by side about an inch below the link coupler See Figure 5 16 Make sure there are no twists in the cables Figure 5 19 Reaction Wheel Cable Routing 2 Now slide the link coupler over the encoder shaft position in the correct location and tighten As stated in the assembly instructions be very gentle when performing this assembly Forcing the link on could damage the US Digital encod
46. ineering design e Injunior level courses in frequency domain and state space control system analysis and design e In senior level courses in digital control mechatronics and real time programming and e In graduate level courses in linear and nonlinear control intelligent control and robotics The Mechatronics Control Kit is also sophisticated enough to be used as a research tool to investigate Geometric nonlinear control Robust and adaptive control and identification Intelligent control including neural networks fuzzy logic and genetic algorithms Hybrid and switching control Modeling identification and control of friction Analysis and control of chaotic dynamics Before attempting to install and operate the system it is important that you familiarize yourself with all hardware and software supplied Read all sections of this manual completely In addition you should read the manuals included from the third party vendors The QCI Getting Started CD also includes readme files in the various folders that explain the contents of each directory Please refer to those files when attempting the example code in those directories 1 About Quanser Consulting Inc Q is the world leader in the design and manufacture of advanced systems for real time control design and implementation used in education and research Our control challenges and solutions are ideal for implementing and evaluating feedback strategies such as PID LQG
47. inkage to an equilibrium position and when if the linkage arrives at the equilibrium position switch to a linear balancing controller to stabilize the linkage at that unstable equilibrium The following sections will describe how to design an example linear controller for the experiment and discuss tuning the given non linear controller to swing the linkage to the equilibrium Also note in your controller designs that the sample rate of the given example controllers is run at 200 Hz 5ms period You can design your controllers assuming that the system is continuous but to be a bit more precise you will want to perform your designs in the discrete domain Pendubot controllers 1 Swinging the Pendubot to the Mid position a To design a linear full state feedback controller for the Pendubot at the Mid equilibrium point pi 2 0 pi 0 we have supplied two Matlab M files to perform the parameter identification and the linearization of the non linear equations about the equilibrium point i First run the script file id pendubot This produces a Theta parameter vector ii Then run the linpendu function as follows A B ur linpendu Theta pi 2 pi This will produce the linearized A and B matrices 24 iii Now with this linear model you can design a linear controller to stabilize the system As an example find a full state feedback controller using the place i e K place A B 13 6 7 21 13 6 7 2i 8 75 1 451 8
48. le the linkage Use a 2 inch socket to mount the S1 US Digital encoder to the flat side of link 1 using the nut and washer supplied with the encoder Orientate the encoder so that the connector points up towards the link coupler Rotate and center the encoder by eye and then tighten the nut with the 2 inch socket NOT too tight but tight enough so that the encoder housing cannot rotate easily against link 1 Assemble the coupler for link 2 on the encoder shaft Slide the coupler on the shaft so that the end of shaft is flush with the surface of the coupler Now JUST holding the coupler try not to hold onto the encoder use a 7 64 Allen wrench to tighten the coupler s socket head cap screw The coupler should not be able to slide on the shaft when tightened Figure 5 12 Furuta Link Encoder Assembly Plug the US digital encoder cable into the encoder connector Make sure to match up pin 1 to ground See the cable routing section for more detail Slide the link 1 coupler onto the motor shaft Slide the coupler so that about an eighth inch of the motor shaft protrudes out from the coupler 39 9 Route and tape the US Digital encoder cable as instructed in the cable routing section Plug the US Digital encoder cable into ENC2 on the Quanser interface board and the motor encoder cable into ENC 1 of the Quanser interface hm r Tp oat elite aima C78 AVI z06 iu Figure 5 13 Encoder and PWM Amp Connections for the Furuta Pen
49. m CCS if preferred DSK6XLDR HOST source file for the DSK6XLDR EXE program that can download and run a out file outside of CCS Your out file should not use RTDX data transfer if you would like to download the file in this fashion POST TARGET source files for the Power on Self Test program supplied by TI Source files for both the flash exe HOST program and the flash prog out TARGET program needed to re flash the DSK s flash chip IMILIB Image processing function library supplied by TI RTDX Include and Library files for RTDX functionality on the TARGET XDAIS eXpressDSP Algorithm Standard examples CC CCS executable and GEL files DOCS All documentation for CCS 2 0 DRIVERS Drivers needed for communicating over the parallel to the DSK in CCS MYPROJECTS Default directory for projects in CCS PLUGINS All DSP BIOS II plugins TUTORIAL All project and source files for the CCS Tutorials Use the code in the DSK6711 directory UNINSTALL CCS uninstall information files Therefore as you can see there is quite a bit of software and examples that TI has supplied with this DSK TI has supplied two different methods to communicate with the DSP One is through CCS using the CCS parallel port drivers The second method is through the DLL file dsk6x11hpi dll This DLL allows you to communicate with the DSP with your own HOST program CCS with RTDX also 14 allo
50. mplete line of control challenges and solutions please contact us directly at info quanser com Quanser was launched in 1990 by Dr Jacob Apkarian for the purpose of enhancing and advancing control theory education While teaching at a Canadian University Jacob discovered that control theory was often a difficult concept for engineering students to grasp and many courses lacked the tools and means to translate control into tangible concepts In light of this gap Jacob set to work and began to envisage a highly engaging environment that enabled engineering students to explore a range of control concepts as well as develop implement and test ideas of their own Since that time Quanser has evolved considerably and employs a diverse team of professional engineers and support staff who have been charged with the mandate to continually create build and deliver a dynamic range of control theory challenges and solutions to the educational and industrial marketplaces Today Quanser is recognized as the world leader in the development and manufacture of real time control design and implementation used in education and research Although our systems are utilized in a range of organizations and applications they continue to enrich the learning experience and enable researches to realize greater and more exciting advancements in the field of control theory 1 How to Contact Quanser FOR SALES AND SERVICE Quanser Consulting Inc 3 80 Esna Park Dr M
51. o adjust the upload rate 5 Matlab M files We have supplied you with five M files to generate the linear and non linear models for the Pendubot Furuta and reaction wheel experiments Run the id furuta m id pendubot m and id reaction wheel m files to calculate the parameter values of the respective experiments These values are found by using mass and length measurements of the different parts There are comments in the files that state how each measurement was arrived at Then use the linpendu m and linIwhl m files to find the linear models for the Pendubot and reaction wheel experiments at the enter equilibrium value Type help linpendu or help linIwhl at the Matlab prompt for information on using these functions See the dynamic modeling and control sections for more information on the models of these plants and the definition of the parameter values spoke of here 6 Simulink Simulation files We have supplied you with a number of Simulink simulation files There are also animation M files that are used to animate a single and double pendulum systems The files swfurutasim mdl swIwhlsim mdl swpendmidsim mdl swpendmidsimobs mdl swpendtopsim mdl and swpendtopsimobs mdl all use standard Simulink blocks to simulate the non linear equations of motion of the linkages and the controller algorithm The mdl files with obs in their name implement a linear observer to estimate the velocities of the links when in the balancing position
52. o your daughter Below we have listed the capabilities of the daughter card and list as upgradeable the capabilities not 47 populated on the daughter card Presently we do not perform the upgrades here at QCI but will give you the part numbers and suggested distributors for purchasing the need parts Please contact us for this information The C6XDIGIO daughter card adds the following I O to the C6711 DSK see the source file c6xdskdigio c for details on the supplied functions used to communicate with the daughter card 1 2 3 8 9 Two Channels of Quadrature Encoder Input LS7266R1 chip upgradeable to 4 Channels Brought in at connector J2 Two PWM Output channels CTS82C54 chip upgradeable to 4 Channels Brought out at connector J4 When the DSK system is not being used in the dummy data acquisition mode the Matlab RTW interface there are 8 digital input pins and 8 digital output pins brought to the J10 and J12 connectors Can be upgraded to add 2 channels of 10V 12bit DAC output A MAX232 chip for converting TTL serial in out voltages 0 to SV to RS 232 standard in out voltages 12 to 12V See schematics and J11 pin out for more details A 32 Pin expansion header to allow for additional expansion granddaughter cards to add other feature to the DSP system For example a 4 channel 12bit 10V ADC granddaughter card has been fabricated for expansion header to add 4 ADC channels to the DSP system Anothe
53. ol Kit is developed for instruction and research in real time control and identification The Mechatronics Control Kit comes with four ready to assemble plants a DC motor a Pendubot a Reaction Wheel Pendulum and a Furuta Pendulum The digital electronics are fully integrated and include a Texas Instruments DSP development system the TMS320C6711 DSK Board a DSP board with parallel port interface a PWM Optical Encoder data Acquisition Daughter Board a PWM amplifier 5 Volt and 24 Volt DC power supplies and all required cables Additional hardware includes a 24 Volt DC motor with 1000 counts rev optical encoder A second 1000 counts rev optical encoder and aluminum links and mounts to construct the above experiments An interface board for running other Quanser experiments is also included The software supplied with the Mechatronics Control Kit includes the Texas Instruments Code Composer Studio supplied with the DSK Board the TI C6x Optimizing C compiler the Code Composer Development Debug IDE integrated development environment as well as DSP BIOS RTDX realtime debugging plotting capabilities Example source files of different controllers for the plants and Visual Basic Interface software examples are also included as is all source code The Mechatronics Control Kit can be used at all levels of instruction e In freshman level courses as a demonstration tool to motivate important concepts in dynamics and control and the systems approach to eng
54. oller is and is not running You can play around with changing gains on the fly to see how the experiment responds The offst gain is a good gain to play with on the Pendubot experiment Adjusting this gain causes the Pendubot to move to a new balancing point In this way you can compensate for offset torques created by the link cables or just move the Pendubot to another equilibrium 15 After running a swing up routine you can save stored data values to a file You have to be in the Halt state for this button to become active Simply click this button and it will ask you for a file to save the data in When the data upload is complete the other buttons will become active again This data had been stored on the DSP during the swing up run See the source code for modifying the data to be saved and uploaded 16 To quit the application first make sure you are in the Halt state Then click on Quit and the VB plug in should quit Then go back to CCS and Halt the DSP program Debug gt Halt RTDX transfer rates will vary depending on the speed of the PC you are running CCS on The DSP program is presently programmed to send data to the RTDX upload channel data see balboth c at a rate of 10Hz On slower PCs this may be too fast and the data displayed on the VB program will lag the actual data In this case you may need to adjust the upload rate The comments in both the VB project file and the source file balboth c explain how t
55. onnector 54 8 Quanser Standard Interface Board An additional board is provided on the Mechatronics Kit for interfacing to Quanser power modules and experiments The two RCA jacks provide 5V analog outputs from the Mechatronics PWM outputs The two 5 pin DIN sockets facilitate dual channel encoder inputs The headers that interface with the C6XDIGIO daughter card are connected by standard 10 conductor ribbon cables DigiKey M3AAA 1006J ND As a consequence of this added feature encoder connections for the Mechatronics Kit experiment are made to the Quanser interface board instead of directly to the C6XDIGIO daughter card Mechatronic Kit Encoder and PWM signals are always passed through this board Encoders for the Mechatronics Kit must be disconnected before connecting encoders from Quanser experiments to the 5 pin DIN sockets on the interface board 5 Figure 5 27 Ouanser Interface Board The connections to the encoder headers on the Quanser interface board are the same as on the C6XDIGIO daughter board and are detailed below ENCI ENC2 Pin Signal Name Description Pin Signal Name Description DGND DSP Daughter Digital Gnd DGND DSP Daughter Digital Gnd NC No Connect NC No Connect ENCICHA Encoder 1 Channel A ENC2CHA Encoder 2 Channel A 5V DSP Daughter Power 5V DSP Daughter Power ENCICHB Encoder 1 Channel B ENC2CHB Encoder 2 Channel B Connections for Optical Encoder Inputs 1 and 2 55 The PWM connections to the Quanse
56. orials supplied by TI with this development kit Also use TI s web page www ti com as a resource for application notes and updated documentation Quanser Consulting Inc C6XDIGIO daughter card for the C6711 DSK This is a board that we fabricate in house for the Mechatronics Kit This board adds optical encoder feedback and PWM output capabilities to the C6711 DSK system It also implements a second parallel port interface used to communicate with Matlab s Real Time Workshop software See the RTW section for more details We have supplied you with the full schematics of this board docs schematics board schematics pdf so the details of how the board operates can be found there along with programming details found in the source file include c6xdskdigio c In this section we will give a brief overview of the board and a description and pin locations of each connector e LEJ i a a t r T f T i r i a a r oo Se errrrer Pond 4 iss I Sean Figure 5 25 C6xDSK DigIO Daughter Card As you can see in Figure 5 19 the C6XDIGIO daughter card has not been fully populated The board has more functionality than the mechatronics kit requires You may find in the future that you would like to use this DSP for other purposes then just the mechatronics kit experiments In that case you will want to study the supplied schematics and add the needed components to add additional capabilities t
57. pered to Pin 10 of this connector Pin 10 is jumpered to Pin 9 of this connector Part List 4 pin LCD Power Connector DigiKey part number WM2002 ND Crimp pins for LCD Power Connector DigiKey part number WM2200 ND 9 pin Dsub DigiKey part number 209M ND 16 pin Housing DigiKey part number WM2525 ND Crimp pins for 16 pin Housing DigiKey part number WM2557 ND Crimp tool for all pins DigiKey part number WM9999 ND 45 7 C6711 DSK board C6xDigIO Daughter Card and PWM Amplifier Board The Mech Kit includes three different printed circuit boards The Texas Instruments TMS320C6711DSP Starter Kit the C6XDSK DIGIO daughter card and the PWM amplifier board This section gives a brief overview of these boards and where to find other resources to better understand how each of these boards work 1 Texas Instruments TMS320C6711 DSP Starter Kit Board C6711 DSK We purchase this board from Texas Instruments and supply it with the kit You can read about all the details of this board in its help files that comes with the Code Composer Studio software Under the Help menu in CCS select General Help When the help window opens find that section titled TMS320C6711 DSK In brief this board includes the following 150MHz TMS320C6711 floating point processor 16 Mbytes of SDRAM 128 Kbytes of flash 14 bit Audio Codec JTAG parallel port interface to Host PC Expansion connectors for add on daughter cards moae oe Figure5 24 6
58. plied 1 swpendmid mdl Swing the Pendubot from its hanging down position to the MID equilibrium point and balance it there 2 swpendtop mdl Swing the Pendubot from its hanging down position to the TOP equilibrium point and balance it there 3 swpendtopobs mdl Swing the Pendubot from its hanging down position to the TOP equilibrium point and balance it there The balancing controller implements a linear observer to estimate the link velocities 4 swlIwhlE mdl Swing the Reaction Wheel from its hanging down position to the inverted position and balance it there 5 swlIwhlEobs mdl Swing the Reaction Wheel from its hanging down position to the inverted position and balance it there using a full order observer to estimate the velocities of the links 6 swfurutaEnergy mdl Swing the Furuta pendulum from its hanging down position to it iverted position and balance it there Swing up uses an energy based algorithm 7 swfuruta mdl Swing the Furuta pendulum from its hanging down position to its inverted position and balance it there Swing up uses a simple PD controller 3 Parts List 1 24Volt DC Motor with 1000 Cnt Rev Optical Encoder from Pittman Inc Special order part number 8222D116 See Pittman website for specifications at www pittmannet com pdf lcm bulletin pdf 2 1000 Cnt Rev Optical Encoder from US Digital Inc Part number S1 1000 B See U S Digital website for specifications at www usdigital com products s1s2 3 C6711DSK from Texas
59. position say by a wrapped up cable or some other obstacle If the motor stalls with maximum torque being applied the motor could get very hot and become damaged Always take care to power off you system when it is unattended so that an issue like this can be avoided Also very high gain controllers can cause the motor to heat up When attempting new control algorithms monitor the motor s temperature from time to time and power off if the motor gets hot Perform tuning either by using the VB plugin supplied with the DSP BIOS II code example or by using CCS watch windows with the use of the bootcode example source files See the readme txt files in those respective directories for instructions 2 Swinging the Pendubot to the Top position a To design a linear full state feedback controller for the Pendubot at the Top equilibrium point pi 2 0 0 0 we have supplied two Matlab M files to perform the parameter identification and the linearization of the non linear equations about the equilibrium point 25 i First run the script file id pendubot This produces a Theta parameter vector ii Then run the linpendu function as follows A B ur linpendu Theta pi 2 0 This will produce the linearized A and B matrices ii Now with this linear model you can design a linear controller to stabilize the system As an example find a full state feedback controller using the Igdr function i e K Iqrd A B Q 100 005 where Q
60. propriate control algorithm from within a Visual Basic plug in called RTDXPROJ This means that in order to run this example code you will need Visual Basic Version 6 0 installed on your PC Actually it is not required but we highly recommended that you purchase VB V6 0 The VB programming language is very easy to learn and can be used to build very impressive and powerful graphical user interface programs Students pick up the VB programming language very quickly If you choose not to install Visual Basic V6 0 on your PC you can use the setup exe file located in the DISPBIOSINRTDXPROJ VB SETUP directory on the Mechatronics Control Kit CD to install the needed dll and ocx files to run the plug in The main documentation for this example is found in the source files for both the DSP TARGET program along with the Visual Basic plug in source files Please read the source files for all the details that this section does not cover Steps for Running the RTDX DSP BIOS II example 1 Make sure the DSK s parallel port connector NOT the daughter card s connector is connected to the PC parallel port 2 Power On the DSK system and Press the Hardware Reset button The power on code should be running and a message should have been printed to the LCD screen If you have just finished building one of the experiments you may want to use the power on code to test that the experiment has been built properly See the bootcode section above and the bootcode c source
61. r example would be to build a granddaughter card that would allow the DSP to communicate with an inexpensive micro controller programmed to do one specific task Serial port 1 expansion header giving you access to all the McBSPI pins This would allow you to add a serial interface granddaughter card to the DSP system Note the mechatronics kit presently uses this header to connect to the LCD screen If you choose to use this header for your own purposes you will have to design another way to communicate with the LCD or not use the LCD Access to the 4 DSP external interrupt pins found at connectors J6 J10 and J12 Power ON LED for indication of appropriate power Below you will find the pin outs and descriptions for the different connectors and jumpers on the C6XDIGIO daughter board The connectors and jumpers needed for the mechatronics kit will be listed first followed by the connectors left unpopulated 1 Board Address Selector Jl The four jumpers installed or uninstalled on the pins of connector Jl determine the board s address location in the DSP memory space See the schematics for full details but in short J1 pins 1 3 5 7 are pulled HI through 2 2 KOhm resistors and connected to an identity comparator chip that compares those pins with the DSP address lines A18 A21 respectively Pins 2 4 6 8 are connected to ground When a jumper is installed i e between 1 amp 2 3 amp 4 5 amp 6 7 amp 8 the address pin is being compared with a LOW
62. r interface are the same as on the C6XDIGIO daughter board and are detailed below PWMI PWM2 Pin Signal Name Description Pin Signal Name Description DGND DSP Daughter Digital Gnd DGND DSP Daughter Digital Gnd 5V DSP Daughter Power 5V DSP Daughter Power NC No Connect NC No Connect NC No Connect NC No Connect PWMI PWM Output 1 PWM2 PWM Output 2 Connections for PWM Outputs 1 and 2 The RCA and 5 Pin DIN pin outs are Quanser proprietary connections They mate to analog and encoder cables used on all Quanser control system experiments The Mechatronics Kit can be programmed to control any Quanser control challenge not requiring more than two analog outputs or two encoder inputs 56 3 LU 7X IN G ER INNOVATE EDUCATE 57
63. ription ec c uang 12 1 Code Composer Studio and TI example eode 4 eie eren nanas ntn osten earn 12 2 O0CI Source Code and Documentation su metere bsc tette base de a Dep iun 16 3 BOOLCGOOO 4 na ten Dus oet etus Mim dd D E EE E cA DU E E di 19 4 DSP BIOS II code and Visual Basic Interface Plugin BALRTDX and RTDXPROJ 21 Sy Matlab Meera A sd wera eru seed 23 6 Simu lmk Simulation Mes ee aa eps eb an ba ad en Da diu d tp rise a UR RE 23 Ta Real Time Workshop uiua bee ebat aan le qud diva tens oie qud bei dieci ulmo ied Qin 23 8 T ning the controller gains zou ede tentant abire rec din tu ve prec ii atit dps i e a 24 Chapter 5 Hardware InstallatoOn o oo Wo o ooooommutekninaneeanatn orbe aede ee sl ek oes uto siu pal v Eve u n AN GRADE RUN en 29 1 Building the DC Motor Load Inertia Experiment sess neret 30 2 Building the Reaction Wheel Penduluti sxe set a IE entes dat 31 5 Building the Pendubot PARA NAN Aba eau NAN an BNN P eps dE 33 4 Building the Furuta BERdullill zo open e orae onm Ets IN eun eR ES maU 35 Se Routingthe Ro AB TGs pec 37 6 Cable Pin Outs and Part Listi uei eere asean E E E E AE a Aaa oa Jantan 45 7 C6711DSK board C6xDigIO Daughter Card and PWM Amplifier Board ooo 46 8S Quatnser Standard Interface Board ee Na EN td 55 Chapter 1 Introduction Ta you for purchasing the Mechatronics Control Kit from Quanser Consulting Inc The Mechatronics Contr
64. rollers have a harder time balancing the pendulum The swing up control for the reaction wheel experiment is an energy passivity based nonlinear controller See our controller section and references along with the given source code to understand the details of the controller There are three gains that can be tuned to adjust the swing up IMPORTANT Just as with the Pendubot you need to make sure that the link is at rest before you start the controller Zero reference for the optical encoders is found when the controller is started You will also find that as the motor and amplifier chip heat up in use the motor torque constant will start to drop a bit IMPORTANT Do not let the motor get stuck in a position or run at its maximum speed while rubbing against an obstacle If the motor stalls with maximum torque it could get very hot and become damaged Always take care to power off you system when it is unattended so that an issue like this is avoided Also very high gain controllers can cause the motor to heat up When attempting new control algorithms monitor the motor s temperature from time to time and power off if the motor gets hot Perform tuning either by using the VB plugin supplied with the DSP BIOS II code example or by using CCS watch windows with the use of the bootcode example source files See the readme txt files in those respective directories for instructions 27 Furuta Pendulum controllers 4 Swinging the Furuta Pendulum to th
65. s moments of inertia torque constants etc Identification methods can be applied to determine the numerical values of these parameters for later use in controller design e Friction Compensation The effect of friction in the motor brushes and bearings generally results in limit cycle behavior unless actively compensated by the controller Friction modeling and control is of current research interest and Mechatronics Control Kit is a good vehicle for experimental verification of theoretical results in this area e Position and Speed Control The Kit can be configured to control a DC motor with attached load inertia Position and speed control of this second order system is the natural first laboratory exercise for beginning students e Balancing A more challenging laboratory exercise is to configure the Kit for either a Reaction Wheel Pendulum or a Pendubot These systems are fourth order and can be used to investigate stabilization of either the lower equilibrium configuration or the inverted equilibrium configuration We have supplied controllers designed using Linear Quadratic Optimal Control theory to balance the three inverted pendulum experiments at various equilibrium configurations You may design additional such controllers using other methods such as fuzzy control pseudolinearization robust control variable structure control etc e Swing up The problem of swinging the Reaction Wheel Pendulum the Pendubot or the Furuta Pendulum from the
66. s this may damage the encoder Figure 5 4 US Digital Encoder Attached to Front Bracket 2 Screw the four 2 5 extension feet to the bottom plate of the Mechatronics Kit These extension feet raise the Reaction Wheel experiment high enough so that the motor does not hit the table when swinging 3 Mount the motor with three 2 56 screws to the reaction wheel link as shown in the diagram The flanges on the link should point toward the motor 4 Attach the flywheel using a 5 64 Allen wrench Slide the flywheel until the motor shaft protrudes slightly from the back end of the flywheel See figure 31 10 11 Figure 5 5 Reaction Wheel Showing Cable Routing Tape the cables encoder and motor to the link as described in the cable routing section Slide the completed link assembly onto the encoder shaft as far as possible to minimize the moment arm created by the hanging motor but leaving a slight gap between the coupler and the stationary bearing housing NOTE Sliding the link assembly too far onto the encoder shaft will cause the link to rub against the stationary part of the encoder Be VERY careful not to force the coupling over the shaft Doing so may damage the encoder bearings Tighten the coupler socket head cap screw so that the link cannot move on the encoder shaft Tape the motor and encoder cables to the encoder mount leaving enough slack to permit the link to rotate freely approximate 2 3 inches See Cable Routing Sec
67. sc binary files for CCS BIOS Include src and lib files for DSP BIOS II code CGTOOLS C Asm Compiler binaries include files and libraries DSK6x11 Files pertaining to the C671 1DSK BIN Files needed to communicate with the DSK outside of CCS CONFTEST Executable for running a confidence test on your DSK DOC Release Notes for the DSK6711 Ree INCLUDE ode DSK6x11HPLH Include file for the HOST side programs compiled with for example Microsoft Visual C All function defined in dsk6xl Ihpi h are found in dskbxl Ihpi dll C6x11DSK H Include file for TARGET DSP side programs This include file defines C access the different peripherals on the C6711 DSP 13 LIB Library file for the DSK6211 dll DSPLIB A compilation of some standard DSP functions supplied by TI EXAMPLES A Wealth of examples for CCS and the DSK DSK6211 Examples for the old 6211DSK GENERIC6X Examples for All C6000 processors HOSTAPPS RTDX Host examples DSK6711 Some examples in using RTDX to transfer data to and from other Active X clients XDAIS eXpressDSP Algorithm Standard examples CSL Chip Support Library examples Laga BOARD UTIL jabatan CONFTEST Confidence Test source files Source files are given for both the HOST PC program and the DSP program There are also source files that can be downloaded fro
68. screen indicating which mode itis in A NOTE The boot code will actually hang here at the print to the LCD if jumper J8 is not installed on the C6XDIGIO daughter card That jumper is required for any LCD print function If the mode is the dummy data acquisition mode the DSP immediately starts monitoring the secondary parallel port connector for commands from the HOST PC see the RTW section for more details If the mode is one of the three swing up and balance modes the program sits and waits for the user to tap on USER SW3 All three of the swing up modes require that the linkage be at rest to start This allows the program to initialize the optical encoders to a zero position or home before starting the control algorithm Once the user switched the PWM 19 Amps ENABLE switch to ON and taps USER_SW3 the control algorithm starts and attempts to swing the linkage to an equilibrium position and catch and balance it there If you have amplified speakers or head phones plugged into the OUT jack of the DSK you will here sound clips played when the control is switching between states The LCD will also be displaying status information on the control variables for encoder position 1 2 and the control effort being applied to the motor See Figure 4 4 1 for a description of the LCD displayed information Figure 4 4 1 LCD Display Panel If the swing up algorithm was not able to swing the unactuated link to the balancing position you can
69. stem The three gains are Ke Kp and Saturation value The controller normally does not need much tuning The only gain I normally adjust is the Saturation Value Increasing this value will allow the control to swing up the linkage quicker Too high of a value though will cause the link to run into the cable limit and then not work correctly IMPORTANT Do not let the motor get stuck in a position say by a wrapped up cable or some other obstacle If the motor stalls with maximum torque being applied the motor could get very hot and become damaged Always take care to power off you system when it is unattended so that an issue like this can be avoided Also very high gain controllers can cause the motor to heat up When attempting new control algorithms monitor the motor s temperature from time to time and power off if the motor gets hot Perform tuning either by using the VB plugin supplied with the DSP BIOS II code example or by using CCS watch windows with the use of the bootcode example source files See the readme txt files in those respective directories for instructions 28 Chapter 5 Hardware Installation The Mechatronics Control Kit supplies you with the pieces to assemble a DC motor with load inertia experiment a Reaction Wheel Pendulum or a Pendubot The dynamic equations and control design techniques for these experiments and be found in the Control Tutorial Manual Figure 5 1 gives an overview of many of the different parts of the Ki
70. supply powers the C6711DSK The 24VDC power supply is the small power supply The 24VDC power supply powers the Quanser interface and PWM AMP board If you have amplified PC speakers or a set of headphones plug them into the OUT audio jack on the C6711DSK Verify that the three USER SWITCHES on the C6711 DSK are in the UP position Now you should be ready to turn on power Check the PC boards making sure no metal objects or obstacles are laying on them Then plug the two power cords into a dedicated power strip and turn on power NOTE You may hear a screeching noise This is not a problem This just means that the audio CODEC initialized faster or slower than the DSP The LCD should print out a message indicating that you are in Reaction Wheel Swing up mode The three LEDs should also be blinking on and off Switch the PWM AMP enable switch from OFF to ON The LED should turn ON Note The motor should not be spinning at this point and if it is there is some kind of problem possibly a wiring error The motor should not spin until you tell the controller to GO in the next step Wait for the reaction wheel link to be a rest and then tap on USER SW3 The reaction wheel should start to swing up to the TOP position You may need to manually displace the link to get it started 14 If the balancing control is not able to catch the link when it passes through the equilibrium stop the link yourself and bring it to the equilibrium It should switch
71. t Please refer to this figure when reading the procedures below Figure 5 1 Overview of the Mechatronics Control Kit There are a number of small parts needed to build each of the experiments Some of the parts are used in more than one experiment and some are used in only one experiment For example the flywheel and 5 inch link are not used in the Pendubot experiment In the same fashion the Pendubot link piece and the Pendubot link2 and link2 coupler and not used in the reaction wheel experiment To store these parts when using the other experiment some tapped holes and screws have been supplied to allow you to mount the extra parts on the bottom plate This way they will stay with the kit and not get lost Figure 5 2 shows the locations given to store the different parts Figure 5 2 Base Plate showing link and flywheel stowage area 29 1 Building the DC Motor Load Inertia Experiment 1 First mount the motor to the motor mount on the base plate using three 2 56 screws orientated so that the encoder connector faces straight up If the motor mount is not already attached to the base plate do so now You will want to have the M cable and the encoder cable loosely wrapped around the motor body This will keep these cables somewhat out of the way Do not wrap the cables too tightly which creates unneeded stress on the cable wires 2 Screw the M red and M black leads into the screw terminal of the PWM AMP board Plug the motor
72. t asm and c6xdskdigio c found in the include directory Bootflsh c is a more classical DSP program that does not use the DSP BIOS II operating system Myvectors asm sets up the interrupt vector memory locations for the program and myboot asm is the initial boot code that copies the code from flash to SDRAM on reset C xdskdigio c has all the functions for communicating to the C6XDIGIO daughter card A NOTE DSP BIOS II programs can also use boot asm to allow them to be programmed on the flash DSP BIOS II programs do take a bit large memory footprint so we chose to go with a classical no operating system program for our flash routine so it had more room to expand if needed in the future On reset the bootflsh is run Bootflsh first reads the state of the three switches USER_SW1 3 on the DSK board Depending on the state of the switches five possible modes can be run Below are the modes corresponding to the state of the switches USER SWI USER SW2 USER SW3 UP UP UP Swing Reaction Wheel Experiment to Balancing point DOWN UP UP Swing Pendubot experiment to TOP position UP DOWN UP Swing Pendubot experiment to MID position DOWN DOWN UP Swing Furuta Pendulum to the inverted position UP UP DOWN Presently NO function DOWN UP DOWN Presently NO function UP DOWN DOWN Presently NO function DOWN DOWN DOWN Puts the system into dummy data acquisition mode After reading the USER SWITCHES the program prints a message to the LCD
73. tion Attach the motor leads to the screw terminal on the PWM Amplifier Board The red lead goes to M and the black lead goes to M Plug the encoder connector from the motor into ENC2 on the Quanser interface board This is the encoder 2 connector Match ground with Pin1 Plug the connector from the US Digital encoder into ENCI on the Quanser interface board Plug the other end of the US Digital encoder cable into the connector on the US Digital encoder Match ground with pin 1 32 3 Building the Pendubot As with the Reaction Wheel experiment it is very important not to put too much stress on the US Digital encoder when performing the assembly steps Work gently with the different pieces and NEVER force any thing into position When the experiment is complete take steps to not allow the linkage to be bumped into by yourself or other objects Avoid unneeded stress on the link one coupler ALWAYS assemble the link1 US Digital encoder link2 coupler assembly first before sliding the coupling onto the motor shaft l First mount the motor to the motor mount on the base plate using three 2 56 screws orientated so that the encoder connector faces straight up If the motor mount is not already attached to the base plate do so now You will want to have the M cable and the encoder cable loosely wrapped around the motor body This will keep these cables somewhat out of the way Do not wrap the cables too tight creating unneeded stress on th
74. to you Therefore if you would like to change the system to power on with the POST program you will have to re flash the DSK See the ti examples dsk6x11 board_util post directory for more details 15 2 QCI Source Code and Documentation This section gives an overview of the source code supplied on the Mechatronics Control Kit CD This CD contains the software that we have developed specifically for the Kit Our main documentation for these examples is in the source files c and h We have commented this code quite extensively so after reading through this manual you should also read the source files for greater detail ROOT Source code supplied with the Mechatronics Kit DSPBIOSII DSP BOIS II example for controlling the five experiments readme txt RTDXPROJ Example RTDX project with Visual Basic PlugIn readme txt DSP Source code for the DSP portion of the project balboth c cc build Custom log balrtdx cdb balrtdxcfg s62 balrtdxcfg cmd balrtdxcfg h62 balboth obj c6xdskdigio obj balrtdxcfg obj balrtdx pjt balrtdx map balrtdx out balrtdx paf balrtdxcfg c c balrtdxcfg c h VB Visual Basic Plugin Source Code RTDXfrm frm RTDXproj vbp RTDXproj vbw RTDXproj exe SETUP All setup files for use on PCs without Visual Basic INCLUDE Common Include files for example source code mysounds h c6xdskdigio h c6xdskdigio c BOOTCODE Source example that can be flashed to the
75. tructed in the cable routing section Plug the US Digital encoder cable into ENC2 on the Quanser interface board and the motor encoder cable into ENCI 10 Finally screw 4 inch threaded end of link 2 into the link 2 coupler The inch threaded end of link 2 should have four 8 32 nuts on it Figure 5 7 Completed Pendubot Setup 34 4 Building the Furuta Pendulum As with the Reaction Wheel experiment it is very important not to put too much stress on the US Digital encoder when performing the assembly steps Work gently with the different pieces and NEVER force any thing into position Also when the experiment is complete take steps to not allow the linkage to be bumped into by yourself or other objects Also avoid unneeded stress on the link1 one coupler ALWAYS assemble the link1 US Digital encoder link2 coupler assembly first before sliding the coupling onto the motor shaft l First assemble the Furuta upright assembly as shown in Figure 5 14 Use the two quarter inch aluminum pieces along with the motor mount to assemble the kit in this configuration There are 4 V2 6 32 screws that you will use to assemble the furuta s stand Mount the motor to the motor mount using three 2 56 screws orientated so that the encoder connector faces away from the base Tape the cables to the upright assembly so they are out of the way of the linkage Screw the M red and M black leads into the screw terminal of the PWM AMP board Now assemb
76. ws for communication to the DSP from your HOST with Visual C and Visual Basic applications For our mechatronics kit examples we have chosen to use the CCS and RTDX route to communicate to the DSK The main reason for this is that RTDX does not halt the DSP when communicating to a memory location on the DSP The dsk6xl11hpi dll on the other hand does halt the DSP when sending data Feel free to develop your own applications using the dsk6x11hpi dll but just keep in mind that it uses the HPI interrupt to halt the DSP then load the data values into memory or send data values up to the HOST and then restart the DSP when complete With the RTDX communication your program must be written using DSP BIOS II Data is sent and received from the DSP by the use of DSP BIOS II idle tasks This way large data arrays can be sent too and from the DSP without halting the processor for long periods Take a little time to browse through the different directories installed with CCS Read the readme txt files in many of the directories to give you an idea of what the files located in those directories perform Power On Self Test POST If you had purchased a C6711DSK directly from TI it would have come to you installed with the POST source code programmed on its flash This POST software checks the different peripherals available on the DSK i e SDRAM CODEC Internal RAM LEDs We reprogram the flash with our bootcode program before we send the system
77. xample mdl files have been supplied to get you started Two dos device driver blocks are needed to communicate to the DSK system an encoder block and a PWM block These two blocks can be found in the model library file c6xlib mdl Read the readme txt files in both the Wincon3 and WinRT directories for detailed instructions on how to setup Matlab and RTW to work with the given drivers The readme txt do not go into the details of the WinCon and Windows Target software You will need to use the help files from those software packages to get yourself up to speed on RTW One thing to note about RTW is that usually the hardest thing to get setup on your PC is the correct compiler variable settings because WinCon and Windows Target call the C compiler using command line calls For RTW and WinCon or Windows Target to build your projects properly you need to have all the environment variables set correctly for your compiler Both WinCon and Windows Target do a good job of automating the setup process but errors can still occur So if you have problems compiling your real time models investigate your environment variable settings to see if there are any errors 8 Tuning the controller gains We supply you with non linear controllers to swing the linkages to the equilibrium points but you will find that swing up gains will need to be adjusted when working with the systems The goal of each control algorithm is to use a non linear controller to swing the l
78. xperiment Before routing the swinging cable you should first have most of the Furuta Pendulum experiment built The motor should be mounted and its leads screwed into the terminal block of the PWM AMP board The encoder should be attached to link 1 of the Furuta and the link 2 coupler piece should be tightened on the shaft of the encoder Do not attach Link 2 until after the cable has been routed 1 First connect the US Digital encoder cable to the connector on the US Digital encoder Match Pin 1 of the connector to Pin 1 on the encoder body 2 Tape the encoder cable to the upright aluminum piece as shown in Figures 5 21 5 23 Make sure to arch the cable as in the figure so link one can turn 180 degrees in each direction without being disrupted by the cable Shape the cable and make sure there are no twists in it Figure 5 21 Furuta Pendulum Cable Routing 43 Figure 5 23 Furuta Pendulum Cable Routing With the ribbon cable routed now connect the cable to ENC2 on the Quanser interface board Match Pin 1 of the connector to Pinl on the board Connect the motor encoder cable to ENCI on the Quanser interface board Match Pin 1 on the connector to Pin 1 on the board Also make sure that the excess of this cable is not in the path of link 1 44 6 Cable Pin outs and Part List a PWM cable Quanser Interface 5 Pin PWM AMP 5 Pin Pin Pinl GND Pin2 Pin2 5V Pin5

Download Pdf Manuals

image

Related Search

Related Contents

  887 photoMate User`s Manual  dgat program kit 37323712001 installation instructions  User Manual MRK960 User Manual Wideband True  TTDM Commissioning Record  Yealink SIP-T20P User Guide  Installation  No Drilling Required GB32018-SS-NDR Installation Guide  

Copyright © All rights reserved.
Failed to retrieve file