Home

Initial Documentation

image

Contents

1. Battery University Whats The Best Battery Online Available http batteryuniversity com learn article whats_the_best_battery O Barvarisi et al State of Charge Estimator for NiMH Batteries Conf on Decision and Control Las Vegas NV 2002 pp 1739 1744 Digikey 2012 06 28 Sensing Motion With Passive Infrared PIR Sensors Online Available http www digikey com en articles techzone 201 2 jun sensing motion with passive infrared pir sensors GloLab How Infrared Motion Detector Components Work Online Available 17 18 19 http Awww glolab com pirparts infrared html Freescale Semiconductor 2007 02 Implementing Positioning Algorithms Using Accelerometers Online Available http cache freescale com files sensors doc app_note AN3397 pdf NOAA 2014 03 17 GPS Accuracy Online Available http www gps gov systems gps performance accuracy D DePriest NMEA Data Online Available http www gpsinformation org dale nmea htm 127 20 21 22 23 24 25 26 27 28 29 FAA 2001 08 13 U S DEPARTMENT OF TRANSPORTATION FEDERAL AVIATION ADMINISTRATION SPECIFICATION FOR THE WIDE AREA AUGMENTATION SYSTEM WAAS Online Available http www faa gov about office_org headquarters_offices ato service_unit s techops navservices gnss library documents media waas 2892bC2a pdf FAA 2006 06 Wide Area Augmentation System Performance Analysis
2. Each mode has a corresponding run member function that provides the main loop of the system The one caveat is that each run implementation must call it s check_message member function at the beginning of it s loop This ensures that new messages are handled as soon as possible after their arrival The check_message routine is simple it provokes the Hardwarelnterface class to check if a new message is indeed available If no new message is available the routine ends execution Otherwise The MessageHandler s handle_message member function is called and the message is handled Depending on the type of message the current execution is either continued or changed Mode changes are a constant operation in the systems lifetime Because each mode knows how to run itself wnen a mode change occurs the ModeMachine simply sets it s previous_mode_ private member variable to current_mode_ and its current_mode__ private member variable to the mode that the system is to change into From here run on the current_mode_ can simply be called to start that mode In the event that an error occurs the current_mode_ is set back to previous_mode_ so the system can continue to function 4 5 Remote Control Mode As mentioned before to connect to an Android device from the Puppy Pal the best approach would be to use a Bluetooth network For specific applications in related to the project Bluetooth provides the most cost effective and simple interf
3. 3 3 1 2 ZigBee The clear cut advantages of using ZigBee technology is that it is low cost and it is power efficient ZigBee hardware is perfect for short distance wireless applications for example using remote control reading in wireless sensors and monitoring Since the system doesn t require transferring large amounts of data ZigBee modules are an ideal candidate to be interfaced Since ZigBee products can be used with small low voltage batteries it can be used to transmit signals from the PCB located on the collar Table 3 2 provides a comparison between different ZigBee modules From the basic specifications listed on the table below the Digi International looks to be the ideal choice for a ZigBee module it has a lower supply current to transmit and lower output power The lack of data rate and line of sight range on the Digi International module can be neglected as the system will not 20 require transmission of data at a high data rate and the transmitter and receiver will operate at a close line of sight distance from one another ideally Since the battery on the dog collar will be designed to operate on low power the Digi International module illustrates the best alternative on transmitting a signal after the accelerometer has been activated Brand Digi International Atmel ATZB RF XB24 Z7PIT 004 233 1 CR Frequency Band 2 4 GHz 2 4 GHz ee 120m 1 96 km Data Rate 250 kbps 2 Mbps Supply Current Tx 35
4. Report Online Available http www nstb tc faa gov REPORT S waaspan1 7 pdf A K Dickerson et al Wet mammals shake at tuned frequencies to dry J Roy Soc Interface vol 9 no 77 pp 3208 3218 Dec 2012 TMS320F280xM InstaSPIN MOTION User s Guide Texas Instruments Inc Dallas TX 2014 REO8A Rotary Encoder Kit User s Manual Cytron Technologies Johor Malaysia 2009 E D Marchi HC 05 Bluetooth Internet https mbed org users edodm85 notebook HC 05 bluetooth April 2014 Duracell AA Coppertop Datasheet Online Available http ww2 duracell com media en US pdf gtcl Product_Data_Sheet NA_DATASHEETS MN1500_US_CT pdf Duracell AAA Coppertop Datasheet Online Available http ww2 duracell com media en US pdf gtcl Product_Data_Sheet NA_DATASHEETS MN2400_US_CT pdf G Hickman 2012 08 17 How Long Do Dogs Sleep on Average Online Available http www petsadviser com behaviors how long dogs sleep average J L Ellis et al 2009 02 23 Cranial Dimensions and the Forces of Biting in the Domestic Dog Online Available http onlinelibrary wiley com enhanced doi 10 1111 j 1469 7580 2008 01042 x 128
5. Vie Send Path Drew Path Section Send Yes La send or Cancel The collar system has only one function broadcast a message after a certain threshold of acceleration is detected in the accelerometer Although the collar is d E ol H S gt Figure 6 2 Flow diagram for Android software 102 two separate components it is intuitive to think of it as a single unit Figure 6 3 shows the data flow Because the system is so simple Figure 6 3 is very accurate to the flow of execution in the actual code Collar Turns On Initialize Hardware Components Check Accelerometer Status Value Past Threshold Create and Send Message Figure 6 3 Flow diagram of collar software 103 7 Project Prototype Testing Puppy Pal is the accumulation of various subsystems working together in order to play with a dog with both human inputs and autonomous control Each subsystem will be tested as it is constructed completed and combined with other subsystems These tests will be as minute as measuring a single accelerometer s output and as massive as observing how a dog reacts to the toy Testing will not be the last stage of the project but a constantly ongoing part of the process 7 1 Hardware Test Environment The testing will take place both indoors and outdoors The electronic components of Puppy Pal will be examined in the Senior Design Lab Multimeters oscilloscopes function generators and power supplies are open to groups f
6. accelerate to top speed and to find what that speed is A straight distance of 30 feet will be set on the different surfaces Two different stop watches will be used to keep track of the time from the start to the end of the track The average time will be entered into Table 7 1 An average speed in feet per second will be calculated with the data in Table 7 1 for each surface Surface Trial 1 Trial 2 Trial 3 Trial 4 Trial 5 Tile Linoleum Shag Carpet Short Carpet Table 7 1 Collects the results of the speed test 107 To measure the effect of the materials on Puppy Pal without the motors the device will be rolled down a ramp with different materials on it The ramp will have the same elevation throughout The different materials will be draped over the ramp where applicable The times of descent will be recorded in Table 7 1 as well with the distinction of being a ramp rolling test These trials would give more insight to the amount of friction Puppy Pal faces against different surfaces In addition the ramp will also be used to measure how quickly the device can go up The toy will start 10 feet away from the ramp It will accelerate and then climb the slope The same angle will be used for all materials and the ground used for the initial acceleration will also stay consistent A similar exam will also find the angle at which Puppy Pal can no longer climb The ramp constructed should have a variable ang
7. and should both handle impacts caused by play safely and without failure The batteries should be chosen to be of similar nominal voltage to the subsystem with the highest power requirement in order to minimize losses encountered by voltage regulation 3 3 5 1 Collar Battery The primary driving factors for selecting the collar battery are a voltage within the range of 1 9V and 3 9V safety wide availability cost capacity self discharge current and size The dog collar will use primary non rechargeable batteries because the collar should not have to be regularly removed to recharge should have no external openings to promote a water resistant design and a wireless charging system would be too large Typical dog collars measure approximately 1 inch 25mm wide and in the interest of comfort and aesthetics the enclosure should be of similar width The batteries will have to be situated side by side within an enclosure and will require connectors so the width of one battery should be under 12mm AAA batteries have a maximum diameter of 10 5mm which AA batteries measure to 14 5mm and when the extra size of an enclosure is added the AA batteries are too large For this design two Duracell Coppertop AAA batteries will be used however they may be replaced with any similar AAA battery operating at a nominal 1 5V per cell In interest of safety these batteries will be 32 monitored by a temperature sensor and voltage sensor to ensure
8. as it will be simplified method to connect to the device and observe if the module is receiving the information from the Android device When the module will need to be integrated onto the PCB a non soldered HC 05 will be used to solder the connections on to the assigned pins as it will be more effective in looking more presentable and it will conserve a little more space The HC 05 module will actually be directly connected to the board instead of having an abundant amount of wiring polluting inside the Puppy Pal s infrastructure The HC 05 will need to be configured to be interfaced to the system in order to configure certain modes the module uses AT Commands To configure AT commands the device will need to communicate via serial connections with the MCU and a computer using a serial communication software such as HyperTerminal If using the Arduino UNO for prototyping and testing configuring the module in the Arduino IDE can be used The Arduino IDE comes with an embedded serial UART functionality The AT commands will be used to primarily to display the specifications of the device and to change the specifications if it is needed Table 4 7 provides simple AT commands that can be used to set and or check certain specs An AT command that may be significant is finding the MAC address of the module the MAC address will needed to interface precisely to the Android application Another AT command that will be needed is determining the baud
9. gt Subject Permission to use figure gt gt Message Body gt Mr Marian gt gt am an electrical engineering student at the University of Central Florida am requesting permission to include the schematic in your article Electronic Dog Whistle Circuit in my senior design paper as a reference to how to implement a dog whistle to our system This would help me determine which potential design would be best to use Instead of the mechanical switch the circuit will be triggered on by a microcontroller output gt gt Thank you for your time hope to hear from you soon gx gt This mail is sent via contact form on Electronic circuits amp Projects http electroschematics com gt Popescu Marian Permission to use Figure 3 3 4 1b Pending Permission to use image H Afzal Shafi lt pingshafi2k11 gmail com gt 7 49 PM 1 minute ago La to hal8000b Mr Lazar am an electrical engineering student at the University of Central Florida am requesting permission to include the schematic in your article Ultrasonic Dog Whistle Circuit in my senior design paper as a reference to how to implement a dog whistle to our system This would help me determine which potential design would be best to use Instead of the mechanical switch the circuit will be triggered on by a microcontroller output possibly using a MOSFET or CMOS switch Thank you for your time hope to hear from you soon Permission to us
10. hardware to be implemented with the MCU To conclude a method that requires the least amount of space in hardware and draw the least amount of current will be the best approach in choosing hardware in integrating a sound system 3 3 4 1 MP3 Shield with 8 Ohm Speaker Connecting an 8 ohm speaker directly to an output pin from the MCU could draw too much current to the system under extreme conditions potentially destroying the pin and adding a resistor above 120 Ohms will not output a high quality sound from the speaker An MP3 shield of some sort can be used with a small eight ohm speaker to output sound from the Puppy Pal If using an ATmega328P MCU the Arduino MP3 shield can be potentially be used The shield has an UART interface with an audio amplifier embedded on the board to drive a 3 watt speaker and a volume control functionality The shield reads in an audio file from an SD card or USB flash drive in MP3 or WAV format If the user does not want an external storage device connected at all times there is a built in SPI flash memory to save audio files from the SD card flash drive to the shield 9 Figure 3 7 illustrates a block diagram of integrating a sound system using an MP3 shield The shield is programmed from the main MCU so control functionalities and input output pins are set through the Arduino IDE software The benefits of using this design will give the user a choice of what sound is being played from the device and multiple sou
11. lt lt static gt gt run virtual void message Iert void lt lt static gt gt get_current mode Mode check_new_message void get_last_mode Mode set_mode mode Mode MotorControl PathRunner overall_speed_appx_ int current_path Path AutonomousiMode turn_angle_ int run_next_path int WaitingMode standing_turn degrees int void next_path_index int ernest move_right_wheel speed int void move_left_wheel speed int void run_path path Path void K Pidan get_left_wheel_speed int run_path_list path_list list lt Path gt void get_right_wheel_speed int end_current_path Figure 5 2 Puppy Pal software class diagram Hardware Interface The Hardwarelnterface class provides an easy to use means of accessing the hardware of the microcontroller From a user s standpoint this makes the code easier to use and read From a performance standpoint the code will be less prone to error and easier to trace problems because of the overall modular effect this puts on the code The class implements the Singleton design pattern to ensure that two or more areas of code are never trying to access the same data with different objects The class s public data members are shown in the class diagram Figure FIG and of the most important of the list is the private static interrupt member function uart_interrupt which is the interru
12. 1 Bluetooth Module Hardware ne 64 4 5 2 Android Re 67 4 5 3 Android Ee eier e D 67 4 54 Algor DEE 68 4 5 5 Detailed HC 05 Schematic en 68 4 6 Location Detection Gubevsiem nn 69 4 7 Motion Detection Gubevstem nne 71 AN E 71 4 7 2 BASCXSMALCING SUTIN D 72 4 3 e 74 z Pal amie TEE 74 4 8 2 Base Charging Staion DEE 75 A BeBe TEE 76 4 9 Sound SUDSYSIOM ee 78 4 9 1 Sound System Hardware cceseseeecccceeeeeeeeeesseeeeeeeeeeeeeeesssseeeeeeeeeeess 78 4 9 2 Sound System SWIC EE 79 4 9 3 Sound System Detailed Schematic sseeeeeseeeseeeesseeeseesseeseseeeeeeees 80 410 Ball Sehem ale a a a atta E a A A A EE EAE 82 5 Design Summary of Hardware and Software cceeeeeeeeeeeeeeeeeeeeeeeeeeeeneeeeeeeeeeeeeee 84 Be RE 84 5 2 Mechanical Housing Design Overnieuw EE 85 5 3 Software Cveniew EEN 86 5 9 1 te ele KR 90 E UE EE 92 5 3 3 MESSAGING Syst m EE 92 5 3 4 Bluetooth Communicatons 96 52 9 WOUGS as ce ik EE 96 5 3 6 Environment and Coding Gtandarcde enn 97 6 Prototype Construction and Coding sore sasccssccatecetecss eaveentecscacesetiendivessdeteseteneee ae 98 6 1 Parts and Acquisition EE 98 Bell den ee EE 98 6 1 2 Collar TE 99 6 1 3 Base Charging EE 99 6 2 PCB Vend6r and ASSCMDLY a e 99 6 3 Final Coding Eeer ee See 100 7 Project Prototype Testing cia cecs 2 sc cnctcccndeetdset cecnceai ENEE gece cecndeun deaideandeue deundeendenndece 104 7 1 Hardware Test Environ
13. Aside from movement apps also have the ability to control the LEDs inside the Sphero Puppy Pal only has two LEDs and they are for debugging purposes for their will be no need to control them from a user s standpoint 3 1 2 Remote Controlled Basketball Robot In this project a basketball moves along the ground based on input from a two channel radio and receiver Inside of the basketball a hamster ball holds the chassis The sides of the chassis are attached to the outside of the ball This holds the chassis in the middle of the ball A drive motor servo and steering arm are used for drive and steering A gyroscope was also included The bottom of the steering arm holds the batteries and weights With enough weight the chassis is kept parallel to the ground despite the ball s motion As the motor and servo rotate the steering arm in the desired direction the rest of the ball is pulled forward to keep up with the new center of mass The gyro senses the changes in rotation allowing for control This robot s mechanical system would be a straight forward solution to the mechanical design of Puppy Pal The main obstacles of this design are the weight used the construction or purchase of the chassis and control The use of only a gyroscope in this project left much to be desired in precision Puppy Pal could include an accelerometer to achieve a more clear cut sense of maneuverability than the basketball robot 3 1 3 Segway The Segway
14. Path object will be the most used The class also contains a flag that allows for sporadic or regular interval changes in the currently running path This is passed in by the Mode change message that tells the system to go into autonomous mode See Messaging System section of Software Overview Motor Control We will primarily be using a set of libraries called instaSPIN from Texas Instruments to control the motors for testing purposes in the development stages of the project Aside from InstaSpin this class will interface heavily with the Hardwarelnterface class and will only be used when in the AUTO or PHONE modes MotorControl will basically be an abstraction to the users for basic motor commands like still turning left and right move forward at a certain speed and turning which is basically changing the wheel speeds independently to create a slight offset Motor The Motor class will provide an software abstraction interface for a physical motor Since motors are technically controlled by a PWM control line on the microcontroller the Motor class will hold this information as well as its current PWM voltage which will also provide a rough estimate of the speed of the wheel is moving The MotorController will be composed of in the case of the Puppy Pal two motor objects to command UnitTester Testing will be done through a special class designed solely for running all available unit tests The class will be static and only compiled into
15. There are many other classes that inherit this base class but it s not necessary to go into detail about them Message Factory MessageFactory is a simple class that holds all the available message types There only needs to be one instance of this class so it implements the Singleton design pattern All messages are associated with a number and by calling this class s main member function generate_message you will get a new message of the type that corresponds to the integer value passed to it This class isn t a factory in the classical sense of the pattern but it does provide an easy way to generate messages which will clean up code and make it easier to read and use Message Handler MessageHandler is a simple class solely devoted to servicing new messages that come into the system It has only one public member function handle_message Other than being intuitive to think about this class cleans up code by encapsulating redundant commands that will be implemented in every mode s main functionality Mode Modes define a major state that the system can be in See Modes section of software overview To be in a certain mode means that you are telling the system to behave in certain way and the Mode base class is the basis for all of them For all intents and purposes this is essentially the main loop of the system With that being said it is important that they have graceful exits to avoid unrecoverable system errors Mode Ma
16. a DC power supply and the other will be from the MCU output pin A 12 volt battery or 12 volts from the DC power supply will be used for Vcc pins on the op amp To confirm if the switch is functioning correctly when a 5 volt is applied at the input there will be a 9 volt output Table 7 8 displays the results of the switch test 117 Voltage Vout Simulation Vout Expected 5 V Power 9V 8 93 V Supply 5 V MCU 9V 8 84 V OV OV 0 033 mV Table 7 8 Switch test results 7 3 9 2 Potentiometer Frequency Test Testing will be done to configure the best resistor value that will be used to provide the most optimal frequency The frequency that would be ideal would be around 20 to 22 kHz To test the circuit select a specific resistor value that represents the potentiometer on the schematic set the input to 5 volts and then measure the output signal using an oscilloscope The potentiometer frequency test results are displayed below Using test results will provide the most adequate resistor to be selected Table 7 9 shows the expectations for the test results Potentiometer Value Output Frequency 25 23 21 20 19 18 16 15 13 11 10 kHz Expected Table 7 9 Potentiometer Frequency test expectations 7 3 10 State of Charge Test In order to properly monitor Puppy Pal s state of charge its battery s capabilities need to be studied The battery pack will power a circuit designed to speci
17. accelerometer sensitivity from the Android device editing the maximum minimum values on right left PWM values and other settings that can be configured Another similar project designs a home automation system using Bluetooth 5 The basic idea of the system is to control devices such as lights air conditioning fans and other around the home products that are limited to an ON OFF functionality using a mobile device The project reads in data from a HC 05 Bluetooth module Unlike the RC car project as previously stated the home automation system uses an Android application called BlueTerm which is an emulator for serial devices that use Bluetooth to communicate between the system and the Android device A user can use BlueTerm to directly send data to the module for the system processor to read in The items that the user wants to control will be connected from the PCB to the relays of those items Each item that the user wants to control specified in the MCU coding will have a specific output pin and an assigned ASCII character affiliated with it to either turn it on or off The BlueTerm application allows the user to send the specific ASCII character directly to the MCU in order to control the connected device This project shows a method in connecting the Android as a controller to multiple devices Figure 3 5 provides 18 a block diagram on how Android devices can be connected to multiple devices or systems that can be controlled within
18. all GPS modules are required to be facing upwards and may have other requirements that should be considered early in the PCB layout design stage IMUs and accelerometers have special requirements of placement with respect to hardware mounting locations to minimize unnecessary vibration and all specifications and suggestions in the device s datasheet will be followed The GPS chosen for this design is the Maestro A2100 B for its WAAS support A GPS support and accelerometer support primarily but the device was also found to have typical power requirements typical standalone GPS specifications and a reasonable cost In addition if the accelerometer based augmentation is chosen firmware support for the KXSD9 accelerometer exists and will be used This device will require an external antenna which has been chosen to be an active antenna requiring a maximum 5V supply voltage maximum 50mA supply current maximum 1 5dB noise figure and a gain between 15dB and 20dB including cable losses The SL1206 antenna from Sarantel is expected to meet these requirements including cable losses In Table 4 8 multiple GPS modules are compared Although the VPN1513 has many impressive features it is too expensive and lies outside of the scope of the project Power Table 4 8 Comparison of various GPS modules 70 GE WAAS A GPS Demands Price _oPecial Module Features volts Maestro Accelerometer A2100 B Yes Yes 1 7
19. amp motor1 motor2 d 0 motor1 tmotorz e Of orward Ge 2 an steering Ge d t x 0 Possible issues with this design could be encountered when steering too quickly In particular a temporary loss of control could occur if the device rotates far enough that the rotation from momentum is great enough to cause the device to rotate on an axis skew to the axis of the motor rotation Another possible implementation could be to place the two motors perpendicular to one another both placed at the center of the device as seen from their perspective The acceleration produced by the two motors would be found through vector addition with the individual accelerations produced by the separate motors 49 acting as perpendicular vectors to create the overall velocity vector The magnitude would be found by taking the Euclidian norm of the two angular acceleration of the motors a and the angle of steering would be found by taking the inverse tangent of the quotient of the double integral of two angular accelerations with respect to time and substituting the time which the acceleration occurred for t a EE eee 1 motor1 aforward X V Amotor1 Amotor2 and Osteering x tan dt Qmotor2 All of the designs mentioned in this section may have a stationary center meaning that the center makes no more than a quarter of a rotation from its equilibrium position or a free rotating center The advantage to the free rotating center is that it allows f
20. balances on two wheels using a system of sensors to follow the rider s center of gravity Five gyroscopes and two tilt sensors are used to detect the rider s movement atop the Segway This information is used by the transporter s control circuits to decide on the proper course of action going forward turning stopping or sitting still If the mechanical system uses changes in the center of gravity to drive movement Puppy Pal will incorporate its own system of sensors to decide which direction is best and to balance quickly when sitting still The Segway shows that such a system with built in redundancies can be effective Figure 3 2 shows the forces acting on the Segway and its rider As the rider moves Segway uses the data from its sensors to find what action will keep the rider balanced 3 Unbalanced forces create toque and result in falls and injuries Puppy Pal will need to do this as well It will also use data from the dog s collar to decide how to interact with a dog when in autonomous mode 13 Rider Center of Gravity Gravity Weight gt Acceleration gt Segway Reaction lt i Rider Reaction Sum of Segway Forces p Sum of Rider Forces ete Balanced Forces Stationary Acceleration Cruising Deceleration Rider and Segway Rider and Segway in Rider and Segway in Rider and Segway in in Dynamic Balance Dynamic Balance Dynamic Balance Dynamic Balance v 0 fils a 0 fises a 3fises v 8 fis a 0
21. ball is not always located at the center of the play area and is not always oriented the same way however placing this system on the charging system can eliminate both of these issues This now means that the charging station will also require a communications subsystem to relay information to the main processor on the ball Since this device is intended for use both indoor and outdoor any sensors particularly infrared or optical sensors must be capable of properly functioning in full view of the sun Factors important in choosing components for the base charging station s motion detection subsystem will be the range of detection the method of detection and experimental effectiveness and its cost 2 3 8 Sound Projection Once again as stated previously a specification of the device is to keep the dog engaged a way of doing that is implementing a sound projecting subsystem to 8 attract the animal to the device A simple way of looking at it is if the dog is ata far distance from the device the system processor will turn the output connected to the sound projection subsystem on to play a brief sound clip to grab the attention of the dog The sound system will be triggered by a motion sensing system that will measure the activity of the dog for example if the dog has a consistency of movement and is appeared to be active the sound will be activated to lure the dog towards the device However if the sensor reading displays inactivity it
22. charging in order to allow for a fully enclosed physically secure device with no external components or connections which could be destroyed The key factors affecting design of this subsystem are size and cost 6 power rating and range from charging coil to receiving coil and the efficiency over the range Components used in the wireless charging subsystem will be either certified or compatible with the Qi Version 1 1 standard from the Wireless Power Consortium WPC where applicable in order to create a more robust design WPC 1 1 defines the type of inductive coupling and the communications protocol allowing the receiver to be charged by any other WPC 1 1 certified charger and selection of components which were designed to the same specifications to obtain better efficiency and minimize the chance of error in the design Power rating and efficiency in the wireless charging module are important for lowering the charging time as well as conserving household power but will have minimal impact on the system s battery life for a given charge therefore size and cost will be the major driving factors Size of the receiving coil is very important due to the positioning constraints of a sphere the smaller the coil the closer it can be to the transmitter coil making the link more efficient The required components for this subsystem are a reliable and regulated power source a wireless power transmitter connected to a transmitting coil a wire
23. detected signal must also be transmitted as opposed to passive in which the signal must only be detected In addition to the drawbacks of active systems dogs can hear higher frequency tones than humans and could potentially hear the ultrasonic sensor which may be stressful or an annoyance For these reasons this design will attempt to use a PIR sensor as the proximity sensor 35 The simplest choice for a wearable motion detection system is an accelerometer An accelerometer can translate mechanical movement into an electrical signal proportional to the strength of the motion This electrical signal can be communicated to external devices in many ways but the most common are as an analog voltage or a serial communication protocol where the value of each byte is proportional to a sample of the analog voltage produced Depending on the communications system used one method may be more useful than another and will be a factor in choosing the accelerometer used in the prototype The requirement that this subsystem be capable of differentiating between a dog that is sleeping and a dog that is awake poses a problem because dogs like people tend to toss and turn while they are sleeping During motions like this it is difficult to establish a threshold that can determine a difference between waking motion and sleeping motion One option for determining the difference could be to impose a time and magnitude constraint so that a temporary movement
24. dog in a small area such as a room in a house thus the motors would provide enough torque to cause rotational movement of the spherical enclosure and cause significant translational movement of the center of mass of the device at this suggested velocity Theoretically that is neglecting any internal power losses to determine an optimal torque range to cause the device to move will require many mechanical equations Ideally the suggested velocity can be used to conclude how much current will be needed to drive the motors The device will primarily be used in a household or an apartment it will be designed in order to move swiftly and thoroughly across carpet tile or a wooden surface of some sort Depending on the material of the floor the speed of the device will vary especially on carpet where the coefficient of friction and rolling resistance will be significantly higher in comparison to the tile and wooden flooring For optimal mobility it is safe to choose the material and torque needed assuming it will be designed to be used on carpet WEIGHT l i SPERICAL ENCLOSURE Electrical MOTOR Power NORMAL E FRICTION FORCE FORCE Figure 2 1 Free body diagram of device 2 3 3 Autonomous Movement Autonomous movement is critical to the Puppy Pal It is a key feature that separates it from other similar devices like the Sphero The point of having autonomous movement capabilities is to simulate human movement while no
25. maneuver Puppy Pal The control system will consist of gyroscopes accelerometers and encoders The data collected will feed to a microcontroller and decide how Puppy Pal should behave in order to follow commands quickly and stay quick and balanced along the way The flow of information is shown in Figure 4 8 below In 56 this block diagram the controller receives data that describes the behavior of the motors and the ball as a whole The accelerometer measures how quickly Puppy Pal is accelerating in any direction The gyroscope measures the speed of angular rotation of the PCB the sensor is mounted on to The encoder finds the angular position and speed of the motor it is associated with Gyroscope Ball s Angular Rotaton Motors Angular Positions TEG A Ball Speed Accelerometer Commands Figure 4 8 Block diagram depicting the flow of data in the motor control system 4 3 2 Hardware The parts discussed in this section are considered based on how they can best be incorporated into Puppy Pal s control system Extra components that are needed for proper integration are also discussed but only in the context of the device they would be associated with 4 3 2 1 Gyroscopes The gyroscope used in this project must be small enough to fit on the PCB sensitive enough to sense the slightest change in stability and able to communicate with the motor controller seamlessly This type of sensor tends to constantly
26. measure and update angular acceleration When converted into a digital signal much of the output s information is lost The loss of this data can result in incomplete information being sent to the controller 57 LPY550AL The LPY550AL has been discontinued to make way for newer products As a result suppliers have put the device on clearance reducing the cost of the sensor from 19 95 to 11 95 The price drop makes this sensor a sensible candidate for Puppy Pal s feedback control system This gyroscope measures the angular rate along the x and y axes There are output pins for each axis It requires a power supply between 2 7 and 3 6V This range requires the use of a voltage regulator for integration with the rest of the project The breakout board that comes with this product includes a voltage regulator that works with inputs up to 16V The output is analog and there is the option to use an amplified signal The gyroscope is very sensitive The amplified output signal can be used to detect movement up to 500 s The unamplified output signal can be used to detect movement up to 2000 s Both signals have an amplitude of 1V In order to feed information to the microcontroller these signals need to be converted to a digital signal The analog to digital converter of the microcontroller will be used or another one will be added to the circuit This sensor is very sensitive and allows for precise detection However this level of sensitivity
27. multilateration systems using electromagnetic ultrasonic or infrared sensors In addition to these standalone systems hybrids and augmentation systems will be considered 2 3 7 Motion Detection The primary need for a motion detection system arises from the need to keep the dog occupied at all times while awake without becoming a nuisance when the dog is sleeping however this system will also enable an intelligent sleep mode to extend battery life The motion detection subsystem must be capable of independently determining when dog is awake regardless of proximity within the limitations imposed by the communication subsystem and when a dog is within the region of play The requirement of determining that the dog is awake suggests that this device be located on the dog and thus will require a communications system to relay information to the main processor on the ball This device will be attached as a collar and must be of minimum size in order to avoid causing discomfort This system will have to intelligently discriminate between a dog adjusting while sleeping and a dog that is fully awake to avoid irritating the dog This subsystem must also determine when play is over to enable sleep mode and allow for longer battery life The requirement for determining when a dog is within the play area means that this subsystem could be located either on the ball or on a separate device Placing this device on the ball imposes complications because the
28. must also know how much time this device will be used Since this device is intended to operate during the time the owner is travelling to and from work as well as the time the owner is at work the expected daily operation time is 10 hours It is widely known 76 that dogs take frequent naps and have sleep patterns that differ greatly from humans The amount of time a dog sleeps daily varies greatly with age breed and most importantly with the level of excitement of the environment however the typical dog will spend about 14 hours every day sleeping 28 Since dogs will sleep most of the time that the owner is asleep it can be expected that 8 of these 14 hours every day are at night when the device is inactive During the time the owner is away the excitement level of the house decreases greatly and the dog will tend sleep more It will be assumed that the dog spends about 4 of the ten hours sleeping In addition to the time spent sleeping the dog will spend a large portion of its time outside of the play area leaving the device in an awake but motionless state If it is assumed that the dog will spend no more than 4 of the 6 waking hours in the play area the energy capacity requirement of the batter can be calculated as follows Capacity 1025mA x 4h 25mA x 10 4 h 4250mAh This capacity is a rough estimate and the actual required capacity will vary greatly depending on the dog e activity level and level of interest in this dev
29. on the device Where the true brains comes into this product is its ability to find its way to its charging station This is something that the Puppy Pal tries to directly mimic From a top down perspective the Roomba is circular with a front and back designated by bumpers on the left and right There are four infrared sensors on the front back left and right sides of the device The Roomba home base also has an infrared emitter on it and when the Roomba needs to get back it uses time difference of arrival TDOA to know which way to turn takes a little move forward and then does the same thing over again Using this technique along with the bumpers and wall detection the Roomba does some crude path finding back to its charging station There s a lot to be learned from this example but the Roomba s physical dimensions are much greater than that of the Puppy Pal device In other words TDOA is significant with the Roomba whereas TDOA on the Puppy Pal would provide almost no difference and the small differences would have to be accounted as error because of their sporadic changes There are other autonomous cleaning robots that achieve mostly the same effect which include the Neato XV 12 and Mint Plus Aside from different detection features and shapes these devices act in much of the same way as the Roomba Urbie the Urban Robot from NASA could also provide a lot of inside to the Puppy Pal because of its ability to maneuver in
30. op amp will be used An op amp will be used for many reasons one reason is for low current applications It is an important protocol that the MCU will not be introduced to a dangerous amount of current This is possible because a typical op amp has a high input impedance Figure 4 15 illustrates the design of the switch that will need to be used to turn on the sound system The Vcc pin will be connected to the main power source in this case the positive 12 volts to Vcc and negative 12 Volts to Vcc When the LOW voltage is amplified when the MCU output voltage is 0 volts an extremely low voltage that is negligible will be at the output of the op amp which will be too low to turn on the sound subsystem More specifically the op amp will be configured in the non inverting amplifying mode To amplify the 5 volt input to around 9 volts to trigger the sound system the op amp switching circuit will need to be configured a specific way To configure the circuit it is important to choose the correct values of resistors to output a 9 volt nominal voltage to turn on the 555 timer The range of around 9 12 volts is needed for optimal operation When the op circuit is configured in the non inverting mode the following equation can be used to determine the ratio of resistors wun ey Bi werguacnenen MCU Output LOW IO Figure 4 15 Multisim schematic displaying the switch that will turn on the sound projection hardware 79 Tabl
31. perpendicular to the direction of motion to allow for steering This would require that the center be stationary to allow the center of mass movement system to work and would only allow for powerful motion in one direction that could not be adjusted when the device is stationary The stationary center also means that this design will benefit from the simplified design and improved performance of the GPS location detection subsystem To mitigate this issue the device could benefit from using three motors the additional motor being an azimuthal steering motor allowing the device to make more abrupt turns at slow or zero speed and make turns at higher speed while still remaining stable 50 4 2 Mechanical Subsystem Puppy Pal is a mobile robot Its spherical shape presents a less traditional challenge for design A chassis with wheels and motors will not suffice For this project the mechanical system s design will consider the use of wheels to spin the surface of the ball and the different ways shifting the center of mass can drive the ball s movement The device needs to be able to accelerate and decelerate quickly maintain a constant speed and stay balanced while stationary and along a straight path 4 2 1 Design In this section the mechanical designs considered for the project are discussed Their merits and faults will be explored along with their possible interactions with other subsystems The design most appropriate will be chose
32. rate or changing the baud rate This will be needed to interface with the microcontroller and a baud rate of 9600 is usually a typical baud rate that is used for MCU applications In addition to retrieve some sort of connectivity to the Bluetooth 65 module from the Android device the mobile Android device will need the password and name of the Bluetooth module As there is an AT command to get the password and name of the module An AT command will be needed to check if the device is configured as a slave or a master device Also an AT command to change the device to a slave if it is originally configured as a master device may be needed If the module may somehow get corrupted and will need to reset to its default setting an AT command restoring to the original setting may be potentially needed When the module is configured to reset it sets the pin code back to 1234 and baud rate back to 38400 bps Under some system debugging circumstances the firmware version may be needed to view if the Android device will be able to connect to the module To check the state of the module is a significant aspect of making sure configuring to the Android device will be done correctly Response S Command USER From HC 05 Functionality ADDR lt address of the To retrieve the address AT ADDR e of the Bluetooth Module AT UART lt 9600 1 2 gt OK Set baud rate to 9600 UART lt baud H rate gt lt stop bit gt
33. station because it is defined as the center of the area of play Many methods exist for sensing the proximity of an object and examples can be seen every day when walking past an automatic light Systems of this type often use Passive Infrared PIR sensors to detect the thermal radiation produced by all objects at temperatures greater than zero Kelvin These systems are capable of determining when an object in a specific range of temperatures moves through the field of view by measuring the difference and rate of change between the current Infrared IR radiation level and a previous level 16 Increasing the number of locations the IR radiation level is measured is similar to increasing the number of pixels on a screen and will result in a more sensitive system Since this type of system is designed filter out average temperature and detect rapid changes in IR radiation levels it is capable of functioning in full view of the sun as well as indoors 16 Other systems of similar nature such as sonar using ultrasonic sound in place of IR radiation and radar using radio frequency electromagnetic radiation in place of IR radiation also function similarly The drawbacks of using sonar and radar devices is that they are typically active systems because there is no easily discernible sound or radio signal that is unique to all objects that must be detected as is the case in IR applications Active systems will require more power in general because the
34. take this possibility 34 into account possibly going through recalibration each time the battery is charged Different methods can be used together to find the approximate battery life For NiMH batteries measuring current and integrating it is a valid option 14 The downside of this method is that current will not be drained at a constant rate while Puppy Pal is active The motors driving the toy will not always consume current at the same rate In addition this method works best when the battery has been charged completely after having been fully drained If the amount of current used to charge the battery to 100 is known then the amount of current need to drain the battery can be estimated To do so a current sensor is needed to measure the current going into and leaving Puppy Pal s battery pack during charging and discharging respectively Before a specific sensor can be selected the range of current of the battery pack must be determined 3 3 6 Motion Detection The motion detection subsystem will be composed of two individual subsystems one for determining when the dog is awake and one for determining when the dog is within Puppy Pal s area of play The two independent subsystems will provide the ball with individual signals and will allow decisions to be made based on whether the dog is awake in the play area or both The subsystem for determining when a dog is within the range of play will be located on the base charging
35. talking about microcontrollers the hard part of choosing a chip is sorting through all of the different options that each provides The ability to add and remove features as needed provides a huge advantage when working with FPGA Unfortunately you must use a HDL to go about doing this Another consequence of FPGAs is that they consume much more power than 26 microcontrollers and there are typically no optional low power modes to choose from Furthermore FPGAs do not handle serial communications as well as microcontrollers Serial communications is one of the most vital operations of the Puppy Pal and could not function without it FPGAs are a great option for many projects but in the case of small embedded systems the overhead they come with is not worth the risk 3 3 3 Motors and Actuators Mobility and maneuverability are two of Puppy Pal s features Motors are required to initiate movement and to choose the direction the device will go The types of motors chosen will meet the needs of the mechanical design without hindering speed steering or power The actuators used would also meet these criteria 3 3 3 1 DC Motors A DC power supply is the most practical source for this project This means the use of DC motors are preferable to AC They use less power and would not require the project to be connected to a power outlet at all times Brush DC Motor A brush DC motor is cheap and simple The simplicity almost makes a control sys
36. the program when UNIT_TEST is defined The class consists of only static member functions each of which has a special define that should be set if that unit test is to be run When unit testing is enabled the UnitTester class will take over the main functionality of the program After the unit test has completed the system resumes its norming operation by instructing the system to go into WAITING mode see modes section of Software Overview From here the system waits for input from either the collar device or an Android device 89 Class Name Brief Description Special Attributes Provide an abstraction between e Singleton Hardwarelnterface microcontroller hardware and e Static interrupt programmer member function Message Base class for all messages sent and e Abstract base 9 received by system class MessageFactory Generates messages based on e Singleton message type number MessageHandler Gets unpacks and runs messages when De SET they arrive Mode Generates messages based on se E E message type number Kette Handles switching between system Singleton modes Handles running paths when in MotorController Interface to all motor commands Motor Controls a single motor e Static UnitTester Holds and runs all unit tests e Only run in unit test mode Table 5 1 Summary of Puppy Pal software main classes 5 3 1 Android Device Next the Android device software for controlling the Puppy Pal The requirements state that a p
37. the Base Charging Station and one determining the functionality of the motion detector on the Collar In addition to the two individual tests one final test will be conducted once the entire system has been built The method for testing the collar will include tests simulating the motion of a dog adjusting during sleep a dog waking up and moving and a dog returning to sleep The test of the dog adjusting during sleep should trigger an interrupt from the accelerometer waking the Bluetooth SoC to process the data and result in the device returning to sleep without transmitting The test of the dog waking up and moving should result in an interrupt from the accelerometer waking the Bluetooth SoC to process the data and result in the device transmitting the motion detected signal to the ball for further action The test of the dog going to sleep should result in the collar determining that motion is no longer occurring over the specified time interval and transmitting the play ended signal to the ball and the collar returning to sleep The method for testing the Base Charging Station s proximity sensors will include tests of a dog walking through the play area living beings of various sizes walking through the area inanimate objects in the play area and slightly moving objects in the play area The first test of a dog walking through is the most important and it will be determined how much motion is required by the dog t
38. the most significant load and can be expected to draw a maximum of 2 amps at 3 3V Other components will account for an approximate 100mA and the safety margin will be 75 to round up to the nearest amp making the nominal power requirement 3A at 3 3V or 9 9W which will also be rounded up to 10W 4 8 3 Ball The power requirements for the ball are difficult to estimate because of the wide variability in power consumption of the motors The motors selected for this project have a 200mA no load current consumption at 12V however testing has shown even at only 6V the current consumption can spike to 1A stall current The expected peak torque requirement for our mechanical systems is approximately the torque produced by the 6V 1A stall current with the typical operating power requirement being a large portion of the peak power requirement due to frequent accelerations decelerations and sharp turns Assuming a constant power efficiency over voltage and load it can be expected that the current required to produce this same torque at 12V would be approximately 500mA making the total current required by the two motors 1000mA For the power system design it will be assumed that this power is the maximum required by the main driving motor The total requirements from the processor location detection communication sensors and control systems will be no more than 200mA peak when all systems are active and 100mA typical at an operating voltage of a
39. then be processed and if it is determined that the dog is awake a single message is transmitted to wake Puppy Pal if not the device will return to sleep mode The basic functionality of this device and flow of signals is described in Figure 3 13 41 Figure 3 13 Block diagram showing the flow of control data and power in the Collar 3 4 2 Remote Control Diagram Figure 3 15 displays a diagram visualizing the process of determining the direction of movement of the main system From observing the diagram when the device is set to remote control mode it is seen that the signal sent out of the Android device works directly with the motor control s How the motor control operates is dependent on what character the MCU reads in from the UART The character will be sent from the Android device and received from the Bluetooth module interfaced to the MCU and the characters read in will determine the direction of movement It is important to set each command to a different character If there are two characters set to two separate actions it may cause problems when the control unit is reading in information For example if turning right and changing modes are set to the same character when the user sends the command to turn right there is a high chance the system will not obey and change the mode of the system This algorithm will be implemented for other user control methods as well If an analog control wants to be used specific signals w
40. transmitter on the Puppy Pal device shall receive two bytes before it assumes a complete message has arrived The device shall check the received two bytes for their integrity by asserting that the first four bits are a valid message index UART Communication Test The bluetooth receiver transmitter of the Puppy Pal device shall send received messages to the main processor via UART communications To test this the processors shall send fake messages to the Bluetooth receiver telling it to create a valid message and send it back with all data fields equal to OXFFFF The message shall be acknowledged and checked for correct values If messages are not correct and error will be alerted otherwise the test is considered a pass Bluetooth Message Integrity Test A baud rate of 9600 will be used to ensure that message are sent quick enough with minimal error is receiving This test will stress test the sending capabilities The test shall send 50 Bluetooth messages and assert that 96 of the messages 48 have arrived correctly 7 3 Hardware Specific Testing In this section examination of the different features and subsystems of Puppy Pal is discussed These tests are measure how closely the project has come to the initial goals Testing shows if different parts behave as expected They will bring insight to the project demonstrating the progress made 7 3 1 Speed Test Different types of surfaces will be used to see how quickly Puppy Pal can
41. when not being handled harshly This accelerometer will not be used LIS331HH This accelerometer is 27 95 from Sparkfun The sensor measures acceleration along three perpendicular axes The measurement range can be set to 6g 129 or 24g It would be possible to have one LIS331HH for normal motion at 6g and another set accelerometer set to 24g to properly measure the acceleration of a shaking dog that is holding onto Puppy Pal The sensor can be powered with 3V The output is digital The LIS331HH can send this 16 bit signal to a control with DC or SPI making it easy to connect to the controller The features of the three accelerometers are collected in Table 4 5 below MMA3201KEG can only measure in two directions and is not sensitive enough for this project The LIS331HH is versatile giving three ranges of measurement to choose from It can send data to a microcontroller more clearly and efficiently than the other accelerometers However it is nearly twice the price of the ADXL335 The ADXL835 will be the accelerometer used in Puppy Pal s feedback system Accelerometer EEN Output Signal Price ADXL335 3g Analog 14 95 MMA3201KEG 40g Analog 9 18 LIS331HH 6g 12g 24g Digital 27 95 Table 4 5 Comparison of different accelerometers 4 3 2 3 Encoders One of the most useful features of the TMS320F28069MPN the Texas Instruments microcontroller picked for this project is its motor control software Some of
42. which can all be met by a single power source a pair of AAA batteries and one voltage regulator a TPS 62730 supplying 2 1V for power saving purposes Using datasheets the maximum likely current consumption will 74 likely occur when the transceiver is receiving in high gain mode the led indicator is being flashed and the processor is reading inputs and making calculations This maximum current must be met and exceeded with a large safety margin in order to maintain a low battery temperature and maximize battery lifetime The expected maximum value can be calculated as Imax 16 7MA 20mA 5 1 2 mA 38 4 mA Expected active time per communication can and number of communications per day be approximated to provide the actual expected battery life Using datasheets and estimates of a 15mA communication current occurring 10 times per hour for a duration of 1 second a 20 mA led blinking current pulsed at a 10 duty cycle for 1 seconds every 5 seconds which equates to 720 times per hour and 5mA sleep mode current for the remaining time the average current can be calculated as 10 7 2 1 34mA 5ma xhi 10 2 lavg 15 mA X Zt 20mA x 1 X zooo AA and AAA batteries are the only two batteries being considered in detain for the collar because of their widespread availability and low cost Typical AA and AAA batteries of common chemistries produce 1 5V per cell and can be connected in series to meet these input voltage s
43. will be dependent on the potentiometer value testing for optimal conditions will provide the best resistor value The sound subsystem will require low power applications to limit a high current value from entering the MCU output pin 4 9 1 Sound System Hardware The design will primarily focus around the 555 timer and the piezoelectric sound generator The design does not require a ton of hardware components other than a couple of resistors capacitors and is power supply The system is powered by a 9 volt battery which can be gained from the 12 volt battery using a voltage regulator Since the project will use a 5 volt output from the MCU pin a op amp will be interfaced as a switching function The op amp will provide amplification of the MCU output voltage to be used to turn on the sound system Table 4 9 displays a table providing the hardware components that will be needed Component Value Type Quantity Op Amp Low Power 1 Resistor s Ohms 4k 1k 800 1000 2 Capacitor s 10 nF 10 uF 2 555 Timer NE555 1 12V Power Supply DC Power 1 Potentiometer Will vary 1 Piezoelectric Buzzer 82 dB 5 9 volts 1 Table 4 9 Table of sound system required hardware 78 4 9 2 Sound System Switch As displayed in the schematic in Figure 3 9 located in section 3 3 4 1 the design uses a mechanical switch to turn on the system since the Puppy Pal will be using a MCU for turning on the sound subsystem design an
44. will work together to move the center of mass and how components will fit together T r x m 9 81 and aporwara y f Front PCB Bumper Battery Pack Motor 1 azimuth Wheel Motor 2 main Figure 4 4 Front view of the mechanical design powered by shifting the position of the center of mass showing how components interact Top Bumper Wheel Battery Pack Motor 1 Azimuth Motor 2 Main Figure 4 5 Top view of the mechanical design powered by shifting the position of the center of mass showing how components interact 48 Right Side Bumper PCB Battery Pack Motor 1 azimuth Motor 2 main Wheel Figure 4 6 Right side view of the mechanical design powered by shifting the position of the center of mass showing how components interact Another way to implement this design is to place the two motors in a parallel direction on opposite hemispheres positioned symmetrically with respect to the direction of motion with the average angular acceleration a of the two motors being proportional to the forward linear acceleration and the difference between the double integral of the angular accelerations with respect to the time the acceleration difference occurred being proportional to the steering angle assuming a starting angle of zero The rate at which the device turns will also be inversely proportional to the distance perpendicular to the direction of motion between the two motors dx t
45. 0 20 4 5 10 5 10 5 0 3 Month room tempersture Cell Voltage nomins 1 25V6 1 25V6 2V 3 6V 3 6V 1 5V Load Current pesk 20C 5C 5C7 gt 2c gt 2C 0 5C best result 1C 0 5C or lower 02c 1C or lower 1C or lower 0 2C or lower Operating 40 to 20 to 20 to 20 to 0 to 0 to Temperature dischsrge 60 C 60 C 60 C 60 C 60 C 65 C only Maintenance 30 to 60 days 80 to 90 days 3to6 not reg not req not req Requirement months Typical Battery Cost 50 60 25 100 100 5 USS reference only 7 2V 7 2V 6V 7 2V 7 2V 9V Cost per Cycle USS 0 04 0 12 0 10 0 14 0 29 0 10 0 50 Commercial use since 1950 1990 1970 1991 1999 1992 Figure 3 10 Batter chemistry comparison showing benefits and drawbacks of common battery chemistries from Battery University 13 permission requested 3 3 5 3 State of Charge One of Puppy Pal s features is the ability to return to its charging station when power is low To do so the state of charge in its battery must be measured This value is used by the microcontroller to decide when to return to the base and charge A great challenge is accurately measuring the state of charge Determining the amount of charge left while the battery is discharging is at best an estimate In general a battery s maximum charge decreases with age As a result what was considered an 80 charge when the battery was new could be considered a 100 charge after a year of use or idle storage The method used will
46. 1 9 17 57 support Yes fora Jupiter d SE880 Yes trial 1 8 13 76 No period Can track up to 20 satellites vee Sree GPS Yes No 3 3 44 99 Recei rechargeable eceiver battery on board 3 3V regulator 4 7 Motion Detection Subsystem 4 7 1 Collar The collar will be attached to the dog s collar and will function as the sensor for determining whether the dog is awake or sleeping based on input from an accelerometer The basic functionality of this system was described in Figure 3 and the implementation of this block diagram is described by the schematic in Figure 13 The two AAA batteries in series provide approximately 3V but will vary with the current being drawn and decrease over time In order to provide a constant supply voltage and to minimize power consumption a step down converter will supply the Bluetooth System on Chip SoC CC2541 with a constant 2 1V until the batteries reach a series voltage of about 1 9V Since this supply voltage falls within the range of the accelerometer ADXL350 and the sum of the two maximum required currents fall well below the maximum current the step down converter can supply both devices may be powered by the single regulator In order to obtain the velocity signal from the accelerometer numerical integration of the acceleration signal can be performed in software Integration errors will not be an issue since the total time the position will be measured will be relatively short and i
47. 4 5 3 Android Application There are many ways to develop an Android application One way is to use the Eclipse IDE this particular workspace is programmed in Java The Eclipse IDE are created by an open source community so many tutorials and potential reference designs may be used However due to the learning curve that comes with learning Java another technique to develop an Android application may be used The MIT 67 App Inventor provides a simple way to develop an Android application with little to no background in programming The way the program works is that it is assembled on a webpage with no coding required The software uses simple to understand logic blocks that the potential developer will just drag and drop with respect to requested motion 4 5 4 Algorithm The algorithm when the Puppy Pal is in remote control mode is basically each motion or action will be represented by an ASCII character The user will push a button which will send a specific character that will be read by the Bluetooth module The system will react depending on which character is sent There will be buttons or actions representing the following actions turning the system on turning the system off moving the system left moving the system right and giving the user the ability to configure a play radius The play radius will be dependent on the environment The user will be able to controlled using a slider located on the interface of the Android applicatio
48. 922 meters with LPV being available a minimum of 96 23 of the time 21 This project will benefit greatly from the use of a GPS module capable of using the WAAS system when in North America and could be modified to use other Augmentation systems in other parts of the world Differential GPS DGPS could also provide an improvement in accuracy and can be mimicked by measuring the difference between a current signal and a stored signal but true DGPS would require additional equipment and could quickly become too costly It can be expected that if the stored signal is updated on a daily basis which it will be this system may see some improvement due to the cancellation of spatially correlated position errors Assisted GPS AGPS can also be used as an augmentation system if it is found that the Time to First Fix TTFF is too long but will require additional hardware and internet or cellular access to provide any improvement An Inertial Measurement Unit IMU a device capable of measuring accelerations and orientations to determine precise movements could be used in addition with 37 the GPS system to provide more accurate position data using a Kalman Filter allowing for more precise positions at the cost of an IMU The reason that an IMU is not considered a practical option for a standalone system is due to the tendency to drift over time A use of one or more of these augmentation systems could improve the accuracy over GPS drastically and mo
49. Check baud rate stop ATSUART lt parity gt bit and parity OK AT PSWD lt pin set gt OK SENDE PITCOAETOT module e PSWD lt default pin gt Check the default pin AT PSWD OK code of module AT NAME lt set name gt OK Set the name of the module Set module to slave or AT ROLE lt 0 or 1 gt OK master 0 slave 1 master a ROLE lt 0 or 1 gt Check if the module is AT ROLE OK slave or master device Sets module back to AR ORGL OK default state VERSION lt firmware Cheeks ihe firmware AT VERSION version gt OK version of module Checks the state of AT STATE STATE lt state gt device different states are provided below Po are provided below Table 4 7 Table listing relevant AT commands for the HC 05 Bluetooth Module Data gathered from electronicaestudio com 66 The state the Bluetooth module can be are determined by the following potential responses INITIALIZED READY PAIRABLE PAIRED INQUIRING CONNECTING CONNECTED DISCONNECTED and NUKNOW The state of the device is significant so it will be a good exercise and precaution to use the AT command to check the state of the module before attempting to connect to the MCU or the Android device to reduce the chance of additional debugging 4 5 2 Android Device The Android device that will be used as a remote controller will be the Motorola Atrix HD which is a smartphone that has Bluetooth connectivity and running the Android OS also has an embedded acc
50. LLOW LED LEFT TURN COMMAND Figure 7 1 Android RC test procedure for button and tilt control If all components are working correctly when the user pushed the forward command the green LED turned on for reverse the blue LED turned on for a right turn the red LED turned on and for a left turn the yellow LED turned on 7 3 2 4 Tilt Control Testing Tilt control testing will be conducted in a similar fashion as in the button control test the major difference is that the accelerometer function of the Android device will be tested to send out movement commands Direction of tilting will represent the command that will be sent for example if the system is functioning correctly and the user tilts the Android device forward it will correlate to a forward movement command The same test procedure used in the button control testing can be used If the tilt control is functioning ideally when the user tilts the Android device forward the green LED turns on For a reverse tilting motion the blue LED turns on For a tilting motion from 30 to 90 degrees to the right turns the red LED on and for a left tilting motion the yellow LED turns on 7 3 2 5 Timing Response Test It is important to test the timing in remote control mode between when the command for the motion is sent and when the ball starts moving Since timing will be too difficult to actually measure the testing will be purely observational Too much of a delay may not be accepta
51. Puppy Pal Senior Design Group 11 Marshall Smith Afzal Shafi Anson Contreras Cameron Riesen Table of Contents 1 Executive Summary E 1 2 Project DESOM PUI ME 2 CN NN Ge Neen EE 2 2 2 Goals and Objectives EE 2 2 3 Project Specifications and Heourements 3 Se EUAN FEY EE 3 232 ele 4 2 3 3 Ee elen E ENEE 5 294 Ee COME EE 6 Boo Wireless Chargihg mirsi coach oat cen eon cleboat een ieee cle hia casi p eat ea belo 6 2 3 6 Location Detection e Aere centred e vended eebe eebe eege 7 Zon E eieiei RR Te EH 8 23 8 SOUNA le de EE 8 239 POB EE 9 3 Research Related to Project Definition AEN 11 3 1 Existing Similar Projects and Producte 11 o Aa E WE E 11 3 1 2 Remote Controlled Basketball Hobot 12 KE E ORO E 13 Ee SONA PROG EE 14 3 2 Relevant Elle e 15 3 2 1 Autonomous FROM OTC secs ssn tain on dln ean denen ln og 15 3 2 2 Android Remote Control Applications ccccececeeeeeeeeeeeeeeenneeeeeeeeeeeeeees 17 3 3 EELER 19 3 3 1 Wireless Communications seess 19 SE WiFi ee ete 20 e EE EE 20 roc E gum 1 910 EE 21 3 9 2 System Processing E 23 SC MICKOCONIONES EE 23 3322 veer 26 3 3 3 Motors and Be e 27 Sl eet reii A a 27 Osis AC MOTOR EE 28 3 3 3 3 Servo Eet tegebeneegeutgegente eeng ege e ee Eege eeneg 28 3 3 3 4 Linear Actuators seade ccredlenciciticscecntienid endless cadlenddebdvendecndlentvehddentetesdaed 28 3 3 4 Sound System Technoues 28 3 3 4 1 MP3 Shield with 8 Ohm Speaker ee 29 3 3 4 2 Pie
52. a household Bluetooth Module 1 MCU 1 Relay 1 Ceiling Fan Android Device l hM I M Rel H Appli Bluetooth Emulator Bluctoom Module 2 cu2 elay 2 ome Appliance Bluetooth Module 3 MCU 3 Relay 3 Lights Figure 3 5 Block Diagram illustrating Android control over multiple systems 3 3 Strategic Components 3 3 1 Wireless Communications There will be three wireless communication systems that will need to be implemented into the entire system For example there will need to have a method of wirelessly communicating between the ball and the Android device the ball and the charging station and the ball and the collar that the dog will be wearing Ideally the ball and the charging station will not exceed a significant difference in distance however the distance between the collar and ball may vary Since there are three different wireless applications that will be implemented in the system potentially there can be multiple different components of wireless hardware modules that may be integrated into the system depending on functionality For example a GPS module can be used for location detecting a Bluetooth module for an Android serial connection and ZigBee hardware for reading input from accelerometer then sending data to the MCU Table 3 1 compares simple characteristics between Wi Fi Bluetooth and ZigBee technologies 6 19 Technology Wi Fi ZigBee Bluetoot
53. acing procedures to connect A possibility of using Bluetooth to connect to the charging station and dog collar may be potentially implemented however as of now the Bluetooth module will be specifically used to connect the Android device to the MCU on the ball which will use the UART functionality to read input from the user via Android application Other than Bluetooth being more cost effective on a hardware level it provides the simplest way to integrate on the system Most Android phones have Bluetooth connectivity so the system will be designed where all the user has to do is 63 download the application to their phone Ideally all the user will have to do is connect to the Puppy Pal which will be exactly like how the Android device would connect to any other Bluetooth friendly devices 4 5 1 Bluetooth Module Hardware The Bluetooth module that will be used to interface the Android device with the MCU on the ball will be the HC 05 The module is a small hardware with the size dimensions of 12 7 x 27 mm and in addition a very simple to use connectivity protocol The module can use Bluetooth V2 0 EDR with an enhanced data rate of 3 Mbps with a baseband of 2 4 GHz Some of the hardware features include a UART interface programmed input output control a minimum operating voltage of 1 8 volts with a nominal operating voltage of 3 3 volts an I O voltage of 1 8 to 3 6 volts a programmable baud rate and a built in antenna 25 The HC 05 c
54. allows the insertion of a current probe directly in series with the power supply current Multiple pairs of pins may be wired in order to determine the efficiency of individual components with the most important locations being the very beginning of the current flow at the output of the outlet used to measure total efficiency of the power transfer and one located directly at the input of the power transmitter to measure only the efficiency of the wireless power transfer The measured supply current and supply voltage will be multiplied together to calculate the total power supplied and the total power flowing into the system This process will be repeated on the supply side with one pair of pins located as directly at the receivers regulated power output As many test points as possible on the PCB will allow more efficient analysis if a problem is found and may allow problematic systems or components to be directly located There is no definitive threshold for a successful test but rather a continuous spectrum with ever higher efficiency with minimal redesign being the primary goal of this series of tests 7 3 7 Battery Life Test The first step for determining battery lifetime is to determine the power consumption of each subsystem Frequency and duration of operation can be approximated to determine an overall average power consumption value which can be used in conjunction with the required battery life time to provide a minimum energy capacit
55. ally BlueTerm The testing procedure is simple basically the user will intially stand a specific distance from the module then they will send a character from the emulator to see if the character is printed to the computer screen Table 7 3 displays the line of sight Bluetooth range test results The hypothesis is that the HC 05 module will be responsive up to 25 feet and will be out of range around 30 feet ZE In range Distance ft Character Sent Expected Expected Results Results ieee 1 1 bs Yes 5 A A Yes 10 b b Yes 15 4 4 Yes 20 ES 3 Yes 25 y y Yes 30 Ji N A No 35 E N A No 40 g N A No Table 7 3 Line of sight Bluetooth range test results 109 Additional procedures will be taken in order to test the range when the module and phone are not in line of sight For example when the module and phone are in separate rooms or when they are in the same room but there is an obstacle like a couch disrupting the line of sight Table 7 4 displays test data from when the module and Android device are not in line of sight Is the module Situation responding Expected Results Module Phone separated by small disturbance cloth Module Phone separated by medium disturbance couch Module Phone separated by large disturbance wall Table 7 4 Obstacle disturbance range test results 7 3 2 3 Button Control Testin
56. am is in Figure 5 2 86 l Message ShutdownMessage message_type_ enum MsgType StartChargeMessage EES pack bytes char virutal void LearnPathMessage unpack bytes char virtual void ft BeginAutoMessage handle_message bytes har Message get_message_type enum MsaType ChangePathMessage run_message void WheelCmdMessage create Message lt lt static gt gt WakeUpMessage UTMessage MessageFactory lt lt Singleton gt gt instance_ MessageFactory lt lt static gt gt Be messages_ std listzMessage gt get_instance MessageFactory lt lt static gt gt UnitTester generate index int Message A register_message gen_func Message fn_ptr index int unit_test_1 Depends on gt Hardwarelnterface lt lt Singleton gt gt unit_test_2 Jall classes unit_test_30 message_available_ boolean lt lt static gt gt message_available boolean ModeMachine lt lt Singleton gt gt unit_test_n tun_led_on led int void PE message_isris the UARTISR turn_led_off led int void current_mode_ Mode toggle_led led int void run_current_mode void Mode get_message Message instance Mode lt lt static gt gt uart_send bytes char size int int E uart_receive bytes char size int int get_instance Mode
57. ame roles The draining circuit is now the load This experiment should provide enough information to accurately predict the charging and discharging of Puppy Pal and alert the system when it is time to return to the base charging station If this does not turn out to be the case then the State of Charge Test will be redesigned or repeated Computer Microcontroller j Current and Voltage Measurements Current Draining Sensor Circuit Battery Pack Figure 7 3 Block diagram depicting the structure and flow of current and data for the discharging stage of the State of Charge Test 119 AC Power Supply Microcontroller Transformer and Filter Current and Voltage Measurements Current Sensor Battery Pack Figure 7 4 Block diagram depicting the structure and flow of current and data for the charging portion of the State of Charge Test 120 8 Administrative Content 8 1 Budget Cost efficiency is the key and the budget is planned to be kept significantly small as not one component was over 100 00 The majority of budget will come from the rechargeable battery GPS module and PCB fabrication process Table 8 1 displays a budget list for the Puppy Pal Component Price C2000 MCU 17 00 Bluetooth Module s 10 00 Sound System 5 00 GPS module 50 00 Battery 40 00 Motor s 12 00 Misc Electronics 20 00 Misc Mechanical Parts 25 00 Ball Enclosure 10 00 Mechanical Chas
58. amster running inside a hamster wheel producing rotation in one direction This idea can be extended to a hamster running in a ball by running in varying directions rotations in varying directions can now produce motion in two dimensions In this design the hamster is mimicked by a pair of motors In order to move the center of mass in two dimensions this design will require two motors and a control system One motor will act to change the angle of the center of mass with respect to the vertical axis and one will work to change the azimuthal angle of the center of mass The torque created by this design will be proportional to the two dimensional projection of the distance from the center of mass to the center of rotation the mass and the acceleration of the object caused by gravity The acceleration a will be proportional to the quotient of the torque produced T and the radius of the shell rshe and will be in the direction of the two dimensional projection of the center of mass 47 T Tshet X M This design minimizes instability issues however the acceleration is limited by the force of gravity and the distance the center of mass can be located from the center of rotation where other designs are capable accelerating and decelerating at rates only limited by the components used Two dimensional drawings can be seen in Figures 4 4 the front Figure 4 5 the top and Figure 4 6 the right side to give a sense of how the pair of motors
59. an also send extra information about the test By clicking the name of the test a second menu pops up and displays the information This is done mostly for clarity because more test do not have extra information than do s Special Class Name Brief Description Attributes MessageFactory Generates messages based on message type Singleton number pathDrawer Draws the path that a user is dragging with his finger Bavinecenivelier Controls the Puppy Pal device from the Android None Phone BluetoothModule EE sending and receiving Bluetooth essages TestGUl Shows Puppy Pal s unit test output e None Table 5 2 Summary of Android software main classes 5 3 2 Collar Because the collar is such a simple device the software will be written in pure C The only task this device has is to check the accelerometer within the collar and send a message which will always be the same to the Puppy Pal device All other processing from this point in time is being done on the Puppy Pal A few helper functions are created to interface directly with the hardware and make the code cleaner and easier to read 5 3 3 Messaging System Bluetooth message are two bytes wide with the first four bits indicating the message type and the last twelve bits being the payload The general form is 92 shown in figure 5 4 Message correctness is very important When messages arrive in the microcontroller they will be sent straight to a message handler that unpack
60. an be configured to be either a slave or master device in terms of interfacing to the Puppy Pal the module will be configured to be a slave device since the Android will be sending out instructions to the ball s MCU and not vice versa The baud rate that will be used is 9600 The HC 05 module has a digital signal processor embedded in the module with a built in antenna RAM and I O ports Figure 4 9 displays a block diagram of the HC 05 module HC 05 3 3 V Power supply 2 4 Ghz Radio Antenna Figure 4 9 Block diagram of HC 05 Bluetooth module Figure 4 10 displays a simple block diagram of how the HC 05 Bluetooth module will connect to the MCU As observed it is a simple as setting the GND to GND pins connecting the power pin of the MCU to the Vcc on the module however the 64 TXD on the module must be connected to the RX on the MCU and RXD on the module must be connected to the TXD It must connected this way because the MCU is receiving what the module is transmitting and the MCU is transmitting what the module will be receiving however under the applications the project will be used for the RXD pin on the module will not be used According to most specs observed the HC 05 module can potentially work within a range of 30 feet Figure 4 10 Simple block diagram illustrating the connectivity between the MCU and the HC 05 Bluetooth module For prototyping and testing a module that is already soldered will be used
61. and incorporating Android application for the Puppy Pal the Android device will be used solely as a remote controller as in controlling movement and potentially turning the device on or off There are many techniques to interface Android device connectivity to a MCU This specific section will display projects that use Android device integration and relevant techniques that may potentially be referenced A similar project that was observed used Android interfacing to control a remote control car 4 The RC car s core processing unit uses the Arduino Uno development board with a Bluetooth module specifically uses the HC 06 to read in data sent from the Android device In addition to the RC car using the Bluetooth functionality it also incorporates the accelerometer embedded in the Android device The Android application developed provided three different ways for the RC car to be controlled tilting control normal button control and touch control Tilting control requires no button use the tilting motion of the Android device designates the motion of the RC car just purely using the built in accelerometer in the Android device To elaborate if the user tilts the Android device forward then the RC car will accelerate forward if it is tilted backwards the car goes backward left and right tilts will result in right and left turns respectfully The normal control displays five commands on the touchscreen of the Android device for the user to pus
62. and three power sources to operate The PCB in the ball will be powered by a rechargeable battery which will need to be able to function coherently with the wireless charging hardware The battery in the ball will be required to have enough power to operate two motors that will move the device The charging station PCB will be powered by an AC voltage supplied from the wall socket will be rectified to around 5 to 12 V The PCB on the collar will be powered by a low voltage battery a table displaying all the basic specifications of all three PCB s are shown below on Table 2 2 A simple block diagram is illustrat ed to show a visual representations of the placements of the three PCB in Figure 2 4 PCB Location Enclosure Charging Collar Station Motor Control Operate Motor PONG Wireless Communication Sound Projection Charging Manon Location Detection Functionality Location D T l Detection etection ransmit Transmit Detection Receive Location Location Motion Detection Receive Detection DC Voltage 12 to Power Supply 24V AC Voltage 120 DC Voltage 3 3 V to 5V Rechargeable Table 2 2 Specifications on each PCB CHARGING STATION BALL PCB Motion Detection DOG COLLAR Figure 2 4 Block Diagram illustrating PCB locations of entire system 3 Research Related to Project Definition This project s design and construction demands specialized knowledge a
63. andard in comparison of the other two modules with 30 feet the RN 42 ranging from 50 to 60 feet and the WT11i with a significant line of sight range of 328 to 984 feet The max data rate value for all three potential Bluetooth modules are around the same of around 2 to 3 Mbps with the HC module with the lowest potential data rate The HC 05 module will cost the least amount with the RN 42 and WT11i costing in the 30 dollar range With all the specifications looked at the HC module would be the ideal choice of hardware in integrating Bluetooth communication into the system It would fit in perfect with the system because the 30 feet signal coverage is an acceptable range for the Puppy 22 Pal the project will operate in a house or room with the user controlling H near the ball so a 30 feet range is more than acceptable In addition the HC module can connect to the Android device in a simple way by locating the module from the Android and entering a given password to connect The HC module is larger in size in comparison to the other two but can be negated due to the the price of the HC module being much lower Bluetooth i Module HC 06 05 RN 42 Bluegiga WT11i Operating 3 3V 3 3to6V 2 7 to 3 6 V voltage Size 4 3x1 6x0 7cm 38x17mm_ 29 ee Ke Baud rate 9600 9600 Signal coverage 30 ft 50 to 60 ft Ge SE Max Data Rate 2 1 Mbps 3 Mbps 2 3 Mbps Price 10 00 35 00 to 40 00 30 00 l Mildly complex Interfacing Simple Mildly com
64. any kind of environment The design of Urbie is much more involved than the Roomba because it is specifically designed to go over rough terrains and even up and down small steps Another unique feature of Urbie is that it contains two cameras to provide feedback of its surroundings This also helps create a stereoscopic view of it location to help it avoid obstacles in its path Because of Urbie s car like appearance many 15 mechanical arms with capabilities of 360 degree rotation project from the top of the robot to help it flip upright in the case that it gets turned over Although not in the same sense as Urbie the Puppy Pal s inside can become turned over however because of its enclosure no mechanical arms would aid the device in turning over Instead the device naturally turns back over upon movement after it has become flipped Moreover it is not unnatural for the device to periodically spin around while inside its spherical housing A far newer and more advanced robot from NASA is the Mars rover Curiosity Much like the Puppy Pal the mars rover is controlled as well as autonomous when need be This implies that it also has a messaging system albeit much more sophisticated much like the Puppy Pal The autonomous capabilities are second hand compared to being controlled from Earth Because of its extreme distance from its controllers Curiosity sends data through ultra high frequencies around 400 MHz Occasionally the rover send
65. are important because this is the portion of the system which is connected to the high power household outlet The dog must never have any opportunity to come into contact with these wires under any condition therefore the power will be immediately stepped down to a lower voltage which would be nonthreatening to a dog s safety for cable connection to the actual device Despite the precautions taken to ensure safety in the event that the dog tries to chew the cord additional measures should still be taken to ensure that the dog doesn t have the access to the cord Since dogs tend to be curious and investigate by chewing this cable should be protected by a durable and difficult to dislodge cable cover minimizing the potential for damage to the system The actual mechanical housing for the base charging station should also be difficult for the dog to grip by using hard smooth materials and soft edges The material must not interfere to any significant extern with the wireless power transfer from the base charging station to the ball meaning that the enclosure cannot be metal The previous design requirements suggest a durable plastic would suffice and also be readily available in multiple shapes and sizes The electronics should be located off of the ground to avoid standing water that may occur during rains The housing should also have a mechanism for securing the position of the ball in a manner that maximizes the efficiency of the wireless
66. ath shall be able to be drawn for for the Puppy Pal to follow as well as be able to freely control the device without the aid of predefined paths There are two major options when it comes to graphics in Android programming android Graphics and OpenGL or more specifically OpenGL ES the embedded systems derivative OpenGL is a proper graphics library with almost endless amounts of options to configure The controller is really simple however and only a simple path needs to be drawn at a time so Androids built in graphics libraries will be sufficient The class diagram for the application is show in Figure 5 3 90 DeviceController onDraw void samplePosition int sendNewPosition pos int void MessageFactory lt lt Singleton gt gt instance_ MessageFactory lt lt static gt messages_ std list lt Message gt get_instance MessageFactory lt lt static gt gt generate index int Message register_message gen_func Message fn_ptr index int Message message_type_ enum MsgType pack bytes char virutal void unpack bytes char virtual void get_message_type enum MsgType run_message void Message lt lt static gt gt BluetoothModule send msg Message bool receive msg Message bool TestGUI PathDrawer current_path Path canvas Canvas pushWheelS
67. ator 5 V Regulator Charging Station Android Device Bluetooth Module Ball MCU Motor Control DC Motor User Input Sound Generator B Dog Collar Location Detection Receiver e Figure 3 11 Hardware Block Diagram of hardware inside the ball 3 4 1 2 Base Charging Station The charging station provides several features necessary for the function of Puppy Pal The primary function is to provide the transmitter for wireless charging however it will also provide a reference point for defining the play area and contain a motion sensor The base charging station will take power from a household outlet and convert this to DC power used by the wireless power system to charge Puppy Pal The basic functionality of this device and flow of signals is described in Figure 3 12 40 Ween Power Puppy Pal Device Figure 3 12 Block diagram showing the flow of control data and power in the Base Charging Station 3 4 1 3 Collar The need for a collar arises from the requirement that this device stop the dog s destructive behaviors The collar will sense when the dog is awake and moving and communicate the need for a distraction to Puppy Pal This collar must be low power to promote a long battery life using only two AAA batteries The approach to obtaining the lowest power will be to leave an accelerometer on and provide an interrupt to the communication and processing system when the threshold for movement has been met This movement data will
68. be feasible Other options include a ball that screws together with watertight sealing tape wrapped around the threads or a fluid seal such as silicone or certain types of glue Since this device is meant to simulate a living animal with which the dog can play the ball s mechanical housing will be covered in fabric mask The fabric mask will not be nearly as durable and will need to be replaceable This mask can be designed to look like a number of animals which will work to spark the dog s interest and will provide something to grab and play with simulating the feelings a dog typically experiences when nipping at a play mate Masks will have an opening in which the ball will rest and a strong Velcro strip to secure the ball inside It is anticipated that this fabric cover may have an effect on the mechanical responses but this will be minimized and accounted for during testing and is not expected to pose a problem The housing for the collar requires a watertight seal and a compartment which can be opened to change the batteries eliminating the possibility of a fully enclosed device The method for sealing this device will be a watertight gasket around the battery compartment in addition to fluid seals around the battery compartment providing two levels of redundancy to minimize the possibility of failure This device must also be small enough to fit on a typical dog collar without causing any kind of discomfort A typical dog collar mea
69. ble because if there is a significant delay 111 between command and action it will be harder to control the ball Under the most optimized situation when the user sends a command using button control a delay of 500 to 1000 milliseconds is expected To confirm if timing response is adequate when the user sends a command it will appear to the human eye that the device starts moving once the button is pushed In addition it is expected that when the ball is being control from tilt control there will be a little more delay in comparison to the button control 7 3 3 Autonomous Movement Test After assembly has been completed the autonomous mode will be tested The test will be video recorded After setting the play area and placing Puppy Pal in the base charging station one of the testers will enter the play area wearing the collar Puppy Pal should sound its buzzer The tester will calmly walk the perimeter of the play area which will be marked with cones After a lap the tester will skip around the perimeter Puppy Pal should start to chase the tester Then the tester will jog across the play area and be followed The tester will sit down Puppy Pal will buzz at and move around the tester Eventually Puppy Pal will stop and return to the base charging station The video will be used to determine Puppy Pal s reaction time to stimuli 7 3 4 Durability Tests Puppy Pal is expected to withstand the abuse of a highly destructive dog Its ph
70. ch as GPS to allow precise location detection when in close proximity to the base station allowing the system to become accurate enough for the device to guide itself back onto the charger 3 4 Possible Architectures and Diagrams 3 4 1 Hardware Block Diagrams 3 4 1 1 Ball Block Diagram As discussed in previous sections there are three core systems in the overall project the ball the charging station and the collar the dog will be wearing Figure 3 11 displays the hardware block diagram inside of the ball and the connections to different hardware The main power supply in the ball is a 12 volt battery the MCU in the ball is powered by a regulated 5 volts the Bluetooth module is powered by a 3 3 regulated voltage and the motor control can push a max of 12 volts with the 5 volts output triggering the voltage amplification For the wireless charging application to operate a wireless power receiver and battery charger will need to be implemented The wireless power receiver will input the power from the charging station then the power obtained will be used to charge the 12 volt battery One note in addition to the diagram displayed below is to acknowledge that the charging station and dog collar will not be a part of the circuitry inside the ball As those are completely different and separate systems from the ball 39 Components inside ball Wack Components not in ball treless Power Receiver Battery Charger 12 V Battery 3 3 V Regul
71. charge will be estimated by integrating the current flowing through the battery pack while charging and discharging This value will be measured with a current sensor The sensor will be picked based on the cost current it is capable of measuring and how the output can be connected to the microcontroller for analysis 77 The current sensor ACS712 is available for 9 95 Its output is reflective of the current s behavior A sinusoidal current results in a sinusoidal output A DC input results in a DC output The DC signal is expected in this project The sensor has sensitivity between 66 and 185 mV A depending on the specific part Only current up to 5A can be measured To find precise values the output signal needs to be amplified The ACS714 can be purchased for 9 95 It has a sensitivity of 185 mV A This sensor is almost identical to the ACS712 Either could be purchased with the same effectiveness in analyzing the state of charge Based on testing the behavior of the output will tell Puppy Pal to start continue to or stop charging 4 9 Sound Subsystem The sound subsystem will provide a sound output to gain the attention of the dog To operate a sound output a system will need to be connected to the MCU to trigger the sound subsystem to turn on The approach to designing the sound system will use the 555 timer with a piezoelectric sound generator more specifically a piezoelectric transducer or buzzer The performance of the transducer
72. chine The ModeMachine acts as a parent object to the system It has a simple task of switching to and running modes Mode change messages come from two sources the collar device or an Android device The collar can only send two mode change messages namely AUTO and WAITING see Modes section of Software Overview The Android device has the unique ability to send the device into any mode of its choosing On one hand this allows the user to choose if he wants to control Puppy Pal or wants the device to run on its own On the other hand from a developer s standpoint we can quickly test many aspects of the systems design including message sending and mode changes This greatly eases the debugging and testing portions of the development of the system Upon a mode change the previous mode of the system will be stored In the case of an error occurring during a mode change the previous mode will be reset and run Changing modes is the most critical aspect of the system and therefore when errors occur they must be handled in the most graceful way possible If a drastic mode change error occurs that does not allow us to recover the system must do a hard reset 88 Path Running When the system is in autonomous mode it will be running a predefined set of wheel commands PathRunner holds all of these wheel commands in an indexable vector Of its more important member functions run_path which will be overloaded to take an integer index or an actual
73. come the new maximum height After hitting the floor the cell phone connected to Puppy Pal will tell the toy to move If it behaves normally the trial is a success Table 7 3 will be used again for this experiment Each trial will be video recorded for future review To model the shaking of the toy testers will pick up Puppy Pal and shake it for ten second intervals After a minute of shaking the toy is placed on the ground and the remote control is tested Puppy Pal s functioning normally is recorded as a success in Table 7 6 This is repeated ten times or until a failure occurs Trials Success or Failure 1 INIIAI AJ OJN 10 Table 7 6 Shake test results 113 An alternative to shaking the ball by hand is to use a machine The testers will strap Puppy Pal into a body vibration machine Once it is secure the frequency and speed are set For this test the speed will be constant The ball will vibrate at each frequency for five minutes A success is defined as Puppy Pal behaving normally when given instructions Table 7 5 below will be used to hold the results Frequency Hertz Success or Failure 6 8 10 12 14 16 Table 7 7 Vibration machine test results 7 3 5 Motion Detection Test The motion detection test will determine the functionality of the motion detection system There will be two separate tests one determining the functionality of the proximity sensors on
74. could be too great for Puppy Pal the gyroscope is meant for balance not exact location detection The toy is unlikely to rotate so quickly making this device too specialized for the project L3GD20H This sensor is what the LPY550AL is being replaced with once it is out of stock A single chip is available for 19 95 the original price of the LYP550AL The L8D20H measures the angular rate of change along three axes The chip will be placed such that the y axis lies parallel to the part of the platform that is attached to the plastic enclosure The y axis output signal will measure angular motion as the ball tilts forward and backward The x axis output signal will measure angular motion as the ball wobbles side to side The z axis detects angular motion as Puppy Pal turns in any direction The gyroscope s sensitivity can be set to measure angular rates up to 245 s 500 s or 2000 s This versatility gives the project the option to start with less sensitivity and gradually increase the setting as needed The sensor s data is outputted as a digital signal This makes the use of an analog to digital converter redundant when connecting the gyroscope to the microcontroller What must be considered instead is the meaning of the signal and how that can be conveyed The signal is sent out with the serial communication techniques IC and SPI Another benefit of digital output is noise reduction The supply voltage is between 2 2 and 3 6V A voltage
75. d receive byte registers and the data shall be written and read and confirmed that the data is correct Message Factory Test Test 00001 Messages that arrive contain the message type as the first four bits The bytes of a new message shall be sent to 104 the MessageFactory and the message factory shall return a message of the correct type Messages also need to be registered into the factory before they can be generated To assure this is working after each messages and their corresponding generate functions are placed in the factory the size of the list containing the registered messages should equal to the number of messages that are registered Moding Test TestID 00010 Being able to change modes allows the system to behave in a certain way The test for this class will be very involved because each mode has so many different sub options First and foremost the test shall change to every mode registered and verify that the current modes run function is running For each mode the ModeMachines get_current_mode member function shall be used to get the currently running mode and check that it is equal to the actual mode that is running After each mode change the member function get_last_mode shall be invoked to assure that the last mode is indeed the previously run mode Each mode s run member function shall be called to assure that each mode is running correctly Message Test TestID 00011 Each message plays a vital role i
76. data that an encoder would provide can be collected by the microcontroller automatically The Piccolo microcontroller utilizes the InstaSPIN 60 MOTION Speed Control program to simplify motor control Using its FAST Software Encoder the Piccolo can estimate a motor s magnetic flux angular position shaft speed and torque automatically once the program has been tuned to that motor 23 This eliminates the need for an encoder However if this solution is found to be too inaccurate during the testing phase an encoder can be added to the design to improve the controllers performance To prepare for such a possibility this section will discuss different encoders The encoder picked will be based on cost the amount of power it consumes and if it is compatible with the microcontroller REO8A This simple encoder has a circuit board with a pull up resistor already connected to the output pin It is available for 12 49 This device needs a supply voltage of 5V The output is either high at 5V when the optical sensor s beam is blocked or low at OV when the beam is left alone 24 The encoder can measure rotation up to 1 kHz which is approximately 60 000 RPM This greatly exceeds the RP6858 motor s speed of 5430 RPM A rotor comes with the kit The rotor is to be attached to the drive motor s shaft and positioned perpendicularly to the REO8A s optical sensor to find the frequency of the motor This is used by the controller to calculate th
77. de most of the time When it is not being control manually or in autonomous mode it will be in sleep mode When in autonomous mode the system checks if there is a substantial amount of battery left If the system needs to recharge it departs to the charging station then enters a low power sleep mode until the battery is recharged to a specific amount If the battery is charged to the point where the system can function properly then the system checks if the motion from the dog has been detected If the system does detect motion over the threshold value it will operate the motors if not the system will enter sleep mode to conserve power Figure 5 1 illustrates a flow chart of the system overview the Puppy Pal Check mode Remote control mode Autonomous Enter sleep mode mode Go to Serial Read charging station Operate Motor or Motio output sound ees Detected Operate Inactivity motor ty Output sound Figure 5 1 System overview flowchart 84 5 2 Mechanical Housing Design Overview Three mechanical housings will be used in the total system comprising Puppy Pal All three of these devices will be subject to harsh conditions including moisture dirt dust and even regular chewing These housings will also contain sensitive electronics which must not come into contact with any of these elements despite the efforts of a curious dog The housing and cable connections for the base charging station
78. describe the use according to the request for permission explained below Permission to use Figure 3 1 3 Anson Contreras lt adcontreras knights ucf edu gt 11 26 PM 20 hours ago Le to bgrh Mr Hughes I am an electrical engineering student at the University of Central Florida I would like to include some of the figures from your article The Unique Physics of the Segway PT Balanced at All Times in my senior design paper They would help me explain the mechanical system used in the Segway and how this system could be applied to my team s design Do I have your permission to use these images Thank you for your time I hope to hear from you soon Anson Contreras lt adcontreras knights ucf edu gt 7 53 PM 0 minutes ago Ki to me From Brian Hughes lt bgrh mac com gt Sent Friday April 25 2014 1 14 AM To Anson Contreras Subject Re Senior Design Image Permission Yes you can use them but will want to see a copy of your paper and you need to do the citation correctly created them using models from google sketch up can probably find the models if you are interested Good luck Brian Hughes 124 Permission to use Figure 3 3 4 1a Electroschematics lt contact electroschematics com gt Sat 4 26 2014 1 25 AM mark as read To O shafia knights ucf edu Hi yes you can use it Have a nice day On Sat 26 4 14 0 36 AM ElectroSchematics wrote gt From Afzal Shafi lt shafia knights ucf edu gt
79. dules capable of integrating multiple augmentation methods will be evaluated based on overall accuracy and cost 3 3 7 2 Wi Fi Positioning Systems Wi Fi Positioning Systems WPS have the advantage of working very well in urban environments with a high density of publicly broadcasted Wi Fi access points WPS works by using the Received Signal Strength Indicator RSSI as specified in IEEE 802 11 standard WPS has the drawback of requiring access to a publicly broadcasting Wi Fi access point which has had its approximate position previously mapped many of which are mapped and can be accessed via Google location based services A WPS module would require additional hardware including a minimum of a Wi Fi receiver and Antenna but would benefit by adding a Wi Fi transceiver in order to allow AGPS augmentation of the GPS module 3 3 7 3 Multilateration Multilateration uses the differences in Time Distance of Arrival TDOA to determine of multiple signals from separate but synchronized sources called base stations of known location to calculate the location of the receiving device This is essentially how GPS works however errors caused by ionosphere delay and other atmospheric effects are eliminated by using base stations on earth Four base stations are required to obtain three TDOA values which can be used to calculate the receiver s three dimensional location however using base stations transmitting a signal from a known height and a receive
80. e 4 10 provides simulation results of load current load voltage and input current when the input voltage is either HIGH 5 V or LOW 0 V For this simulation the load resistance of 500 Ohms is used it is noted that load impedance will change depending on what type of components are being used so the input resistors will be chosen accordingly Voltage from Load Current Load Voltage MCU Current MCU HIGH 17 836 mA 9V OA LOW OA OV OA Table 4 10 Switch simulation results From simulation results it can be observed that using an op amp as an ON OFF switching application behaves almost identically as a mechanical switch as a switching function is purely dependent on the output voltage from the MCU In the simplest description if the Puppy Pal is in autonomous mode the motion detection system that is measuring the dog s movement will trigger the non inverting terminal to be high which is 5 volts If the Puppy Pal is in remote control mode the non inverting input voltage will be triggered by the user For example the user will send a specific character from the phone to the MCU Then the MCU will set the pin connected to the pin of the non inverting terminal to the HIGH voltage 4 9 3 Sound System Detailed Schematic The schematic below in Figure 4 16 displays the dog whistle circuit using the switch developed in the previous section instead of the mechanical push button The important components that
81. e Figure 3 3 5 2 Pending 125 Contact Us We would like to hear from you whether you want to ask a question receive further information make a suggestion share your project or report a problem Please contact us using the form below or sending a message to answers cadex com with your inquiry Please note Battery University cannot perform calculations for projects or assignments and we do try to answer all the emails received First Name required Marshall Comments Questions would fike to request the permission to use your chart which compares battery chemistry Last Name required Smith located at http batteryuniversity conviearn articie whats_the_best_battery Email required scottsmith knights ucf edu Company UCF Cit Orland DEE EPERE E TA Di n o Please sign me up for Battery University updates Country United States Learning the basics about batteries sponsored by Cadex Electronics Inc CCADEX ai ome Disda ght Sitemap Links Visit Cadex Appendix B References 1 2 3 4 5 6 Plastic Properties Table Internet http www curbellplastics com technical resources plastics properties table asp cols 2 amp amp compare amp amp direction desc March 2014 Plastics Comparison Table Internet http www curbellplastics com technical resources plastics properties table asp cols 2 amp amp compare amp amp direction desc March 2014 B Hughes 2009 May 30 The Unique Physic
82. e from that there is only one serial communication line Although this could be dealt with by a little extra effort coding would be much easier with multiple UART lines because there will be multiple UART signals coming in at any time By having only one data line for this messages would have to have extra details encoded in them which would in turn have to be decoded on the processor level Speed is absolutely critical for the Puppy Pal device so it cannot afford the extra cycles this decoding would bring along Another area where the MSP430 shines is its community support Virtually every question about the processor has been asked and answered by TI and if not on some online forum There are open source alternatives to Code Composer Studio as well GCC has a package that supports compiling linking and loading of MSP430 programs through the USB interface There are also plenty of command line tools that allow memory and register dumps of running programs GCC also provides a C compiler but the limited code space on the chip makes this option impractical Below is a summary of the pros and cons of the MSP430 Launchpad Table 3 5 shows a summary of the pros and cons of the MSP430 Pros Cheap great community support open source alternatives to all software Cons Slow speeds limit flash and RAM memory C isn t practical limited serial communications Table 3 5 Summary of MSP480 pros and cons ATmega328P The ATmega328P comes f
83. e motor s position and speed The motor is expected to be connected to a wheel making it difficult to find room for the rotor and to use the encoder properly If this issue cannot be resolved this method will not be used in the project One possibility is to attach the rotor and encoder to the opposite end of the motor COM 09117 This encoder is available for 2 95 Its output is a digital signal in gray code This prevents any gaps in measurements from showing up and feeding false data to the microcontroller The rotary encoder is used to measure the position and speed of a motor If a knob is attached and the specific program is written the encoder can instead dictate how the motor shall behave This can be used to test the motor s functionality and as practice for controlling a motor Neither encoder is particularly helpful in the control system Although their use could be part of an interesting side project or test they will not be part of Puppy Pal If the Piccolo Microcontroller does not prove itself capable of replacing the encoder then the REO8A will be added to the control system 4 4 Microcontroller The microcontroller being used is the TMS320F28069MPN of the C2000 series from Texas Instruments Table 4 6 below shows some of its more important features 61 Clock Frequency MHz RAM KB Flash KB PWM Channels UART Channels GPIO Pins Table 4 6 Useful features of the TMS320F28069MPN microcontroller The proces
84. elerometer which may be potentially used for a tilt control application for the Puppy Pal Additional specs to look at the user interface is a multi touch touchscreen with a Qualcomm Snapdragon dual core 1500 MHz processor The mobile device will also have access to BlueTerm a Bluetooth emulator that can be used to send data to the Bluetooth module and can be downloaded at the Google Play Store BlueTerm will be used for testing purposes and will be used to test if the Android device is transmitting data to the module and also to check if the module is receiving the data Figure 4 11 illustrates a simple block diagram showing how the Android device will be able to have control of the MCU As observed from the figure below there are a multiple of processes to go through for the data from the Motorola to reach the MCU First an Android application will be developed to have access to the Bluetooth functionality of the Atrix The application will provide a way for the user to input control instructions in the form of an ASCII character The data transmitted will be headed to the HC 05 Bluetooth module when then it will trigger the MCU to initiate a serial read instruction where depending on the ASII character received it will designate a particular action programmed for the Puppy Pal to obey Motorola Atrix User Android Ss HC 05 Transmit MSP 430 HD input application Figure 4 11 Block diagram displaying RC control using Motorola Atrix HD
85. elocity Position and time will be taken from the GPGGA string and velocity will be taken from GPVTG string The format for the time field is hours minutes and seconds concatenated as a single number and the time zone is UTC The format of the position field will be two values for latitude degrees and minutes concatenated to a single five digit value with three decimal points of precision and a single character for north N or south S and a similar bit field with north and south replaced by east and west for longitude The format of the velocity field will be a speed field in kilometers per hour and a direction field measured in degrees relative to true north 19 The GPS system can become less accurate when it is not in clear view of the sky In order to achieve the most accurate position and velocity data possible several systems for improving GPS accuracy through augmentation have been developed The main system applicable to this project is the Wide Area Augmentation System developed by the FAA and made available to North America WAAS uses ground based reference stations to make corrections which can be used by WAAS enabled receivers to obtain more accurate position data The WAAS specification declares that the 95 horizontal and vertical error will not exceed 7 6 meters at any location 20 Testing of this system shows that this specification is well exceeded in most locations specifically that the maximum 95 horizontal error was
86. es with a lot of extra peripherals that will not be used For instance the 12C interface will have no use and just be an extra pin on the board but this is much like 35 of 40 other GPIOs that will not be used This is a true embedded processor so the hassle of disable features in code is not a problem if they re not needed they will just not be used unlike in the Philips alternative Table 3 8 shows a summary of the pros and cons of the TMS320F28069MPN Cheap 256kB flash 96kB ROM PWN units full and code efficient C support 90mHz great community support familiar territory for all members 2 UART lines instaSPIN technology Table 3 8 Summary of TMS320F28069MPN pros and cons 3 3 2 2 FPGA FPGAs are another alternative to a pure microcontroller project Although FPGAs are not typically used for projects like this they do carry some advantages to them that would prove to be useful for the Puppy Pal device For one FPGAs focus on concurrency This would give us much more precision on our ISRs because we could get into detail about how long they should take With that being said however the code design currently only has one statement executing in our ISR so this doesn t help us out much Secondly FPGAs are extremely flexible but this comes at a hefty cost You have the unique ability to create virtually any platform you want with these devices but the overhead of having to create them is not worth it for this project When
87. etection Test While the Puppy Pal device is in its waiting charging and autonomous modes it shall be able to connect to an Android device The Android device upon startup shall automatically connect to the Puppy Pal device assuming that the device is on functioning correctly and in a proper state for Bluetooth commands 7 2 3 Collar Software Motion Test The test shall assert that the collar system is only alerted when there is movement of more than 2g on the accelerometer The test shall also assert that if values are greater than the movement threshold for 5 seconds the collar broadcast a Bluetooth message indicating that the dog is ready to play Message Test Only one type of message is sent from the collar to the Puppy Pal device and the collar never receives messages This test shall assert that the message being sent from the puppy pal device is of the correct message type The test shall assert that of 20 messages that are sent all 19 of those 20 should contain correct data by the time it is received on the Puppy Pal device 7 2 4 Bluetooth Software Bluetooth Name Test The Bluetooth receiver transmitter on the Puppy Pal device shall be named PuppyPal the bluetooth device on the collar shall be named PuppyPalCollar and the phone shall broadcast under the name PuppyPalController Each device shall be able to identify the other two devices and connect to them 106 Valid Message Test The bluetooth receiver
88. f these submodes This message can only be sent by an Android device The first two bits of the payload indicate which autonomous sub mode to put the system into These can be either 00 for RANDOM or 11 for PATH Assuming it is path mode the next two bits specify how the paths should execute These can be 00 for a single path to run 01 for all paths to run sequentially and 10 for all paths to run in a random order Finally assuming that 01 or 10 was specified for bits 9 8 bits 7 3 indicate the time in seconds each path should be run before switching to the next path This allows a range of 0 to about 30 seconds for each path but a minimum time of 5 seconds is required for this value Anything less than 5 is defaulted to 15 seconds Figure 5 8 shows the bit layout for this message Mode Sequence Type Time s Unused Figure 5 8 Bit layout of beginauto message Learnpath A user can specify custom paths via the Android device When the path has been finalized and is ready to be sent to the Puppy Pal device the Android system first sends this message indicating that the system should get ready to receive a set of WHEEL_CMD messages see wheelcmd section of Messaging System to save and store in a given index The significant bits of this message are 11 9 which represent an integer index to store the path inside the Puppy Pal device Figure 5 9 shows the bit layout for this message 94 Path Index Unused Figure 5 9 Bit la
89. fically drain the battery The current sensor will measure the current flowing through the battery pack The sensor will send its data to a microcontroller connected to a computer The circuit will run until the battery dies The current behavior will be stored for analysis The group s hypothesis is that when the current changes suddenly the battery is entering a low power state The opposite is assumed when the battery is close to being fully charged The battery s measured current voltage information will be graphed on a single plot to look for a pattern In addition the integration of the current signal will also be saved This data will show whether or not measuring and integrating current is an effective method for measuring Puppy Pal s state of charge O 10 20 30 40 50 60 70 80 90 100 Figure 7 3 is a block diagram representing the power drain portion of the State of Charge Test The battery pack is the power supply Current is flowing from it into 118 the current sensor and throughout the draining circuit Figure 7 4 is a block diagram representing the charging portion of the State of Charge Test The main difference in this circuit is the addition of an AC source and transformer The AC source s signal goes through the transformer and filter becoming a DC signal The DC signal is sent to the battery pack wirelessly to charge it The current sensor and computer have the s
90. finishes the transmission sequence Device Controller This class is very similar to the PathDrawer class except that the finger movements will not be drawn and the messages are blasted from the phone to the Puppy Pal device This is the main class that makes the device roll from the user controlled point of view Because we want the device to respond as quickly as possible the messages are sent in a very UDP like fashion In the case that a bad message is interpreted by the Bluetooth receiver it will simply be disregarded and prepare for the next message to arrive This is the main class and its GUI interface is the first thing that the user is greeted with upon opening the application All other functionality GUI interfaces will be held in menus 91 Bluetooth Module Bluetooth data can be accessed through a number of Bluetooth libraries made available in the Android APIs This data is encapsulated into a class to make sure that sending and retrieving Bluetooth data is abstracted to the point of knowing about System messages and the errors they can contain Messages will eventually get to the point where they are handled the same way as on the Puppy Pal device TestGUI This class provides a simple view of the output of unit tests on the Puppy Pal device It is arranged into an Nx2 table where N is the number of tests The first column is the test name and the second column is the text Pass or Fail Tests on the Puppy Pal c
91. fises a 3 fises Figure 3 2 The balance of the forces acting on a Segway and its rider when stationary accelerating cruising and decelerating Reprinted with permission from Brian Hughes 3 1 4 Stray Pooch Stray Pooch is a senior design project was built by students from Wichita State University in 2011 This project s goal to be an interactive dog toy is similar to Puppy Pal Their robot was built using a hamster ball The mechanical system consists of two motors connected to a gearbox Shafts are connected to the motors and the sides of the ball As the motors rotate the sides of the ball rotate and drive the ball forward Framework inside of the ball was made out of wood and aluminum Combined with the electronics the frame was too heavy to work properly the center of the frame dragged along the bottom of the ball slowing down the robot This shows that weight must be watched closely when constructing the mechanical portion of Puppy Pal In their follow up experiments the Wichita group rebuilt the frame with aluminum Aluminum is much lighter than wood so the mechanical system worked more efficiently when the change was made This group used an Arduino to control Stray Pooch Although there are many tutorials available for Arduino applications the group s lack of experience made the coding part of the project very difficult The Puppy Pal group members will combat the challenge of inexperience with teamwork For wireless commun
92. g The Android application used for the Puppy Pal will provide two different ways to control the project One way is button control which the user will control the project from the touchscreen functionality from the Android device The button control interface will display four buttons on the touch screen of the Android device which correlates to the four directions of movement Button control testing will require a test board with a UART serial communication functionality a HC 05 Bluetooth module and four LEDs that will represent the four different directions of movement A visual block diagram of how to set up the test procedure is shown in Figure 7 1 Each LED will represent one movement such as forward backward left and right To confirm the buttons are functioning correctly will be dependent on which LED turns on If the user pushes a specific directional button then the LED represented by that direction will turn on Once the user lets go of the button the LED will turn off For remote control testing the green LED will represent forward motion the blue LED will represent backwards motion the red LED will represent a right turn and the yellow LED will be representing for a left turn command Yes Module is receiving data from the phone Yes Module is receiving data from the phone No data is not being received from the phone 110 FORWARD COMMAND REVERSE COMMAND RIGHT TURN COMMAND RED LED YE
93. h Data Rate 2 11 Mbs 1 Mbs 0 25 Mbs Range 100 m 10 100 m 10 30 m Large data ES transfer at high Remote control Android mppueations speeds Sensor data connectivity Power Consumption High Low Medium Cost Table 3 1 Wireless Communication Comparisons 3 3 1 1 WI Fi Observing the data from Table 3 3 1 Wi Fi can potentially supply the largest data transfer at the highest speeds and can give the user wireless control of the system without the user and device being in the same vicinity In addition Wi Fi would potentially be a way to connect the Android device to the system and retrieve access to GPS capabilities on the mobile device If the using Atmel s ATmega328P MCU an Arduino Wi Fi shield can be plugged into the PCB The Wi Fi shield uses WEP and WPA 2 encryption security protocol and the Arduino provides a Wi Fi library to simply connect to a network 7 However Wi Fi requires the most power and is more costly in comparison to the other technologies If possible Wi Fi may potentially be implemented in the base charging station as providing power will not be an issue The overall system does not necessarily need to run any applications that require large data transfer capability or data transfer at a significantly high speed Due to the complexity of implementing Wi Fi the best approach would be to use Bluetooth to integrate an Android device to the system and to use the ZigBee standard for other wireless communication applications
94. h Each command represents a direction the RC car can move The five display commands represent the direction of motion which are forward backwards left right and OFF Touch control displays a reticle in the middle of the display on the Android device this reticle is representative of the RC car If the user wants to move the RC car using touch control the user will have to drag the reticle in the direction of desired movement of the RC car Figure 3 4 illustrates the three control options Forward qeened Reverse Figure 3 4 Illustration of three Android control methods A Tilt B Button C Touch The RC car project uses the CxemCar 1 0 Android application developed in the Eclipse IDE The version of the Android device must be greater than 3 0 in order for the application to control the motors The Android device is configured to the Bluetooth module on the car by connecting and searching for the module in the Bluetooth settings on the Android device The CxemCar application uses the MAC address of the Bluetooth module to directly connect to the RC car which finalizes a wireless serial connection between the two hardware devices and data can be sent using the UART functionality on the Arduino Uno The CxemCar application has many settings that can be configured The application can edit the output characters representing a specific direction of motion the user can send to the Bluetooth module changing the
95. he 122 subsystem or to abandon that part of the project entirely The first two choices require a majority vote If no agreement can be made the project leader flips a coin If heads the group continues to find a solution If tails the group shelves the issue The third option demands a unanimous decision and a meeting with Dr Richie The elimination of a part of the project will change the scope of the project something that must be discussed with Dr Richie and could potentially leave a group member with nothing to present at the end of the semester The unanimous decision gives the decision more weight and makes it difficult to cut out parts of the project some may consider important The meeting with Dr Richie provides the insight of an objective party that will inform the group s decision This procedure makes it so that no one will have to feel as though their part of the project is unimportant or that their opinion doesn t matter to the rest of the group 8 5 Group Responsibilities Each member of the group has a primary responsibility and additional responsibilities that may be worked on with the other members of the group The table 8 3 below displays the group responsibilities Name Primary Responsibility Secondary Responsibility Marshall Location Detection Mechanical design Motion Detection Charging station PCB Power System Anson Motor Control Mechanical design Motors Charging station Power System Camero
96. he goals of this project is to design a control system a servo motor should not be considered If its inclusion does not make the control system redundant or if the control system does not work at a date too close to the deadline to fix a servo motor will be used 3 3 3 4 Linear Actuators A pair of linear actuators could be used in the mechanical system Weights attached to the actuators would move along with them depending on the direction chosen As the actuator shifts in one direction the center of gravity changes and Puppy Pal goes in this new direction The issue with this motor would be the location of the actuators and the complicated nature of the control system that would have to be designed 3 3 4 Sound System Techniques Sound projection hardware will need to output a sound wave that will potentially lure the dog towards the system The method on how the sound will be played will be dependent on many factors that may be technical or not A non technical factor that may be used in determining a way to choose a method will be space some sound projecting methods require a significant amount of circuitry and it would be in the project s best interest to stay away from implementing a method that will require a large amount of space In addition a technical factor that may play a role in choosing a method will be how much current the hardware will draw to the 28 system A low impedance sound system may draw too much current for the
97. he location of the PCB The actuators do not leave enough room to build a platform If space for a platform is found it would then be at risk of being struck by the end of an actuator during extension Each design has merits and drawbacks organized into Table 4 1 The design that would work best for the project is the rotating wheel It allows for simple commands in the code The use of a servo motor makes steering a function exclusively connected to the servo the other motor just works to drive the wheel forward and backward These motors are specialized and can be controlled separately within the code 52 Pros Cons Counterweight Simple Proven effective in other projects Unreliable braking Hard to control steering arm e Cheap e Wheel slipping e Cumbersome steering arm e Waiting for servo might be slow e Precise steering Rotating Wheel Moderate torque e Precise steering Dual Wheel e High torque e Wheels slipping e Compact e Boring e Reliable e Could destroy the PCB and components on Linearly Shifted Uni impact Weights SEHR e Actuators might collide e Complicated mechanical design Table 4 1 Comparison of different mechanical systems 4 2 2 Motors The rotating wheel design calls for the use of a servo motor and a brushless DC motor This section will discuss the different products that could meet the needs of the project The servo must have enough torque to turn the stee
98. here are many peripherals this processor is designed to handle like external memory and network interfaces Though it doesn t really harm anything on the Puppy Pal device it would be that much more overhead to disable all the features that weren t go to be used This package is nearly flawless other than that and the only reason it was not chosen is because it was unfamiliar territory compared to the last option Table 3 7 shows a summary of the pros and cons of the LPC2148 Pros Cheap 512kB flash PWN unit C support 60mHz Unfamiliar territory extra unneeded peripherals Table 3 7 Summary of LPC2148 pros and cons TMS320F28069MPN TI has quite a few options for microprocessors Even more so there different lines of processors have different options you can filter out to get exactly what you re looking for In doing so the TMS320F28069MPN from the C2000 series was found For roughly the same price as the LPC2148 this 32 bit processor comes with a 90Mhz master clock frequency which will come in very handy for transferring receiving and decoding messages There is also Control Law Accelerator that supports 32 bit floating point operations that are done independently of the main CPU In addition to those features it contains 256kB of flash 96kB of RAM and 2kB of OTP ROM This processor runs on 3 3V and comes with two different types of low power modes that can be used for when the Puppy Pal device is in either its charging or waiti
99. hes involved The lack of brushes also eliminates the risk of sparking although electrical noise would still be an issue to contend with The nature of this type of motor allows precise control over speed Precision would require the design of a complex feedback control system one of the goals of Puppy Pal s design process 27 Although this will be a more difficult task than the use of a brush DC motor the brushless motor would give the project the dimension of a rigorous design instead of something elementary 3 3 3 2 AC Motor An AC motor is driven by an AC power source Puppy Pal will use DC batteries Using AC motors would mean the addition of an AC power supply The AC power supply most readily available is a wall outlet This would mean having Puppy Pal connected to a wall outlet This signal would then need to go through a step down transformer to power the motor Although the circuit design would be simple a wire coming out of the toy is cumbersome the wire limits Puppy Pal s range of motion and its overall autonomy The wire is also another object a dog could decide to play with which could result in serious injury To avoid such complications and dangers AC motors will not be part of this project 3 3 3 3 Servo Motor Servo motors are used to guide rotational motion They are typically packaged with a control circuit and a motor This would allow for simple incorporation into the design of Puppy Pal However while one of t
100. human is present This keeps the dog entertained even while no one is present The best way to simulate this is to allow the users to program their own modes into the Puppy Pal This is done through the Android device Users should be able to draw a path in the Android program and send it to the device through a sequence of messages The embedded software should be able to hold a list of these predefined paths and when the system is set into autonomous mode either a specific path is run or all the paths are cycled through at a rate that is set by the user There should also be a random mode that makes random changes to the systems speed and direction in predefined intervals of time All of these modes should be able to be commanded into by sending a specific message from the Android device The user should also be able to send a message that lets the system know which autonomous settings should be set next time the system is to go into autonomous mode either again by the user or by the dog s collar system setting it off The movement of the device is to stay within a certain limit of its surroundings This plane is known as the play area When the system is running in a random autonomous mode it should not go outside the boundaries of the play area 2 3 4 Remote Control A secondary mode when the system is not autonomous will be under user control This will provide the user a manual override in terms of controlling the device The
101. ication Stray Pooch used XBee modules They communicate with other Arduino devices that contain a XBee module in serial Their success with this method could be applied to the Puppy Pal s wireless communication system 14 3 2 Relevant Technologies 3 2 1 Autonomous Robotics There are plenty autonomous robotic systems in use today Many are far more sophisticated than the Puppy Pal device will ever need to be but there are plenty of ideas to take from these robots that can be integrated into the project A popular autonomous robotic system is iRobot s Roomba which is designed to clean a room by itself and find a path back to its home base There are a number of sensors on the device to help it perform this goal some of which are an infrared receiver bumpers on either side of the front and a number of cliff sensors which are actually just more IRRs pointing down and checking the time difference between the signals bouncing back The Roomba has a fairly trivial cleaning process It typically starts out doing circles until it hits something which it assumes is a wall and tries to follow its contour By making slight adjustments either left or right if it finds that it has hit a wall after a few turns it makes a major turn usually around 180 degrees and goes in a straight line until it hits another object and repeats the process of trying to follow its contour It s a fairly simple loop that utilizes all available sensors
102. ice The battery should be designed to survive the longer days and will degrade in capacity over time so with this need to continue performing at a high level for a long period of time the desired capacity should be about 5000mAh In addition to the electrical power requirements of the battery the battery must also fit within the enclosure along with the two motors mechanical supports PCB and all connected components and any additional materials The battery will be one of the largest and heaviest components and can be situated in the center of the sphere if necessary to ease the size requirements With the expected exterior diameter of the mechanical enclosure to be 6 inches the maximum usable diameter can be expected to be approximately 5 5 inches Using these size limitations battery size constraints can be calculated If the length width and height of the battery pack are treated as mutually perpendicular vectors the requirements for size can be described by the equation that follows y length width height lt 5 5 inches This leaves a large amount of freedom in choosing a battery but will be simplified by the standard diameter of the cells used to make up the battery which gives rise to few discrete heights lengths and widths depending on how the individual cells are arranged In order to prevent Puppy Pal from dying when it s supposed to be active the state of charge of the battery needs to be monitored The state of
103. ice to operate to optimal standards In addition the enclosure will be required to be from a material where it will be highly difficult for a dog to chew up and expose the electrical circuit There are a wide range of materials that can potentially be used that may protect against the issues previously stated Specifically a material that has a combination of requirements in terms of being highly durable to the dog s habits a low weight and to have a feasible rolling resistance to provide adequate mobility on carpet tile or wooden surfaces would be the most optimal choice for a plastic enclosure Table 2 1 provides informational specifications on different types of plastics that can be used as an enclosure for the device Water Tensile IZOD Compression Plastic Type Absorptionin Strength Impact Strength 24 hours PSI ft lbs in PSI Acrylonitrile Butadiene 0 3 6500 7 7 6750 Styrene ABS Polycarbonate 0 2 10 500 12 0 16 0 11 000 Acrylic 0 2 10 000 0 4 17 000 Table 2 1 Plastic specifications 1 2 As shown in the Table 2 3 1 all the elements are approximately equal in terms of water absorption Which the numerical range of 0 2 to 0 3 percent would be a logical value because the device is not intended to be exposed to any sort of liquid for a long periods of time Ideally the device is expected to interact with a low volume of liquids such as saliva throughout the day Tensile Strength mate
104. ience metalworking The framework will be made from aluminum The ends of the axle will be welded to hubs attached to opposite ends of the ball Along the axle a platform will house the PCB Leading from the platform a steering arm extends to the bottom of the ball A servo is attached here for to guide the arm At the end of the arm lie the drive motor the wheel the batteries and the charging circuit The motor and the wheel are used to drive Puppy Pal s motion The batteries need to be at the bottom to pull the center of mass further below the center of the ball and in order for inductive charging to occur The wireless power receiver will also be part of the assembly The drive motor to be purchased is the RP6858 It can be purchased in the Winter Park hobby shop Skycraft Parts amp Surplus If it is not powerful enough to drive Puppy Pal a gearbox can be incorporated into the design The servo is the HS 422 Servo Motor It only needs 6V of power and is slower than the drive motor The part will be ordered from RobotShop Distribution Inc The wireless power receiver is BQ51013B It will be sampled from Texas Instruments The 6V voltage regulator to be purchased is Tl s TLV431x It is adjustable between 1 24 and 6V The mechanical subsystem requires two of this regulator one to power the servo at 6V and one to power the gyroscope accelerometer and microcontroller at 3 3V The gyroscope is the L3GD20H It is available from Pololu Robotic
105. ill represent specific actions 42 Serial Read Yes Serial Read Forward No Serial Read Reverse Motor control is set to move device forward Motor control is set to move device backwards Serial Read Left Motor control is set to turn device left Serial Read Right Motor control is set to turn device right Figure 3 15 Diagram displaying how the remote control mode will be implemented 3 4 3 Software Block Diagram Figure 3 14 shows a block diagram of the Puppy Pal software The diagram shows a simplified overview of major data flow between the different subsystems of the software As show information eventually gets to the hardware abstraction layer the Hardwarelnterface 43 ofl g a A i CR CH a J ES Mm a A Figure 3 14 Block diagram of Puppy Pal software 4 Project Hardware and Software Design 4 1 Initial Design Architecture and Diagrams The traditional design of a mobile device is the chassis and wheels design For this device the traditional design has too many external components that could be easily chewed off by a curious dog In order to maximize the durability of this device all components must be encapsulated in a rugged shell allowing no point for a dog s teeth to grip This greatly increases durability but poses more obstacles in terms of mechanical design The mechanical system should attempt to maximize acceleration decelerati
106. ince the device will be designed for a high durability factor In addition they are fairly cost and power efficient with an operating voltage range from 3 to 12 volts The size also plays a significant role as piezoelectric sound generators are usually small to add on to the system and will be a beneficial factor to look at when trying to choose a method to fit inside a 6 inch enclosure Table 3 9 provides information on potential piezoelectric sound generators that may be used Part cspT11A05 CSPTZ3C09 CSPE15A05 CPB40A09 Type Transducer Transducer Buzzer Buzzer Size mm 11x9x1 7 23x22 11x9 5x8 40x20 Zeie 3 S 2 S ee So 1 20 1 30 3 16 3 20 A 3 S gt p Suala B 73 102 85 100 Table 3 9 Table of Piezoelectric sound generator specifications 3 3 4 3 It is a common concept studied that dogs can hear sounds at higher frequencies in comparison to a human A human can hear at a frequency range approximately between 64 to 23 000 Hz and dogs can hear at a frequency range approximately between 67 to 45 000 Hz So basing of those frequency ranges frequencies higher than 23 000 Hz can barely be heard from humans but can be sensitive to a dog A typical dog whistle is in the frequency range between 20 to 54 kHz An electronic dog whistle can potentially be implemented into the system by using a design that can provide the higher frequency as shown in Figure 3 8 created by Popescu Marian 11 The circu
107. ing Puppy Pal autonomous does not seem so far fetched In Figure 3 1 the insides of Sphero are displayed This gives insight to the structure of Sphero The wheels part B drive the ball to roll The top slip bearing part C braces the structure keeps the wheels from slipping and helps to keep the internal structure parallel to the ground This mechanical design is a possible solution to driving Puppy Pal Figure 3 1 shows the inside of Sphero and the assembled Sphero in its charging dock Permission Pending Sphero s Android app interfaces are built off of a development kit provided by Orbotix The development kit provides many Bluetooth routines for sending commands compatible with the Sphero User interfaces are completely up to the developer however There have been numerous designs for controlling the Sphero from a cell phone most modeled off of old video game and RC car controllers One very popular approach is to have the forward backward and left right control independent of each other Probably the most used method of control is to provide an object to move around across a two dimensional plane Moving the object directly up the y axis would make the Sphero go forward and moving the object into quadrant II would make the Sphero go left and so on This approach proves to be the most intuitive and easiest to use because of its simple design its one finger usage This is the GUI that Puppy Pals Android software will try to mimic
108. into account the orientation of the wheel and how quickly the ball moves The difficulty in this design is the wheel moving along the inner surface of Puppy Pal The armature supporting the wheel weights and motors needs the range of motion to face any direction and move forward This might bring the platform that houses the PCB with it For this issue the platform will need to be able to rotate slightly with the rotation of the steering arm Dual Wheel Design The use of two wheels is the conservative choice Already proven effective in the Sphero project discussed in section 3 1 1 this design uses two wheels to drive the Puppy Pal and choose the direction of motion Depending 51 on the proposed direction the wheels rotate in opposing directions to force the ball to turn the required amount and continue its heading Another solution to this obstacle is the wheels rotating in the same direction but at different frequencies A feedback control system with gyroscopes and accelerometers would need to be incorporated into the design to steer effectively The dual wheel design has the risk of slipping To keep the wheels in place at the bottom of the device a bearing much like the one used in the Sphero project could be included to brace the entire system In addition bumpers along the bottom of the inner surface can help keep the wheel in place by pushing it back to the center when it strays Linearly Shifted Weight Design The mechanical sys
109. ion due to the high input impedance a dangerous amount of current will not be able to come into contact with the MCU output pin Potentiometer MCU Voltage Output Value 4700 HIGH 5 V Frequency Ohm LOW 0V Hz 100 HIGH 8645 13 80 HIGH 9571 39 70 HIGH 10309 2 60 HIGH 11173 18 50 HIGH 12048 19 40 HIGH 13073 30 HIGH 13922 14 20 HIGH 15765 41 10 HIGH 17866 71 0 HIGH 19490 89 0 LOW 0 00 Table 4 11 Dog whistle circuit simulation results Figure 4 17 illustrates a frequency plot with respect to the potentiometer value Observing the data from the table above it is noted that the plot based off the assumptions that the value from the potentiometer value is inversely proportional to the output frequency When the MCU voltage is LOW the circuit will never generate a frequency even if the potentiometer is configured for optimal results 81 x 207 Potentiometer vs Frequency Plot 1 8 Frequency Hz 5 12 0 8 0 10 20 30 40 50 60 70 80 90 100 Potentiometer Value Figure 4 17 Dog whistle circuit simulation results 4 10 Ball Schematic The design of the ball will be structured around the C2000 family of MCUs from Texas Instruments There are two UART ports which are 2 RXD and 2 TXD pins that can be used for the two separate wireless modules Figure 4 18 illustrates a detailed schematic of the core design that will be used for the ball In addition there are m
110. ions sseessesseennneeeeseerrrnnnntnseretnnnnnnneeeerrrnenn n 124 Appendix B References E 126 1 Executive Summary Puppy Pal s express purpose is to entertain the owner s dog autonomously This will be accomplished by designing a device that accurately simulates the movements and sounds of a real animal This main device will be spherical and will be referred to as the Ball The reason for choosing a ball over conventional four wheeled designs is durability a fully enclosed ball allows no external components which could easily be chewed off by a persistent dog The ball will be the only device interacting directly with the dog and all other devices will support the function of the ball When animals play their movements are sporadic and they audibly communicate This device s autonomous guidance system will mimic these actions using a location detection system and pseudorandom motion sequences and an audio subsystem will generate intermittent animal sounds The ball should not wander aimlessly into potentially unsafe areas so a user definable play area will be created using a base station and the location detection system The base station will also act as a wireless charger and will be referred to as the Base Charging Station In order to avoid this toy becoming a nuisance the device should be able to intelligently adjust its state when the dog is awake and ready to play and when the dog is sleeping and doesn t want to pla
111. is also implies that the Android software must have knowledge of the unit tests so it may decode the extra information on the phones end Figure 5 12 shows the bit layout for this message Message ID Pass Fail Extra Info Figure 5 12 Bit layout of utmessage message 95 Wake the system up from its low power sleep state Table 5 3 Summary of system messages 5 3 4 Bluetooth Communications Bluetooth messages can come from two sources the collar of the dog or an Android device The diagram above explains the flow of Bluetooth communications from inside the Puppy Pal device When a Bluetooth message is received it sets pini on the device high A valid message that is received is sent to the microcontroller via UART which an interrupt is tied to so that when it goes high an ISR sets a boolean value in the code that indicates that a new message has arrived Messages are two bytes a piece but data is sent over Bluetooth one byte at a time To get around having to deal with this in the microcontroller s code the PART Bluetooth receiver being used is programmable and will act as a buffer setting its pin high only when a valid message has been received 5 3 5 Modes Modes represent a certain state that the Puppy Pal device is in To be in a certain mode means to behave in a certain way The Puppy Pal device can be five different modes PHONE AUTO CHARGING WAITING and UNIT_TEST PHONE means that the system is completely con
112. istance by either giving donations to club for assembly or providing 99 tutorials on how mount the parts Another option is to find a local pick and place to assemble the board by providing the recommended files and components to assembler services 6 3 Final Coding Plan The Software Overview section of this document explains in detail what individual classes are accomplishing and gives a brief look into the system s different modes and message types This section of the document will sum all of this up and explain what the software is doing from a simplified top down approach The Puppy Pal s general flow of the software is simple run a current mode and always check for new messages on every iteration of that mode If anew message arrives handle it otherwise continue running the current mode From a starting point of the system being asleep that is in its lowest power state simply waiting for messages instructing it what to do figure 6 1 illustrates the flow of execution to the time a shutdown message is received 100 Device wakes up Initialize hardware components Create a mode equal to WAITING Set current mode Run current mode Yes Message a Mode Change received Message Change wheel speeds Wheel command No Figure 6 1 Flow diagram for Puppy Pal software Although the shutdown message is a Mode message and therefore has a corresponding run member function it instr
113. it uses a piezoelectric transducer to supply the output sound in this case a high frequency sound to imitate a dog whistle It uses a transducer Electronic Dog Whistle Circuit 30 because it is driven by an external oscillating circuit The circuit also requires four transistors for signal amplification and six inverters The components to the left which are the three inverters the resistor and the capacitor all serve as an oscillation function which produces a square wave signal The purpose of generating a square wave is to reduce current needed The circuit requires 9 volts to be powered and generates an output frequency of about 21 kHz The push button can be replaced by a MOSFET transistor the gate can be hooked up to MCU output so it doesn t draw a significant amount of current So if the MCU output is high current supplied from the 9 volt source will run through the circuit and then trigger the piezoelectric transducer PUSHBUTTON ll PB 220uF ev 4 I 2581142 2581142 PIEZO TRANSDUCER T1 T3 equivalents 2SC3420 2SD826 2SD1685 2N6412 T2 T4 equivalents 2SB1143 2N6414 Figure 3 8 Electronic Whistle Dog Schematic image request pending Another potential dog whistle circuit can be implemented using a 555 timer and an 82 dB piezoelectric transducer like the circuit designed by Tomaz Lazar as displayed in Figure 3 9 12 The circuit is a basic design and requires a low number of c
114. l which is firmly jointed to the axis will rotate with respect to the internal components The inertia of the internal components will cause the device to also rotate with respect to the ground although to a lesser degree This design s acceleration and deceleration is limited by the torque which can be produced without causing the counterweight the weight of the internal devices to rotate more than a quarter turn in either direction 45 Front Motor 1 main Motor 2 steering PCB Battery pack Joint Axle Bumper Figure 4 1 Front view of the mechanical design powered by rotational motion showing how components interact Top Motor 1 main Motor 2 steering PCB Battery pack Joint Axle Figure 4 2 Top view of the mechanical design powered by rotational motion showing how components interact 46 Right Side Motor 1 main axle Motor 2 steering PCB Battery pack Bumpers Figure 4 3 Right side view of the mechanical design powered by rotational motion showing how components interact 4 1 2 Mobile Center of Mass The basic premise for this design is that gravity creates a force on an object and a force applied at a distance away from the center of mass will create a torque This torque will create motion in the direction of the two dimensional projection of the center of mass allowing the device to move in two dimensions An easy way to visualize this design is the familiar image of a h
115. le that can be changed as the tests continue Starting from 15 the angle will be changed by 15 after five trials of trying to ascend the ramp One of the testers will also stand behind the ramp to catch Puppy Pal if it falls off the ramp Whether or not the device makes it up the ramp and the time it takes to do so will be recorded in Table 7 2 Angle degrees 15 30 45 60 75 Table 7 2 Collects the results of the ramp climb test 7 3 2 Remote Control Test The remote control test will test the parameters that are involved when the Puppy Pal is put into remote control mode Most tests will revolve around the Bluetooth module and Android application The tests will involve Bluetooth range testing Android response testing button control testing tilt control testing and other testing procedures Since there will be no speed control the user will have access to speed tests or mobility tests will not need to be conducted when the system is under remote control mode The user will not be able to configure mechanical aspects of the system other than movement 7 3 2 1 Android Bluetooth Connectivity Testing Trial 1 Trial 2 Trial 3 Trial 4 Trial 5 Android Bluetooth connectivity testing will be based on if HC 05 module is reading in the data from the Android device Testing procedures will require a development 108 board with UART connectivity in this case the Arduino UNO a computer to di
116. less power receiver connected to a matched receiving coil and a charging module The power source used will be a household outlet using standard 120V AC power at 60Hz which will be stepped down rectified filtered and regulated before being fed as DC power to the transmitting device The transmitting device will convert a DC power source into a wireless power signal that can be efficiently transferred from the transmitting coil to the receiving coil and will provide a communications link to the receiving device for control and monitoring The receiving device will convert the received wireless power signal to a regulated DC output The charging device will use the regulated DC output from the receiving device to safely and efficiently charge the battery system 2 3 6 Location Detection Puppy Pal requires a location detection subsystem in order to keep the dog safe if Puppy Pal simply rolled around with no location feedback it could potentially roll into an unsafe area like a road or undesirable area like the pantry The location must be capable of working with the control and mechanical subsystems to keep Puppy Pal within its assigned area of play within normal circumstances meaning it is not being forced out by an external force The location detection subsystem should also be capable of guiding Puppy Pal to return to its area from any place that the mechanical subsystem is capable of doing so after it is carried off course by an error or exter
117. ll be masked with a replaceable fabric cover The sphere is important because there are virtually no places that can be chewed on or torn off The all day duration requires a sleep function that takes advantage of the time when the dog is napping allowing the dog an undisturbed rest while monitoring the dog to allow for restoration of entertainment when the dog has woken up 2 3 Project Specifications and Requirements 2 3 1 Durability Durability plays a huge role in terms of overall specifications of the device with the project being produced to interact with household pets specifically more with dogs the device will have to be designed to be highly durable against a wide variety of situations that may threaten the internal electrical structure Since dogs have a habit of salivating on their toys the device will have to have a spherical enclosure that will resist any significant amount of saliva from the dog in seeping through into the internal electronic hardware of the system Many dogs are known to play rough when they are put into a playful mood they can potentially often tear and throw around their toys that can eventually cause destruction over a period of time especially if there is some sort of fragile circuitry involved inside of the device The device must be durable enough to withstand approximately maximum impulse forces that the dog may deliver to the system and will require the hardware inside to stay protected in order for the dev
118. mA 157 mA Supply Current Rx 38 mA 7 5 mA Supply Voltage 2 1 3 6 V 3V Output Power 1mW 112 mW Price 17 00 19 68 Table 3 2 ZigBee 802 15 4 module specifications 3 3 1 3 Bluetooth Bluetooth is a wireless communication standard which similar to the ZigBee standard has a frequency band of around 2 4 GHz that can be used as an application for short distances lower power and can be implemented using low cost modules Bluetooth can potentially be used to communicate between different hardware wirelessly in relation to the Puppy Pal system control using an Android device Even though the Android device will be in a visual line of sight within the Bluetooth module it does not necessarily need to operate under those conditions because Bluetooth devices use a radio communications system Bluetooth communications are usually divided into 3 classes in that all have their own specifications with respect to power and data transmission range Table 3 3 displays the different Bluetooth classes Class Max power mW Giele Approx range 1 100 20 100 2 2 5 4 10 1 0 1 Table 3 3 Table displaying the different classes of Bluetooth devices 8 21 Bluetooth networks are implemented using the master slave structure to control data flow To elaborate the device that is responsible for controlling communication data is referred to as the master and slave devices usually just retrieve data Master devices connect
119. ment 104 7 2 Software Specific Testing EEN 104 7 2 1 Puppy Pal Zotbwarg eteegEeCEESERESSEEEEEECEEEESESSEEEEERECEEEEEEESEEEEEEEEEEEEEeCEEE eeect 104 7 2 2 Android Be 105 7 2 3 ll enee deed 106 2 4 Blust oth SoftWwai esee aa aeaiee iai ea a i aaiae ea Aaaa 106 7 3 Hardware Specific Testing ENEE 107 Fes Speed WR GE 107 7 3 2 Remote Control Test ddeecEugdeEEEEEECEEEEEEdENEEEEEEEEEEE NEE ENEE ENNEN 108 7 3 2 1 Android Bluetooth Connectivity Testing ccceeeeeeeeeeeeeeeeeeeeeeees 108 7 3 2 2 Bluetooth Range Test xcs cseceses decease sacl acdcesannndvese tend cayececdves tege 109 T 3297 Buton Control TesStiNg EE 110 7 3 2 4 Tilt Control RE EE 111 7 3 2 5 Timing Response Test EEN 111 7 3 3 Autonomous Movement Test 112 PsA Durability EE 112 7 30 Motion Detection TesStannsntsseinnn a 114 7 3 6 Wireless Charging Test 115 Tl Battery Bt 116 T38 DOG IN SPACHION EE 117 7 3 9 Sound System Test E 117 Ped Gl AOW TES EE 117 7 3 9 2 Potentiometer Frequency Test 118 E da GEET E TCS E 118 8 Administrative Content aeicg feces biden Soe hl otdae Seahinei bined deans hd ottees Moet atone beats 121 8 1 BUGQSL Ane e Ree ei E ee eee ie he Seek die ey 121 8 2 le 121 8 37 Milestones 226 os EE 121 8 4 Decision Making POCO SS ccc ee cc ca tec ca ei ce cs neat 122 8 5 Group Responsibilities cece ceeeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaeeeeeeeeeeeeeeeeeaaees 123 EE 124 Appendix A Copyright Permiss
120. n Under the most optimal conditions the play radius will have a maxim of around 100 feet and a minimum of 10 feet So when the user moves the slider it will change the play radius depending on the motion The slider moving to the left will represent a decrease in play radius by a factor of 10 or 5 Moving the slider to the right will represent an increase in play radius by a factor of 10 or 5 4 5 5 Detailed HC 05 Schematic Figure 4 5 5 illustrates a more detailed schematic of the connections between the MCU and HC 05 Bluetooth module As observed from the schematic it is seen that only five pins are needed to operate the module Those five pins are GND pins 13 14 and 22 3 3 operating voltage pin 12 RESET pin 13 UART TX pin 1 and UART RX pin 2 There are two methods of connecting the HC 05 to the MCU one way is using a 5 volt level and the other way is using 3 3 volt level The 5 volt level connection will require far more components such as a two level transistor circuit connected to the UART TX pin with the first level using positive 5 volts and the second level using negative 5 volts The 5 volt connection will benefit the design because the output voltage from the MCU is 5 V However using the 3 3 volt level would be the most beneficial as it will require less circuitry and is less complex To obtain the 3 3 volt operating voltage of the HC 05 a voltage regulator can be connected between 3 3 V node and 5 V supply voltage from
121. n MCU Programming Autonomous control Software Mechanical design Android application Afzal Remote control Sound system Mechanical design Android application PCB Table 8 3 Group responsibilities 123 Appendices Appendix A Copyright Permissions Texas Instruments authorization http www ti com corp docs legal copyright shtml Tl grants permission to download print copies store downloaded files on a computer and reference this information in your documents only for your personal and non commercial use But remember TI retains its copyright in all of this information This means that you may not further display reproduce or distribute this information without permission from Texas Instruments This also means you may not without our permission mirror this information on your own server or modify or re use this information on another system TI further grants permission to non profit educational institutions specifically K 12 universities and community colleges to download reproduce display and distribute the information on these pages solely for use in the classroom This permission is conditioned on not modifying the information retaining all copyright notices and including on all reproduced information the following credit line Courtesy of Texas Instruments Please send us a note describing your use of this information under the permission granted in this paragraph Send the note and
122. n average of 3V during normal active operation The total power requirement can be calculated and converted to a current requirement from the 12V supply battery as follows 3V lactive 1000mA 100mA x 1025mA This is a very rough estimate and will require verification in the testing stage In order to accommodate the potential errors due to estimation a large safety margin will be employed A minimum of double the expected continuous active current 2 5A continuous will be required when selecting the battery and power supply components and 2A continuous for all components in the direct power flow line to the motor control This safety margin should minimize the potential need for future redesign and minimize the potential for failure The peak current requirements for this device should be a minimum of double the components required continuous current mainly due to the observation that the motors appear to be operating at half of their maximum operating power and to account for the possibility that an operation requiring full power may occur and should not cause failure of any individual component Possible times that maximum motor power may be required are a mechanism for dislodging the device when it is found to be stuck In addition to the active mode lower power modes will also be used when the device is awake but motionless meaning that no power is being drawn by the motors To calculate the expected battery life of this system we
123. n based on the cost feasibility and difficulty involved in building and controlling it Counterweight Design The counterweight design uses changes in the center of gravity to drive the device s motion A pair of motors is used to move the weight in the desired direction The servo motor steers the ball and the drive motor pushes the ball in that direction While the weight tries to move forward the framework attached to it and the inside of Puppy Pal are pulled along The entire system tries to balance where the weight lies The entire system may rock in place until the counterweight has stopped completely This rocking may confuse the control system into believe the system is still in motion To counteract this sensors will detect this rotational motion and inform the controller to react accordingly Rotating Wheel Design The rotating wheel design relies on the interaction between the spherical enclosure and a wheel inside of it A motor moves the wheel forward or backward This drives Puppy Pal forward A servo motor rotates the wheel for steering To create more torque weights are attached to the wheel If the wheel climbs along the inside surface of the ball the center of gravity forces the entire ball to go forward Such a system is simple and allows for clear instructions that do not require a good deal of clock time for decisions to be made Puppy Pal will react to its controls quickly The control system for this subsystem has to take
124. n the system as a whole If messages are not functioning correctly the system essentially does not perform correctly To test them two bytes of a fake message of value OxFFFF shall be created and sent to the current messages unpack member function to assure all data members of the message are equal to some sequence of ones Then two empty bytes shall be created and the messages pack member function shall be called to assure that the bytes are equal to OxFF Then the messages run member function shall be called to assure that the routine runs during program execution Movement Test TestID 00100 The Puppy Pal device shall be able to move forward backward turn left and right while doing so and do a 360 degree turn while stationary This test shall first test that it moves forward by moving five feet forward then backward by moving five feet backward to its original location The test shall assert that the device can turn left and right by performing a circle of an approximate circumference of fifteen feet first turning right then left Next the test shall assert that the device turns in 360 degrees while staying stationary 7 2 2 Android Software The Android can be tested on a PC using the Android integrated testing framework With the addition of a USB Bluetooth module every aspect of the application can be simulated Assuming all Android tests pass the application will be able to open and control the device without error Path D
125. nal force The key factors of the location detection subsystem are accuracy precision size complexity of implementation additional hardware and cost The location detection subsystem must also be capable of accurately providing velocity data or primary data must be accurate and be updated frequently enough that velocity can be derived from the position data source This subsystem must be able to provide location measurements accurate and precise enough to keep the device within a defined radius of the charging station The location subsystem must be capable of operating inside a building without a clear view of the sky as well as outside without Wi Fi access In order to achieve an accurate guidance system the data produced by the location detection system 7 must be simple enough to be processed in time to accept the next batch of data and for the data to still be accurate or have a method for accounting for the distance travelled during processing time In the interest of minimizing the complexity of integrating the location detection subsystem a fully functional module would be ideal Possible technologies to be researched and considered are a Global Navigation Satellite System GNSS such as the Global Positioning System GPS in the United States Wi Fi Position Systems WPS for use of the device in buildings or areas without a clear view of the sky an Inertial Measurement Unit IMU with a software implementation of a Kalman Filter and
126. nd experience In order to build the best possible toy the group s body of knowledge must grow Different techniques were studied and compared to decide what methods will work best in the design of Puppy Pal 3 1 Existing Similar Projects and Products To point research in the right direction projects similar to the initial concept of Puppy Pal had to be studied These were used to learn what modes of transportation and control were used what had been successful and what could possibly be accomplished within the required timeframe The most important knowledge gained was the scale of the project the project s objectives could be met 3 1 1 Sphero Sphero is a robotic ball toy Owners control the toy s motion and the LED color displayed with a smartphone application Sphero uses Bluetooth communication to receive its commands It can also charge wirelessly To track movement a three axis accelerometer and a gyroscope were installed In addition to the basic control app Sphero s creators developed a series of programming environments to encourage Sphero owners to be creative and make their own apps The apps range from setting a path for Sphero to follow to an augmented reality racing and zombie fighting games Puppy Pal will recreate the spherical shape wireless charging and Bluetooth communication features Sphero has The great variety of apps developed for Sphero shows that there are many applications for this type of toy Mak
127. nds can be played The cons of implementing this system is in comparison to using a piezoelectric transducer it would be more a more expensive alternative In addition this method would require far more space as the Puppy Pal will be designed to be in a small 6 inch spherical enclosure Also multiple audio files are not needed since the device will be designated to be used with dogs a short sound clip or a basic impulse sound would suffice under ideal circumstances in sound system applications MCU Ball 80hm Speaker External Storage MCU Shield SPI FLASH Amplifier Figure 3 7 Block diagram of sound system using MP3 shield 3 3 4 2 Piezoelectric Sound Generator 29 Piezoelectric sound generators can be potentially implemented into the system more specifically inside the ball Piezoelectric sound generators output a sound that can be in a minimal frequency range such as warning signals or beeping buzzing sounds heard in many household appliances They range from having a petit sound output to a rough noisy sound output There are two types of piezoelectric sound generators that can be looked at piezoelectric transducers and piezoelectric buzzers Piezoelectric transducers are implemented with an oscillating circuit and as for buzzers are designed to have an internal oscillating circuit embedded within the component 10 Piezoelectric sound generating circuits are completely dynamic and robust which will be useful s
128. ng state Some other useful features are a Peripheral Interrupt Expansion block that supports interrupts on all peripherals 3 32 bit timers 8 pulse width modulation units 16 channels of 12 bit ADC with a conversion time if 286 nanoseconds 2 UART and SPI modules and 40 GPIO pins 25 with input filtering Aside from reliability Texas Instruments products are also known for their great documentation and community support The C2000 series is no exception Their website is full of example code and schematics to ease the processes of design for common products One of the nicest features of the C2000 series is the inclusion of the instaSPIN modules This is a library of products that aid in embedded system motor controlling The software is specifically for controlling devices from a computer and not to be run directly on the embedded system so it cannot be used for the final product but it will be incredibly helpful for the early stages of development when simple testing of the two motors needs to be done There are plenty of breakout boards for this chip as well The development platform most commonly used for this product is Code Composer Studio It has version for both Windows and Linux and interfaces nicely with development board It handles all compiling linking and downloading of code to the board It has full support for C and because of the code space on the chip all of its features can be utilized Much like the LPC2148 the chip also com
129. no thresholds are exceeded 3 3 5 2 Puppy Pal Battery The most important parameters for the selection of Puppy Pal s battery are nominal voltage safety size weight cost peak current charging complexity and capacity The table shown in Figure 3 10 was found to be helpful in selecting the proper battery chemistry for this design based on the most important design criteria The nominal voltage of this system will be 12V which fits well with nickel metal hydride NiMH nickel cadmium NiCd and lead acid batteries which all have cell voltages that can be combined in series to provide a nominal 12V however a voltage regulator could be used to obtain the needed voltage if the benefits of another chemistry outweigh the drawbacks of adding a regulator It is possible that a regulator may still be required due to the change in voltage that batteries experience under changing load conditions Lithium based chemistries particularly lithium ioin and lithium ion polymer have the highest energy density but NiMH is also likely to be high enough for this project with respect to both energy to mass and energy to volume making NiMH the simplest choice if it meets the battery life requirements The energy densities of lithium based chemistries are greater in terms of volume and approximately double with respect to mass making them a viable option if more power is needed Issues with using any lithium based battery chemistry are that shipping regulatio
130. ns exist and become more problematic when using larger batteries The primary downfall of NiMH batteries is that they have a higher self discharge rate than many other chemistries and performance will degrade without maintenance which could cause potential problems if the device is permanently sealed NiMH and all lithium based chemistries require specialized circuits to charge and lithium based also require a specialized protection circuit to keep voltage and current within safe levels The price of these batteries vary greatly depending on chemistry capacity and maximum charge and discharge ratings In general lithium based chemistries are most expensive per amp hour followed by NiMH NiCd and lead acid 13 A NiMH battery will be used in the design stage with the option to switch to a higher density and higher cost lithium based chemistry with a voltage regulator if the need arises 33 NiCd NiMH Lead Acid Li ion Li ion Reusable polymer Alkaline Gravimetric Energy 45 80 60 120 20 50 110 160 100 120 80 initial Density Whikg Internal Resistance 100 to 2001 200to3001 lt 1001 150 to 2501 200103001 200 to 20001 includes peripheral circuits ey pack 6V pack 12V pack 7 2Vpak 7 2Vpak 6V pack in mQ Cycle Life to 80 of 15002 200 to 50023 200 to 500 to 10003 300 to 503 initial capacity 2002 500 to 50 Fast Charge Time 1h typical 2 4h 8 16h 2 4h 2 4h 2 3h Overcharge Tolerance moderste low high very low low moderate Self discharge 2
131. ntegration errors are only an issue with increasingly longer times In the interest of future improvements to the prototype the antenna has been wired to a SMA connector allowing multiple antenna types to be tested and all unused pins on the Bluetooth SoC have been wired to external sockets via a busses blue lines When mounting the accelerometer on the PCB special care must be taken to minimize unnecessary vibration Any vibration that is not part of the dog s motion is unwanted noise and could produce false interrupts from the accelerometer to the Bluetooth SoC wasting power and reducing battery life Minimization of these vibrations can be accomplished by additional screw mounts as well as intelligent placement of the device with respect to the mounting locations Suggestions for PCB placement are found in the datasheet of the devices as well as other online sources and all instructions and suggestions found in the devices datasheet will be considered early in the PCB layout stage and explicitly followed 71 RIPPPPEH CELELLLIJ Figure 4 13 Detailed schematic of the circuit in the collar 4 7 2 Base Charging Station The base charging station s primary functions are to allow wireless charging of the ball provide housing for the motion sensor and act as the center of the play area The basic functionality of the base charging station was shown in Figure 3 12 and the implementation of this block diagram is shown in the schematic
132. o trigger the sensors the location will be varied and performance with respect to distance will be determined Since it is expected that the size of the object will determine how well 114 the sensors work living beings of varying size and location will move through the area to determine the performance with respect to size The test with inanimate objects will be to determine if false alarms will be an issue and if any adjustments will need to be made to the system to limit them Slight motion of objects such as a plant or leaves blowing in the wind will also be tested to further assist in optimizing the settings of the sensors for minimum false alarms without allowing any false negatives The setup for the final test is depicted in Figure 7 2 and shows a small dog walking in the play area which should trigger the sensors and a number of stationary obstacles including plants that may blow in the wind and a ball which should not trigger the sensors PIR sensor Base Charging Station Expected play area geometry Figure 7 2 The play area as known to the ball Ideal play area obstacles a moving dog and the expected area which the PIR sensors can detect motion a scenario which should produce a signal from the proximity sensor subsystem 7 3 6 Wireless Charging Test The first test for wireless charging will be a very simple test only requiring the wireless transmitter module the wireless receiver module and a LED with a series re
133. of Figure 4 14 The power for this device is supplied by a 120V household AC power socket stepped down to 12V by a transformer Y8848 AL and converted to DC power by a bridge rectifier and capacitor This DC power is then rectified and stepped down further to 5V by a step down switching regulator PTN78060W All devices mentioned up to this point have been selected to be capable of providing a minimum of 10 Watts to meet maximum required power specified in the power system section including the safety margin This 5V power is sent to the ball using a wireless power transmitter BQ500211A receiver BQ51013B not pictured and matched A5 coils Motion detection will be accomplished using a pair of wide 72 angle 180 degree Passive Infrared PIR sensors pointed in opposite directions to detect motion in all directions The two PIR Part 28032 from Parallax sensors will be used as active high inputs acting as interrupts to the Bluetooth SoC CC2541 to wake the device and relay the motion detected signal to the ball for processing 73 S FEEEEFI JE EET Figure 4 14 Detailed schematic of the circuit in the Base Charging Station 4 8 Power Systems 4 8 1 Collar The components on the collar all have similar voltage requirements and total current requirements
134. omponents The circuit is powered by a 9 volt source and generated frequency is dependent on the values of the potentiometer that will be used The potentiometer reflects on pitch frequency a lower resistance generates a higher frequency and a higher resistance generates a lower frequency If a dog whistle is implemented on to the system this design would appear to provide the best approach The design does not take up as much space as the design above and also does not require a significant amount of hardware Similar to the previous design a transistor can replace the mechanical button where the gate of the transistor is connected to the MCU with the source and drain being connected to be between the voltage source and 555 timer A note to conclude on is that the dog will not automatically react to a dog whistle it will need to be trained to react to the sound if not trained the dog will most likely not react This concept will probably be accurate for most sounds that may be chosen 31 Output 11 to 22kKHz 10uF 2 i 1 CONT THRE FRIG RSET Piezo 82dB Try a smaller pot for ultrasonic operation only T L 2000 JATTERY Figure 3 9 Ultrasonic Dog Whistle Schematic image request pending 3 3 5 Battery Two batteries will be required for this project one to power the collar worn by the dog and one to power Puppy Pal Both batteries have size constraints imposed by the mechanical housing of the respective systems
135. on and steering ability and top speed while minimizing the potential for loss of control 4 1 1 Rotational Motion The basic premise of this design is Newton s third law of motion every action has an equal and opposite reaction In this system a pair of motors causes the exterior shell to rotate with respect to the interior components producing a motion The reason for two motors is steering One motor will provide the forward motion the more powerful motor and one will provide angular steering by spinning the device about its vertical axis This design can be seen in the set of two dimensional renderings in Figure 4 1 Figure 4 2 and Figure 4 3 The connections mechanically supporting the internal devices come in two forms bumpers and joints The joints which are only used to support the axle will be firmly attached and should not slide twist or move in any way from their initial position during operation The bumpers will be low friction joints which are only used to support the weight of the device and aid the main axle support The first motor which needs to be more powerful will be the main motor which will provide motion in either forwards or backwards in a path directed orthogonal to its axis which is the axis the axle lies in and the vertical axis the axis in which the shaft of the steering motor lies The direction cannot be changed by the main motor but as the second motor the steering motor rotates quickly the outer shel
136. or faster acceleration Downfalls include an added requirement of a specialized antenna for the GPS since GPS requires the clearest possible view of the sky and a rotating center will not always face the sky also the center of mass must be located very near to the center of rotation in order to minimize vibration The stationary center however would actually benefit from a center of mass located far from the center to allow for a greater torque to be applied without rotation The stationary center also offers a greater final velocity of approximately double because the rotation is with reference to zero rotation as opposed to the rotating center which is with reference to a rotation in the opposite direction Benefits from the stationary center also include greatly improved simplicity and functionality of the GPS location system which benefits from an antenna which has performance related to how clear view of the sky its view of the sky is With the stationary center the GPS antenna can be mounted on the highest sky facing part of the device allowing the antenna to always have the best possible view of the sky for maximum accuracy 4 1 3 Hybrid Another possible mechanical design could be to create a system that takes advantage of the benefits of both systems Since the rotational system allows for the greatest acceleration a powerful motor could provide a linear driving force while a smaller motor could move the center of mass in a direction
137. or the entire semester The GPS testing will take place outdoors for optimum measurements Tests of Puppy Pal s mobility will be done outdoors and indoors to have a variety of surfaces A video camera will be used to film testing This film can be examined later 7 2 Software Specific Testing 7 2 1 Puppy Pal Software There will be three modes that the software for the Puppy Pal device can be build in RELEASE DEBUG and UNIT_TEST UNIT_TEST simply unlocks the self test of the device and sets the main function to perform a set of unit tests that each module of the program has Tests light a green LED for pass and blink a red LED for a failure each for three seconds In addition to blinking LEDs messages will be sent from the Puppy Pal device to an Android device to display a specific test name and the text Pass or Fail to make testing information more human readable Hardware Interface Test TestID 00000 The Hardwarelnterface class is arguably the most important of all the classes Eventually everything that the Puppy Pal does uses the hardware of the device The test for this class shall exercise toggling the output voltage to all GPIOs An oscilloscope will be used to test the output voltages on all the pins There are also two PWM units that will be used to control the motors An oscilloscope will be used to assure that the output pins are oscillating at the correct duty cycle Faked bytes will be filled into the UART send an
138. os and cons 24 LPC2148 The last microcontroller we considered was the LPC2148 by Philips This is as beefy as a processor can get for small embedded system It s part of the ARM architecture suite and offers a 32 bit RISC instructions set The chip is physically small and powerful with tons of features including but not limited to 512kB of flash 32kB of RAM 2 10 but ADCs with 14 channels a piece a full speed USB 2 0 Speed Device Controller 2 UART 12C and SPI interfaces a PWM unit and a 60mHz processor with an on board crystal oscillator to top it all off All of these features are perfect for the Puppy Pal device plenty of code size plenty of RAM two UART channels and a PWM unit The PWM unit comes in especially handy because of the constant change to our duty cycle to get the wheels to spin at certain rates Aside from the Hardware there is decent community support and a very detailed users guide that goes over all of the features the Puppy Pal device will use It comes standard with a C and C compiler and because of the flash size for the software running on the device many useful features of the C language can be taken advantage of like operator overloading and virtual function tables The processors main interface to embed code is through DC There are also no development tools available that make the process of writing compiler and loading easy This is also a processor for very large end embedded systems In other words t
139. pad June 2 8 e Deadline If the mechanical system does not work fix it or find a new system June 9 15 e Deadline Complete microcontroller coding e Deadline Order the PCB wane le 22 e Deadline Complete app coding June 23 29 e Test the Bluetooth pairing between the different subsystems e Deadline Solder parts onto PCB heed sy e Deadline Assemble all subsystems e Deadline Interface of all subsystems duy ae e Go through performance tests July 14 20 e Deadline Artistic detailing Table 8 2 Milestones 8 4 Decision Making Process Throughout the prototype construction and testing stages previous design choices will need to be revised Some parts will not work others will be too difficult to assemble deadlines will arrive too quickly for some tasks to be completed When problems arise the group member who finds it makes the rest of the group aware of the problem He may work alone on the issue for two days If the problem has not been resolved at least one other group member will start to work on it as well After three days the entire team considers the problem for two days If no solution has been found the group takes a day off from thinking about this component and concentrates on other parts of the project Then the team discusses the issue If the problem is delaying a vital subsystem s assembly the group can decide to continue trying to fix it waiting two more days before resuming work on t
140. pecification but the size and chemistry will affect battery life cost and size Using the minimum voltage at which the device can function 1 9V and the service hour calculation curves for Duracell Coppertop AA 26 and AAA 27 batteries the expected battery life for the collar can be calculated Since the 1 9V is split across two cells the average cell voltage must be greater than 95V Interpolating the curve data it can be seen that the typical battery life of a pair of AAA battery would be approximately 1000 hours Approximation of a pair of AA batteries is more difficult because lowest current measurement is at 5mA however by extrapolating from the given data lifetime can be expected to be greater than 1000 hours and may approach 1500 hours 4 8 2 Base Charging Station The power for the base charging station will be derived directly from a household power outlet carrying 120V AC power This power will be stepped down using a transformer rectified using a diode bridge smoothed and filtered using a large capacitance and finally regulated to an appropriate voltage to be used by the components The components to be powered include the wireless power transmitter the motion detection subsystem and the communications subsystem All components involved in the power supply must be designed to meet the maximum power requirements of the sum of all components being supplied and an additional safety margin The wireless power transmitter will be
141. peed speed int wheelSpeeds list lt int gt ShutdownMessage StartChargeMessage LearnPathMessage BeginAutoMessage ChangePathMessage WheelCmdMessage WakeUpMessage onDraw void saveCurrentPath void sendCurrentPath void Figure 5 3 Android software class diagram Message Factory This class is essentially identical to the MessageFactory class inside the Puppy Pal device Messages must be consistent no matter the source that they come from This also becomes important because the android device is the main source of sending debugging information and just testing the system out as a whole Path Drawer To provide a nice user interface the user will be able to draw paths for the Puppy Pal device to save off and run later This class will handle all of the drawing and creation of path data to be sent off to the Bluetooth module to be stored on the Puppy Pal device Paths will have a limited size and be sent ina special way first the Android device will issue a command to change to LEARN_PATH mode Then a path start message will be sent and stored When the device acknowledges the message and sees that it is ok it sends back a message informing the Android device to send the next message If the message fails a message is sent back to alert the Android device that an error occurred and the message needs to be resent Finally a trailer message followed by a Mode change message to go into the previous mode
142. plex can be integrated Password requires Complexity connectivity rogramming ed y prog 9 ATmega328p Table 3 4 Bluetooth module comparison 3 3 2 System Processing 3 3 2 1 Microcontrollers MSP430 Launchpad The MSP430 from Texas Instruments value line is a fantastic processor for the price When you order the package you get two microprocessors the msp430G2553IN20 and msp430G2452IN20 They re both identical other than the internal clock speeds but on the development board you defunct both by soldering the external 32 768kHz crystal onto it The tools that are available make downloading code onto the chip very easy The development board s only interface is USB which provides power and a tunnel to the processors flash memory to burn code in Some of its more important technical specs are 16kB flash memory 512B of RAM interruptible GPIOs 16 bit timer 8 channel 10 bit ADC and support for USCI DC and UART serial communications There are also plenty of booster packs that give the processor some extended features The processor runs on 3 3 volts and also has configurable low power modes which would be perfect for our application The real flaw of this processor is its code space The processor is part of Tis value line for a reason it s for hobbyists to tinker around with There is a code expectancy of at least five times the amount 23 available so that immediately put this one out of possibilities Asid
143. poses including determining what normal usages for this toy may include and determining how well the device is performing its function This will likely be the very last test performed and will serve to determine what adjustments need to be made in terms of sounds motions and exterior appearance This information can be used to make adjustments to the autonomous motion control system to correct for any behavior that the dog may be intimidated by or behavior that may cause the dog to lose interest The only possible required equipment for this test is a video and audio recording device to determine how the dog interacts with the device without people around In addition to the tests that will be performed in autonomous mode tests should also be done with the user input mode to determine how well the autonomous mode compares to the human control mode and what noticeable difference is seen between the two 7 3 9 Sound System Test The sound system test will test different aspects of the design that was described in section 4 9 such as input current output current and output frequency at an optimal potentiometer value Multiple potentiometer values will be tested in order to determine optimal sound output as well 7 3 9 1 Switch Test The switch test will test if the switch design using a non inverting op amp will function correctly To test there will be two different sources that will be used for the 5 volt turn on voltage one will be from
144. power transfer The housing must also house the proximity detecting subsystem This will require a slightly taller portion of the system in order to see over obstacles on the floor and may still be situated inside a plastic enclosure with suitable transparency to infrared light The housing for Puppy Pal is also very important because it is actually intended to be used both inside and outside knocked around and chewed on by a dog Some dogs have extremely powerful jaws capable of bite forces of over 4000 Newtons 900 pounds at the molars and over 1000 225 pounds Newton at the Canines 29 Bite forces in this range are very capable of breaking plastic enclosures Large dogs have snout lengths of approximately 6 inches and can open their moth approximately 75 degrees allowing them to grip a ball of about 7 5 inches in diameter in the very tip of their mouth This will allow large dogs to pick the ball up however at the tip of the snout the bite force is diminished as seen by the trend from molar bite force to canine bite force By using a ball with a diameter of 6 inches the forces that the ball will be subjected to can be greatly decreased therefore increasing the durability of the ball This design must also be of withstanding the elements regular chewing and forceful impacts caused by rough 85 play Ideally this device would be placed inside a fully enclosed plastic ball however this causes difficulties with maintenance and may not
145. pt service routine for UART SCI data transmissions A private member boolean value will be set upon the execution of the this ISR which is checked in each modes see Mode class at the beginning of its execution loop This is the basis of the messaging system which controls the actual functionality of the system Message The messaging system is unknown at the communication level of our system A sequence of bits is sent over Bluetooth and a serial communication connection but until the bits are decoded they are meaningless The Message base class provides an abstraction of these bits into a concrete data type that knows how to handle itself The class definition provides three abstract member functions that are to be defined by all inherent classes The first pack takes a sequence of bytes and the number of bytes as arguments and fills out the the class that it is called upon based on the information in the bytes The second unpack is similar just in the reverse order The third run actually executes what 87 the message is intended to do For instance if a message is received to change the mode the messages run member function should get the ModeMachine see ModeMachine class instance and set the current mode to the one that was transmitted in the message The advantage to this design is clarity assuming the pack function is implemented correctly the class will contain all the correctly filled out data fields to implement its job
146. r which is always on the ground the two dimensional position on the ground could be calculated using three base stations Many different types of signals can be used however radio frequency RF infrared IR ultrasonic are the most common Issues with using RF and IR signals are that when using base stations in proximity errors in synchronization between stations and errors in the receiver s timing system could be large for the low cost components this design requires The ultrasonic signals provide a larger TDOA for the same proximity of base stations due to the speed of sound being much lower than the speed of light making the errors in timing and synchronization much less significant and could provide more accurate data Possible issues that may be encountered with an ultrasonic are the limited range would cause failure of the system when the ball is taken out of the sensor s range and the possibility that although humans won t hear the ultrasonic sensor a dog may Dogs are capable of hearing much higher frequencies and while this does not eliminate this option it will impose further requirements which may not be met by existing modules While the multilateration methods discussed excluding GPS 38 may be inadequate for the main location detection system s requirements the improved close range accuracy of ultrasonic sensors could be very beneficial in close range This could be used in conjunction with other location systems su
147. raw Test A major aspect of the Android software is to be able to draw a path for the device to follow To test this a user shall stress test the drawing abilities of the application making sure that no skips or offset paths occur Two buttons will be available and the test shall assert that pressing the cancel button 105 discards the current path and that pressing the accept button saves the current path and converts it into a message The path must also be closed by the time it has finished The test shall assert that unclosed paths are disregarded If a path is closed but has too much extra path past the point of closure the path shall be taken up to the point of closure and no further The test shall assert that extra path lengths are disregarded in this case Message Test The messaging system on the Android and Puppy Pal devices are one in the same Therefore the testing will be the same All messages shall exercise their unpack pack and run member functions Device Controller Test To control the device the user shall be able to drag a circle a distance away from an origin on a plane much like an x y plot This test shall assert that the object being moved around the screen moves smoothly and the data feedback is accurate to within 1 unit of the plot The test shall assert that any value chosen by the user that is between two integer values on the plot is rounded down to the nearest integer Automatic Bluetooth D
148. regulator will be needed The breakout board that carries the L3GD20H has a voltage regulator with output 3 3V and input between 2 5 and 5 5V Instead of being connected to Puppy Pal s power supply this regulator should be connected to the regulator that feeds into the microcontroller which should fit within the required range Another feature of this device is temperature sensing The output of the sensor is one of the digital signals that can be read via serial communication The temperature sensor can tell the microcontroller when it is too hot inside of the ball to continue to work efficiently and effectively The L8GD20H is a valuable choice for its variable sensitivity the ability to detect angular movement on three axes and the digital output signal it provides It also makes the addition of a separate temperature sensor redundant 58 Hovis Gyro Accelerometer Sensor This device has a three axes gyroscope and three axes accelerometer The price is 30 00 which is acceptable if this device takes the role of an accelerometer The gyroscope has a range of 2000 s The accelerometer has a range of 16g The gyroscope is not sensitive enough to measure the small angular rotation that Puppy Pal will experience accurately The accelerometer s range is enough to detect the shaking of a dog but not sensitive enough to detect smaller accelerations The output is a digital signal The device communicates with the microcontroller via DC The opera
149. rial breaking under tension may be neglected depending on the dog due to the enclosure being spherical and with dogs having limited physical capabilities in 3 pulling on the material but can be looked at as a guideline in making a final decision on choosing an enclosure IZOD impact amount of energy a material can absorb before it breaks and compression strength material breaking under compression are significant specs to look at because the device will primarily be in situations where the material is compressed and additionally required to resist impact from a dog or if the device hits a wall or falls down some stairs The device can potentially be put in a position where the dog is laying on it under these circumstances the most reliable enclosure would have to be determined based on the best compression strength with respect to the average maximum weight of all household species of dogs 2 3 2 Mobility Movement inside a small space is a key priority Ae mentioned in the section above if the dog gets a hold on to the device it will be easier for the animal to destroy The primary goal in terms of mobility is not necessarily in terms of high speed or quickness but more along the lines of the system evading or engaging the dog The purpose of evading the dog will give the device a lower chance of the dog destroying it and also it will keep the dog engaged and occupied The velocity of the system would be significant enough to evade the
150. ring arm in the correct direction quickly allow for enough control to stop turning immediately and be small enough to not intrude on the platform holding the PCB or the wheel The DC motor needs to be small enough to fit inside the ball but still be able to drive the toy Table 4 2 compares the features of several servo motors The RF O20TH is the fastest servo but has the lowest torque The HS 55 sub micro servo has more torque but is not as impressive as the other two servos The 9g continuous rotation micro servo is lacking in torque and has a reasonable amount of speed The HS 422 servo motor is the best choice The price is reasonable it has plenty of torque speed on par with the other two servos and commonly found operating voltage The only issue would be the size If the plastic enclosure used is smaller than planned then the servo could be too big If this is the case the 9g micro servo would be the back up 53 Operating Operating Voltage Current rit Va in Price volts amperes H 9g Continuous Rotation 4 8 6 Not Given 83 3 18 9 4 99 Micro Servo HS 422 Servo 4 8 6 0 150 62 5 57 9 99 Motor RF 020TH 2 5 0 184 9580 0 222 1 29 oe SE api ll 0450 71 4 16 66 9 99 icro Table 4 2 Comparison of different servo motors Table 4 3 compares the features of several brushless DC motors The RC 260RA 2670 motor has the most torque and the highest speed Its operating voltage range is
151. rld with reasonable accuracy and high reliability The GPS Standard Positioning Service meaning no augmentation has been used specifies that the worst case accuracy is 7 8 meters with 95 confidence 18 The major disadvantage of GPS is that performance degrades as less of the sky is viewable meaning performance in buildings or around tall buildings suffers GPS requires a small amount of additional hardware which will is available as a single module GPS systems use a common standard for providing data defined by the National 36 Marine Electronics Association NMEA in the NMEA 0183 standard This standard implements communication between a receiver and a satellite using a string of data called a sentence sent using ASCII characters at 4800 bits per second containing no more than 82 characters and ending with a checksum for data verification The format of the sentence a starting character followed by a 5 character identifier string beginning with the letters GP for standard strings and P for proprietary strings followed by the message type for the remaining characters and ending with a comma The actual message begins after this comma and contains data separated by commas The last data field is followed by an optional checksum field containing an asterisk and a two digit hexadecimal checksum value but the final character is always the new line character This design will require 3 parameters from the GPS system position time and v
152. roid device or the collar device WAITING mode is quite similar to CHARGING except that the system is not in a lower power state to begin with It is assumed that if you re in this mode either the collar or the Android device will be giving the system input UNIT_TEST is a special mode that is only available when the system is compiled with unit testing enable During UNIT_TEST mode no external input can be received unless it is required by a test All enabled unit tests will run and unless a critical system error occurs the system will resume normal operation upon completion During tests the device will broadcast messages that can be picked up on an Android device The first message indicates that testing will be begin and sends the Android device into a test output screen From there the messages are decoded and displayed on the Android device and indicate a pass or fail for a given test 5 3 6 Environment and Coding Standards Development will be done on a PC running Windows Compilation and loading of the code into flash will be handled by Code Composer Studio v5 Version control will be done with Git There will be a main branch and new features will all fork the main branch be implemented and then merged to minimize conflicts Code documentation will be done by Doxygen with its default tags All classes and member functions should provide a brief explanation of what its purpose as well as an explanation for all arguments and i
153. rom Atmel corporation and has many useful features for the Puppy Pal device As far as its physical size the processor is quite small with dimensions of about a square half inch It has 24 GPIO pins and 8 more dedicated to specific features two being a two line UART interface One of its best features is that it runs on 1 5 5 5 volts This comes in perfect for low power modes which the Puppy Pal device heavily takes advantage of All 24 of the GPIO pins are interruptible which is nice but a bit overkill It has 30kB of flash memory 2kKB SRAM and 1024B of EEPROM Much like the MSP430 the memory statistics just aren t enough for our code Furthermore the community support and 3rd party tools are slim to none with this device With the time constraints we are facing the overhead of not being able to find exactly what we need in the case of an emergency turned this part away Last and probably most detrimental is that the processor is part of the AVR 8 bit series Because Puppy Pal is going to be very math intensive 8 bits for calculations would not cut it Although clever techniques allow complex computations to be done with 8 bit devices there were better processors for similar prices out there Table 3 6 shows a summary of the pros and cons of the ATmega328P Cheap plenty of interruptible pins operating voltage of as low as 1 5V Slow speeds 30kB flash 2kB RAM poor community support only 8 bit Table 3 6 Summary of ATmega328P pr
154. s amp Electronics The accelerometer is the ADXL335 from SparkFun Electronics These suppliers do not provide free samples so only two of each sensor will be purchased An encoder will not be included in the parts list because of the microcontroller s software making it possible to estimate speed and angular position without feedback The TMS3820F28069MPN microcontroller will be sampled from Texas Instruments if no cap on sampling is applied to the group s account 98 6 1 2 Collar Subsystem The collar subsystem consists of a Bluetooth chip an accelerometer and a voltage regulator The CC2541 is a Bluetooth System on Chip from Texas Instruments The SoC will be sampled from Tl s website The accelerometer is the ADXL350 from Analog Devices A pair of the sensor will be sampled from this supplier The CC2541 and ADXL350 can both be powered with 2 1V The voltage regulator to be connected to the devices is the TPS 62730 This part is available for sampling from TI as well The regulator and the Bluetooth SoC will be ordered together to expedite shipping 6 1 3 Base Charging Station The charging station consists of a transformer basic electronic components a regulator a wireless power transmitter PIR sensors and a Bluetooth SoC The 120V 12V transformer Y8848 AL will be sampled from Coilcraft Inc Resistor capacitors and inductors can be purchased from Amazon in bulk Parallax Inc s PIR sensor 28032 will be purchased from
155. s data directly to earth at a rate between 3 5 Kbits to 12 kbits More often than not there is an orbiter that acts as an intermediary between the two It is in scope of the rover for about eight minutes and in that time sends about 60 Mbits of data Puppy Pal would not be capable of making use of all that data but using an orbiter as an intermediate object did give new ideas to the way that Puppy Pal would be controlled By having the charging station have its own processor and Bluetooth module it could pick up on any Bluetooth messages being sent out namely any message commanding the wheel speeds This would allow the base station to keep a decent track of where the Puppy Pal is at any time and allow it to navigate the device back to a close range of the charging station From there more accurate device could allow precision docking to begin charging Figure 3 3 shows the similarities between the data flow of the orbital and the Puppy Pal device assuming this paradigm was chosen 1 9 EE d 0 Android Device Charging Station Figure 3 3 Similarity between Curiosity and Puppy Pal s communications It is essentially the same except that messages being sent from the Android 16 device to the Puppy Pal are intercepted by the charging station rather than sent directly to it 3 2 2 Android Remote Control Applications There are many devices and projects that have integrated android devices into their system In terms of using
156. s its data and handles it appropriately There are many messages coming from different sources that may arrive at the same time and so bad messages can happen at any time However the execution of code inside the microcontroller is very time sensitive and cannot waste clock cycles handling bad messages so it is critical that when messages come in they are valid and able to be processed Parity bits will be used to assure message integrity When bad messages arrive a signal will be sent back to the sender and inform it that the message needs to be sent again This happens for both the Bluetooth and the UART communication between the Bluetooth device and microcontroller Because of the small amount of information we are sending at a time a baud rate of 9600 will be used This speed is plenty fast but also slow enough to have minimal errors during transfer Specific system message are shown in the diagrams below with the message type bit layout and description preceding the payload layout Message Type Payload Figure 5 4 Generic message layout Wakeup The system has two major states that it can be in active or non active The transition from non active to active can happen by a user sending this message from an Android device or the collar of the dog broadcasting this message because it knows the dog wants to play If the system is in an active state and this message is received it is ignored to prevent unnecessary computations while the de
157. s of the Segway PT Balanced at All Times Online Available http www draft org Portals 0 pdf 20files Physics 200f 20Segways paf Simple RC car for beginners Android control over Bluetooth Internet http www instructables com id Simple RC car for beginners Android control over ALLSTEPS April 2014 Home Automation using Bluetooth Internet http www instructables com id Home Automation using Bluetooth ALLSTEPS April 2014 G S Bickel Inter Intra Vehicle Wireless Communication Internet http www cse wustl edu jain cse574 06 ftp vehicular_wireless April 2014 126 7 8 9 10 11 12 13 14 15 16 M Brain T V Wilson B Johnson How WiFi Works Internet http computer howstuffworks com wireless network1 htm March 2014 Bluetooth Basics Internet https learn sparkfun com tutorials bluetooth basics how bluetooth works March 2014 M Rawashdeh Arduino MP3 Shield Internet http www instructables com id Arduino MP3 Shield March 2014 Piezoelectric Sound Generators Internet http www endrich com en 55515 piezoelectric sound generators April 2014 P Marian Electronic Dog Whistle Circuit Internet http www electroschematics com 594 electronic dog whistle April 2014 T Lazar Ultrasonic Dog Whistle Internet http www zen22142 zen co uk Circuits Misc whistle htm April 2014
158. s unlikely for a dog to be able to shake with such vigor while holding Puppy Pal but the possibility should still be considered The sensor can handle a shock of 10 000g and continue to function properly The great acceleration will be measured as a shock Another accelerometer that can measure such accelerations may be added The ADXL335 can be powered with 1 8 to 3 6V The breakout board does not include a voltage regulator requiring the addition of a regulator to the project to power the sensor The output of the sensor is an analog signal for each axis 59 The bandwidth of each signal can be changed with a capacitor To change the bandwidth the 32 kQ output impedance of the pin has to be taken into account The option to change the bandwidth makes the ADXL335 compatible with any microcontroller For monitoring the expected behavior of the ball this accelerometer is a viable option MMA3201KEG This accelerometer can be sampled from Freescale Semiconductor for free It can measure acceleration in the x and y axis directions within the 40g range This range is wide enough to sense when a dog is shaking the Puppy Pal as hard as it can The output signals are analog and vary based on their respective accelerations These signals will need to be converted into a usable digital signal Although this device can measure more than other accelerometers considered the range is too great for analyzing the lower accelerations Puppy Pal will go through
159. should be observed are whether the MCU output is either HIGH or LOW the configuration value of the 4700 Ohm potentiometer and how much current will be delivered to the MCU pin Basically how the circuit functions is if the MCU output is LOW 0 volts a negligible low voltage will be fed into the 555 timer and will not cause any sort of oscillation to generate a square wave to output an adequate frequency However if MCU output is HIGH 5 volts the 5 volts will be amplified to generate a 9 volt input to the sound subsystem which is the nominal value of operation In theory this will cause a high frequency signal to be generated at the output across the load the 1000 Ohm resistor The 1000 Ohm resistor represents the load of an 82 dB piezoelectric buzzer 80 FALTER TE SE E EE 82dB_BEEPER 10000 BOOOL 555_ VIRTUAL Ss Ek A7000 0 10nF OTE ag See E EE WDE HH BAD gt A Key A ee EE EE Figure 4 16 Schematic of dog whistle circuit The aim will be to get an output frequency on 30 to 50 kHz since those are the typical ranges for dog whistles Table 4 11 displays the dog whistle circuit simulation results under different potentiometer values It can be observed from the table that the lower the potentiometer value the higher the frequency however other parameters may be significant in choosing the correct value like as in the ratings of the 82 dB piezoelectric buzzer Since an op amp will be used as the switching funct
160. sis 20 00 Total 209 00 Table 8 1 Budget Table 8 2 Finances Boeing is financing up to 197 00 of the project s budget and the rest of the finances will be paid within the group Most of the larger scale parts such as motors the GPS module and PCB fabrication will be purchased with the Boeing funding The smaller scale components such as ICs miscellaneous electrical components and non expensive wireless modules will be funded by the group Strict records of purchases will be kept throughout the process All group members should receive a copy of the order confirmation via email 8 3 Milestones The construction and testing phases of the project is 10 weeks long from May 12 to July 20 Table 8 2 provides a week by week breakdown of the entire process It 121 includes the activities to be completed and their respective deadlines As the project continues the milestones are to be updated with new tasks and deadlines for specific group members Tasks and Deadlines e Start receiving previously ordered parts May 12 18 e Begin assembly of mechanical system e Discuss any new ideas for the project make changes accordingly e Begin coding for the microcontroller May 19 25 e As parts arrive test them If they do not work as expected contact the companies for replacements e Begin coding for the app May 26 June 1 e Test the designed circuits with breadboards and microcontroller launch
161. sistor to dissipate the extra power For the first test the transmitter coil and the receiver coil will be placed on opposite sides of a piece of cardboard and the test will be considered a success if the LED lights up The next wireless charging test 115 will require two multimeters with two inputs each One input of each will be a current probe wired in series with the power flow on the supply voltage side and one will be a voltage probe wired in parallel between the power supply and a ground connection Efficiency will be tested over a number of ranges between the transmitting and receiving coils and various materials most importantly the possible materials that the ball may be constructed from will be placed between the coils to determine the effects on efficiency For the final test once the entire device has been assembles the modules will be integrated into the final device and will require that some additions be made to the design to facilitate the testing process The voltage probe will be easy to connect as the only requirement is a pad or pin connected to the positive supply voltage and a pin connected to ground The current probe will require a place on the circuit board where the flow of current can be broken and re routed through the current probe This will likely be a pair of pins connected in series with the power supply s current flow and located on the surface of the PCB that are normally shorted with a removable jumper that
162. sor was as customized as possible and has all the features that the Puppy pal device could use and more The clock frequency is plenty high and even rivals competitors like the Sphero and Roomba There is more than enough flash space to hold anything that will be coded in C and will allow the advantage of the languages more useful features like operator overloading virtual functions and a small derivative of the Standard Template Library The STL will come in particularly useful because of all the math and sorting algorithms that it supplies Pulse Width Modulation will be used exclusively by the motors and the separate channels allow independent PWM units to act on each individual motor controller Separate serial communication ports also becomes very useful because there are two wireless communication devices attached to the Puppy Pal Each triggers a separate interrupt service routine which can be run independently of each other because of the two available channels There are also a number of GPIO pins that allow any external devices to be connected to the Puppy Pal that is deemed useful One of these items will be LEDs to provide basic feedback when debugging and running 4 4 1 Pin Settings The only pins being used that are critical to the Puppy Pal device are the UART SCI pins for communication with the Bluetooth and GPS receivers UART on the C2000 series microcontrollers is done with separate pins for transfer and receiving For recei
163. splay serial read results and a Bluetooth serial emulator on the Android device to send data in this case BlueTerm To test the response of the Android device the user will send a command specifically an ASCII character from Blue Term if the Android response is correct the character will be displayed to the screen through the UART serial connection via USB between the computer and the Arduino UNO Multiple characters will be tested to make sure the Android device will be able to send any ASCII character 7 3 2 2 Bluetooth Range Test The Bluetooth range test will test the range that the user will be able to control the device from According to the specifications of the HC 05 module it is stated that it has a line of sight range of 30 feet which is dependent on the envrionment the module will be in Range testing will test line of sight range and range when there are obstacles corrupting the line of sight To test the Bluetooth Module the module will be connected to a development board For this situation an Arduino Uno will be used to test the module due to the easy to program feature and the simplicity of assigning I O A simple program will be developed in the Arduino IDE software to basically set a specific pin output high when the MCU reads in a serial input from the UART Then the character will be printed to the computer screen To send data to the Bluetooth module from the phone a Bluetooth emulator application will be used spectfific
164. sures 1 inch wide and the device should be designed to be of similar width The length effectively the circumference of the dog s neck varies widely from breed to breed and can range from 6 to 40 inches The curvature of the collar when worn will be the limiting factor for the collar though the smallest dogs could potentially wear the device attached to a harness The limit for the height of the device is the most undefined however the height must be minimized to avoid the dog knocking into things it otherwise wouldn t The device should be designed to provide no discomfort to small dogs but also withstand being laid on by the heaviest dogs meaning the package must be very durable This mechanical housing must have a secure method for mounting the PCB in order to minimize unnecessary vibrations which will add noise to the accelerometer and potentially cause false triggers which lower battery life 5 3 Software Overview The Software Overview section of this documentation provides an insight into the brains behind the Puppy Pal collar and Android devices All classes talked about are described in detail but it is not necessarily true that all classes are mentioned There are many instances of a base class being inherited by many other classes that would be redundant to talk about All classes are shown in the class diagram however The first section of the software overview will explain the software on the Puppy Pal device whose class diagr
165. system will need to be interfaced wirelessly to an Android device either by developing a simple application for the user to use or using some type of serial interfacing software to send data to the MCU The Android device will retrieve inputs from the user The goal of the remote control option is to give the personnel a simple way of controlling the system by sending commands via a wireless signal which will be translated in to instructions to the microcontroller to update how the motors in the system will operate The system will need hardware to accept the user signal and then transitioned into the system processor Since this device is intended to function in a house an RF signal that can be implemented in short distances can be used such as Bluetooth Using Bluetooth will a simple way to interface an Android device to the main system In a basic perspective the user input will designate the android device to send out a limited number of signals a signal to turn on device a data signal to move forward a data signal to move backwards and two signals that determine right or left turns Figure 2 2 illustrates a simple block diagram of remote control application of the device RIGHT MOTOR IGHT TOR CONTROL MONE MG SYSTEM PROCESSING UNT USER INPUT ANDROID DEVICE LEFT MOTOR FT MOTOR CONTROL ge gid Figure 2 2 Simple Block diagram illustrating RC control for device 2 3 5 Wireless Charging Puppy Pal requires wireless
166. tem in this design also uses the change in the center of gravity to drive motion Within the spherical enclosure three linear actuators are arranged orthogonally They are braced and attached to the enclosure Along the movable ends of the actuators weights are arranged These weights are forced outward to create torque The actuator parallel to the ground and facing the correct direction pushes the weight forward As the ball rolls the actuator pulls the weight back When another actuator is parallel to the ground and facing the correct direction its weight will be pushed This repeats to drive simple forward motion One of the problems with this design is control The decision of which actuator should extend and which should retract its weight requires the use of accelerometers to find their respective orientations Steering is another obstacle In order to move in the desired direction two actuators have to be activated They do not extend completely only the amount needed to head in the right direction An algorithm that considers the current speed heading and how far each actuator is extended has to then calculate where the actuators have to move their weights to This is complicated Instead of nearly instantaneous steering Puppy Pal will soend much of its time figuring out which actuators to use before actually moving By the time it takes action the previous data is no longer relevant and Puppy Pal is going the wrong way Another issue is t
167. tem redundant Since the design of an accurate control system is one of the goals of this project a brush motor would allow the design of a modest feedback and control system However this might not provide the amount of rigor desired for Puppy Pal s design A brush DC motor is likely to wear out over time Although it is unlikely to be used so often that this problem arises before the end of the prototype period this project is intended for long term use and should not run the risk of worn out motors inhibiting movement It is also very likely that the parts used will be second hand so the chance of worn out brushes is a distinct possibility These motors also come with the danger of sparks and electrical noise The noise could interfere with the control system However this just gives rise to the need of the feedback system to take electrical noise into account Another issue is the heat of the motor after prolonged use The enclosure might not allow the efficient escape of heat inside of Puppy Pal This could result in the device not operating correctly or components overheating A temperature sensor should be included in the feedback system to counteract this issue A certain temperature could tell Puppy Pal to go into standby mode and wait for the temperature to drop before becoming active again Brushless DC Motor The more expensive brushless DC motor would be a better choice in this project There wouldn t be the required maintenance of brus
168. the MCU Figure 4 12 illustrates a schematic diagram of the connections between the HC 05 and the MCU 68 Pir fr i PE zk HH HMH HM gt Figure 4 12 Schematic displaying HC 05 and MCU connection 4 6 Location Detection Subsystem In the interest of a system that works with an acceptable degree of accuracy everywhere in the United States of America GPS will be used as the primary location detection system The location detection subsystem for Puppy Pal will be implemented using GPS augmented with WAAS to improve accuracy meaning that the selected GPS system must be WAAS capable The possibility of using Wi Fi based augmentation will also be considered as a way to improve accuracy and TTFF indoors and in urban environments if GPS is found to be insufficient meaning that the selected GPS system should also be A GPS capable A final method of augmentation that the module should be equipped for is the use of an Inertial Measurement Unit IMU In the interest of simplicity a fully functional GPS module will be used which will communicate serially with the main microcontroller on the ball The NMEA specification dictates EIA 422 RS 422 at a rate of 4800 bits per second with 8 bits of data no parity bits and one stop bit as the standard for serial communication This type of communication is compatible with the UART of the main processor but may require the use of a level shifter to match the digital input and outp
169. the manufacturer directly Another CC2541 Bluetooth SoC will be sampled from TI for this system 6 2 PCB Vendor and Assembly There will be three PCBs designed one for the ball one for the collar and one for the charging station Since ideally each PCB will be generally be small in comparison to most designs all three designs will be attempted to put on one board No conductive connections between the three separate designs will be made in order to remove disturbances Once the PCB arrives it will be separated into the three separate components The PCB for the ball will approximately be no larger than 5 inches in length and width to fit inside the 6 inch radius plastic enclosure The PCB located on the collar will be around 3 to 4 inches in length and 2 inches in width so it can fit inside a small enclosure to be easily attachable to a dog s collar The PCB vendor that is chosen is using Advanced Circuit at 4pcb com This specific vendor has special discounts for college students and offers a fast delivery options if needed One of the specials offered for students is a 2 layer PCB design for 33 dollars each up to 60 square inches This should be enough to include all three PCB designs on one board Since the majority of the components used are small surface mount components It will need to be assembled professionally Many options are available such as getting assistance from the UCF Radio Club The UCF Radio Club will be able to give ass
170. thing capable of long term distraction it was concluded that only other living beings provided sufficient entertainment Dogs will chase squirrels lizards and even each other but this often can t be accommodated in an urban household so what better way to distract them that with a toy built to mimic this behavior 2 2 Goals and Objectives The overall goal of this project is to provide all day entertainment for dogs to avoid the destructive behaviors that boredom causes This requires that the device be capable of capturing the attention of the dog and retaining that attention until the dog is tired enough to rest The best way for this device to capture and retain the dog s attention is to simulate something that is already instinctually interesting to all dogs another animal The simple solution of leaving another animal for the dog to play with overlooks the tendency for the animals to play destructively together therefore the best solution is to simulate an animal that will only play in a safe and non destructive manner In order to effectively simulate an animal this device should be capable of impulsive and apparently spontaneous motion suggesting the need for a lightweight design and a motor capable of providing quick bursts of movement This product must be able to handle the wear and tear of everyday play while still being visually stimulating which will be accomplished through enclosing all parts within a hard plastic sphere which wi
171. ting voltage is between 2 1V and 3 6V The Hovis is not sensitive enough to measure the smaller rotations or accelerations Table 4 4 compares the features of the gyroscopes The Hovis is not sensitive enough to measure the smaller rotations of Puppy Pal The LPY550AL is not sensitive enough either The gyroscope to be used in this project is L3GD20H Measurement Gyroscope Range s Output Signal Price LPY550AL 500 2000 Analog 11 95 L3GD20H 245 500 2000 Analog 19 95 Hovis Gyro 2000 E Accelerometer 16g Digital 30 00 Table 4 4 Comparison of different gyroscopes 4 3 2 2 The accelerometer used will measure Puppy Pal s acceleration in any direction The plane parallel to the ground is the main concern in this subsystem so a sensor that only measures acceleration along the x and y axis is acceptable The z axis information would help with telling when Puppy Pal is picked up or dropped This data could act as an alert for the motor control system to halt operations while the toy is airborne Accelerometers ADXL335 This triple axis accelerometer and its breakout board are available for 14 95 The sensor can measure acceleration up to 3g or 29 43 m s Although this may be enough to measure the normal operation of the ball it could be lacking when considering the centripetal force of a shaking dog According to 22 dogs can experience accelerations up to 20g when shaking themselves dry It i
172. to a maximum of seven slave devices and can potentially communicate to them however slave devices cannot communicate among other slave devices The Bluetooth network would mesh perfectly into the Android integration of the Puppy Pal The Android device will be the master device and the ball will be the slave device In addition if there is a Bluetooth communication method needed to transfer data to the charging station and dog collar then those components will be referenced to be slave devices in the network Figure 3 6 illustrates a simple Bluetooth network of the overall system the charging station and dog collar may not need to receive data from Android device SLAVE SLAVE Charging Station A GE Ba ll Bluetooth Bluetooth Module Module Figure 3 6 Puppy Pal Bluetooth Network In choosing a specific Bluetooth module many factors will play a role in a final decision such as cost operating voltage size and the complexity of interfacing the module to the system Table 3 4 provides a table of significant specifications of potential Bluetooth modules From observing the table it appears that all the modules require around the same operating voltage to run with modules such as the RN 42 with a potential 6 volt operating voltage The largest module appears to be the HC Bluetooth modules with the RN 42 and the WT11i being approximately around the same size Looking at the signal coverage specification once again the HC module has the lowest st
173. to accommodate the entire mechanical system The ball will either be salvaged from existing toys or custom ordered The toy most likely to be used is the hamster ball It can be taken apart and any pet store would have a large selection both online and on location for less than 15 A custom order from California Quality Plastics could cost at least 50 Although this material would be of the highest quality the project might be more difficult to construct with this product In addition the construction process could be delayed waiting for the enclosure to arrive The hamster ball shown in Figure 4 7 the Kritter Krawler has a seven inch diameter Part A is one of the screws that holds the two hemispheres together Before the dog interaction tests begin these screws will need to be covered up The dog could hurt its teeth when trying to gnaw on this part of the ball Part B marks a slit in the ball that acts as an air hole for an animal inside the toy These slits could act as an escape for heat The motors are at risk of overheating and the air holes can only help with reducing this possibility Unfortunately the slits are another obstacle to dog safety The slits are large enough for a dog to wedge its teeth inside With enough strength and leverage a dog could force open part of the ball exposing Puppy Pal s innards It is also possible for a dog to get a tooth stuck putting the dog at risk of injury To combat these hazards the slits
174. trolled by an Android device The Android device can send it commands to move learn a path go into an autonomous mode or shutdown As per the requirements this mode cannot be interrupted by other components of the system such as the dog s collar It may help to think of this mode as the master and all other modes are slaves AUTO mode means that the system is running autonomously how it runs autonomously is still up to the user however There is a choice of running randomly a single path or all paths When running randomly the device makes sporadic turns in all directions in random intervals of time When running a single path the device will follow a user defined set of coordinates until the device is low of battery the dog leaves the play area or the system is interrupted by a message sent from an Android device The last 96 of the autonomous modes is to run all the paths This can be done in two ways randomly choosing a path or running paths in order In both of these choices the user sets a time delay designating the amount of time in seconds to run a path before changing to the next CHARGING mode is simple the system is in it s lowest power state and assumed to be on it s wireless charging station The system waits for messages to come in and any message that is received other than START_CHARGE See Messaging System of Software Overview will put the system into some active state The system can be interrupted by an And
175. ts return value A detailed explanation can be added under the brief one if necessary A small set of coding standards is shown in the table below class name camel casing starting with capital class MyClass letter member all lowercase words separated by void member_function int x function underscore private member all lowercase words separated by int variable underscore with trailing underscore private_member_variable_ public member all lowercase words separated by int public_member_variable variable underscore Table 5 4 Table of coding standards 97 6 Prototype Construction and Coding 6 1 Parts and Acquisition Each of the subsystems that will make up Puppy Pal consists of various parts and components that will need to be collected before they can be combined The list of materials for the project will be organized by subsystem Where the parts will be ordered from will also be identified 6 1 1 Mechanical Subsystem The mechanical system consists of the framework motors sensors and controller The chassis for a spherical robot is not readily available for purchase so the framework inside of the enclosure will need to be constructed by the group or an outside party There are multiple metal shops in Orlando that could build the framework The financial cost of having the frame custom built might be worth the time and effort that would be spent being assembled by the group none of whom have any exper
176. ucts the system to change into a low power mode and loops over new message arrivals it is more intuitive to think of it as its own separate messages that simply ends execution As shown in the figure 101 there are really four types of messages that can be received wakeup mode change wheel command and shutdown Other messages that may arrive are specific to a mode that the system will be running in The Android application has a usage flow that is completely controlled by the user The user has two options when presented with the main screen of the application The first goes into a control mode where the user can command the Puppy Pal device by moving a circle around the screen The circle represents a joystick in that if you move the device forward and slightly to the left the device will move forward and slightly to the left The user may also choose to create a path for the Puppy Pal device to remember In this mode you are presented with a blank screen representing the play area the device functions in The user can drag his finger to create a path and assuming that the path is valid see Android Application Requirements section of this document and the user is happy with is path he can send it to the device for it to remember and run at a later time Figure 6 2 shows an overview of these processes Open Application Yy Y Ei wm Control or Path Yes Control Control Interface Control Command
177. ultiple PWM pins that can be used to connect to the motor control subsystem 82 22 u Mere pr EI ag uk Er HI Er DCINM BOWADCOMP IADE LOGIN ELIS DGIN E214 AOGINEDS OCIN ECS ADCIEET OGNIN ATTE GND GP DIDOOAMER SESS e EP VAIN TADAA LA DESCH ADDAA GPI 19000 d ETEMA Rehn eg GP ANDP IE LKAA Dt UT DER Ia OM TIA DER DRON TZ SKI SCHAN GP nT EPUB x0 GPO HEP VIAN EPMO MG VEP AREY UGG GP HSER WEE AP Grp vEsrepl DrROrERCRCORE e Ut BPO NEPARA GPD WEP RN EICOMF 10UT orpErvancl Ug SNT4UVCZG07_DCK_6 h H eg vecj M Figure 4 18 Ball MCU schematic 83 i x E KE J S 28 5 Design Summary of Hardware and Software 5 1 System Overview As mentioned before the system will have two main modes autonomous mode which will operate the motors in the ball automatically and remote control mode which will provide the user with an override to control the motors and other features in the ball manually In remote control mode the user is in full control of the mobility triggering the sound subsystem and turning the Puppy Pal on or off Control of the Puppy Pal will be dependent on many factors When the ball is under remote control and the user becomes unavailable the system will be triggered to autonomous mode The system will be designed assuming the control will primarily be in autonomous mo
178. ut voltages of the separate devices The location detection subsystem must be able to determine the location of two objects the stationary base charging station and the moving ball This could be accomplished using two GPS units which has the advantage of determining when the base charging station is moved during play and may cancel correlated errors similar to DGPS systems but would double the cost of a GPS system and place a much larger requirement on the communication link Another option for determining the location of both systems is to require that the ball be placed on the charging station when the base charging station is moved allowing a single GPS receiver on the ball to determine and store the location of the base charging station for use during the upcoming use The advantages of a single GPS receiver are that quicker calculations may be made because the position of the base charging station does not need to be transmitted it can simply be read from memory for comparisons but also this greatly reduces the complexity Since the base charging station is not 69 expected to move on a regular basis a single GPS design will be used allowing a simpler design at the cost of requiring a short location storage period when desired play area is moved When designing the PCB layout care must be taken in the positioning of the GPS and any IMU or accelerometer and all instructions and suggestions in the devices datasheet will be followed Nearly
179. ve a user interaction mode controlled by an Android application This function will allow the owner to play with their dog in a more traditional sense while not requiring any additional equipment for those already having an Android phone capable of Bluetooth communication This application will allow users to control the settings of the device and will act as a remote control allowing the device to operate in an area governed only by the range of the Bluetooth communication equipment on the two devices 2 Project Description 2 1 Project Motivation Dogs provide hours of entertainment and years of loyal companionship to their owners but all too often have the undesirable habits of rummaging through the trash digging holes and chewing on household items These habits are inconvenient to the owner and can have serious health consequences for dogs since much of what they eat in the trash can be unhealthy and even toxic Many owners don t realize that the root cause of this behavior is simply boredom Boredom is easily prevented but often occurs while the owner is away and thus can become a difficult problem to mitigate Many people have tried to give their dog a bone or chew toy but these quickly become uninteresting because of the monotony and lack of feedback These problems have been addressed by squeaking toys scented and flavored and countless others but all fall short when it comes to long term distraction After struggling to find some
180. vice is running The first two bits of the payload represent the sender of the message Possible combinations are 00 for the phone and 11 for the collar Bits 9 0 are unused Figure 5 5 shows the bit layout for this message Sender Unused Figure 5 5 Bit layout of wakeup message Shutdown The opposite of the wakeup message This instructs the the system to go into its lowest power state and wait for other input If no input comes the system assumes the dog is done playing and sets itself into RETURN _BASE mode The only thing that matters about this payload is the message type In other words the payload is empty Figure 5 6 shows the bit layout for this message 93 Figure 5 6 Bit layout of shutdown message Startcharge This message instructs the system to go into a low power mode and begin wireless charging The difference between this message and the shutdown message is that this is that this message only waits for input from either an Android device or the dogs collar The system will never instruct to go anywhere because it is already at its charging station There are no significant bits in the payload Figure 5 7 shows the bit layout for this message Unused Figure 5 7 Bit layout of startcharge message Beginauto As per the requirements the system has two major modes it can be in while running autonomously RANDOM and PATH The beginauto message simply instructs the system to first go into autonomous mode and then one o
181. ving pins 45 and 40 representing SCI A and SCI B will be used for Bluetooth and GPS respectively These are tied to control registers SCIRXDA and SCIRXDB in the code Occasionally a message will need to be sent out to a Bluetooth device In this case pin 59 will be used which is controlled by the SCIRXDB register A red LED will be attached to pin 66 GPIO3 which will be used primarily for errors outputs in unit test and debug modes Similarly pin 7 GPIO4 will have a green LED attached to it which will signify a pass or successful operation in unit test and debug modes respectively PWM channels EPWM4A and EPWMB5A will be used for motor separate motor control and are tied to pins 46 and 43 respectively 62 4 4 2 Algorithms There will be many algorithms used over and over again the most common being the handling of a new message At arrival time of a new message the two bytes will be sent into the MessageFactory class where the first four bits are extracted The MessageFactory will return a new message of the appropriate type This new message will then have its unpack member function called with the two bytes of message data as the argument This algorithm is defined to parse the bits of the message data and set the value of the corresponding public member variable of the message Now that all the data in the message is filled out the messages run member function can be called which will perform whatever the messages intent is
182. will assume the dog is laying down or sleeping which results in the sound clip not being played The sound system can be either a small speaker that can have specific sounds downloaded into it or a piezoelectric sound generator As shown on the block diagram in Figure 2 3 the MCU output pin is connected to the input of the speaker or sound projection device the microcontroller output is triggered high if the motion sensor reads in a threshold value that represents consistent movement by the dog A high output voltage turns on the sound generating device to attract the dog Sound Projection System Motion Sensor Figure 2 3 Simple Block diagram illustrating sound projection control 2 3 9 PCB The device will need three PCB s one for the main system that will be placed in the actual ball one for the charging station and another smaller one that will be placed on the collar of the animal The PCB located in the ball will provide the main control of the entire system that will communicate with all of the other subsystems and will be used for motor control sound projection receiving data from Android device and location detection from the charging station The PCB on the charging station will be control the wireless charging and location detection of the ball The PCB on the collar of the dog will be used to send a signal when there is motion detected from the animal The hardware for all three PCBs will need three separate 9 MCUs
183. will be covered with Velcro pads The pads block the openings and make it possible to attach Puppy Pal s fabric skin The skin covers the screws the slits and the plastic The fabric will protect the dog from hurting itself and Puppy Pal from being destroyed by an especially curious dog 55 B As amp Figure 4 7 Hamster ball with parts labeled An alternative to the hamster ball and a custom order is a simple plastic globe offered by 1000bulbs com This company offers an acrylic ball with a six inch diameter and a 3 25 inch wide opening for 5 95 The wide opening allows for tinkering while the internal structure is being assembled Unfortunately the manufacturers do not provide a method for closing the hole once construction is done The other end of the hub that holds the framework s axle in place may be attached to a piece of plastic purchased separately to cover up the hole The cumbersome customization that comes with the plastic globes is outside of the scope of this project The hamster ball is a simple solution to the enclosure problem It is tough sturdy easy to take apart and can be purchased in person instead of delivered In addition the fabric cover will help protect the dog from hurting itself when playing with the toy 4 3 Motor Control Subsystem 4 3 1 Design The mechanical subsystem requires the design of a motor control system that uses feedback from various sensors and driver control circuits to properly
184. within that of the HS 422 servo motor making it possible to use the same voltage regulator for both motors It is small enough to fit comfortably inside of Puppy Pal and not get in the way of the servo motor The addition of a gearbox would decrease the speed of the motor but step up the torque The main drawback of this motor is its operating current The current it draws is almost ten times greater than that of its counterparts Such a difference in power is not worth the greater torque or speed The RP6858 has an acceptable speed and operating current Although it is larger than the other motors it would still fit inside of Puppy Pal Its supply voltage can be varied based on what works best in the testing stage To begin with 12V will be used The torque will be measured during initial testing Operating Operating Voltage Current Sen Deeg Price volts amperes H RC 260RA 3 6 1 43 15290 0 303 2 75 2670 RF 500TB 18280 R 1 3 0 175 2700 0 186 2 25 ST130 12240 38 1 5 3 0 170 3588 0 103 2 49 2500 6V RP6858 6 24 0 180 5430 12V Not Given 5 95 Table 4 3 Comparison of different DC motors 54 4 2 3 Enclosure Puppy Pal calls for a ball that can hold the mechanical system and will not hurt a dog s teeth during playtime It must be thick and hard enough to keep the dog from breaking into the ball and destroying the entire toy The enclosure will have at least a six inch 15 cm diameter
185. would not disturb the system Issues could arise with different dogs making varying levels while sleeping and while awake for instance old dogs wake up and slowly rise where a puppy may jump up from sleep just to curl right back up a few feet away The best way to account for these differences is by integrating the acceleration data twice to produce position data 17 Many dogs make varying levels of motion while sleeping but no normal dogs move quickly across a room while sleeping Using the position signal will still require the use of a magnitude and time signal in order to account for accumulating errors that lead to drift due to noise from the accelerometer and sampling process being compounded during integration Drift due to accumulation errors during integration also necessitates that this measurement of position should only be stored for comparison for short periods of time and then discarded Software solutions to minimize this error accumulation exist but over an extended period of time even the smallest errors grow quickly due to the integration 17 In order to save power integration only needs to occur when uncertainty occurs when there is no large acceleration no movement is occurring but when a large acceleration occurs integration to position will provide more clarity 3 3 7 Location Detection 3 3 7 1 Global Positioning System Use of Global Positioning System GPS has the advantage of being available anywhere in the wo
186. y This function is very important to avoid exhausting and annoying the dog and will be implemented in two subsystems The first system will be a collar attachment worn by the dog which will determine when the dog is moving and signal the main device This device will be simply referred to as the Collar The second system will be a proximity sensor located on the Base Charging Station and will be used to determine when the dog has entered the play area Both devices must be triggered before the ball begins moving because the dog should be allowed to sleep without being disturbed while in the play area This requires that the motion detection systems work together to determine when the dog has gone to sleep which will be defined by a sharp decrease in movement whether or not the proximity sensor detects the dog in the play area The sleep function will also allow an extension of battery life Puppy Pal should be capable of sustaining play intermittently for an entire work day including a one hour commute to work eight hours at work and a one hour commute home This system the ball in particular must be extremely durable as it will be exposed to outdoor weather knocked about during play and even chewed on if the dog manages to catch it The Base Charging Station and Collar will also be exposed to elements and potential chewing and must be designed with matching durability In addition to the autonomous mode described above Puppy Pal will ha
187. y estimate for the battery which much greater certainty than the previous calculation made in section 4 8 3 These tests can be performed using bench equipment such as multimeters and power supplies to allow for the best selection of a final battery Once the battery is decided upon and purchased battery life tests will occur periodically as development progresses with the first test being simply verification of lifetime with only a simple motor control system and motors connected and the last test being performed once all systems have been integrated and all designs adjusted to work properly The periodic tests will give insight into changes that may have occurred since the initial bench testing or problems that may arise and provide possible solutions that would otherwise 116 require more intensive testing at the end to resolve As stated previously the expected battery life time is to be 10 hours assuming normal usage Normal usage is described and used in the design calculations in section 4 8 3 but will be much more accurately determined when the dog interaction test is performed A successful test will be a device with consistent battery lifetimes of greater than 10 hours however the success measure for this test is a continuous spectrum with greater values being better Maximizing battery lifetime without increasing final cost is the true goal of this test 7 3 8 Dog Interaction Test The dog interaction test will serve multiple pur
188. yout of learnpath message Changepath If the system is in autonomous mode change the currently running path to whatever path exists at the given index Much like the learn path message format bits 11 9 of this message indicate an integer index to find the path to run Bits 8 0 are unused Figure 5 10 shows the bit layout for this message Path Index Unused Figure 5 10 Bit layout of changepath message Wheelcmd Arguable the most important data an Android device can send this message indicates how to change the speeds of the wheels while the device is in PHONE mode see Modes section of software overview When the phone is sending a pre planned path to the Puppy Pal it is also just sending a sequence of wheel commands for the software to store as a list Bits 11 6 represent a signed right wheel speed and bits 5 0 represent a signed left wheel speed Figure 5 11 shows the bit layout for this message Signed Right Wheel Signed Left Wheel Speed Speed Figure 5 11 Bit layout of wheelcmd message utmessage This message is used for communicating unit test information between the Puppy Pal device and the Android software Each unit test in the unit test software is assigned a test ID which is represented in the payload as bits 11 7 Bit 6 represents a 1 for pass and 0 for failure Bits 5 O are extra information that the test might want to convey It is left up to the specific unit test to decode this section of the payload Th
189. ysical limits must be found before the device can be considered ready to interact with an animal The features that must be determined are the heights from which Puppy Pal can be dropped the amount of time it can be shaken vigorously and how easily the plastic enclosure can be opened Dogs are expected to pick up and toss Puppy Pal away This action will be imitated A tape measure will be placed along the wall Starting from one foot the toy will be dropped Before the internal structure of Puppy Pal is inserted the empty ball will be dropped not thrown down If the toy does not burst open on impact the trial is considered a success The ball will be inspected closely to determine if any damage has occurred The height is increased by one foot until seven feet is reached Seven feet will be the limit because a tall dog is unlikely to throw a ball higher than six feet the extra foot accounts for this uncertainty Three sets of trials will be done for each elevation before moving on to the next height The results will be recorded in Table 7 5 The test will first be done with a carpeted floor Then it will be repeated with tile 112 Height feet Trial 1 Trial 2 Trial 3 1 N O 01 amp WD P Table 7 5 Drop test results The drop test will be repeated when the project is completely built If there is a height at which most of the trials were a failure in the first drop test this will be
190. zoelectric Sound Generator 29 3 3 4 3 Electronic Dog Whistle Crcunt 30 3 3 5 SEY sta steed ed eo cased aoe eege 32 3 3 5 1 Collar EEN 32 EN P ppy Pali E EE ER E EE EE EE 34 3 3 6 Motion DOO CHON E 35 3 9 7 Bee ein Ree 36 3 3 7 1 Global Positioning System eccceceeeeeeeeeeeeneeeeeeeeeeeeeeesneeeeeeeeees 36 3 3 7 2 Wi Fi Positioning EE EE 38 3 3 7 3 E EU EE E 38 3 4 Possible Architectures and Diagrams EEN 39 3 4 1 Hardware Block DiagramS teuer 39 3 4 1 1 Ball Block ELE 39 3 4 1 2 Base Charging Station EE 40 S R i ES DERE e 41 3 4 2 Remote Control Diagram EE 42 3 4 3 Software Block Diagram cccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeneeeeeeeeeeeeeeee 43 4 Project Hardware and Software Design EE 45 4 1 Initial Design Architecture and Diagorams 45 4 1 1 Rotational MOUOM EE 45 4 1 2 Mobile Center of MaSS isiccccecscccccwesiveistad cnn cames iii aeiia 47 7 OG EE 50 4 2 Mechanical Subsystem E 51 BOW Re NEE 51 4 2 2r WOON Seacrest ar hen Sorta nc aie bon ae aa a na ha pa ase ead 53 Ago E e E 55 4 3 Motor Control Gubevstem cece eee eeeeeeeeeeeeeeeeeeeeeeeeeaaeeeeeeeeeeeeeenenaaees 56 ASW MD SSIQU WEE 56 E le 57 Mee 57 4 3 2 2 Accelerometers 2 eudreENE nha Annan nannies 59 4 32 37 leen EE 60 4 4 BNE TOG OIE UE 61 4 41 Pin Settings attest ot cecect eee tracert backer adai eerie taut ea taede 62 e Seet len E 63 4 5 Remote Control Mee siet cece gt ege dns nde ue Sea deed deed 63 4 5

Download Pdf Manuals

image

Related Search

Related Contents

MANUAL DE INSTRUCCIONES MF  Smoby Rowenta Vacuum Cleaner Silence Force  Brochure    WILDCAT REALIZM 800 WILDCAT REALIZM 500  CAEN-N470  Samsung 940UX Керівництво користувача  ICY BOX IB-318StU3-B  Eton G8 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file