* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Micrmouse
Resistive opto-isolator wikipedia , lookup
Buck converter wikipedia , lookup
Alternating current wikipedia , lookup
Fault tolerance wikipedia , lookup
Mains electricity wikipedia , lookup
Resilient control systems wikipedia , lookup
Electric motor wikipedia , lookup
Voltage optimisation wikipedia , lookup
Brushed DC electric motor wikipedia , lookup
Control theory wikipedia , lookup
Induction motor wikipedia , lookup
Rotary encoder wikipedia , lookup
Brushless DC electric motor wikipedia , lookup
Control system wikipedia , lookup
Stepper motor wikipedia , lookup
Opto-isolator wikipedia , lookup
Immunity-aware programming wikipedia , lookup
Variable-frequency drive wikipedia , lookup
DC Motor Control mouse EE 496 Advisor: Dr. Tep Dobry Team Members • Ikaika Ramos – Overall Project Manager – Chassis Fabricator – Hardware Specialist • Aaron Tsutsumi – “Jack of All Trades” – Algorithm Constructor – Software Innovator Brief Overview • Another Micromouse…Zzz z z – Abide by all IEEE Regional 6 Micromouse Rules – In response to last years Regional 6 Winner • Propulsion Design Difference – DC Motors – Control Method Block Diagram Power Supply • Chose to use lithium polymer batteries over nickel-metal hydride because of higher energy density – Higher energy density = Smaller size, less weight • Using switching voltage regulators because of high efficiency – Decided to use a self-contained package to avoid having to calculate values for external components and to keep size small. Sensor System • Used same components as our previous mouse since we were familiar with it. – Sharp GP2D120 sensors and Maxim MAX114 analogdigital converter. • Decided to use a different sensor configuration. – Using four sensors instead of three, two outer sensors on outside point straight forward to help align during a 45 degree run. Motor Control • PWM – We chose to use Pulse Width Modulation to control the speed of the motors because it is simple to implement. • H-Bridge – H-bridges will be used to control the direction of the motors. • Encoders – We chose to use optical encoders to help determine the position of our mouse. PWM • A pulse-width modulated signal is a rectangular waveform with a varying duty cycle. • A longer duty cycle means the voltage is on for longer and the average voltage applied to the motor is higher and vice versa. • Will be implemented using the PWM generator on our microcontroller. H-Bridge • DC motors only have two leads. The direction it spins is determined by which terminal has power applied and which is connected to ground. • An H-bridge consists of four switches (in our case BJTs) and depending on which two are closed, allow the motor to operate in either direction • We chose to use an L298 chip from STMicroelectronics because it has two H-bridges in one package. Encoders • We decided to use optical encoders over accelerometers. – Accelerometers were harder to implement, and may not have been accurate enough. – If the mouse was not accelerating or decelerating, we would have had to assume and calculate our position • The optical encoders give us a more definite position reading. • We chose the HEDS-9100 encoders because of size limitations. Microprocessor • Rabbit 3100 Core Module – Uses a Rabbit 3000 microprocessor. • Software P.I.D Controller – A software Proportional-Integral-Derivative controller is a feedback system that will allow us to more accurately control our system. Rabbit 3100 • We chose the Rabbit 3100 over other microprocessors. – Other models we researched would have been harder to implement. – Chose the Rabbit 3100 because we could reuse our programming cable and it had pulse-width modulation capability. – Also found that it had quadrature decoders which help us to use the encoders. Software P.I.D. Controller • Motors are not a digital type of device. A sharp change in voltage level doesn’t instantly change the speed of the motor. We have to take this time constant into consideration. • We will use a PID controller to fine-tune the operation of our motor. • Takes readings and calculates an error value. • Tries to get the system to settle at the correct value as quickly as possible. • A PID controller modifies the error signal in three ways to determine the best correction. • Still needs to be implemented and fine-tuned… Proportional – Integral – Derivative • The proportional part of the modification is simply multiplying the error signal by a constant to adjust for the current error. • The integral part of the modification is multiplying the error signal by the result of an integral to adjust for error in the past that hasn’t been corrected yet. • The derivative part of the modification is multiplying the error signal by the result of a derivative to try and predict the future error correction required. • The sum of these corrections (once the constants have been fine-tuned) should be a system that reaches an accurate steady state as soon as possible. Tracking, Mapping, Solving • Using old code, modified for this mouse. • Plan on possibly implementing different solving methods. • Plan to implement a few modified flood-fill (Bellman) algorithms What remains to be done… • • • • • Connect PCB board to external modules Programming the mouse Fine-tune PID controller Troubleshooting / Debugging Write up our 30 page paper Gantt Chart 21-May Research Parts Research Software Implementation Get Samples of Parts we can Get Samples For Order Parts not Being Sampled Test Microprocessor/Microcontroller Test Motors/PWM Test Encoder Test Batteries Test H Bridge Build Chassis Design Circuit Assemble Circuit Implement Straight Movement Implement Turns Implement Alignment Implement PID Tune PID Final Troubleshooting/Debugging Paper Write-Up 10-Jun 30-Jun 20-Jul 9-Aug 29-Aug 18-Sep 8-Oct 28-Oct “Because this is a design review, I will expect everyone to ask at least TWO questions sometime during your session.”