Micromouse Meeting #3 Lecture #2 Power Motors Encoders Microcontroller – pick one yet? Previous Stuff Meet your team Some teams were changed High Level Diagram Everything needs power Batteries Power Supply a constant voltage Supply as much current as needed (Ideally) = (almost) Different components require different supply voltages Power Regulation MCU: ~5V Gyro: 5V or 3.3V Supply too little, components don’t work properly Supply too much, components tend to light on fire Common voltage divider circuit Power Regulation Does not work for Micromouse! Battery voltage decreases as it discharges If input voltage decreases, output voltage also decreases Solution: Voltage Regulator Power Regulation These will output a constant voltage even if the input voltage changes Inside is a complicated mess of transistors and other components Check datasheet for input voltage range Convert electrical energy to mechanical energy Motors Two types: Brushed Brushless Brushed motors take a DC signal So they are also known as DC motors Motors: Brushed Power an inductor to rotate a magnet Increase the voltage and/or current -> Increase the rotation speed Reverse the polarity of the input voltage -> Reverse the rotation Most digital microcontrollers do not have an analog signal output MCU’s output digital signals – either high or low How do we control brushed motors? “Fake” analog voltage signal Square wave with a certain frequency This can be used to control the speed of a motor Pulse Width Modulation (PWM) • Speed is controlled by rapidly turning the motor on and off • Turn the motor on for a greater fraction of the time to make it rotate faster • The percent of time the PWM signal is on is the duty cycle • 0% duty cycle is same as off all the time; 100% duty is same as on all the time Microcontrollers have libraries/functions that make generating PWM signals really easy PWM signals can control the speed of the motors easily – cool Problem: Connect a pin on a MCU to a motor and output a PWM Motors: Signal Power and turning The motor barely moves MCUs cannot provide enough current to turn motors at fast enough speeds Another problem: Microcontrollers cannot invert the PWM signal to rotate the motor in the other direction Solution: Motor Driver Use the PWM signal to control a transistor Motors: Driver The transistor acts as a two-state switch that can handle lots of current The transistor switches on and off according to the PWM The motor can be directly powered by the battery, but now its speed can be controlled too Motors: Rotation Control Motor driver circuit can pour all the current the battery can supply to the motor – nice Problem: How can the motor change direction? Previous circuit allows current to flow in only one direction Solution: Use H-Bridges Motor Driver: H-Bridge These use several driver circuits All contained in an IC H-Bridge: Simplified diagram Turn selected switches on/off to control the current path H-Bridge States Close these switches: Motor turns in one direction Close these switches: Motor turns in other direction Datasheet of H bridge describes which pins does what Goal is the same as brushed motors: rotate something Mechanics is different Motors: Brushless Multiple inductors attract and repel the magnet Has more control over DC motors Controlling brushless motors are more complicated But fairly easy to do with IC chips/software libraries While the mouse is moving around the maze, it needs to memorize it It needs some way to tell how many cells it has transversed So we need some kind of cell counter Cell Counter How does the mouse know going this far is four cells long? Solution: Rotary Encoder Rotary Encoder Attach something to the wheels to count how many times the wheels have turned to get distance Two major flavors Optical Magnets with Hall effect sensor LED shines light through holes in a disc Rotary Encoder: Optical A detector on the other side counts how many times the disc turns Attach magnets to a disc Use Hall effect sensors to detect the changing magnetic field Rotary Encoder: Magnetic Next Sensors! Meet your team if you haven’t already