background image

RP6 ROBOT SYSTEM -  4. Programming the RP6

gram's loop – otherwise the automatic control will not work! Frequently calling from 

the main program simply implies to call this function at each and every main loop 

cycle. Calling the function at intervals of 10 up to 50 milliseconds will be sufficient, but 

its better to call the function at considerably shorter intervals. Calling the function 

more frequently will not cause any problems, as a hardware timer is controlling the 

timing. For the same reason, we may call the function at changing interval periods, 

e.g. ranging from 1ms up to 10ms. Calling the function very frequently will not cost to 

much processing time, as the function will only be executed completely in predefined 

minimum intervals. 
If the function is used correctly, it will automatically regulate the motor's rotational 

velocity to the desired value.
Speed control is achieved by determining deviations in every measurement cycle and 

summing them up (so-called integrating regulator). This error value is used to adjust 

the motor voltages via the Microcontroller's PWM-Modules. If the speed is too low, 

the error values will be positive and motor voltage has to be increased at an appropri-

ate rate. If the speed is too high, the voltage must be reduced. This method will 

quickly adjust the RP6's speed to a relatively constant PWM value (in which minor de-

viations are quite normal). Speed control allows stabilizing speed independently of 

battery voltage, load (weight, surface conditions, slope, etc.) and manufacturing toler-

ances. If we would try to drive a robot at a fixed PWM value, the robot's speed would 

be extremely dependent on effective motor load and battery voltage. Additionally, 

manufacturing tolerances would result in different speeds for the left and right motor. 
The speed control routine is also responsible for reversing the motor turning direction, 

as any reversing operation at 15cm/s might considerably accelerate wear out of the 

motors and gears. If a motor direction change has to be performed, the robot's speed 

will   automatically   be  reduced   to   zero,   followed   by   the   direction   change   and   sub-

sequent acceleration up to the former setpoint speed.
In addition to speed and direction control the system also monitors the current con-

sumption of the motors. It will automatically stop the motors in over current condi-

tions. These safety precaution prevents motor overload and overheating, which may 

damage the motors over time.
If three overcurrent events occur within 20 seconds, the protection system will per-

form an emergency shutdown and start flashing the four Status LEDs. Then the Robot 

