Troubleshooting Brian Kidney Engr September 22, 2003
What? Problems? Never! You WILL experience problems Both with hardware and software Planning can limit delays Incremental building Unit testing Revision Control
Incremental Building Practice KISS Keep It Simple Stupid Build components in small steps Fully test each component before moving on Integrate in steps as well
Unit Testing Concept comes from software JUnit, CPPUnit, and many others Main idea is to design test first Based on the functionality of the component, not the implementation Test after first implementation and every change
Revision Control If it works, Keep It! Always keep copies of old software that works Date files, use CVS, Source Safe, … Try to add to hardware rather than redesign Document all circuits in stages
Noise!!! Shows up everywhere Video, sensors, circuits, motors,… Difference between labs and “real world” Need to filter out noise Can be done with simple RLC circuits Can be done in software
Tips to find your problems Never rule out anything Start with simplest components, then complex Even wires break Use datasheets Example circuits may give clues Have others look at you work If at first you don’t succeed, take a break Document your mistakes