Adam Johnson's Lab Notebook

Week 01

August 26, 2009 (1 hour):
Met as a team after class to discuss preliminary project proposal.

August 27, 2009 (1 hour):
Finished writing preliminary project proposal. Was unable to submit due to website error. Received rough draft of project block diagram from David.

August 28, 2009 (0 hours):
Submitted preliminary project proposal.

WEEK 01 SUMMARY
Accomplishments: Submitted preliminary project proposal. Began work on project block diagram.
Weekly Work Total: 2 hours
Project Work Total: 2 hours

Week 02

August 30, 2009 (4 hours):
Met as a team to make rough draft of block diagram. Also installed Ubuntu on everyone's computer using VMware. David gave overview of embedded Linux and the capabilities of the ARM9 processor and Hammer board.

September 1, 2009 (2 hours):
Team meeting to prepare for in class presentation of Project Specific Success Criteria (PSSCs). A PowerPoint slideshow was created.

September 2, 2009 (1 hour):
Team meeting to discuss hardware (block diagram) and packaging. We also looked for motorized faders.

September 3, 2009 (0.5 hours)::
Team meeting to complete the final project proposal.

September 4, 2009 (1 hour)::
Installed VirtualBox on laptop to evaluate as possible alternative to VMware Server.

WEEK 02 SUMMARY
Accomplishments: PSSC and project proposal finalized. Virtual Ubuntu installed on laptops.
Weekly Work Total: 8.5 hours
Project Work Total: 10.5 hours

Week 03

September 7, 2009 (2 hours):
Team meeting: decided to use DSP processor for audio processing, while ARM will run user interface. Also discussed disign constraint analysis and changes to project's block diagram. Ordered two Atmega30A's in DIP packaging. EDIT: should arrive on September 11.

September 9, 2009 (2 hours):
Team meeting. Met Chuck; checked out tablet PC and set up lab station. Worked on seting up tablet: it needed security updates badly and lacked antivirus software.

September 10, 2009 (2 hours)):
Calibrated tablet's battery and continued installing needed updates. Also installed Atmel's IDE on the tablet.

WEEK 03 SUMMARY
Accomplishments: Acquired tablet pc, added DSP to design, ordered Atmega32's for prototyping.
Weekly Work Total: 6 hours
Project Work Total: 16.5 hours

Week 04

September 13, 2009 (6 hours):
Atmega32A arrived over the weekend - prototyped one to try and get the programmer to work...it didn't.

September 14, 2009 (3.5 hours):
Suceeded in loading an LED-blinking program to an Atmega32a... but AVR gcc only supports the Atmega32. Not sure if this will cause problems or not. May need Chuck to order a different compiler.

September 14, 2009 (4 hours):
Team meeting: researched alternatives to the ATmega32A, partly for Design Constraint homework but mostly because we now know that we need I2C and the ATmega lacks this peripheral. Found a suitable PIC, but had trouble locating a vendor. Updated the Block Diagram for our project.

September 15, 2009 (0 hours):
Met with Chuck Barnett, who shared knowledge of I2C software library for Atmel chips. This could save us time, since we already have sample ATmega32A's. Plan to look into this later

September 15, 2009 (3 hours):
Team meeting: helped with Design Constraint Analysis and researched AVR-GCC's I2C library. It looks like this might work...

September 16, 2009 (2 hours):
Research on I2C for Atmel chips...turns out they have I2C, but call it TWI because of patenting issues. Also found App notes on interfacing TWI with I2C. I should be fine...

September 17, 2009 (3 hours):
Got ATmega32A to blink LEDs. Would have gotten it to work earlier, but Dev. board had LEDs sinking current instead of sourcing them, so they alternated bright (off) and dim (on). Once I breadboarded the ATmega everything made sense.

September 18, 2009 (1 hour):
Got RS-232 to work with ATmega32A.

WEEK 04 SUMMARY
Accomplishments: Getting the Channel Control Microprocessor to work.
Weekly Work Total: 22.5 hours
Project Work Total: 39 hours

Week 05

September 20, 2009 (5.5 hours):
Acquired sample code for ATmega ADC, and used it to make ATmega32's ADC work. I can now display the position of a fader as a percentage of scale.

September 22, 2009 (5 hours):
Got ATmega32's PWM to work. However, was unable to get stdio input functions (scanf) to work, so I have yet to make a cool test program.

September 23, 2009 (3 hours):
Team meeting: prepared for team presentation and soldered breadboard adaptor for breadboard.

September 24, 2009 (2 hours):
Team meeting: ordering parts, including ATmega32A's in QFP package.

September 25, 2009 (2 hours):
Further testing of ATmega32's PWM: I now have a robust library for PWM and ADC modules. Worked further on scanf, but still can't get it to work. Also attempted to install PADS on team's tablet, but could not get reliable internet connection.

September 26, 2009 (1 hour):
Posted question about ATmega's scanf on Sparkfun's website.

WEEK 05 SUMMARY
Accomplishments: Ordered parts, got PWM, ADC, and other elements of motorized fader control to work.
Weekly Work Total: 18.5 hours
Project Work Total: 57.5 hours

Week 06

September 27, 2009 (3.5 hours):
Got H-bridge to work. Coded a function to control fader position. Will test it later.

September 30, 2009 (8 hours):
Team meeting: made schematics in PADS for all circuits. Almost done with them at end of meeting. Also installed PADS on team tablet.

October 2, 2009 (2 hours):
Testing ATmega to find out how to best prevent H-bridge burnout during programming. Our current circuit will cause the H-bridge to be destroyed during programming of the ATmega because of the way its GPIO pins go high when code is flashed. Also organized ATmega code into different files for each peripheral.

WEEK 06 SUMMARY
Accomplishments: Prototyped H-bridge control circuit, schematic work in PADS.
Weekly Work Total: 13.5 hours
Project Work Total: 71 hours

Week 07

October 4, 2009 (4 hours):
Wiring connector for Hammer board's display. Researched how to implement an ISR on an ATmega32A.

October 5, 2009 (2 hours):
Helped check pcb footprints and did pcb tutorial for PADS.

October 7, 2009 (9 hours):
Schematic design for main board, component selection.

October 8, 2009 (13 hours):
Outlined pcb report (HW 6). PCB work on mainboard.

October 9, 2009 (2 hours):
Finished PCB report, and rechecked mainboard PCB before submitting.

WEEK 07 SUMMARY
Accomplishments: PCB report, PADS work.
Weekly Work Total: 29 hours
Project Work Total: 101 hours

Week 08

October, 13 2009 (1 hour):
Work on H-bridge circuit...stil trying to figure out the best way to implement two directions in code.

October, 14 2009 (2.5 hours):
Team meeting: worked on design review presentation.

October, 15 2009 (1.5 hours):
Team meeting: finished design review presentation. Also discovered that my ATmega prototype circuit will no longer function. It may have been altered by mistake when moving it to and from lockers.

WEEK 08 SUMMARY
Accomplishments: Design review.
Weekly Work Total: 5 hours
Project Work Total: 106 hours

Week 09

October, 19 2009 (2.5 hours):
Ordered what may be the last batch of parts. Trying to make sure we have everything in time to verify footprints before sending PCBs to fab. Also researched getting an Interrupt Service Routine working for the ATmega32A's...I still haven't found information on how to do this.

October, 20 2009 (3 hours):
Worked on pcbs. Team meeting: figured out what parts we still need.

October, 21 2009 (5.5 hours):
Worked on pcbs. Submitted to FreeDFM, but got many errors. A sizable amount of errors were from an error with our vias. They were 1 mil too big.

October, 22 2009 (6.5 hours):
Finished pcbs. Submitted to FreeDFM. Susanne was fixing the last error(s) when I left. By the end of this day, there were no errors.

October, 23 2009 (2.5 hours):
Submitted pcbs for fab.

WEEK 09 SUMMARY
Accomplishments: Finished work on PCBs and submitted them for fabrication.
Weekly Work Total: 20 hours
Project Work Total: 126 hours

Week 10

October, 26 2009 (2.5 hours):
Team meeting: began working on software narrative homework. I spent time doing research on ATmega32A's interrupt structure to figure out how to code a periodic interrupt while still leaving all four PWM channels available to control servos.

October, 29 2009 (1 hour):
Team meeting: worked on Software Narrative homework.

WEEK 10 SUMMARY
Accomplishments: Research on ATmega interrupts and team homework.
Weekly Work Total: 3.5 hours
Project Work Total: 129.5 hours

Week 11

November, 2 2009 (2.5 hours):
Team meeting: parts inventory.

November, 3 2009 (4 hours):
Research on patent liability and preparation for team presentation. Also helped finish parts inventory and ordering, and taught Susanne how to solder.

November, 4 2009 (2.5 hours):
Finished patent analysis homework assignment.

November, 5 2009 (5 hours):
Debugged ATmega32A prototype channel-interface circuit (programmer and chip were fried) and began work on TWI hardware.

November, 6 2009 (3.5 hours):
Developed programming strategy for ATmega32A Interrupt Service Routine. Helped Levi and David solder.

WEEK 11 SUMMARY
Accomplishments: Patent liability analysis/homework was completed. Worked on ATmega32A interrupt service routine
Weekly Work Total: 17.5 hours
Project Work Total: 147 hours

Week 12

November, 8 2009 (3 hours):
Began programming TWI using sample code I found online and then ported to the avr-gcc compiler (with David's help).

November, 9 2009 (5 hours):
David and I finished testing TWI (I2C) and also got an Interrupt Service Routine to work on the ATmega32A. Bi-directional communication works, and the beginnings of register updating is in code as well. Yippee!

November, 10 2009 (5 hours):
Met with David to continue work on the ATmega32A TWI code. We got the fader motor working in both directions, and the LEDs in the pushbutton works as well. The LED bar graph is coded, but does not quite work correctly. It seems that somewhere in code there is a hex value that is incorrect.

November, 12 2009 (3 hours):
Continued working with on ATmega32A code. I figured out how to fix the LED bar graph - it was an incorrect hex value being assigned to a port, as I suspected. However, David and I discovered some issues with the fader not responding to all commands over I2C. He thinks it's because of the I2C interface, while I kind of thought it was because of the fader code itself. This remains to be determined.

WEEK 12 SUMMARY
Accomplishments: ATmega32A interface is mostly done!!! The I2C, fader, LED bargraph, and pushbutton LEDs are coded. The RPG and pushbutton are left, as well as reliability improvements.
Weekly Work Total: 16 hours
Project Work Total: 163 hours

Week 13

November, 16 2009 (3 hours):
Added code for RPG to the Chanel Interface, and tested it with David's help. He made some modifications to the fader's PWM routines as well.

November, 20 2009 (3 hours):
Added pushbutton code to channel interfaces. David helped. It took a while to get the register correct, as it needs to be in a certain format for David's code to parse it correctly. It didn't quite work right at the end of the day.

WEEK 13 SUMMARY
Accomplishments: More work on the Channel Interfaces was done this week. David and I got the RPG to work, and almost finished the pushbutton. Its register needs some work, because it contains bits for the integrated LEDs and the button itself, and is buffered. That makes it tricky.
Weekly Work Total: 6 hours
Project Work Total: 169 hours

Week 14

November, 23 2009 (9 hours):
David discovered a major problem with the audio pcbs, and we worked to greenwire a solution. At the end of the day, five channels (out of eight) were rewired and tested - and this is the analog portions only. In the process, we discovered that two of the pins of our ADCs were supposed to be disconnected, so we clipped them off before soldering them to the boards.

WEEK 14 SUMMARY
Accomplishments: Rewired and tested preamplifier circuits for five channels that were incorrectly routed on pcb. Also rewired the other three channels, but they were not tested when I left for Thanksgiving Break.
Weekly Work Total: 9 hours
Project Work Total: 178 hours

Week 15

November, 29 2009 (4 hours):
Completed code for master atmel and effects atmel. Also wired harness for master faders and effects fader. Also helped Levi wire additional faders a little bit, until he got annoyed with my shaky hands. Still need to test code for master and effects atmels - will do this tomorrow with David.

November, 30 2009 (5 hours):
Programmed Master and Effects atmels today with David - the master faders almost work, but David hasn't yet written the code to test the Effects faders. Also worked on Final Report. It still has a ways to go, though.

December 1, 2009 (5 hours):
Helped Levi with wiring harnesses. Worked on Final Report.

December 2, 2009 (5 hours):
Helped David with wiring harnesses. Worked on Final Report and User Manual.

December 3, 2009 (4 hours):
Worked on Final Report. Found the parts list spreadsheet that was done by David and Susanne (long ago) and started populating it. I am still missing the final block diagram.

December 4, 2009 (2 hours):
Today David and Levi discovered a major problem with the H-bridge circuitry on the Channel-interface boards. We were biasing the MOSFETS incorrectly, so they were leaking current. We did not notice this during the prototyping phase because the power supplies in lab are current limited to 1.0 Amp. To fix this requires a BJT level shifter from 0-5V to 0-9V. I began making these today, but will have to finish them later.

December 5, 2009 (10 hours):
Worked on Final Report. Found the parts list spreadsheet that was done by David and Susanne (long ago) and started populating it. I am still missing the final block diagram.

WEEK 15 SUMMARY
Accomplishments: I finished the code for the Channel Interfaces, and made a first draft of the code for the Master and Effects faders, but testing/debugging for them is not complete. I also began working on a solution to a problem with our H-bridge circuitry, and made the necessary proto-boarded circuits.
Weekly Work Total: 35 hours
Project Work Total: 213 hours

Week 16

December 6, 2009 (8 hours):
Today I continued making BJT level shifters for the Channel-interface boards. It is tedious work. There are some 20 copies of this simple circuit that must be made on protoboard...not fun! I made most of them today, but there are more to be done. Oh well.

December 7, 2009 (5 hours):
David needed more fan-out for the SPI lines from the Hammer, and asked me to make a buffer from a pair of inverter chips. I did that, but I don't think it helped resolve the problems he was having. I also looked back over my notebook and realized that somewhere David and I fixed the pushbutton register so it works, but I didn't put it in my notebook. The reason I remember this is that David had to fix a small pushbutton error today. I also spent time finishing the BJT level shifters for the H-bridges.

December 8, 2009 (4 hours):
With the Hammer out of commision and a new one on its way, I spent time working on the Final Report.

December 9, 2009 (13 hours):
Worked with David to complete the testing on the Channel Interface boards. At the end of the day, they worked, but the effects fader did not, and the Left and Right main faders had a glitch when fader-lock was on. It's close enough to demonstrate a PSSC, perhaps.

December 10, 2009 (6 hours):
To be honest, I remember that I spent time in lab today, but I don't remember what I did. I think I worked on more wiring harnesses for Levi, and' helped Susanne with the Final Report. I also provided moral support for David, because at this point I don't really know what he's doing with the DSP.

December 11, 2009 (7 hours):
Spent some of my time today making sure that the presentation was ready for the bonus presentation, and also seeing to it that my notebook was up to date on my flash drive...I'll upload it when I get time. Worked on the Final Report some more as well. As a group, we did our presentation, but only after David spent hours trying to get stuff to work reliably. The channel-interface boards keep locking up randomly. He and I spent time working on the ATmega32A TWI code to try and find a solution, but it was still not working 100% error free at the end of the day.

WEEK 16 SUMMARY
Accomplishments: I spent the week fixing errors with the H-bridges by making BJT level shifters and modifying firmware to provide GPIO pins to switch the H-bridges on and off when needed. I also helped David debug some of the I2C errors he's been having, but I don't think a solution to that has been found yet. Good news that we demonstrated 3 PSSCs this week, so I know we'll pass the class. Yippee!
Weekly Work Total: 43 hours
Project Work Total: 256 hours

Week 17

December 13, 2009 (4 hours):
Worked remotely on documentation due on Monday. At the end of the day, the Final Report was almost ready to be looked over by David and Levi: only the summary was left to be written.

December 14, 2009 (6 hours):
Finished all documentation and submitted it. Uploaded notebook from flash drive... and realized that it looks like I did a week or two all at once. Oops.

WEEK 17 SUMMARY
Accomplishments: Finished documentation and uploaded my notebook to the web. Final report was finished and turned in. So was the Senior Design (ABET) report. Now all that's left is the final presentation.
Weekly Work Total: 11 hours
Project Work Total: 256 hours