Proceedings



Project Number: P14372Actively stabilized hand held laser pointerKaitlin PeranskiIndustrial and Systems EngineeringSpencer WasilewskiMechanical EngineeringKyle JensenMechanical EngineeringKyle LasherMechanical EngineeringChris CaporaleElectrical EngineeringJeremy BerkeElectrical EngineeringAbstractLaser pointers are a common tool used by many people today in various applications, including presentations, medical imaging and defense. Under many use scenarios, the people using the laser pointer are negatively affected by unwanted vibrations. For example, a nervous presenter’s hands will most likely be a little shaky during the presentation, causing the resultant dot on the screen to jitter. Many companies are currently investigating different types of technologies that could be used to reduce the amount of noticeable jitter. New Scale Technology (NST) has developed a module that can steer a laser beam using piezoelectrics and mirrors. However, this module currently cannot actively detect and compensate for any unwanted hand vibrations. This project will involve developing and building a prototype that will work with the NST module to achieve the above described gap. Characteristics such as self-contained, handheld and easy to operate are examples of a few of the most important customer needs. As a result of this, the main concerns going forward include the final package size, response time and unwanted motion attenuation.While there were a few setbacks related to the NST module itself and the settings of the gyroscope within the developed prototype, the team was still able to meet many engineering requirements. For example, the prototype is handheld with a battery life greater than two hours. The overall size and weight of the prototype is also within the specifications. The ease of use and ergonomics of the prototype were also tested through a survey. The operating temperature is also within specifications to ensure prolonged use of components and safe use scenarios.introductionNew Scale Technologies has developed a module that steers a laser beam using piezoelectrics and mirrors. The actively stabilizing laser pointer will detect hand motion and reduce the transmitted jitters. The ultimate goal is to reduce the amplitude of hand vibrations by 50%.Current patents involving stabilizing laser pointers consist of both passive and active stabilizing. Passive stabilizing utilizes gimbals to allow inner housing free to move independent of outer housing as seen in patent US 7553048 B2 [1]. A magnet is used to return the inner housing to the straight position. Active stabilizing, such as that in US 7380722 B2 [2], use mirror modules similar to the developed prototype. They use two accelerometers to sense vibration and send a correcting signal to the mirrors. Patents involving image stabilizing for cameras utilize similar active stabilizing methods. US 20130077945 A1 [3] uses a gyroscope to detect motion in yaw and pitch and running the input through a Kalman Filter and compensator to cancel and move the lens accordingly. Patent US 8436908 B2 [4], however, also used a gyroscope but detected the frequency to tune a high pass filter. methodologyCustomer requirements are shown below in Table 1. Engineering requirements, shown in Table 2 towards the end of the documents, can be seen along with all results generated from the many rounds of testing and tweaking of the prototype. 2400301971675Table 1. Customer Requirements.4000020000Table 1. Customer Requirements.Concept SelectionOriginally there were four different concepts that could have been chosen to fulfill the requirement of detecting hand vibrations, but quickly all but two were discarded. This left the decision of accelerometers or gyroscopes to use to detect the vibrations. It was not entirely obvious which one should be chosen because the data from both can be used to compute position by integrating the data. The big question, “Are hand jitters dominated by linear or angular oscillations?”Answering this question was pretty straight forward. First, an app for a smart phone was downloaded and used to store the data from various sensors on the phone. In this case, only the gyroscope and accelerometer data was recorded. Then, each person in the team held the phone for about 30 seconds. Next, the data was loaded into a program called MATLAB, integrated the appropriate amount of times (twice for accelerometers, once for gyroscopes), and then the maximum linear or angular excursion was determined.The results from this testing revealed that there is a distance over which the linear dominates, after which the angular dominates. This distance is 80 cm. Within a distance of 80 cm from the laser pointer, the jitters are dominated by the linear motion of your hand, meaning that an accelerometer would be most appropriate. Beyond 80 cm, the jitters are mostly angular, meaning that a gyroscope would be the preferred component. Although this can be assumed because the displacement due to angular motion is a function of the angle and distance away (arc length S = rθ), the real question was at what distance does the angular displacement dominate the linear displacement, or when is S = r∫ω(t) dt larger than ∫∫ a(t) dt2? Our analysis showed that this critical distance is indeed 80 cm. Therefore, gyroscopes were chosen because most of the time, the laser will be shown on a surface that is greater than 80 cm away from the person using the laser pointer. Figure 1, shown below, illustrates the results of the testing described above.2381250Figure 1. Accelerometer versus Gyroscope based on distance.020000Figure 1. Accelerometer versus Gyroscope based on distance.Once the vibration detection hardware was chosen, the next step was to determine what frequencies are contained within natural hand vibrations. Golik and Wueller [5] wanted to answer this question for much the same reason. The testing indicated that natural hand vibrations fall off at 1/frequency and are virtually nonexistent after 20 Hz. This set a lower limit on how fast gyroscope should be sampled so to be able to generate a correction, based on the sampled and integrated data, to form the angular position where the laser is currently pointed.BatteryOne of the device requirements was that the prototype be portable and self-powered. To achieve this, we opted to use batteries so that it could store power while away from a USB power source. The battery type chosen was a Lithium Polymer. This battery chemistry was chosen due to its light weight and high energy density. The specific configuration we chose was two single cell 1000 milliamp-hour cells wired in parallel for extended battery life. Based upon worst case calculations, the chosen cells should be able to power the device continuously for about 3.5 hours. However, testing showed that we will actually see a battery life in excess of 6 hours. This exceeds the customer requirement of battery life lasting 2 hours. There is a LiPo charger module installed within the device which gets power from the Teensy processor USB port to charge the internal batteries.GyroscopeThe gyroscope selected for the device is an Invensense ITG3200 on a breakout board provided by Sparkfun. The gyroscope is a 3 axis model with full-scale ranges up to 2000 deg/s, and a built in temperature sensor. The gyroscope output is converted to a digital signal using the 4 onboard 16-bit ADC and communicated to the Teensy processor using the I2C interface. The gyroscope supports 400 kHz fast mode I2C, however to lower the response time we have it overclocked to 2.4 MHz I2C. The gyroscope registers are set in the Setup Loop of the Teensy to a 500 deg/s Full-Scale range, and the roll axis is set to standby to save power. The internal clock is set to that of the y-axis gyroscope for improved stability. The internal Low-Pass filter is set to 42 Hz, which also sets the internal sample rate to 1000 Hz. The sample rate divider is set to 1 to allow for full speed motion detection as the Teensy is capable of near 1000 Hz loop speed. All of these settings have been adjusted and tested numerous times. Through this iterative process, the initial issues related to the settings of the gyroscope were resolved. ProcessorTo carry out the processing we chose an Arduino micro 3.3 V 8 MHz processor. It is very small, has lower power consumption, is cheap, and has more than enough processing power to do what we want. It can also communicate in I2C and over a USB connection (UART). The I2C is important because the gyroscope chosen to detect the vibrations communicates using this protocol, and the NST device communicates using a UART port. Therefore, this processor, being small, powerful, efficient, and able to communicate using both protocols, made it ideal for us.Control AlgorithmThe algorithm that runs does three main steps. First, it reads the angular velocity from the gyroscope. Second, it integrates this data into a running sum. Third, it transforms this sum into the correction that needs to be sent to the NST module. The first and third step are not at the core of what the processor must do, but rather are more or less formatting what has been detected and computed into something that the integration algorithm can understand and send, respectively.Originally it was thought that the integration algorithm would have two distinct steps. First it would get the data from the gyroscope, multiply it by how long it has been since the last data was added, then add it to a running sum. Next this sum was to be inverted (multiplied by -1) to get where the NST module should go in order to cancel out the accumulated motion. However, it was realized that this could all be done in one step by subtracting the angular velocity rather than adding it. This equation will directly compute where the NST module needs to go, thus cutting out one step and saving on processing time.NST ControllerOne of the major customer requirements involved using the module provided by NST to cancel out hand jitter. Their module provides a multitude of functionality. For our purposes, we chose to use the absolute positioning as opposed to the relative positioning. This removes unnecessary computation from our end as we do not have to determine where the module is currently set at. We also do not have to wait for the module to stop moving as it allows for new positions to be given while it is moving towards the current target.Results and discussion Mechanical SystemThe final housing was machined out of aluminum for weight reduction, heat transfer, and durability. The case design was finalized using plastic prototypes manufactured by additive prototyping methods. These printed plastic prototypes were used because of their quick turnaround time, inexpensive cost, and the ability to easily modify them. The final design includes a top and bottom compartment, laid out to hold all of the components in the smallest package possible. The top compartment holds both processors and the laser steering module. The Arduino processor was raised to allow the USB cable going from the NST controller to the USB breakout board to run underneath it. A pocket was machined out under the NST controller to allow for the processor to be air-cooled. The bottom compartment holds the gyroscope, batteries, and USB breakout board that connect to the NST controller. The batteries are held in place by two sets of protrusions and the compartment depth was designed so that the cover securely holds the batteries in place. Three holes run between the two compartments for wire routing.The push button to turn the laser on and off was centered so that the module can be used ambidextrously. The other two switches are located on the sides for ease of use and wiring. The holes in the back of the case for the USB plugs were made as small as possible to limit the possibility of debris entering the housing. Finally, all of the electrical components were mounted using M2.5 hardware and plastic washers to insulate the boars from the metal case and to allow for some protection in the event that the module was dropped. Figure 2, shown below, displays a CAD model showing the layout of the components within the prototype. Figure 3, also displayed below, shows a top and bottom view of the final prototype in an aluminum case with clear plastic covers on the top and bottom.2432052933065Figure 2. CAD model with component layout.020000Figure 2. CAD model with component layout.228599-1270Figure 3. Top and Bottom Views of Final Prototype.020000Figure 3. Top and Bottom Views of Final Prototype.Electrical SystemThe electrical components of the device have two main areas. One is power the entire module itself. Two is the electrical connections which physically connect the components so communication can occur throughout the device. The electrical signals to communicate are used to determine the correction from data gathered by the gyroscope.The power is supplied by two 1000 milliamp hour (mAh) lithium ion cells which are connected in parallel to give a nominal voltage of 3.7 volts (V) and a total of 2000 mAh of battery life. This 3.7 V is then fed to an on board regulator which outputs a steady 3.3V, which is used for all logic and communication standards. It is also used to power the processor board (Arduino Fio), the gyroscope (Invensense ITG3200), and the NST steering module. There are several electrical connections between all the devices. An electrical diagram, shown below in Figure 4, displays the connections for both the top and bottom sections of the prototype. The main connections are the communication lines between the processor board and the gyroscope, which use I2C communication protocol to exchange the movement data. The other connection is the serial output, which mimics a USB interface to the NST module. Another aspect is the three switches used to control different functions of the module. One switch is used as a master power switch for the entire system. The other two switches are logic inputs, one controlling the laser diode and the other to control whether the correction is turned on or off. 2476503559175Figure 4. Wiring Diagram of top and bottom layout.020000Figure 4. Wiring Diagram of top and bottom layout.Test BenchIn order to test the system, we wanted something which could oscillate angularly with a controlled frequency and amplitude. To achieve this, a test rig was built, which uses two rotary solenoid actuators to rotate a platform that the device is placed upon. The solenoids are unidirectional, so two are needed in order to drive the platform in both the forward and reverse direction. Triggering of the solenoids is done using solid state relays, which are pulsed with a square wave at the desired frequency, and duty cycle is adjusted to obtain the desired amplitude. Due to the digital nature of the control signaling, however, the test bench works best above 4 Hz to approximate a sinusoidal input. Additionally, the test bench is fitted with an Arduino processor, which does the triggering as well as some DAQ capabilities. The analog inputs on the Arduino are utilized for thermistor inputs so that temperatures can be logged during extended testing sessions when needed. The Arduino interfaces with Microsoft Excel to log the gyroscope and temperature data, as well as to change the frequency and duty cycle of the solenoids in real time. The test platform has a gyroscope attached so that the angular motion can be precisely measured. A picture of the test bench is shown below in Figure 5.-7620-2540Figure 5. Picture of Test Bench.4000020000Figure 5. Picture of Test Bench.Testing and Test ResultsTable 2, shown below, summarizes results based on testing and compares them to ideal and marginal values for each engineering requirements.2571751916430Table 2. Engineering Requirements with Results.020000Table 2. Engineering Requirements with Results.Specific test plans were organized and run to test different aspects of the prototype. For instance, an extended run time test was done to determine battery life and operating temperature. A response time test was done to determine the response of the prototype, the NST laser module, and the overall system. Using the test bench, the control algorithm could be tested at specific frequencies to find the correction percentage. This same test was also done involving test subjects aiming at a target on the wall to find the correction percentage. Finally, a survey was administered to the test subjects that participated in the target test to get a better understanding of the usability and ergonomic feel of the prototype.In order to determine that the battery life and thermal performance of the prototype device met the required specifications we ran an extended test on the device. To do this the device was placed on the test bench, propped up diagonally so that both axes would be active during the test. There were 7 temperature sensors installed in various locations, 2 on the outside of the case, 1 over the Teensy processor, one over the NST Processor, 1 directly on the Teensy, 1 directly on the NST module, 1 on the gyroscope, 1 one the batteries, and finally one left about 2 feet away from the test to measure the ambient air temperature. There was also a voltage probe to measure the battery voltage so it could be determined when the batteries drop below around 3.5 volts which is the lower limit for a LiPo cell. The test bench was then powered on with a frequency of 10 Hz and a 40% duty cycle. All of the temperatures and the battery voltage were logged continuously during testing. The results were that the device battery was able to power the device continuously for just over 10 hours, and that none of the temperatures even came close to their maximum limits.To measure the response time of the system, we split it into two parts: the response time of the NST module and the response time of the code (the prototype). The code was modified to output how long it took to run through the code to the serial monitor. After running it for 10 seconds, the times were averaged at 1.4 ms, meeting the target value of 2 ms. To measure the response time of the NST module, the Pathways software provided by them was used. It can record target and position data from the NST module. As a result we gave the module a 0.5° step input, the maximum angle change between commands recorded while the device was being used, and recorded how long it took to reach its target. The resulting response time of 30 ms is much greater than the target response time of 2.6 ms. In addition to testing the device with actual use we also wanted to test it in a controlled manner over a range of individual frequencies. In order to do this we placed the prototype on the test bench with a maximum amplitude of around +/- 2 degrees, this amplitude fell off at higher frequencies due to authority limits of the test bench. The device was then tested at each frequency from 1 to 20 Hz with both the correction on and the correction off, with a long exposure photograph being taken for each test. The data was then analyzed using image processing to find the total area reduction of the red pixels in the photo. The results show that the device is able to cancel about 50% up to 4 Hz, after which the reduction begins to fall off, and even get worse at some frequencies due to the response time putting the correction too far out of phase. There are some issues with this test however, as the method to analyze the data means that if there was any left/right gyroscope noise with the correction on that the amplitude of the area would immediately increase by a significant amount. The test bench also uses a square wave signal to operate, which approximates a sine wave at higher frequencies, however at lower frequencies the high accelerations can be too much for the device to keep up with. During this test only the Y-Axis of the NST module was tested.Conclusions and recommendationsDespite the response time of the mechanical system of the NST module, a cancellation of 45% was still achieved. The NST module displays quick, jerky movements that give the user the perception that the prototype is not cancelling as much as it actually is. The prototype response time is include in the total system response time. Recommendations for a second generation project include reducing the overall response time by optimizing the NST module and integrate the functions of both processors into one to reduce the amount of communication time.References [1] [2] [3] [4] [5] thanks to:Charles TabbDr. Michael SchrlauNew Scale Technologies ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download