Customer Handoff & Final Project Documentation
Table of Contents
Team Vision for Final Demo and HandoffOur team planned on completing the assembly of the guitar pickup and testing of the engineering requirements. Along with this, the team planned on completing the conversion of the PCB files to Eagle for the next team to use. Documentation is expected to be completed for this phase.
The team completed assembly of the guitar pickup. Due to difficulties with the digital path, an analog path was also created to show that the pickup itself works well but the digital path is distorted. This is due to the "jumping" nature of the signals discussed last phase. Testing is also completed, with only 4 of the requirements failing. The conversion of the board schematic to Eagle is done, but the layout needs to be done. Documentation is completed as well.
Test Results Summary
As the table visually shows, overall the project was successful and completed. The requirements that were not met and failed testing were having all elements of the pickup inside the guitar, battery life, output voltage, and flat frequency response. The battery life and internal elements of the guitar failed due to needing an external power source to run the board because the battery cannot run the board alone. This means there is no battery life to the board, and a power supply must be external to the body of the guitar. The output peak-to-peak voltage of the optical pickup is significantly smaller than the expected value, which fails that test. The expected output is at least 0.25V peak-to-peak, and the output of the optical pickup is roughly 0.06V. The flat passband also fails as the variation of gain is roughly +/- 10 db, which is twice as much as our expected +/- 5 db.
All detailed test plans and results can be found here.
Mechanical Final Update
A panel mount USB was added to the pickguard by the volume and tone controls. This allows for charging and power while the pickguard is still attached. Some filing was done on any sharp edges to make sure the player will not cut themselves on the guitar. The transmissive power connector, distortion encoder, and board standoffs were all glued to the guitar.
Electrical Final UpdateThe final, labeled electrical build can be seen below:
The final schematic can be seen below:
The two output bugs that were occurring last phase, the jumping and clipping, still exist. Of these two output errors, the jumping is probably a hardware bug. The clipping occurs due to the software fix for the jumping. The jumping is probably occurring in either the differential op amp or the ADC. The team attempted to probe and find where the jumping is occurring, but could not locate it in time. This leads to fixing the bug in software, which can be seen in the next section. An example of the jumping bug can be seen below:
An analog path has been added via an extra switch, which can be seen in the hole for the middle pickup. This extra path provides proof that the output signal from the sensors that we designed sound clean, as a guitar pickup should.
Unfortunately, the programming header on the board was knocked off by accident while the board was being worked on. When this happened, the pads to where the header needs to be connected were ripped off and now the header cannot be put back on. This means the last code flashed to the board is the last code that can be put on it.
The second board was completely populated. Unfortunately, the power and ground plane is shorted somewhere, so the board does not turn on. We did not have time to go through the debugging process and find this short.
Software Final UpdateThe software from the last demo is currently programmed onto the board. With this, the output signal is smaller than the expected output and the clipping still occurs. The clipping is a bug in the software patch to fix the jumping condition. The conditional statement checks to see if the jump is occurring, then subtracts the higher values by the difference of the last sample and the current sample. Since this occurs whenever a jump occurs, the jumps turn into a flat line.
A fix for this problem was in the works, but since the programming header is pulled off, the fix cannot be implemented. This fix takes the first jump value and saves it until the signal comes back down from the jump. The fix was tested in python and works, but the samples used were of the signal jumping, whereas the PIC will see various startup data that does not resemble a signal and causes the fix to not work. What happens is that the PIC will see data that is considered a "jump", thus saving the jump and thinking that the signal that is coming in is always in a "jumped" state. To negate this, the PIC would have to wait until signal data comes in, then begin the utilizing the fix.
The code currently programmed onto the board can be found in the Software (ZIP) file found below in the Final Project Documentation. The code is commented and it contains commented out code that would implement this fix above.
Risk and Problem TrackingSince the project is completed, all our risks are now non-existent.
Final Project DocumentationHere is a list of all the project documentation.
- Customer and Engineering Requirements Review
- Final Paper
- Software (ZIP)
- Future Work Suggestions
- Finalized Bill of Materials
- CAD Models (PTC Creo 5)
Functional Demo MaterialsInclude links to:
- Pre-read - This page
- Notes from Review
- Action Items