240 likes | 478 Views
Wireless Open Source Physics Laboratory Data Acquisition System. Dr. John Liu. Saint Cloud State University, MN. AAPT 2013 Summer Meeting Portland, OR July 17, 2013. Laboratory education?!.
E N D
Wireless Open Source Physics Laboratory Data Acquisition System Dr. John Liu Saint Cloud State University, MN AAPT 2013 Summer Meeting Portland, OR July 17, 2013
Laboratory education?! • Every natural science discipline relies heavily on experimental findings thus emphasizes laboratory education • Introductory laboratories only last 1 to 3 hours per week • Students don’t have access to equipment outside lab periods • Some schools can’t afford enough electronic lab equipment • We need a platform that is cost-effective to deploy in labs and can improve student experimental skills outside labs • The solution is open source physics laboratory platform
Objective • Improve experimental physics education at introductory level Goal • Build a platform and content to improve experimental physics teaching and learning • Reduce the cost of the platform to improve its accessibility Achievements • Designed Open Source Physics Laboratory platform based on Open Source project Arduino • Current revision (2) is low-cost and has many features
Version 1.0 AAPT 2012
Version 2.0 1-2 hr Enclose AAPT 2013 Apparatus competition award and low cost winner Sonic Ch 2 Ch1 Ch0 Power Ranger (I2C) DIN-5 plugs won’t fall off like jumper wires on an Arduino
Cost: • $60 if you wish to purchase a kit ready for assembly • $30ish parts if you purchase your own parts for 25 units • Standalone mode needs no PC or mobile device • Sensors can be constructed from parts for a few dollars • Shipping is not included in the estimate
Capability: • Wired and wireless data transfer • Elegant enclosure and rugged design • Works with generic and Vernier analog and digital sensors • Works with countless modern I2C sensors. • Firmware includes a selection of sensors in menu • Running your own sensors requires 4-5 lines of code • Write your own project code
Accuracy: • 10-bit analog to digital converter with 5mV accuracy • Digital timer around 30ppm at ¼ us • Modern I2C and TTL sensors such as accelerometers and GPS digitize measurements themselves so OSPL achieves maximal sensor accuracy. • With I2C analog-to-digital converter, OSPL can go beyond 5mV analog accuracy, for as little as a few dollars of parts.
Next step? • Integrate more sensors to OSPL firmware. • Write sample code of various lengths to provide scaffolds for users to learn. • Offer kits (limited assembled units) for early adopters • Build a website to host and share content and updates • Improve current design from feedbacks. • Create assembled and headless versions • Seek fund to improve and promote design and content
Legal words • Circuit board design will be released under Creative Commons Attribution Share-alike • Arduino library is released under GNU Lesser General Public License • OSPL firmware will be released under GNU General Public License • Various libraries could have their own licenses
An application: smart track • Automatically reports location of a cart on a track • Emulates a sonic ranger when connected to Vernier LabQuest to log position velocity and acceleration • Running averages of positions • Tare function • See how sonic rangers work with Vernier LabQuest • See how physics applies to real life situations
Smart track Vernier cart Vernier track Vernier force gauges Vernier force gauge OSPL V1 Vernier LabQuest (Optional)
Firmware: • Standard upgradeable firmware is compatible with most Vernier analog sensors • Many of the above sensors can be selected from a list. • Sensors not yet on the list will require a simple conversion: x=a*reading+b is needed. • Vernier sonic ranger (needs additional cable) • I2C sensors including 3-axis accelerometer, 3-axis magnetic sensor, 3-axis gyroscope, barometer, and a lot more will be included in future firmware release • Use your own sensor is very easy with 4-5 lines of code
Write your own firmware Send measurement to PC, 4 lines of code reading=analogRead(channel); Line 1: acquire data: result=a*reading+b; Line 2: scale data for output: Serial.println(result); Line 3: output result: delay(200); Line 4: pause momentarily for user: Display measurement on the LCD, 5 lines of code reading=analogRead(channel); Line 1: acquire data: result=a*reading+b; Line 2: scale data for output: lcd.clear(); Line 3: clear LCD: lcd.print(result); Line 4: output result: delay(200); Line 5: pause momentarily for user:
Programming the OSPL Push to upload to OSPL
Hardware aspect • OSPL hardware includes designing a data acquisition (DAQ) system and adapting to various sensors (SEN). • SEN mostly outputs analog voltage to represent measurement, such as 0.25V for 25DegC. • Some SEN have simple digital logic, such as photo gates (on/off) and sonic rangers (timed pulse). • DAQ reads analog voltages and follows simple digital logics to present meaningful data to experimenters. • DAQ may also log and transfer data to a computer. • Both DAQ and SEN need to cheap and good quality.
System specification: • Microcontroller: ATMEGA328P-PU compatible with Arduino Uno • Program memory: 32KB, rough max 3,000 lines of C/C++ code. • Variable memory: 2KB, roughly stores up to 1,000 data points. • EEPROM: 1KB, roughly stores up to 500 data points. • Supports up to 3 autoID analog sensors (Vernier resistor-based) or up to 6 analog sensors without autoID • Supports up to 8 digital inputs or outputs for photo gates, counters and sonic rangers. • Support I2C sensors that are widely available at very low cost • On-board 16X2 character LCD monitor with back light • On-board speaker for simple tones • LCD back light jumper to disable back light to preserve battery • Wireless and wired data transmission with a PC/Linux/Mac • Rotary encoder for easy menu navigation (up/down/select) • Elegant enclosure ready to use • Massive amount of library and sample codes as templates to start a project or load pre-written code for specific tasks.
Open source benefit? • Drastically reduce cost up to 90% on lab data acquisition systems and sensors • Drastically expand sensor selections • Use data acquisition software freely or make modifications to fit your need • Students can even afford the hardware and explore physics at their own homes 3-axis accelerometer, 3-axis magnetic sensor, 3-axis gyroscope, barometer Paid $13, requires 4 wires.
Design: Circuit board layout Schematic
What is an Arduino? • Arduino is an open-source, very easy to learn/use physical computing platform • Arduino can sense many types of sensors and buttons (analog and digital) • Arduino can be programmed to sense its inputs repeatedly • Arduino has a serial port • Arduino uses C/C++ as programming language • Arduino has an active online community
Structure of the current OSPL This contains the microcontroller (brain) and the power to the DAQ. The microcontroller is loaded with commercial or DIY firmware. This is the user control panel. Different types of panels may be used, with different number of buttons, LCD sizes. This connects to existing Vernier and Pasco sensors. This connects to an adapter to talk with PC.