Gems of
Wisdom
Selected and
adapted from several years of ME218 student's comments
General
-
Start by making a schedule for the
project and include any outside events like vacations, graduations, etc. to
avoid surprises later on.
-
Have plenty of spare parts ready to
go in case something blows at the last minute.
-
Jameco is not open on
weekends, so don't postpone your trip until Saturday - you will be sorely
disappointed.
-
Keep circuit diagrams up to date as
you make changes.
-
Use a lab notebook so that all
information is at one place and so that your teammates can have easy access to
it.
-
Take a lot of pictures as you
progress.
-
Communicate well within your team
so that some tasks are not overlooked, while others are duplicated.
-
Make sure at least two people in
your team understand (or at least have an idea of) each component - mechanical,
electrical, software. It doesn't have to be the same two people, but it insures
that if someone's missing, that the team isn't stuck.
-
Keep on top of the project
schedule.
Design issues
-
Do circuit calculations to make
sure you have enough (not excessive) voltage / current / power.
-
Thinking very carefully about your
electrical design and layout will save you lots of soldering time. By designing
carefully, you'll optimize locations of every component, and you'll end up
making a lot less solder joints, connectors, electrical boards, and
corrections.
-
It's easy to make a design with bad
ergonomics which make it impossible for the user to perform the task, so
prototype / try out the user scenario yourself as early as possible.
-
Black objects left in the sun tend
to melt any hot glue that is exposed. This is detrimental to the project's
structural integrity. It is therefore wise to a) avoid hotglue or more
realistically, b) avoid leaving black hotglued objects in the full sun for
extended periods of time.
Mechanical hardware
-
Modularize as much as
possible.
-
Modularize mechanical systems so
that simpler parts can be made earlier and used from the beginning of
development.
-
Make sure critical components are
accessible (i.e. batteries, boards, DIP sockets, etc.) so you don't have to
unscrew or disassemble a lot of things when you need to test, power cycle, or
reset.
-
Hot glue down all soldered wire
connections. You'll lose a lot of time tracking down an error that may end up
being a loose or broken wire.
Circuitry
-
A nice pair of wire snips (flush
cutters) and wire strippers makes wirewrapping and circuit building in general
much easier.
-
Buy a good pair of wire strippers,
preferably ones that can strip 30AWG wire. Your fingers will thank
you.
-
Build and test all of circuits and
sensors on a breadboard before you make them hard mounted on
perfboard.
-
Isolate circuits onto individual
perf-boards (rather than having a giant perf-board with all of your circuits).
Makes it much easier to take them out to debug them.
-
Move to solder boards or wire wrap
boards as soon as you can. If you are developing simple hardware that you
understand well, don't be afraid to solder it on a board.
-
When moving circuits from
breadboard to perfboard, rather than dismantling your breadboards, leave your
working breadboards intact and buy new components and build entirely new
circuits on the perfboard. That way, if something goes wrong once everything is
built, you will always have a backup copy of your circuits on the breadboard
that you know worked before you integrated everything.
-
Use connectors for everything -
makes it easy to disassemble.
-
Make sure any diodes and
transistors are oriented correctly in the circuit or you will fry your voltage
regulators.
Testing and
troubleshooting
-
Test your design in the environment
in which the hardware will be used .
-
Always take the time to test on the
actual demonstration location.
-
Test circuits as they will be
implemented in final form, as well as fully integrated.
- Test all of the components
separately before integrating.
-
Just because two points on a
circuit look like ground when probed doesn't mean they are electrically
connected.
-
If you are having intermittent
problems (e.g. it works only some of the time) check your connections -
especially those connecting your various circuits to a common
ground.
-
Troubleshooting bad connections on
a breadboard is a waste of your time.
-
When you're tired and everything
starts to fail don't forget to check the batteries.
-
If you're tired and everything
starts to fail and it's not the battery consider going home and looking at
again the next morning rather than changing a lot of code. Often it is some
small little change you overlooked and are too tired to notice.
Software and
debugging
-
Build and test the software in
small manageable pieces. If a lot of changes are made at once and the new
program doesn't work, it is very hard to isolate the problem without a lot of
work.
-
Use debugging LEDs so you can
toggle the bits and see if you get into loops or states. This was really
helpful when we were trying to figure out what was wrong with our
code.
-
Utilize 7-segment display or LCD
display for real-time debugging.
-
Test software modules individually
before integrating them all.
-
Try working during the day.
(Seriously!). Debugging is way easier with a clear head.
Last words
-
Have fun, it's a great
class
-
Be friendly with other teams - you
never know when you're going to need help.
-
Bathe as frequently as possible;
encourage others to do so as well.
|