210 likes | 352 Views
Magnetic Manipulator. Team 125. Meet Team 125!. Chad Perkins (Spring Team Lead) John Olennikov(Web Master ) Ben Younce Marley Rutkowski(Fall Team Lead) Professor Robert J. Albright (Faculty Advisor) Andy McConnell (In dustry Advisor). What We Did. Magnetic Levitation!
E N D
Magnetic Manipulator Team 125
Meet Team 125! Chad Perkins (Spring Team Lead) John Olennikov(Web Master) Ben Younce Marley Rutkowski(Fall Team Lead) Professor Robert J. Albright (Faculty Advisor) Andy McConnell (Industry Advisor)
What We Did... • Magnetic Levitation! • Has been implemented with control interface that allows a user to raise and lower a neodymium magnet suspended below a solenoid • The magnet can be suspended indefinitely
How We Did It... • Electromagnet controlled by a microcomputer • 2 Hall sensors sense magnetic fields • Adjust electromagnetic strength • Pulse width modulation (PWM) defines strength • Power transistor turn power on/off at high frequency • PID algorithm for control
State Machine (Arduino code) • This runs on the Arduino • Start at System Initialize • Calibrate Mode gets necessary values • Idle Mode means the solenoid is waiting for a magnet to come within range of the Hall sensors
State Machine (Arduino code) • PID Control Mode means that the system is executing algorithm to levitate object in range • Off Mode means that the magnet is too close and the solenoid shuts off • The lights on the top of the Mag-Lev tell us what state it is in
Hardware Overview • Arduino • Computer(GUI) • Transistor Circuit • System state LEDS
Hardware Overview • Electromagnet • Levitating Object • Bottom Hall sensor • Top Hall sensor
Hardware Overview • Hall Processing Circuit • data to Arduino • Enable switch
Computer/Graphical User Interface • Why a GUI? • Arduino can levitate magnet without computer • Processing Code • User Interface • Debug • Data Display
Computer/GUI - Functional vs OOP • Why OOP over functional programming? • Contained variables (avoid conflicts) • Blueprints • Hierarchy
Computer/GUI – Humble Beginnings • Text Fields • Buttons
Computer/GUI - Layout • Text Fields • Text Input/Console • Buttons • Graph
Software Challenges • Analog to Digital Converter (ADC) • Problems • Unstable values • analogRead() not fast enough • Solution; average over space & time • Moving Mean • 8 timer triggered synchronous ADCs • No support for Arduino Due, required reading CPU manual
Software Challenges • Pulse Width Modulation (PWM) • Problems • analogWrite() • uncustomizable low frequency • not precise (only 256 values) • Software interrupt PWM • too much CPU load • Solution • Utilize Atmel PWM module
Challenges - Noise • Power Sources • Filter Capacitors • Signal Wires • Grounded Shield Wires • Lead Lengths • Power Transistor Circuit Isolation • Separate, more Robust board
Challenges - Field Calculations • The magnetic field of the coil • Educated “guesses” • Real Time measurements • Second Hall Effect Sensor • New op amp circuit addition
Conclusion Success! • “Eyes were bigger than our stomachs” • A few setbacks • Digital feedback control system • PID • PWM • Interesting and Interactive GUI Success!!!
That’s All, Folks! Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions?Questions? Questions? Questions?