Difference between revisions of "Techniques"

From OpenCircuits
Jump to navigation Jump to search
Line 3: Line 3:
  
 
== Printed circuit board design/fabrication ==
 
== Printed circuit board design/fabrication ==
=== Overview ===
 
=== Software Design ===
 
See [[#Software_design_tools|Software Design Tools]] below.
 
  
==== Step by Step by using Software Design Tool ====
+
[[Printed Circuit Boards]]
*make sure the dimension and shape of PCB
 
*make sure the size and location of Via for PCB stand
 
*Make sure each components footprint.
 
*each components are placed on suitable place by put on a hardcopy of simulation PCB
 
*All components get enough clearance between them.
 
*Silkscreen layout is confirmed.
 
*PCB is drawn.
 
*silkscreen adding the following:
 
**version no.
 
**organization name
 
**board name
 
*Netlist is ran and got a no error result.
 
*DRC is ran and got a no error result.
 
*Overall is checked.
 
*generate Gerber and send to [[PCB Manufacturers]].
 
 
 
=== Manual Design ===
 
Somepeople do this with layout on clear film or by directly drawing on a circuit board, of even by scratching, grinding....  For now let them google this.
 
 
 
=== Homebrew fabrication ===
 
Before exploring these techniques, you should understand your options with regard to services such as BatchPCB.com, ExpressPCB.com and PCB123.com. Being able to have several boards fabbed in 2 days for $59 (for example) makes it harder to justify the hassle of etching your own boards at home.
 
* [http://www.electricstuff.co.uk/pcbs.html "How to make really really good homemade PCBs"] by Mike Harrison 2007
 
* [http://www.esmonde-white.com/home/diversions/etching-a-copper-pcb "Etching PCBs using Toner Transfer"] and [http://www.esmonde-white.com/home/diversions/milling-a-copper-pcb "Milling PCBs"] by Francis Esmonde-White, includes information on how to go from Eagle PCB to the etching or milling step
 
* [[Toner Transfer]] -- This method involves laser printing your PCB design onto paper, then transferring toner onto copper-clad board.
 
* [[Photoetching]] -- Exposure of PCB designs onto photosensitized copper-clad board.
 
* [[Chemical Etchants]]
 
* [http://groups.yahoo.com/group/pcb-gcode "Mechanically etching or milling PCBs. No chemicals!"] -- Use your CNC router/mill to make PC boards.
 
* [http://openfarmtech.org/index.php?title=Routed_Circuit_Board Open Source Ecology wiki: "Routed Circuit Board"]
 
* [http://tech.groups.yahoo.com/group/Homebrew_PCBs/ Yahoo group: Homebrew_PCBs · Homebrew Printed Circuit Boards]
 
* [http://reprap.org/wiki/Automated_Circuitry_Making RepRap wiki] has details on how to use open-source RepRap-based desktop routers to cut PCBs out of copper-clad board.
 
* [http://www.pabr.org/pcbprt/pcbprt.en.html "pcbprt - Experiments in inkjet PCB printing"] by pascal. Some inkjet printers can print directly CD and DVD. Pascal explains step-by-step how to get those printers to print on copper-clad FR4 to make reasonably good etch resist. The main trick seems to be baking the freshly-printed boards to dry out the ink and get the dyes/pigments to stick to the copper -- otherwise the water-based ink immediately washes off as soon as you drop the board in the etch tank.
 
* A few people have made "DIY Flex Circuits".[http://diydrones.com/profiles/blogs/diy-flex-circuits]
 
 
 
=== Commercial PCB fabrication ===
 
* [[Submitting PCB's for fabrication]] -- Common processes for submitting PCB's for fabrication.
 
* [[PCB Manufacturers]]
 
* [http://diydrones.com/profiles/blog/show?id=705844%3ABlogPost%3A30196 "PCB fabbing advice"] by Chris Anderson 2008
 
 
 
==Best Practices for PCB Layout==
 
===Theory===
 
*Provide the easiest path (lowest impedance) for current to flow
 
**Return current tends to flow directly under signal trace (for PCB having ground plane)
 
**Inductance increases with length of traces
 
**Inductance increases with the area enclosed by signal trace and ground
 
*Prevent digital currents from contaminating analog currents
 
*Decouple high speed components
 
*Use ground loop avoidance tehniques
 
 
 
===Design===
 
*Partition PCB into "analog stuff" and "digital stuff".
 
*No digital signal traces should cross over analog ground, and vice versa
 
*For components having both analog and digital signals (e.g. ADC), orientate components so that the analog signal traces goes only over the analog ground plane, and digital signal traces goes only over the digital ground plane
 
*AGND and DGND of ADC must have a small impedance (i.e. separated by short distance)
 
*Add decoupling capacitors close to Vcc and DGND of ICs
 
*Add ferrite beads and capacitors (PI-filter) to power rail for low-pass filtering (reduce ripples).
 
 
 
===Routing===
 
*Place fixed components first (components location that cannot be changed, e.g. connectors, buttons, etc)
 
* Make installing parts onto the PCB fast:
 
** Fastest: No through-hole parts. All surface-mount parts on the bottom side.
 
** Next-fastest: All through-hole parts on the top side. All surface-mount parts on the bottom side. ( [http://www.psocdeveloper.com/articles/apple-mighty-mouse-spills-its-guts/the-capacitive-touch-sense-buttons-pcb.html "Mighty Mouse Main Printed Circuit Board (PCB)"] )
 
*Separate components into groups
 
**Digital signals only
 
**Analog signals only
 
**Digital and analog (Mixed) signals
 
**High current devices (e.g. led backlight for LCD/buzzer)
 
*Do not partition ground into analog and digital planes.
 
**Use a single ground plane. See the "[[#References | Grounding References]]" below.
 
*Orientate components that have mixed signals according to the orientation of the ground planes, and straddle components over DGND and AGND
 
*Place digital only components over DGND
 
*Place analog only components over AGND
 
[[File:Pcb layout.png|thumb|800px|center|Grounding Example for PCB]]
 
*Decoupling capacitors should be as close to the ICs as possible
 
              Vcc
 
                | | | | |
 
              +-----------+
 
  -------+-+--|-+---------|-------- Vcc
 
        |C|  |    IC    |
 
  -------+-+--|---------+-|-------- GND
 
              +-----------+
 
                | | | | |
 
                        GND
 
*Lay critical (noise-sensitive) traces first (e.g. crystal, analog signals)
 
**As short as possible
 
**Use 45<sup>o</sup> turnings instead of 90<sup>o</sup>
 
*Paired signal traces (e.g. TX+, TX- in ethernet chips) should run parallel along each other
 
    TX+ -----\
 
    TX- ----\ \
 
              \ \
 
              \ \
 
                \ \
 
                \ \------------ TX+
 
                  \------------- TX-
 
 
 
===References===
 
*Grounding
 
**[http://www.hottconsultants.com/pdf_files/june2001pcd_mixedsignal.pdf Partitioning and Layout of a Mixed Signal PCB]: The importance of single ground plane and partitioning of analog and digital signal trace
 
** [http://techref.massmind.org/techref/noises.htm#unsplit_ground Massmind Techref: "Unsplit ground"]
 
**[http://www.hottconsultants.com/pdf_files/ground.pdf Ground- A Path For Current Flow]: The importance of decoupling capacitors
 
**[http://www.ece.msstate.edu/courses/ece4512/des1_syllabus/current/PCB_Layout_Tips.ppt PCB Layout Tips]: a power point presentation
 
**[http://pemclab.cn.nctu.edu.tw/w3news/%E6%8A%80%E8%A1%93%E5%A0%B1%E5%91%8A/TR-040.%E9%9B%BB%E8%B7%AF%E6%9D%BF%E4%BD%88%E5%B1%80%E5%8E%9F%E5%89%87/html/layout.htm PCB Layout Guidelines]: in Traditional Chinese
 
*Crystals and Oscillators
 
**[http://www.atmel.com/dyn/resources/prod_documents/doc8128.pdf AVR186]: Best Practices for the PCB layout of Oscillators
 
*ADC & Analog Filters
 
**[http://ww1.microchip.com/downloads/en/DeviceDoc/adn007.pdf ADN007]: Techniques that Reduce System Noise in ADC Circuits
 
**[http://ww1.microchip.com/downloads/en/DeviceDoc/ADN010.pdf ADN010]: Predict the Repeatability of your ADC to the BIT
 
**[http://ww1.microchip.com/downloads/en/AppNotes/00699b.pdf AD699]: Anti-Aliasing, Analog Filters for Data Acquisition Systems
 
**[http://ww1.microchip.com/downloads/en/AppNotes/00682c.pdf AN682]: Using Single Supply Operational Amplifiers in Embedded Systems
 
**[http://ww1.microchip.com/downloads/en/AppNotes/00990a.pdf AN990]: Analog Sensor Conditioning Circuits - An Overview
 
*EMC
 
**[http://www.atmel.com/dyn/resources/prod_documents/doc1619.pdf AVR040]: EMC Design Considerations
 
**[http://www.freescale.com/files/microcontrollers/doc/app_note/AN1705.pdf AN1705]: Noise Reduction Techniques for Microcontroller-Based Systems
 
** [http://www.st.com/stonline/books/pdf/docs/4988.pdf AN898: EMC general information]
 
** [http://www.st.com/stonline/books/pdf/docs/4967.pdf AN901: EMC guidelines for microcontroller-based applications]
 
** [http://www.st.com/stonline/books/pdf/docs/9914.pdf AN1709: EMC design guide for ST microcontrollers]
 
  
 
== Circuit construction (Prototyping - Other than custom PCB) ==
 
== Circuit construction (Prototyping - Other than custom PCB) ==

Revision as of 10:18, 14 February 2011

There are a wide variety of techniques used in electronics.


Printed circuit board design/fabrication

Printed Circuit Boards

Circuit construction (Prototyping - Other than custom PCB)

"Construction Ideas" has nice photographs of the above circuit construction techniques. ["Effects Building Techniques" by R.G. Keen 1999 reviews, compares, and contrasts these techniques for circuit construction -- also a few more.

Soldering techniques

(Have you seen this CNC solder paste/pick n place ?) Hackaday has lots of other similar articles: search hackaday for "solder paste"

(Optional: ) After all the parts are completely soldered down, some people like to spray the board with some kind of conformal coating, or completely seal in the board with some kind of potting compound. See "Electronics and Robotics: What's the best way to protect a board from corrosion in a hot/moist environment?".

Hardware tools

A directory of hardware tools that you may find useful.

software tools

Software design tools

A directory of software tools that you may find useful.


PC-Microcontroller Communications

Discussion of the various methods to connect a microcontroller or embedded system to a PC...

Embedded System Programming and Testing

To add to the confusion programming in embedded system can mean a person writing a program or a device called a programmer "burning" a program into a chip. This section is for the "burning" meaning of programming.

  • Many systems use JTAG for programming and testing. (Such as Atmel AVR embedded systems]).
  • Other systems use some other kind of in-circuit programming.
  • Some people use bootloaders to make re-programming a little quicker.

-- not sure that this next one is not misplaced ? -- We're talking about "programming and testing" ? What else do you use to test op-amp circuits?

Humans writing a program almost always do it in a language. Here is a section that discusses some of these languages: Programming Languages

driving motors

See Stepper Motor Tester and motor driver.

Enclosure

  • The Earth Signal should short to whole metal Case
  • Digital/Analog GND should separate to this Earth Signal, and should connect a Y-cap. to filter the noise between them.
  • Attention: do not place near between Earth Signal and Digital/Analog GND, otherwise some spark come out, and affect your whole system.
  • See enclosures.

Misc Tips Tricks

Misc Tips Tricks


Further Reading

Environmental Issues

see better for the environment.