Preliminary Detailed Design
Team and Individual visions for the Preliminary Design Phase
Key Questions for this Phase
- Can we properly place the EMG electrodes?
- Can we collect EMG data for ourselves?
- Can we tell an ET patient from a normal patient?
- What are the appropriate processing filters?
- Can we identify the different muscle groups?
- Will our electrode placement pick all desired muscle signals?
- Which 9-DOF sensor should be purchased?
- Can sensor output independent roll, pitch, and yaw?
- Can the sensor output independent X, Y, Z acceleration?
- Can the two above output data at the same time?
- Is the data being collected correct?
- How to log the data? C++? Python?
- What Bluetooth shield should be purchased?
- Is it feasible to have the Arduino worn on the forearm?
- Is it feasible to create a prototype solely for sensor calibration and testing?
- What parts will require manufacturing?
- What material should the parts be made from?
- What method of manufacturing should be used to create these parts?
- Is 3D printing these parts viable?
- What parts will require purchasing?
- Do the prices and lead times of these parts fit our plan and budget?
- How should the sensors and electronics be mounted on the device?
Team and Individual Action ItemsFor this phase, our team as a whole desired to acquire baseline data and perform initial calibration of the sensors purchased during the system design phase. The team as whole will use the valuable information gained during this phase to create a more complete and accurate design. During this phase team members also took more responsibility for their own specialized tasks and design work. The main team member specific action items are as follows:
Dani and Elizabeth:
- Tested individual movements using limited variables
- Consulted with several potential SMEs
- Analyzed data for preliminary data acquisition
- Test Protocols for EMG acquisition
- Ordered additional electrodes
Saidhon and Lucas:
- Ordered Bluetooth sensor
- Initial setup for Arduino
- Calibrated and tested accelerometer sensor
- Connected and tested Bluetooth shield with Arduino
- Created and set up a GitHub Repository for codebase
- Implemented a Python script to save/log data collected from sensors
- Consult team about their needs and requirements regarding the key questions to better define them and help create more accurate solutions
- Create hand sketches and a high-level plan of the sensor calibration and final prototype
- Determine manufacturing requirements and methods for the test and final assembly
- Create accurate CAD models of COTS selected during previous phases to help determine the required device
- Create CAD models for manufactured parts
- Create assembly models
- Use CAD models, team input, and the high-level plan to determine Arduino placement feasibility
- Select fasteners and other COTS for test and final assemblies
- Generate and continuously update BOM
- Investigate Construct capabilities and 3D printing
A more detailed view of our team and individual goals can be found under the Planning and Execution tab
Prototyping, Engineering Analysis, Simulation
ElectricalThe first part of this phase involved deciding on what 9-DOF sensor was going to be used to record the motion data for the ETs. Multiple different 9-DOF sensors were considered, but the Adafruit BNO055 board was selected because it already had a large software library, and it had functions built in to display the data we wanted.
After selecting the sensor, the format of the data collection needed to be decided on. After reading the specification sheet of the BNO055 sensor, it was clear that the roll, pitch, and yaw of the sensor could be displayed in either Quarternions or Eulers. It was decided on to display the data in Quaternions because it is easier to understand because the values are in degrees. The following picture describes the Quarternion system. With respect to the hand's acceleration in the x, y, and z directions, it was decided on to go with the linear acceleration output instead of just normal acceleration. This was decided because the linear acceleration function takes out the acceleration due to gravity. The output from the sensor is in m/s^2.
The last bit analysis done for this phase for the electronics on the device was the selection of a Bluetooth module to be able to transmit the data from the device to a computer. For this selection multiple different factors needed to be considered. Some of these factors were: range of the signal, power, connection type, cost, size of the module, software library, and availability. The first module that was examined was an Adaruit Bluefruit EZ-Link. This device had everything that was required, but unfortunately, the device is being redesigned by Adafruit at the moment, so it could not be purchased at the current time. This led to us finding the Adafruit Bluefruit LE Shield. This device is very similar to the EZ-Link, but it is not as robust. The LE shield still gave the flexibility of multiple methods of connections, fit on top of the processor, and had a reasonable range of 10m of communications. The following picture is the Adafruit Bluefruit LE Shield.
With all of the components selected, initial design and testing of the electrical subsystems could begin. The following pictures show the overall schematic of the current electrical systems.
High Level Physical Assembly PlanningAt the beginning of this phase there was interest to design and create a physical prototype for sensor calibration purposes. To determine whether this goal was feasible and to begin the design process if it was, a high level plan and hand sketches were created. An example of these hand sketches is pictured below
Based on this plan preliminary answers for the following physical assembly key questions were found.
What parts should be manufactured and how should they be manufactured?Based on this planning it was determined that the calibration prototype would require 2 manufactured components:
- A sensor base for the hand
- A base for the Arduino and power supply
For this prototype, the selected method for creating both of these parts was 3D printing. 3D printing was initially selected as the manufacturing process for these parts for the following reasons:
- Allows rapid manufacturing and short lead times
compared to machined parts
- This would make manufacturing a calibration prototype feasible
- Injection molding of parts is expensive and not suitable for our low volume
- Parts are not under large loads so concerns over printed plastic integrity is minimal
- 3d printed plastic is lighter weight than steel or aluminum
The desire to 3D print these parts resulted in a 3D printing feasibility investigation detailed in our feasibility section lower on this page.
How should the sensors and electronics be attached?As a result of our initial planning it was determined that machine screws and nuts should be used to secure electronics and sensors for the following reasons:
- Fasteners allow for simpler base geometry decreasing machining time and effort
- Fasteners are inexpensive and off the shelf
- Fasteners are removable
- Fasteners allow for some slop in manufactured holes
- The purchased devices already have through holes
The following image depicts a CAD model of the proposed sensor base for the hand with sensors secured with fasteners.
Feasibility: Prototyping, Analysis, Simulation
Goal: Gather a baseline of EMG data from both a normal subject and and ET patient to get a better understanding the EMG data we will be working with as well as the processing and analysis that we would have complete. In addition, we wanted to test out determined electrode placement.
Equipment: AD instruments hardware; 2 PowerLab26, 4 sets of electrodes (4 positive and negative electrode cables, 2 reference electrode cables), Sticky electrodes, Electrode gel for better conduction, LabChart 7.
Preliminary Electrode Placement
The first image shows the example placement we tried to mimic on each individual. We tested normal individuals with different forearm sizes to get an idea of how the initial electrode placement will work on different people.
Data was collected for both an ET patient and a 3 different non-ET volunteers. Images below show a sample of data for from our ET patient and one of non-ET volunteers where both start with their arm stretch out straight in front of them and then complete a single slow wrist extension movement. The time where the patient and volunteers had their right arm stretch out in front of them was defined as the baseline stability.
See link in Test Plans section for the complete procedure of EMG baseline testing.
From this testing, we have developed key questions to answer for the next phase.
Electrical FeasibilityGoals: Confirm proper operation of 9-DOF sensor, confirm device can output data to determine roll, pitch, and yaw, confirm device can output linear acceleration, confirm both position and motion data can be output at the same time, confirm data can be logged into a .csv file, initial Bluetooth configuration
Confirm Proper Operation of 9-DOF Sensor: The first part of feasibility was to confirm that the Adafruit BNO055 board we received worked properly and to set-up the software libraries. The board was confirmed to work by using multiple different programs from Adafruit that output data such as raw position data from the sensors and values from the onboard accelerometer, gyroscope, and magnetometer.
Confirming Output of Roll, Pitch, Yaw, and Linear Acceleration: Roll, Pitch, Yaw, and Linear Acceleration are the values that are needed to be output by the device. Obtaining these values to be output together involved three steps: output roll, pitch, and yaw, output linear acceleration, and then output both at the same time. This was done by modifying example code provided by Adafruit. The following capture is an example output of the sensor. In this case, the blue is the x-axis, the green is the y-axis, and the red is the z-axis. The values on the vertical axis are degrees that the device is rotated from the origin. The horizontal axis is the number of samples taken.
Through this testing, it was confirmed that the proper Quarternion data could be collected, and linear acceleration was also collected. Currently, it is the hope that the acceleration data will be able to show the shaking due to the Essential Tremors.
Logging the Data from Sensors: Methods of logging the data were also explored in this phase. Different methods of data logging were examined. At first, it was attempted to log the data with code that would be loaded to the Arduino, but this was seen as unpractical because we are sending data to a computer via Bluetooth. This means that a script could be used to log the incoming data. After some research, a script that monitored the serial port of the computer and then put that data into proper columns in a .csv file was created using Python. This Python will later be expanded to include the data from the EMG sensors and the feature to upload the data to a server.
Initial Bluetooth Testing: Once the Bluetooth module was received, initial testing was started. These tests involved making sure that the Bluetooth module was functioning correcting and confirm that the amount of required data could be transmitted via Bluetooth. The first test that was performed was done using sample code provided from Adafruit. This code toggled an LED on the Bluetooth Module, and the request to change LED came from a cell phone connected via Bluetooth. This worked as expected, so it was confirmed that the Bluetooth module was wired correctly and was transmitting correctly. Next, another sample code from Adafruit was tested to be able to confirm that proper bandwidth was available for the data we need to transmit. In this test, motion and position data provided by the sensors on a cell phone were transmitted to the Arduino via the Bluetooth module and then communicated to the PC via a serial connection. This test also worked as expected. This confirmed that bandwidth will not be a problem and we will be able to transmit all of the required data properly. This test also opened up another method of confirming that our sensors are working properly by comparing the values found by a cell phone to our BNO055 data.
3D Printing and Calibration Prototype Feasibility
In order to test the feasibility of creating a calibration prototype and the feasibility of using 3D printed parts, the following steps were taken:
- More 3D printing research was completed
- The Construct’s 3D printing capabilities were investigated
- A CAD model of one of the manufactured parts for the prototype was created and then 3D printed at that the construct.
The Construct's Capabilities
When working through the Construct students have access to multiple FlashForge Creator Pro printers that have the following properties:
- build volume: 227 L X 148 W X 150 H mm(8.9 X 5.8 X 5.9 in)
- layer resolution: 0.1- 0.3mm
- x/y resolution: .011mm
- nozzle diameter: 0.4mm
The Construct also has a GigaBot Large-format 3D Printer however students have significantly less access to this printer.
3D printing Results
Based on research and talking with individuals at the construct it was determined that 3D printing the Arduino base is not the best option for its current geometry. This was determined for the following reasons:
- 3D printing often causes large flat parts to warp
- The current geometry of the Arduino base is too large to be practically made in the FlashForge printers
- Machining the base would result in tighter tolerances, better holes, and better mechanical properties.
It was also determined that creating a calibration prototype was unfeasible due to the additional lead time and effort associated with machining the Arduino base out of sheet plastic. However, it was determined that the hand sensor base could be 3D printed if desired, so as a means to test the Construct's 3D printing capabilities, the part was printed. The following is an image of the resulting 3D printed part.
Some observations regarding the 3D printed part:
- Some delamination occurred between printed layers
- Some of the top layers of the holes were not fully formed/ the holes are not perfectly round
- Vacancies within layers are present
- Raft material did not entirely come off
As a result of this 3D printing investigation the following key questions will need to be answered next phase:
- What type of plastic should parts be machined from?
- Is 3D printing a viable method for creating the
covers for our electronics?
- If not how should these covers be manufactured?
Arduino Placement Analysis
One of our main risks going into this phase was that our device may be too bulky on the arm. As a result, an investigation was launched to see if the Arduino device along with the power would fit on the forearm without interfering with electrode placement. To do this the following tasks were completed.
Determining the Maximum Length a Device Can Extend Along the Forearm
In order to achieve this goal, the forearms of our team members were measured. Using their measurements and knowledge gained through the preliminary placement of electrodes, it was determined that the device can extend at most 5” along the average team members forearm. This is a significant restriction since the Arduino Mega itself is approximately 4.5” long x 2.25” wide.
Determining if the Required Components Could Fit in The Allotted Space
To accomplish this the following actions were taken:
- Created accurate CAD models of COTS
- Investigated power supply options, determined their size, and performed basic modeling
- Created an assembly of the selected components.
CAD models of the COTS can be found within the Drawings, Schematics, Flow Charts, Simulations section. The following image depicts the component fit assembly.
Arduino Placement Analysis ResultsBased on this feasibility testing it was determined that the Arduino and other electronic devices could not be on the forearm without being too bulky or encroaching on the electrodes. As a result, the following key questions will need to be answered next phase:
- What are the consequences of moving the electronics to the upper arm?
- What is the best method to deal with the additional length of wire?
- What are some options to secure our wires and connections?
- What are the associated risks with this move and how do we mitigate them?
Drawings, Schematics, Flow Charts, Simulations
All CAD files generated during the detailed design phase can be found here. Phase_3_CAD_Files
Some select parts are pictured bellow.
Arduino Mega Model:
3D PDF can be found here: Arduin_Mega_3
MyoWare Sensor and Electrodes Model:
3D PDF can be found here: Myoware_3
Adafruit 9-DOF Absolute Orientation IMU Fusion Breakout:
Hand Sensor Base:
3D PDF can be found here: Tech_Base_Hand
Bill of Material (BOM)
Our Completed Bill of Materials owned by Rich:
Here is a link to our Bill of Materials Live Document