Magnetic Manipulator 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) Meet Team 125!
What We Did... Magnetic Levitation! o Has been implemented with control interface that allows a user to raise and lower a neodymium magnet suspended below a solenoid o The magnet can be suspended indefinitely
How We Did It... Electromagnet controlled by a microcomputer 2 Hall sensors sense magnetic fields Adjust electromagnetic strength o Pulse width modulation (PWM) defines strength o 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 o Computer(GUI) o Transistor Circuit o System state LEDS
Hardware Overview Electromagnet o Levitating Object o Bottom Hall sensor o Top Hall sensor
Hardware Overview Hall Processing Circuit o data to Arduino Enable switch
Computer/Graphical User Interface Why a GUI? Arduino can levitate magnet without computer Processing Code o User Interface o Debug o Data Display
Computer/GUI - Functional vs OOP Why OOP over functional programming? o Contained variables (avoid conflicts) o Blueprints o Hierarchy
Computer/GUI – Functional vs OOP
Computer/GUI – Humble Beginnings Text Fields Buttons
Computer/GUI - Layout Text Fields Text Input/Console Buttons Graph
Computer/GUI – Final Layout
Software Challenges Analog to Digital Converter (ADC) o Problems Unstable values analogRead() not fast enough o 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) o Problems analogWrite() uncustomizable low frequency not precise (only 256 values) Software interrupt PWM too much CPU load o Solution Utilize Atmel PWM module
Challenges - Noise Power Sources o Filter Capacitors Signal Wires o Grounded Shield Wires o Lead Lengths Power Transistor Circuit Isolation o Separate, more Robust board
Challenges - Field Calculations The magnetic field of the coil o Educated “guesses” Real Time measurements o Second Hall Effect Sensor o New op amp circuit addition
Conclusion Success! “Eyes were bigger than our stomachs” A few setbacks Digital feedback control system o PID o PWM Interesting and Interactive GUI Success!!!
That’s All, Folks! Questions?Questions?Questions?Que stions?Questions?Questions?Questio ns?Questions?Questions?Questions? Questions?Questions?Questions?Qu estions?Questions?Questions?Questi ons?Questions?Questions?Questions ?Questions? Questions? Questions?