STABLE Stabilization Table for Accurately Balancing a Loose Element Preliminary Design Review October 18th, 2012 William Brown Phillip Chen Eric Huckenpahler Laura Hughes Brian Ibeling Chris Johnson 6/27/2016 1 Presentation Overview • System Overview • Subsystems o o o o o • • • • Sensors Control Motor/Mechanical Power User Interface (UI) Team Roles Risks and Mitigations Schedule Budget 6/27/2016 2 Demonstration 6/27/2016 3 System Objectives • Maintain Desired Ball Position o Knowledge of desired ball position o Knowledge of current ball position o Ability to move ball to desired position • Ball Control o Counter-act forces exerted on ball o Follow desired user input path o User capable to set desired ball position • Unique and Engaging User Experience o Games o Artistic Application 6/27/2016 4 Functional Block Diagram 6/27/2016 5 System Responsibilities 6/27/2016 6 Sensor Subsystem Position Control System Ball Velocity 6/27/2016 7 Requirements & Purpose • Purpose: o Provide the Control Subsystem with time critical data • Needed Information o Gather Ball Position Data o Calculate Ball Velocity Data • Necessary Traits o o o o o High Speed High Accuracy High Precision Large Size Cost, under $300 6/27/2016 8 Sensor Method: Resistive Touch Screen • Pros: o Simplicity o High resolution in range of 1024x1024 to 4096x4096 (for a 24” by 24” screen that is 170 bits per inch resolution) o Linearity < 1.5% (acceptable) o Price <$100 o Wide range of ball options, just need to be heavy o Nice output format: easier to interface • Cons: o Resistive sensors can be noisy o Cracks are fatal 6/27/2016 9 Sensor Method: Capacitive Touch Screen • Pros: o High Accuracy, 99% of true precision o High Resolution 1024x1024 (for a 24” by 24” screen that is 42bits per inch resolution) o Linearity < 1.5% (acceptable) o Less noisy o Highly Durable • Cons: o Restrictive ball type o More complex to interface directly o Price < $300 6/27/2016 10 First Implementation Choice • Resistive Touch Screen • Necessary Hardware to implement: o Dependent on touch screen purchased, some will include a controller that can output RS232 data requiring a MAX232 IC to convert voltage levels to UART acceptable levels. o Others will require a touch screen controller, AR1000 series IC that can directly output UART, I2C or SPI. 6/27/2016 11 Generating Velocity Data • You can’t just sense velocity, it depends on time • Use a timed interrupt to gather position data and save a running average for its velocity. • Frequency at which velocity data will be available TBD (dependent on Control Subsystem’s needs) Timer Acquired Position Data Timer Length 6/27/2016 12 Control Subsystem General outline of surrounding elements Tilt Angle Table Control Subsystem Control Subsystem User Interface Subsystem Sensor Subsystem Position & Velocity 6/27/2016 13 Control Subsystem Properties • Settling time (movement within 0.5mm of desired position) of 5 seconds. • Maximum overshoot of around 2 cm (4%). 6/27/2016 14 Free Body Diagram Drawing and force vectors not to scale Fn Fr Fg ο± Free body diagram of the ball rolling in one dimension 6/27/2016 15 Mass-spring-damper 1D Model External force Wall Model rolling friction as a damper Ball of mass M x (Force of gravity along the plate) U = M*g*sin(θ) B M U π π₯ = −π΅ π₯ − π 6/27/2016 16 Solving for Proportional Control Root Locus • ππ 2 π = −π΅π π + π ππππ£πππ π = π and substituting ππ 0.9 ∗ π for U (to linearize). • π= 1 ππ 2 +π΅π ∗ 0.9ππ • Transfer function: P(s) = 0.9ππ ππ 2 +π΅π • Mass: assume the ball’s mass will be around 0.3 kg. • Damper: the damper represents the force of rolling friction, which is small (πΉ = πΆππ ∗ π, where N is the normal force and Crr ο» 0.003). B ο» 0.008. 6/27/2016 17 Root Locus Graph (Proportional Control) 6/27/2016 18 Root Locus Analysis (Proportional control) • Proportional control doesn’t yield a desirable transient behavior in the theoretical plant. o This can be seen by the poles being close to the imaginary axis in the Root Locus graph. Increasing the proportional control parameter drives the system to have more oscillatory behavior. • Must start a lead-lag design for controller’s transfer function. o The lag portion is unnecessary, as the function already has step tracking due to the naked integrator. 6/27/2016 19 Root Locus Setup (Lead Component) • Desires: o to place a closed loop zero very far to the left to allow for poles to move further left (thereby becoming more stable). o to then place a closed loop pole even further to the right to minimize its effect on the system. • πΆ π = πΎ(π +100) , π +50000 • π π πΆ π =πΎ∗ where K is the root locus parameter. 0.9ππ(π +10) ππ 3 + π΅+5000π π 2 +(5000π΅)π 6/27/2016 20 Control Subsystem Root Locus Graph (Lead Component) 6/27/2016 21 Step Response Graph (Lead Component, K = 1.3E7) 6/27/2016 22 Root Locus Analysis of Lead-Lag Controller πΎ(π +100) • Choosing πΆ π = and πΎ = 1.3 ∗ 107 , we arrive π +50000 at a step response with an overshoot of 4% and a settling time of essentially 0.02 seconds • Problems o This model assumes we can actuate the plate instantaneously, when in reality the motor setup will respond much more slowly. o We have approximated the sine function, which may lead to more overshoot. 6/27/2016 23 Motor Subsystem 6/27/2016 24 Requirements & Purpose • Purpose: o Actuate the plate according to instructions from the Control system • Needed Information o Desired position of each axis independently, relative to current position 6/27/2016 25 Restrictions • • • • High Speed High Accuracy Preferably smaller and non-conducting Cost, including replacements Footer Text 6/27/2016 26 DC Brushed Basics: When the motor windings become energized, a temporary magnetic field is created that repels(and/or attracts) against permanent magnets. This force is converted into shaft rotation, which allows the motor to do work. As the shaft rotates, electric current is routed to different sets of windings, maintaining electromotive repulsion/attraction, forcing the rotor to continually turn. Pros: • Cost. Cheaper than stepper or servo motors • Super easy to work. Connect one wire high, one low, watch it go! Cons: • Torque vs Size. Many of these will be for smaller hobby applications and it’s hard to find a low RPM, high torque DC motor in a smallish package. • Accuracy. It’s going to be pretty hard to calibrate this, and that could change with differences in load like a different ball. • Can be electrically noisy and could interfere with the uC or any wireless network we set up. • A physical commentator is going to eventually wear out. New motor = new calibration process. 6/27/2016 27 DC Brushed Basics: When the motor windings become energized, a temporary magnetic field is created that repels(and/or attracts) against permanent magnets. This force is converted into shaft rotation, which allows the motor to do work. As the shaft rotates, electric current is routed to different sets of windings, maintaining electromotive repulsion/attraction, forcing the rotor to continually turn. Pros: • Cost. Cheaper than stepper or servo motors • Super easy to work. Connect one wire high, one low, watch it go! Cons: • Torque vs Size. Many of these will be for smaller hobby applications and it’s hard to find a low RPM, high torque DC motor in a smallish package. • Accuracy. It’s going to be pretty hard to calibrate this, and that could change with differences in load like a different ball. • Can be electrically noisy and could interfere with the uC or any wireless network we set up. • A physical commentator is going to eventually wear out. New motor = new calibration process. 6/27/2016 28 DC Brushed Basics: When the motor windings become energized, a temporary magnetic field is created that repels(and/or attracts) against permanent magnets. This force is converted into shaft rotation, which allows the motor to do work. As the shaft rotates, electric current is routed to different sets of windings, maintaining electromotive repulsion/attraction, forcing the rotor to continually turn. Pros: • • Cost. Cheaper than stepper or servo motors Super easy to work. Connect one wire high, one low, watch it go! Cons: • Torque vs Size. Many of these will be for smaller hobby applications and it’s hard to find a low RPM, high torque DC motor in a smallish package. • Accuracy. It’s going to be pretty hard to calibrate this, and that could change with differences in load like a different ball. • Can be electrically noisy and could interfere with the uC or any wireless network we set up. • A physical commentator is going to eventually wear out. New motor = new calibration process. 6/27/2016 29 DC Brushed Basics: When the motor windings become energized, a temporary magnetic field is created that repels(and/or attracts) against permanent magnets. This force is converted into shaft rotation, which allows the motor to do work. As the shaft rotates, electric current is routed to different sets of windings, maintaining electromotive repulsion/attraction, forcing the rotor to continually turn. Pros: • • Cost. Cheaper than stepper or servo motors Super easy to work. Connect one wire high, one low, watch it go! Cons: • • • • Torque vs Size. Many of these will be for smaller hobby applications and it’s hard to find a low RPM, high torque DC motor in a smallish package. Accuracy. It’s going to be pretty hard to calibrate this, and that could change with differences in load like a different ball. Can be electrically noisy and could interfere with the uC or any wireless network we set up. A physical commentator is going to eventually wear out. New motor = new calibration process. 6/27/2016 30 DC Brushless Basics: Same as brushed, but the commutator is realized with a switch. The field inside a brushless motor is switched via an amplifier triggered by a commutating device, such as an optical encoder. Pros: • Cost. Cheaper than stepper or servo motors. • Won’t wear out nearly as quickly as a brushed motor. • Fewer physical parts means fewer factors that carry their own mess of randomization. • Cyprus has a great dev kit and software suite for $99 that we could play with (proof of concept) • I know how to keep these from breaking things by limiting the torque. Cons: • Torque vs Size. Many of these will be for smaller hobby applications and it’s hard to find a low RPM, high torque DC motor in a smallish package. • Accuracy. It’s going to be pretty hard to calibrate this, and that could change with differences in load like a different ball. However, because it is essentially PWM controlled, it’s going to be easier than brushed. • Can be electrically noisy and could interfere with the uC or any wireless network we set up. 6/27/2016 31 DC Brushless Basics: Same as brushed, but the commutator is realized with a switch. The field inside a brushless motor is switched via an amplifier triggered by a commutating device, such as an optical encoder. Pros: • Cost. Cheaper than stepper or servo motors. • Won’t wear out nearly as quickly as a brushed motor. • Fewer physical parts means fewer factors that carry their own mess of randomization. • Cyprus has a great dev kit and software suite for $99 that we could play with (proof of concept) • I know how to keep these from breaking things by limiting the torque. Cons: • Torque vs Size. Many of these will be for smaller hobby applications and it’s hard to find a low RPM, high torque DC motor in a smallish package. • Accuracy. It’s going to be pretty hard to calibrate this, and that could change with differences in load like a different ball. However, because it is essentially PWM controlled, it’s going to be easier than brushed. • Can be electrically noisy and could interfere with the uC or any wireless network we set up. 6/27/2016 32 Stepper Basics: Takes input from a uC to move in precise, accurate, pre-determined steps. Pros: • Easier to code for b/c based on simple integer values • Higher chance of startup jerk than DC motors, but we actually might want that to negate static friction Cons: • Accuracy. Even with 200 steps/rotation (typical) moving a single step would tilt the edge of the plate 9*arcsin(1.8deg) or about 1/3”. This could be good enough, but we may run into a maximum update rate depending on our controller. • Cost. Somewhat more expensive than DC motors. 6/27/2016 33 Stepper Basics: Takes input from a uC to move in precise, accurate, pre-determined steps. Pros: • Easier to code for b/c based on simple integer values • Higher chance of startup jerk than DC motors, but we actually might want that to negate static friction Cons: • Accuracy. Even with 200 steps/rotation (typical) moving a single step would tilt the edge of the plate 9*arcsin(1.8deg) or about 1/3”. This could be good enough, but we may run into a maximum update rate depending on our controller. • Cost. Somewhat more expensive than DC motors. 6/27/2016 34 Stepper Basics: Takes input from a uC to move in precise, accurate, pre-determined steps. Pros: • Easier to code for b/c based on simple integer values • Higher chance of startup jerk than DC motors, but we actually might want that to negate static friction of the ball Cons: • Accuracy. Even with 200 steps/rotation (typical) moving a single step would tilt the edge of the plate 9*arcsin(1.8deg) or about 1/3”. This could be good enough, but we may run into a maximum update rate depending on our controller. • Cost. Somewhat more expensive than DC motors. 6/27/2016 35 Voice Coils Basics: Voice coils use a magnetic field to push a metal piston up and down. Pros: • The cool factor • High precision and extremely fast Cons: • Range. They are designed more for small vibration control than ballcatching angles. The best we can get is about 1” of lift. • We would be fighting gravity instead of working with it. • Calibration would need to be ongoing and the plate would need to consciously return to a level state. • More difficult to discretely control. 6/27/2016 36 Voice Coils Basics: Voice coils use a magnetic field to push a metal piston up and down. Pros: • • The cool factor High precision and extremely fast Cons: • Range. They are designed more for small vibration control than ballcatching angles. The best we can get is about 1” of lift. • We would be fighting gravity instead of working with it. • Calibration would need to be ongoing and the plate would need to consciously return to a level state. • More difficult to discretely control. 6/27/2016 37 Voice Coils Basics: Voice coils use a magnetic field to push a metal piston up and down. Pros: • • The cool factor High precision and extremely fast Cons: • Range. They are designed more for small vibration control than ball• • • catching angles. The best we can get is about 1” of lift. We would be fighting gravity instead of working with it. Calibration would need to be ongoing and the plate would need to consciously return to a level state. More difficult to discretely control. 6/27/2016 38 Voice Coils Basics: Voice coils use a magnetic field to push a metal piston up and down. Pros: • • The cool factor High precision and extremely fast Cons: • Range. They are designed more for small vibration control than ballcatching angles. The best we can get is about 1” of lift. • • • We would be fighting gravity instead of working with it. Calibration would need to be ongoing and the plate would need to consciously return to a level state. More difficult to discretely control. 6/27/2016 39 Servo Basics: These are really a subset of other continuous motors, unique only because they have a strict, built in feedback system. Pros: • THE hobbyist motor, so there’s a ton of application specific information out there. • High precision and fast • LEGO makes one, so we should be able to figure it out. Cons: • Accuracy. They could have the same issues as stepper motors or DC, depending on what the servo base is. • Maximum Update rate – as Michael points out, we are going to battle the real-time aspect of this every step of the way. The motors are a bad place to start. • Cost. Built in feedback is apparently pretty expensive. • Size and weight. These are typically much larger than their counterparts. 6/27/2016 40 Servo Basics: These are really a subset of other continuous motors, unique only because they have a strict, built in feedback system. Pros: • THE hobbyist motor, so there’s a ton of application specific information out there. • High precision and fast • LEGO makes one, so we should be able to figure it out. Cons: • Accuracy. They could have the same issues as stepper motors or DC, depending on what the servo base is. • Maximum Update rate – as Michael points out, we are going to battle the real-time aspect of this every step of the way. The motors are a bad place to start. • Cost. Built in feedback is apparently pretty expensive. • Size and weight. These are typically much larger than their counterparts. 6/27/2016 41 Servo Basics: These are really a subset of other continuous motors, unique only because they have a strict, built in feedback system. Pros: • THE hobbyist motor, so there’s a ton of application specific information out there. • High precision and fast • LEGO makes one, so we should be able to figure it out. Cons: • Accuracy. They could have the same issues as stepper motors or DC, depending on what the servo base is. • Maximum Update rate – as Michael points out, we are going to battle the real-time aspect of this every step of the way. The motors are a bad place to start. • Cost. Built in feedback is apparently pretty expensive. • Size and weight. These are typically much larger than their counterparts. 6/27/2016 42 Servo Basics: These are really a subset of other continuous motors, unique only because they have a strict, built in feedback system. Pros: • THE hobbyist motor, so there’s a ton of application specific information out there. • High precision and fast • LEGO makes one, so we should be able to figure it out. Cons: • Accuracy. They could have the same issues as stepper motors or DC, depending on what the servo base is. • Maximum Update rate – as Michael points out, we are going to battle the real-time aspect of this every step of the way. The motors are a bad place to start. • Cost. Built in feedback is apparently pretty expensive. • Size and weight. These are typically much larger than their counterparts. 6/27/2016 43 Servo 6/27/2016 44 Servo 6/27/2016 45 Servo • 4.8 to 6.0V • Torque around 6kg*cm • Small Footprint • $12 • 180 degrees of movement 6/27/2016 46 Pivot • Work WITH Gravity • Introduce minimal friction • Can limit motion of plate with slant of pivot tip 6/27/2016 47 Contact with Plate • Cannot interfere with resistance or capacitance of plate • Introduce minimal friction • Allow full range of motion • Be easy to implement and repair 6/27/2016 48 Servo + + = proof of concept 6/27/2016 49 Power Subsystem Footer Text 6/27/2016 50 Power Overview • Voltage supplied from standard 120V 60Hz AC Outlet o AC-DC converter necessary for delicate instruments o High efficiency • Needs to prevent excessive heat buildup on user accessible surfaces • Possible shielding to prevent noise from entering control subsystem Footer Text 6/27/2016 51 Supply Rails • AC-DC Converter will supply o 5V for touch sensor and microprocessors o 12V for motor power supply • Motor power and motor control could possibly be combined into 1 unit. Noise suppression will be very important for servo drive voltage o Aesthetic Supply depends on aesthetics. Unimportant for prototype/preliminary design • Possible aesthetic application: o LED o Speakers o Displays o LASERS o Fog machine Footer Text 6/27/2016 52 Possible Concerns • Noise interference in motors o Highly precise positioning is open to noise • Heat generation o Cautious for user interaction Footer Text 6/27/2016 53 User Interface Subsystem User Desired Position Interaction User Interface Control System 6/27/2016 54 Requirements • Interactive • Intuitive o Easy to use o Total response time under a second • Generates a Desired Position (and possibly velocity and acceleration) 6/27/2016 55 Hardware Options 6/27/2016 56 Standard Mode • User is free to disrupt the ball’s position in whatever way they see fit • User can also change balance point 6/27/2016 57 Game Mode 6/27/2016 58 Art Mode 6/27/2016 59 Risks • Sensors o Risk • Filtering noise and isolating analog sensors from high noise devices o Solution • Short and isolated channel from sensor output to ADC • Filter relevant data in software o Risk • Not being able to detect the ball with high enough precision when the ball is moving at a high velocity o Solution • High sampling rate • Average the samples Footer Text 6/27/2016 60 Risks • Control System o Risk • Plant perturbations o Solution • Detailed analysis on prototype and proper adjustment of model to accurately define control model • Motor Control o Risk • Not being able to actuate motor quickly and accurately enough to counteract high forces exerted on ball o Solution • High torque motors • Fast response time • High update rate 6/27/2016 61 Risks • Power o Risk • Providing high instantaneous current spikes due to accelerations acted upon the ball o Solution • High gauge wires • High power rectifier • UI o Risk • Control system responding to appropriate interface device if using multiple devices o Solution • Use of physical switches 6/27/2016 62 Team Roles Task Brian Ibeling Sensor Board S Motor Control S Mechanical P Laura Hughes William Brown Phillip Chen Eric Huckenpahler Chris Johnson S S P P S P S Power S P S User Interface S S P S P Joystick Control TouchScreen Control P S S P = Primary S = Secondary S 6/27/2016 63 Schedule 6/27/2016 64 Budget Budget Unit Price Quantity Total Price 1.31 5.51 60 22 4 8 1 3 5.24 44.08 60 66 33 33 3 3 100 100 150 2 300 18.79 9.11 5.24 5.24 2 2 2 2 37.58 18.22 10.48 10.48 33 3 100 4 15 100 5 25 4 100 60 100 10 29 100 1 1 0.15 300 Sensors and Data Processing ADC (Analog to Digital Converters) Gyros PIC24F Starter Kit PiC24FJ25GB106 Microcontrollers Sensor PCB Fabrication (2-layer) Command and Data Handling PCB Fabrication (2-layer) Touch Screen for Ball Detection Power Board 12V Converter 9V Converter 5V Converter 3.3V Converter Power PCB Fabrication Mechanical and Building Materials Servo Motors Motor Drivers Aluminum Steel Ball 2 User Interface Joy Stick Small Touch Screen Custom User Interface Materials LEDs Printing 29 100 60 45 100 Poster Board Printing 100 Net Budget 1456.08 6/27/2016 65 Questions? Footer Text 6/27/2016 66 Extra Slides 6/27/2016 67 Where I got pictures from: (for Sensor Subsystem) • How it works: o • Controller board: o • http://officialandreascy.blogspot.com/2012/01/touch-screen-technology-how-it-works.html#.UH0AYcXA-rI http://www.aliexpress.com/item/4-wire-Resistive-RS232-touch-screen-panel-controller-Serial-touch-panelcontroller/547670399.html AR1000: o http://www2.electronicproducts.com/Resistive_touch_screen_controller_uses_USB-article-ICDJH08_Oct2011html.aspx Footer Text 6/27/2016 68 Functional Decomposition: Level 0 Footer Text 6/27/2016 69 Functional Decomposition: Level 1 Footer Text 6/27/2016 70 Communicating with Control Subsystem • Ideal System Model: o Save values as global variables for the control subsystem to interpret • Distributed System Model: o Send variables to Control Subsystem processor via I2C, SPI, or UART Global Variables Control Logic Sensor Subsystem Sensor Subsystem Footer Text Control Subsystem Digital I/O Control Subsystem Position & Velocity 6/27/2016 71