Magnetic Manipulator - UP Wordpress | | UP Wordpress

advertisement
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!
o
o
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
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
o
o
Computer(GUI)
Transistor
Circuit
System state
LEDS
Hardware Overview
•
Electromagnet
o
o
o
Levitating
Object
Bottom Hall
sensor
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
o
o
User Interface
Debug
Data Display
Computer/GUI - Functional vs OOP
•
Why OOP over
functional
programming?
Contained variables
(avoid conflicts)
o Blueprints
o Hierarchy
o
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
o
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)
o
Problems
 analogWrite()
•
•

Software interrupt PWM
•
o
uncustomizable low frequency
not precise (only 256 values)
too much CPU load
Solution
 Utilize Atmel PWM module
Challenges - Noise
•
•
Power Sources
o
Signal Wires
o
•
Filter Capacitors
o
Grounded Shield Wires
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
o
Second Hall Effect Sensor
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?
Download