Test compatibility of Design Software Platforms w/ Serial Communications
Finalizing which GUI Design Software works best for project
Learn the programming language, build GUI, code it, test it
Complete system test with ME team - in progress
MILESTONES:
Settle on how to implement GUI functions and communications (Serial read/write, I2C, Bluetooth, Zigbee, wireless API's, etc.)
Weigh the drawbacks and capabilities of different communications with our chosen microprocessors
Using different software platforms, find what works best for the project.
Prototype of GUI completed
Integrated additional recommended measurements (ex. psi to mmHg)
Document all above successful procedures so it can be repeated
TOOLS:
MOSFET Motor Control Circuit:
2 different MOSFETs (1 backup circuit)
LM35 Heatsink Temperature Monitor
1N4001 Flyback Diode (to measure back EMF)
Spools of wire
Wire cutters, crimpers, pliers
Screwdrivers and Drills
Soldering Iron and electrical solder
Power Supplies:
7805 5 Volt regulator
12 Volt Regulated Power Supply
Calibration Tools:
Dead Weight Pressure Tester
Graduated Cylinders
Stopwatch
Multimeter
Infrared Thermometer
GUI Design Software:
Python 2.7.1
Qt Creator IDE
Pyqt, Pyuic4, plus several Python modules
Sublime Text 2
IDLE
Arduino Software IDE
Executable Application Packaging Software - in progress
DESIGN DECISIONS:
Opted for self temperature regulating heater. Only monitoring temperature is specified in our proposal
Chose Python as coding language. Started with C++ but the decision to design on a Unix based operating system came early on. Python is a great cross platform language and works well on Raspberry Pi.
Ordered sensors similar to what's currently in prototype so we could split up design ideas, future testing procedures, and get hands on experience with the compatibility of different software.
Ordered 400 Watt Regulated Power Supply with 12V, 9V and 5V outputs. The 12V and 5V I.C.'s were getting too hot to work with or make quick changes to circuit before they cooled down.
Having multiple components allowed our team to work on different sections needed in final design:
Pump and Motor control
GUI design
Serial communications
Calibration of sensors
DESIGN WORK:
Arduino Mega microprocessor
Raspberry Pi 3 w/ 7 inch touchscreen
MOSFET for pump/motor control
Omega precision flow sensor
5 psi pressure sensor
Temperature sensor
12V and 5V regulated power supply
TESTING:
The testing phase was one of the most intense part of this project. Each of the 3 sensors needed testing and calibration with the Arduino. They were split to each group member and results calculated.
Darryl - Temperature sensor
Michael - Flow sensor
Doug - Pressure sensor
CHALLENGES:
Numerous Software/Hardware Problems:
Arduino Com/Port and Serial Port Software errors were solved by keeping old copies of code. We separated into steps so recreating larger code could be easily recreated.
Incompatibility of C++ with Arduino's serial port. It would connect a few times then would require a system restart to re-establish communication. Solved by rewriting code in Python.
Incompatible Python modules imported would overwrite or block some of our modules needed. Solved by reinstalling Python libraries and only include modules needed but then had to link the $PATH's for correct operation.
3 Sensors would not communicate different variable types (int, double, float, etc.) between microprocessors with the accuracy needed. Solved by counting bytes sent, then sending all information in a string "data packet" so serial reading could be done as an array.
Controlling motor with high precision slowed down serial "handshaking" communication. Solved by giving up some precision (sending 1 byte instead of 4) for fluid operability of system.
Current Problems - solution in progress - Flow sensor is not performing in system as in testing and calibration. Getting erratic results.