How to Make Circuits in the Fab Lab: Difference between revisions
No edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
Making a circuit requires several mini-projects: | Making a circuit requires several mini-projects: | ||
Line 120: | Line 118: | ||
* [[http://sound.westhost.com/troubleshooting.htm http://sound.westhost.com/troubleshooting.htm]] | * [[http://sound.westhost.com/troubleshooting.htm http://sound.westhost.com/troubleshooting.htm]] | ||
* [[http://www.morsex.com/building/atoz4.htm http://www.morsex.com/building/atoz4.htm]] | * [[http://www.morsex.com/building/atoz4.htm http://www.morsex.com/building/atoz4.htm]] | ||
[[Category:Tutorials]] [[Category:Circuits]] |
Latest revision as of 13:01, 14 August 2014
Making a circuit requires several mini-projects:
Design and Architecture
Decide what function your circuit board should have
A good approach is to write down in words how the circuit board should work.
- download a cad file from the hello-world circuits section on the http://fab.cba.mit.edu/about/fab/ or from hello world electronics
- Look for open hardware solutions on the internet.
- Or design custom circuit
Create the schematic and board layout in a CAD program
Use e.g. Eagle or Cad.py, ,or Gimp (drawing tool), Inkscape or Open Office or draw it with black pen and scan and trace. The gap should be the right size and shape.
Physical Fabrication
Machine the board
Physically milling or cutting out the board which connects components
- Making circuit boards on Modela
- Making circuit boards on Camm with e.g. copper foil.
- Making circuit boards on Epilog Laser
"Stuffing": Solder components on to the board
Solder the components to the board. If you want to where the components should be you could look at the file design, in .cad file or you can check out
- Soldering -> Gisli
- Good Vs. Bad Soldering
- Circuit descriptons. pdf
- Scotts new Hello World Circuits description
Microcontroller Programming
Make a programming cable
There are several different types of cables used to program the AVR microprocessor. The cables are different based on the number of wires used, the types of connectors on either end, and the program used on the computer for downloading hex code to the processor.
- DASA programming cable uses the serial port on the computer and the program avrdude. The microcontroller end may use an MTA connector, 6-pin ISP connector, or programming clip. Consult this guide for making cables with MTA connectors.
- DAPA or BSD programming cable uses the parallel port on the computer and the program avrdude or uisp. The microcontroller end may use a MTA connector, 6-pin ISP connector, or programming clip.
Write the Program
Write the program (in e.g. assembler or C) , compile the program so that the microcontroller will understand it -> Jan
Programming the microcontroller
If you are using the Fab Labs, AVR microcontrollers
- Use ICP (In Circuit Programmer), sometimes often called ISP (In System Programmer)
- AVRDUDE
- Few Linux commands used to program AT Tiny 45
-> Jan
Testing and Troubleshooting
Test the microcontroller
Plug the microcontroller in.
- Is the power on?
Troubleshooting
If your board is not working, follow the step to troubleshoot it:
Check | Problem | Possible solution |
---|---|---|
Battery voltage | Voltage too low | Replace the battery |
Microcontroller voltage terminals | No voltage or too low (it should be around 3,3 V to 5 V for the hello boards) |
|
Solder | Doesn't do what I wanted |
|
Code | Doesn't do what I wanted | Take a breath and review your code |
If you cannot download your code to the microcontroller, follow the step to troubleshoot it:
Check | Problem | Possible solution |
---|---|---|
If the cable is done right | Software avrdude gives error:
avrdude:AVR device not responding; avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check. |
|
Permissions on accessing port 0 | Error running avrdude:
avrdude: can't open device "/dev/parport0": Permission denied avrdude: failed to open parallel port "/dev/parport0" |
Type the following to see the permissions on the parallel port 0 ls -l /dev/parport0 Type the following to change permissions to users sudo chmod 0766 /dev/parport0 Type the following to check if the permissions were changed ls -l /dev/parport0 |