has to be resetted in order to continue operation.
Additionally the system monitors failing encoders or motors (which may happen if 

you've tinkered too much with it...). Whenever this happens, the motionControl func-

tion would ramp the PWM value up to maximum and the robot could get out of control 

due to this...  which of course must be considered as a quite undesirable experience! 

Anyway, the robot will be halted completely in this case.
Just to keep this concise, we also included the functions for driving specific distances 

and rotating specific angles in the motionControl function.

As you can see, the function is very important for the automatic motor control. As a 

matter of fact, the motionControl function itself does not have any parameters like 

e.g. the desired speed. Operating parameters need to be set through other functions, 

which will be described in detail now. 

- 98 -

Summary of Contents for RP6v2 CONTROL M256 WiFi

Page 1: ...RP6v2 C Programmable Robotic Vehicle 99 Washington Street Melrose MA 02176 Phone 781 665 1400 Toll Free 1 800 517 8431 Visit us at www TestEquipmentDepot com...

Page 2: ...systems properly and how to avoid dangerous situ ations Furthermore the manuals provide important details which may be unknown to average users Paying no attention to this manual will cause a loss of...

Page 3: ...lace at its option defective product or component parts Returned products must be accompanied by proof of the purchase date in the form of a sales receipt Exclusions This warranty does not apply in th...

Page 4: ...s 29 3 1 1 Electrostatic Discharges and Shorts 29 3 1 2 Environment of the Robot 30 3 1 3 Supply Voltage 30 3 2 Software Setup 31 3 2 1 The RP6 CD ROM 31 3 2 2 WinAVR for Windows 32 3 2 3 AVR GCC avr...

Page 5: ...4 6 The RP6 function library RP6Library 79 4 6 1 Initializing the microcontroller 79 4 6 2 UART Functions serial interface 80 4 6 2 1 Transmitting data 80 4 6 2 2 Receiving data 82 4 6 3 Delay and tim...

Page 6: ...or a bumper composed of two microswitches with long levers and many other things Basically the mechanical design has been adopted from the RP5 system However we did optimize the design for lower noise...

Page 7: ...appendix A Troubleshooting Global Specialties All software updates new versions of this manual and further informations will be published on this site 1 2 Scope of delivery RP6v2 You should find the f...

Page 8: ...Mainboard as it is more convenient to handle without the whole chassis connected to it In case of any defects a replacement does not require soldering anymore and repairing is easier There are now 9 a...

Page 9: ...d actor combination on the RP6 The microSD Card slot allows to add large data storage of 2GByte e g for maps data logging websites etc On the two images on this page you can see the RP6 with two expan...

Page 10: ...ly if at all Software and Documentation Updates can only be found on our Homepage Before you install any Software from the CD you should check for new Versions on the Internet And remember the note fr...

Page 11: ...modules but the supply capability and the overall weight allows a maximum of about 6 to 8 modules 3 to 4 modules each at front and rear The mainboard provides 22 free 3 2mm mounting holes and the cha...

Page 12: ...system counts 625 segments of the codewheel per revolution of a wheel 150x higher resolution compared to the predecessor system CCRP5 with only ca 4 CPR Exact and fast speed measurement and control Hi...

Page 13: ...d a lot longer These operating time specifications are only for the robot system itself without expansion modules Connector for external battery chargers the robot s main power switch toggles between...

Page 14: ...blocked engines low battery level and react properly on that measure and control the rotational speed of the motors virtually independently of the power level of batteries weight etc this is performe...

Page 15: ...nately it does not work with standard IRDA interfaces Alternatively you might start straight away by using wireless RF modules Control the RP6 by using a PDA or Smartphone in this case we suggest to m...

Page 16: ...this chapter later on as it certainly contains a number of use ful explanations of the robot s programming details And you do want to know what is controlled with the software and how this works don...

Page 17: ...rovide an operating system such as Linux or even Windows and it does not need to show a complex graphical interface or serve similar tasks There will be just one program running and that s our own one...

Page 18: ...communication with the RP6 USB Interface Using this interface you might also connect another microcontroller with an UART as long as the USB Interface is not connected The TWI module Two Wire Interfac...

Page 19: ...ing up to a voltage of 6x 1 2V 7 2Volts The block schematic diagram labels this battery voltage UB U Battery U is the standard letter for voltage in electrical engineering formulas UB is defined as a...

Page 20: ...on resistors A few percent tolerance has to be taken into account The reference voltage is not accurate as well and may be fluctuating in heavy load conditions We do not care about these tolerances as...

Page 21: ...start an escape manoeuvre In order to avoid too much sensitivity the ACS routines will delay detection events until the system has received a predefined number of pulses within a small period of time...

Page 22: ...formed by a so called operational amplifier opamp The RP6 uses an opamp for each individual cur rent sensor The measureable current range is about 1 8A This current results in a voltage drop of 0 18V...

Page 23: ...the gear ing system provide 50 teeth at the outer and 12 teeth at the smaller inner gearwheel see figure The code wheels are located at the gearwheel next to the motor pinion gear thus we can calculat...

Page 24: ...assume a value of 0 25mm or better 0 24mm Good navigation systems usually do not rely completely on encoders for distance and angle controls but use external fixed markers such as infrared beacons an...

Page 25: ...small ASURO robot However with increasing weight we must consider a higher power supply load resulting in an increased discharge rate Compared to remote controlled racing cars you might think the RP6...

Page 26: ...r slave oriented bus One or more master devices are con trolling communication with up to 127 slave devices But even though the bus is able to handle multi master communication we will only describe a...

Page 27: ...t one side of the module A 14 pin flat cable is used for interconnecting the modules to each other and to the mainboard For interconnections each expansion module provides two identical interconnected...

Page 28: ...or low currents of max 500mA only or anything else Example given you are able to interconnect two expansion modules without providing connections to other modules This might be useful for more com ple...

Page 29: ...may automat ically increase their power level Depending on the programming style motors may start operation at any time and unforeseen reactions and movements may occur Never operate the robot without...

Page 30: ...nd 40 C Especially inside operating DC Motors tiny sparks are generated Do not operate the robot at all in an environment with combustibles or explosives liquids gases or dusts If not operated for lon...

Page 31: ...w up in a browser windows If not you can open the file start htm in the CD s main directory in a web browser e g Firefox If your PC does not provide a modern browser you may find a Firefox installatio...

Page 32: ...usually you do not need to change any settings just click on continue all the time If you use Windows 7 you have to use the latest Version 20100110 of WinAVR This should also work well with WinXP If...

Page 33: ...CD or alternatively you should be able to obtain the latest packages via Internet Please make sure you have the program texinfo installed If the program is missing you have to install it before procee...

Page 34: ...you should see the following message avrgcc_build_and_install sh avrgcc_build_and_install sh installation of avr GNU tools complete avrgcc_build_and_install sh add usr local avr bin to your path to us...

Page 35: ...n the terminal enter the following commands as ROOT mkdir usr local avr mkdir usr local avr bin It does not need to be this directory We simply define a variable called PREFIX for this directory PREFI...

Page 36: ...ay also omit this character and write the com mand as a single very long line AVR Libc Finally the AVR libc cd RP6 bunzip2 c avr libc 1 4 5 tar bz2 tar xf cd avr libc 1 4 5 configure prefix PREFIX bui...

Page 37: ...l work You can find the JRE6 as RPM SuSE RedHat etc and as a self extracting archive bin in this directory CD ROM Drive Software Java JRE6 We advice you to search Java packages with the help of the sp...

Page 38: ...path lib jar RobotLoader_lib jar The long D option is required to enable the JVM to locate all necessary libraries Usu ally you will not need this option and you just start the exe file to run the pro...

Page 39: ...safety instructions about static dis charges Please avoid unnecessary touching of any of the components on the PCB soldering pads or contacting elements of the covered plug to avoid static discharges...

Page 40: ...formatin the Windows version of the RobotLoader uses the D2XX drivers and will display the complete USB names in the port list e g USB0 RP6 USB Interface serialNumber In contrast the Linux version of...

Page 41: ...ells only Same capacity same age same charge level If you prefer an external charger highly recommended but not in cluded in the delivery you have to install batteries ONCE only We highly recommend a...

Page 42: ...the correct way to avoid any problems There are also markings in the Battery holder and the negative terminal the flat side must point to the springs in the holder to help you Check everything three t...

Page 43: ...devices e g Smart Charger 1A 2A fast charger will need between 2 and 3 hours standard chargers require about 14 hours of charging time please read the details in the manual of the charging device Do n...

Page 44: ...tart the RobotLoader Depending on selected languages the menus may be labelled different The screenshots show the English versions and you may alter the language if you want by selecting the menu Opti...

Page 45: ...wait a second and retry it If the retry fails a more serious error occurred In this case immediately switch off the robot and pro ceed by reading the chapter Troubleshooting in the appendix At low bat...

Page 46: ...alternatively select it from the menu View Start the program by pressing the RP6 s Start Stop Button located near the programming connector see fig Later you can use the buttons in RobotLoader Softwa...

Page 47: ...ash a few times Watch the yellow PowerON LED which will flash a few times If it does not flash maybe the test was over before you looked at it or a real error occurred The test pro gram however will p...

Page 48: ...ll now check the bumpers In order to test them you have to press the mi croswitches and observe the LEDs and the displayed messages in the terminal Each bump has to be shown in the terminal and with t...

Page 49: ...e care to clear a large area in front of the robot to prevent detection of other objects The test may show the following output Test 6 ACS Test Please move your hand or other obstacles in front of the...

Page 50: ...evice Address 28 Key Code 60 OK TX RC5 Packet 63 RX RC5 Packet Toggle Bit 1 Device Address 31 Key Code 63 OK Test finished Done The Test should take about 5 seconds Finally we will proceed with the Mo...

Page 51: ...7V Speed Left OK Speed Right OK T 040 VL 021 VR 019 PL 037 PR 028 IL 025 IR 021 UB 07 25V T 040 VL 020 VR 020 PL 037 PR 029 IL 026 IR 022 UB 07 25V T 040 VL 018 VR 020 PL 044 PR 036 IL 028 IR 023 UB 0...

Page 52: ...011 PR 000 IL 013 IR 007 UB 07 28V T 040 VL 002 VR 000 PL 038 PR 038 IL 015 IR 014 UB 07 24V T 040 VL 038 VR 061 PL 059 PR 052 IL 035 IR 035 UB 07 24V T 040 VL 044 VR 043 PL 057 PR 044 IL 035 IR 028...

Page 53: ...ill be used as our source code editor ATTENTION Linux users will need to use another similar editor Usually Linux provides several pre installed edit ors e g kate gedit exmacs and others Apart from hi...

Page 54: ...ly enter the things you see on the screenshot The phrase d refers to the directory of the selected file and d make_all bat refers to the batch file which can be found in any of the sample RP6 projects...

Page 55: ...for make all you now have to enter all you see on the screenshot and click on OK This will create a new entry in the List RP6 MAKE CLEAN This entry allows you to comfortably delete all temporary files...

Page 56: ...nto the dialog field int8_t int16_t int32_t int64_t uint8_t uint16_t uint32_t uint64_t Then click Sort and OK Attention Later versions of WinAVR and Programmers Notepad WinAVR 20070525 or newer alread...

Page 57: ...ollowing screenshot On the left side you see all sample projects in a treeview the the source editor fea turing the previously discussed syntax highlighting is on the right and and the tool output in...

Page 58: ...the narrow grey area labelled Output belonging to the lower program window Just take a quick look at the source code in the editor if you like Of course you are not expected to understand all the tex...

Page 59: ...ll text data bootloader Data 148 bytes 7 2 Full data bss noinit end Process Exit Code 0 Time Taken 00 01 An important line is Process Exit Code 0 at the very bottom It tells us that the compil ing and...

Page 60: ...s plenty of space for your programs and small programs do not require too much memory The function library alone occupies more than 6 5KB flash memory but it handles a lot of important work for you al...

Page 61: ...e often very similar Just like for our other robots the RP6 requires a special version of the C compiler from the GNU Compiler Collection abbreviation GCC The GCC is a universal compil ing system supp...

Page 62: ...xecution time so we do not prefer to use this function Instead we will show some more effective alternatives for our applications Some C Tutorials Online books just a very small selection http www its...

Page 63: ...way of learning the C lan guage Having read and understood something in this crash course you should try it out by yourself Of course we will have to discuss a few basics before but in order to give y...

Page 64: ...ed header files with extension h to inform the compiler where to look for these functions Headers are used for all things in external C files that should be ac cessible in other C files Please take a...

Page 65: ...and main and we are not allowed to use a line break between two quotation marks at least not without an escape sequence The accolades allow us to combine several assignments and commands to blocks wh...

Page 66: ...on int16_t These data types are always made up like u int N _t u unsigned int Integer N Number of bits e g 8 16 32 or 64 _t t for type to prevent collisions to other symbols On a small microcontroller...

Page 67: ...e continue extern Furthermore the types float and double are used for floating point numbers but we prefer to avoid usage of these data types on small AVR microcontroller Floating point numbers are ve...

Page 68: ...mportant role in program flow They allow us to check whether a condition is true or false and decide if a specif ic program part is executed or not A small example 1 2 3 4 5 uint8_t x 10 if x 10 write...

Page 69: ...f x 5 writeString x is 5 n else if x 244 writeString x is 244 n else writeString x has a different value n Conditional statements may be using the following comparison operators x y Logical comparison...

Page 70: ...an if else if else if else conditional structure but now we use case branches instead There is one main difference if one condition is true all the following case branches will be executed If you do n...

Page 71: ...the num bers from 0 to 9 In the loop header you can use the same conditions as in if condi tions Beneath the while loop we can use the for loop which provides similar functionality but offers extended...

Page 72: ...a semicolon at the end 4 4 8 Functions Functions are a key element in programming languages In the previous chapters we already met and even used functions e g writeString writeInteger and of course t...

Page 73: ...ntry point and any C program will start by calling this function Therefore each C program MUST provide a main function In the previous example the main function starts by calling the initRobotBase fun...

Page 74: ...otBase Now execute a few function calls with parameters outputSomething 199 outputSomething 10 outputSomething 255 uint8_t result calculate 10 30 return value outputSomething result return 0 Output Th...

Page 75: ...d may easily be manipulated in a loop uint8_t i for i 0 i 10 i writeInteger myFavouriteArray i DEC The previous code snippet will output all array elements in this case without any sep arators of line...

Page 76: ...ollows ISR InterruptVector command block e g for the left encoder connected to the external interrupt 0 ISR INT0_vect Here we increment two counters at each signal edge mleft_dist driven distance mlef...

Page 77: ...replaced with 123 and is identical to writeInteger 123 DEC by the way the parameter DEC in writeInteger is just another constant in this case defining the constant base value 10 for the decimal number...

Page 78: ...g the Main Function in the TARGET entry You must specify the name without extension so please never add the c extension here Unfortunately many other extensions will have to be specified and it might...

Page 79: ...comments in the library files and study the functions and the provided examples 4 6 1 Initializing the microcontroller void initRobotBase void ALWAYS start the main function block by calling this func...

Page 80: ...ng and writeString_P STRING These functions are important for debugging programs as they allow transmitting any text messages to the PC Of course they may be useful for data transfers as well We will...

Page 81: ...39 DEC Output 139 writeInteger 25532 DEC Output 25532 The function allows you to output the complete range of 16bit signed integers between 32768 up to 32767 Anyone planning to use numbers beyond thes...

Page 82: ...pty 0 is returned You should check for the buffer size with this function uint8_t getBufferLength void before calling readChar otherwise you can t tell if a 0 is real data or not Several characters ma...

Page 83: ...o 25500 s 25 5ms While the normal program is sleeping inter rupts will still be processed immediately This will only delay the normal program s ex ecution As mentioned before it uses a hardware timer...

Page 84: ...h int main void initRobotBase Initialize the micro controller writeString_P nRP6 Demo Program for Stopwatches n writeString_P __________________________________ n n startStopwatch1 Start Stopwatch1 s...

Page 85: ...uild rather complex systems with the Stopwatches and start or stop them at certain events The sample program on the CD also includes the running light and the counter we have even 3 counters in this p...

Page 86: ...StatusLED6 An alternative possibility the following statusLEDs LED5 true activate LED5 in the LED register statusLEDs LED2 false deactivate LED2 in the LED register updateStatusLEDs commit the change...

Page 87: ...sing are apropriate functions that control the four ports but you can take a look at the existing functions for the LEDs and Bumpers Attention In order to protect the microcontroller s ports always in...

Page 88: ...down statusLEDs LED6 bumper_left Left bumper pressed statusLEDs LED4 bumper_left Left bumper released statusLEDs LED3 bumper_right Right bumper pressed statusLEDs LED1 bumper_right Right bumper releas...

Page 89: ...ginning of the main function Registering the Event Handler can be done with the following function void BUMPERS_setStateChangedHandler void bumperHandler void You do not have to exactly understand thi...

Page 90: ...ond text outputs e g think of stopping the robot and driving back rotating However such things should not be peformed in the Event Handler itself but elsewhere in the program You might set a command v...

Page 91: ...ak current like Sharp IR distance sensor do This requires some soldering experience If you are unexperienced it may be a better idea to go for an extension module Examples uint16_t ubat readADC ADC_BA...

Page 92: ...where in your programs ADC_BAT adcBat ADC_MCURRENT_L adcMotorCurrentLeft ADC_MCURRENT_R adcMotorCurrentRight ADC_LS_L adcLSL ADC_LS_R adcLSR ADC_ADC0 adc0 ADC_ADC1 adc1 As soon as you have started usi...

Page 93: ...sing can be done in a similar procedure as it has been demonstrated for the bumpers The RP6Lib provides two variables obstacle_left and obstacle_right each of which will be set to true as soon as the...

Page 94: ...statusLEDs LED6 statusLEDs LED5 obstacle_left Obstacle on the left statusLEDs LED4 obstacle_left LED5 inverted statusLEDs LED2 obstacle_right Hindernis on the right statusLEDs LED1 obstacle_right LED...

Page 95: ...iling ACS system will not cause problems as the bumper will prevent damages to the IR LEDs 4 6 7 IRCOMM and RC5 Functions The IR receiver allows the RP6 to receive IR signals from standard TV Hifi rem...

Page 96: ...ion between robots RC5 data packets can be transmitted with the following function void IRCOMM_sendRC5 uint8_t adr uint8_t data in which adr corresponds to the device address and data to the Key code...

Page 97: ...ctivate these sensors To turn the sensors ON you may call the macro powerON and to save some power and turn the sensors off you can call powerOFF Both macros will only set an I O Pin Before using the...

Page 98: ...tive motor load and battery voltage Additionally manufacturing tolerances would result in different speeds for the left and right motor The speed control routine is also responsible for reversing the...

Page 99: ...now RP6 will start moving directly Of course the robot will not react on any obstacles and is moving forwards only The system will only try to regulate the speed level and automatically adjust motor p...

Page 100: ...then change the direction and finally accelerate to the previous setpoint speed The following parameters are supported FWD ForWarDs BWD BackWarDs LEFT rotate left RIGHT rotate right The macro getDire...

Page 101: ...ccelerating to the setpoint speed and slows down the robot shortly before the distance is reached to avoid overshooting Accuracy is around 5mm which usually may be considered to be all right The funct...

Page 102: ...gle instead of a distance The blocking parameter can be used with this function too The following example program shows how to use both functions 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21...

Page 103: ...your program the RP6Library provides the following function void task_RP6System void which will sequentially call the functions task_ADC task_ACS task_bumpers task_motionControl Most of the sample pro...

Page 104: ...Slave mode in pure Software at least not with reasonable effort The mas ter mode could be easily implemented in Software but in order to keep the structure of both similar we also used interrupts this...

Page 105: ...ou read data from one register another one belonging to this register may have been overwritten by the master in the meantime A better way to handle these transfers is an intermediate storage location...

Page 106: ...10 It provides two registers for writing and one register for reading data The first register Register number 0 is used for receiving commands This simplified example uses the command 3 to set the LE...

Page 107: ...for you In slave mode this does not cause any problems at all and 400kBit s can be used If you really need that fast communication you can either try to set the 400kBit s mode and see if it works pro...

Page 108: ...an transmit several Bytes 5 in this case via the I C Bus The previously described functions will not block the program flow unless the I C In terface is busy A busy I C Interface will cause the functi...

Page 109: ...ck for the arrival of requested data from a slave device or for a failure condition in the com munication process On data arrival this function automatically calls a predefined Event Handler function...

Page 110: ...smissionErrorHandler void transmissionErrorHandler uint8_t The handler must have the signature pattern void I2C_transmissionError uint8_t errorState defining an error state code as parameter You can f...

Page 111: ...of derived programs according to the GPL which of course implies you must re lease your derived programs under the GPL as well The AVR Microcontroller family is very popular and there are plenty of e...

Page 112: ...t 1 shifts all Bits in the runningLight variable to the left by one digit By the way this is just a shortcut for runningLight runningLight 1 which works similar for and Initially the runningLight vari...

Page 113: ...ram Directory RP6Examples RP6BaseExamples Example_03_Stopwatches File RP6Base_Stopwatches c This program will output messages on the serial interface The robot does not move in this example program Th...

Page 114: ...t this example will let the robot drive forwards for a specific distance perform a 180 turn drive backwards for the same distance do a second 180 turn and start from the beginning again The example us...

Page 115: ...s display and the status LEDs Press and then release the bumpers slowly In C most Finite State Machines will be designed by using switch case constructs or alternatively a bunch of conditional stateme...

Page 116: ...graph in this overview we abbreviated the labels of the states The state machine starts at state S and immediately transits to state B while displaying a short text message Having arrived at state B...

Page 117: ...no reference book for Finite State Machines So let s go on with the example programs Example 11 Behaviour controlled robots Directory RP6Examples RP6BaseExamples Example_05_Move_04 File RP6Base_Move_0...

Page 118: ...n s can be found here http people csail mit edu brooks papers AIM 864 pdf http people csail mit edu brooks papers how to build pdf but you may find other relevant documents and summaries The Internet...

Page 119: ...xample unless the room is very dark as soon as both LDR levels drop below 100 the FollowLight behaviour will be deactivated The FollowLight behaviour tries to follow bright light sources or the to fin...

Page 120: ...ol parameters in speed con trol etc With some universal remote controls it would be possible to control several robots by using special function keys for selecting different devices these function key...

Page 121: ...se and control should consider using another Microcontroller Obviously a second freely programmable controller will complicate the system but will also make it more flexible We included detailed data...

Page 122: ...show their real advantages the master only has to transmit short commands like drive forwards at speed parameter and the rest is done automatically Of course running tasks may be aborted for example...

Page 123: ...er interesting sensors are pressure temperature and humidity sensors in order to build a small mobile weather station Basically the system allows you to attach any number of expansion boards to the ro...

Page 124: ...manual does not allow us to discuss all relevant topics and a great number of details have been left out Of course we plan to develop some more expansion modules for the RP6 We already released the ex...

Page 125: ...ed by looking at the thin wire inside of the fuse s glass housing Fuses normally will blow at the middle of the thin wire but sometimes the disconnection cannot be ob served by visual inspection and m...

Page 126: ...tion In Windows Vista 7 or newer you must install the USB Driver from FTDI do NOT use the one included in Windows This is installed by default when you did not run the setup program from FTDI before y...

Page 127: ...e tools of your distribution for that or edit the file etc groups or etc group You need to use your root account Enter your username in the file at the entries lock x 53 username and uucp x 14 usernam...

Page 128: ...iew the motor shaft may reduce noise generation ATTENTION Please strictly use special oil for ball bearings only e g Conrad Electronic part number 223441 62 Team Orion Free Revs Ball Bearing Oil 41701...

Page 129: ...ations and fluctuations between 40 and 60 can be considered as tolerable Most of the duty cycle values should be in the range of 45 up to 55 for RP6v2 During tests the test program will deactivate the...

Page 130: ...the same position af terwards Let it stand another day like that When this does not help re move the track from the wheels with a sliding movement rotate the wheels and move the track off sideways al...

Page 131: ...e the motors or just the brushes after a few thousand hours of continous operation This is NOT covered by the warranty and a normal mechanical wear out process It may wear out faster the more you stre...

Page 132: ...llars should fix this Worst case the motors or even the electronic control circuits may have been damaged which requires an exchange of damaged components Please start the selftest program 8 Do NOT al...

Page 133: ...ligned straight 90 upwards see photographs on this page and chapter 2 The ACS will often fail to detect black or very dark obstacles Black objects more or less tend to absorb IR light completely This...

Page 134: ...not be compiled the compiler ends up with some error message Check the error message and try to understand what causes this If you have to contact the support first copy the complete compiler report t...

Page 135: ...e loop is missing your program may produce strange results You are using the non blocking mode for move or rotate functions but you do not frequently call task_motionControl or the task_RP6System func...

Page 136: ...RP6 ROBOT SYSTEM APPENDIX diately posting a new topic start by searching for your problem using dif ferent search queries You can also try using a general web search engine 136...

Page 137: ...Each pro gram version should output lists of the covered distances in encoder steps If you are too lazy there is also a menu option in the selftest program that can do this One meter corresponds to e...

Page 138: ...ht provoking impulses for further improvements and studies and of course some users may not be inter ested in accurate movements anyway adding a mouse sensor also restrains the vehicle s offroad capab...

Page 139: ...th pins in TOGETHER That is Pins 4 6 UB and 3 5 VDD Any other required signal lines can be soldered to the USRBUS connector pads which have been connected 1 1 to the pads on the board this means the c...

Page 140: ...to 5V and the connectors provide the sensors with the 5V supply voltage The Pinout is intended for Sharp IR distance Sensors of the GP2Dxxx Series On the new RP6v2 there is already a 220 F electrolyt...

Page 141: ...s feature you need to turn the main power switch permanently in to position OFF In the front area of the Mainboard directly right and left of the LEDs there are two 4 pin headers called LIO1 and 2 Ben...

Page 142: ...atteries and do not dispose batteries in a fire You are not al lowed to charge alkaline battery cells Recharging normal battery cells may cause them to explode Confine yourself to use only special rec...

Reviews: