ECE 4760: Laboratory 6
Design project.
Introduction.
For this exercise, we want you to pick a project, then design and build it.
During this period there will be no other assignments, so we expect you to spend
all of your time for this course on the project. As a rough estimate, this means a minimum of 12 hours/week in lab. You will be expected to be
in lab at the usual times and to show significant progress each week of the
project.
When choosing a project you will need to consider availability of hardware,
time available, a monetary budget, and your programming skill. You may want
to look at several of the links on the 476 home page for project ideas.
Grading:
- Grades will be assigned by rank-ordering all projects in all sections, thus you will be competing against everyone in the class for this grade.
- 20% of your project grade depends upon being prepared each week and on the quality, quantity and character of the work done during each week. Each week in lab a one-page progress report may be due.
- 30% depends on the project demonstration at the end of classes.
- 50% will be based on your project writeup.
- The members
of a group may be graded differentially if it becomes obvious to the staff that
team members are not contributing equally.
- There will be a bonus for finishing early. The
bonus=round(2.7*(floor(days).^0.5))
. (Table) This bonus is designed to reduce lab congestion during the last week.
You may optionally submit your project for inclusion on the class web page. See the bottom of this page for details. If you will ever be asking me for a recommendation, I suggest that you submit your project. The project web pages help me remember the details of a project and person.
Starting in 2010 there will be a class project contest sponsored by ECE and held on ECE day. To enter, you will need to demonstrate your project at the contest and produce a poster describing the project. For the demo, your project must not use an STK500 in the final design. (Hints on poster design.)
Procedure:
Depends on what you will build. You should talk often to your lab instructor.
You can use either ASM or C or a mixture of the two. Your project will be limited
to using one STK-500 development board at all times. If you need more
than one cpu, you will have to build a prototype
board, which will count against your budget.
Special project restrictions:
- Video games will be allowed as final projects ONLY IF you use significant external hardware or software techniques which have not been used before. This may include novel controllers, more memory, better color, better resolution, better sound or other effects. Each video game must be approved before you hand in your project proposal. Just proposing a game which has not been previously used in this class will not be approved.
- No projectile devices or weapons of any kind will be allowed as projects.
Budget considerations:
Your budget will include MCU(s), boards you build,
power supplies, parts you order, and everything else you buy. Budget exceptions:
- Hardware you already own is not included in the budget. If you use old hardware,
you must be able to prove that you owned it before Fall 2007.
- Vendor samples are not inlcuded in the budget. Good places to find samples:
- Analog Devices
- FreeScale Freescale has donated 50 sensor boards which include submodules (with solderable headers) containing:
- MC33794: E-Field sensor
- MMA1260 Z-axis, 1.5g
Acceleration Sensor
- MMA6261 XY-axis, 1.5g
Acceleration Sensor
- MPXM2110GS 1.45 PSI pressure sensor
- MC33993 22-way multiplexor for switch detection
- 9 volt battery clip with 3 and 5 volt regulators
- Maxim
- National semiconductor
- sensitronics.com has a sample page of thin film force sensors
- Hardware you can scrounge is not included in the budget. Be prepared to explain where it came from.
- Projects which involve research groups or design projects outside the course will be considered on a one-by-one basis for budget exceptions. This is to encourage collaboration with ongoing projects at Cornell. You must get this exception approved by the instructor.
The instructor will order
parts from the following vendors once/week, on Monday at 0800. To order a part, you need to email the instructor the EXACT part number as given at the vendor's site (the vendor's part number, not the manufacturer part number), the vendor name and the price. Parts with typos in the part number will not be ordered. Parts with a total (for the whole project) value/group exceeding $20 will not be ordered. Parts requests arriving after 0800 Monday will be delayed one week.
- digikey.com Very good inventory and parts
search capability. Has linked data sheets.
- jameco.com Some robotics and mechanical
stuff. Interesting collection of sensors.
- allelectronics.com Surplus displays,
motors, switches. Good LCD prices.
- mpja.com Surplus displays, motors, valves,
mechanical.
Budget Details:
- The total budget this year will be $75 per group including the amount you spend, the amount I spend,
and the following rental fees for the following lab hardware.
Please note that these costs are for budget calculations only.
No money changes hands.
- Costs:
- STK500 $15
- white board $6
-- solder board (6 inch) with the same layout as a white board
$2.50
-- small solder board (2 inch) $1.00
- each power supply $5, each 9 volt battery $2. We do not stock batteries!
- custom
PC board $4
- Max233CPP for custom PC board $7 (unless you sample it from maxim-ic.com!)
- RS232 connector for custom PC board $1.
- Mega644 $8 Always use a socket for the MCU
- Mega32 $4
- Mega16 $2
- Mega163 $2
- AT90S1200 or 8515 $1
- LCD (16x2) $8 Do not not solder this to your project!
- Keypad $6 Do not not solder this to your project!
- B/W TV $5
- Color TV $10
- Transmitter RCT-433 $4
- Receiver RCR-433 $4
- 2 pin flat jumper cables $1 each
- sip or header socket/plug $0.05 PER PIN
- SOIC/SOT23 carriers $1.00
- DIP socket $0.50 each
- Penality for being overbudget: deduct
points=((cost-75)*0.316)2
If cost>$75
Student observations:
A group
in 2002 added the following thoughts.
Here are the top 10 things you can do to survive EE 476 Final Project Month:
1. If you use a chip other than the one you've been using in class all semester,
read the documentation thoroughly, subtle differences are going to kill you.
It's just a matter of for how long they kill you.
2. If you feel heat from your board, or smell burning: THERE IS A SHORT. Don't
look for the short first. TURN OFF THE POWER!
3. If the voltages look right, and the wiring looks right, but nothing's happening,
it is possible that your chip is fried, don't be afraid to ask for another chip.
This would've saved me a week of pain, and a bad hit to morale.
4. If you're stuck on something, ask Bruce or the TA's. Make a reasonable attempt
to solve it yourself, but don't sit there for three hours just because you cannot
remember which port of the opamp is correct. Remember, we all look like we're
working, so Bruce's spider sense won't kick in. You must call him, he can't
call you.
5. Order parts early. Order duplicates if you can afford it.
6. If you're going to solder onto a perf board, you don't have to rip apart
your breadboard. Just make another copy of the circuit.
7. You will not finish if you don't start early.
8. You probably won't finish if you don't take advantage of extended lab hours.
9. Do what you can do out of lab out of lab.
10. Seriously, pick a project you'll enjoy. These four weeks can be pain, or
the most fulfilling of your Cornell Career.
A group in 2003
added this:
Know your limits. As much as we'd all love to have a final project whose bells
and whistles rival Las Vegas slot machines, realize that a month is a very short
time, and that dealing with the disappointment of having to scale back your
project as you progress along is much better than coming to the same realization
on the day of your demonstration.
Assignment
You will be graded on several aspects of the project:
- Appropriate level of hardware/software complexity.
- Appropriate use of assembler and C.
- A project which works according to specification (which you will write).
- Level of effort and organization shown in lab.
- Ability to say within budget.
- A demonstration of the final project during the
last regular scheduled lab period of the semester.
The demonstration
will include an explanation of your web page describing the project.
- Completeness and understandability of the final report. The report must
be handed in when you do the project demo during
your last regular lab period. The report which you hand in must
be printed directly from a web page which you construct. If you submit your web page to be included on the course web page (see below), you do not have to print source code. The web page will consist of one folder with exactly one html file with the file name
index.html
. In the folder there may be c-source files, images, mpegs, or other supporting documents linked to the one html file. Style examples: wireless EMG, intellibot.
Documentation
must include all the major sections.
You may omit specific subsections not relevant to your project, except in the conclusions section, where all subsections must be addressed. All appendices must be included.
Final report outline:
- Near the top of the first page:
- project title
- student names
- optionally netids.
- Introduction
- One sentence "sound bite" that describes your project.
- A summary of what you did and why.
- High level design:
- rationale and sources of your project idea
- background math
- logical structure
- hardware/software tradeoffs
- Relationship of your design to available IEEE, ISO, ANSI, DIN, and other
standards.
- Discuss existing patents, copyrights, and trademarks which are relevant
to your project.
- Program/hardware design:
- program details. What parts were tricky to write?
- hardware details. Could someone else build this based on what you
have written?
- Be sure to specifically reference any design or code you used from
someone else.
- Things you tried which did not work
- Results of the design:
- speed of execution (hesitation, filcker, interactiveness, concurrency)
- accuracy (numeric, music frequencies, video signal timing, etc)
- how you enforced safety in the design.
- interference with other people's designs (e.g. cpu noise, RF interference).
- usability by you and other people (perhaps with special needs).
- Conclusions:
- Analyse your design in terms of how the results met your expectations.
What might you do differently next time?
- How did your design conform to the applicable standards?
- Intellectual property considerations.
- Did you reuse code or someone else's design?
- Did you use code in the public domain?
- Are you reverse-engineering a design? How did you deal with
patent/trademark issues.
- Did you have to sign non-disclosure to get a sample part?
- Are there patent opportunites for your project?
- Are there publishing opportunities for your project?
- Ethical considerations. Refering to the IEEE
Code of Ethics, specifically explain how decisions you made or
actions you took in this project were consistent with this Code of
Ethics. I expect at least 200 words on this topic. A bulleted list will not be acceptable.
- Legal considerations. For instance, if you use a transmitter, you must discuss
the appropriate FCC legal restrictions.
- Appendix with commented program listing
- Appendix with schematics (you can download free software from expresspcb.com
to draw schematics)
- Appendix with cost details with all part numbers, vendors, and their price. This
cost will include components as described in the Budget Considerations section.
- Appendix with a list of the specific tasks in the project carried
out by each team member.
- References you used:
- Data sheets
- Vendor sites
- Code/designs borrowed from others
- Background sites/paper
The web page may optionally be submitted
for inclusion on the class web page.
If you will ever be asking me for a recommendation, I suggest that you submit your project. The project web pages help me remember the details of a project.
If you wish to do this:
- Put all of your web page files in one directory.
- Name this directory with the concantented netids of all the group members, e.g.,
brl4_bfg88
Since the pages will be on a UNIX server, you must:
- Make sure the cases (upper/lower) of all filenames agree with their
hyperlinks.
For instance: JPG != jpg
in a file name
- Separate folders in a path using foreslashes (/) not backslashes.
- Use only alphanumeric characters and underscores in filenames (NO SPACES, no punctuation).
- Check all your links to make sure they are relative to your main page.
- Use a directory name consisting of the group's concantenated netids.
- ZIP the directory.
- email it to BRL4@cornell.edu.
Copyright Cornell University Dec 2009