This page is about manufacturing circuits.
Before GenBoard/Verthree many circuits were assembled by diy-ers, some even etched their own PCB. GenBoard/Verthree was optimized for efficient usage of space and resources, so complex processes can be controlled with it. As a side-effect, most components cannot be purchased in small quantities.
The 2 sided hole-plated PCB requires relatively high quality. The minimal application does not require too many components, but still not very useful to spend assembly time on one PCB, but a pipeline production. The whole design is optimized for a professional type production.
Automated picknplace manufacturing
v3.1 was assembled on a small machine (only top side) and v3.2 (SMD parts on top and bottom) was assembled on a highend (siemens HS180,SP120 S15-F3) machine.
Some parts are manually assembled, because
- Thruhole (these components suck big time wether done manually or automated, we try to avoid them: transient protection diode and TO220 FETs and IGBTs fall in this category)
Eagle in, board out
We basically reached our circuit manufacturing dream:
send in the
- eagle file
- some configuration that configures assembly
push the acknowledge button and get
- the assembled (but untested) circuit 21 days later
This could work for a small test-series too (with the digital interfacing of assemble-data, buying the simple components from them, and sharing large part of the BOM between boards).
What was done to achieve this?
Because there are a lot of options that are better not populated, we have a little software assist. It might sound like miniscule issue, but the broken xls method (for BOM or PNP) really robbed more than a week earlier, and was unmaintainable.
see bin/categories.pl and bin/categories.txt in CVS.
categories.pl makes a set of output files that helps automated or manual assembly, (parts ordered by component value and package!) and buying of components.
# this script helps grouping the components # 1) We have very detailed categorisation in a # manually maintained categories.txt file CVS firmware/bin. # 2) Also got some component info generated from the SCH+PCB editor (megasquirtavr.pnp) # 3) We consider some rules, and make 5 groups. # 4) We print the data for each group, and some more....
The following problems can show up:
- something stupid in megasquirtavr.pnp (because stupid on sch)
- something unfinished in categories.txt - THIS IS VERY LIKELY, any help is appreciated:
- prepend N_ to drop components in the N_... category compeletely
- prepend R_ to move components in R_... category to the rescue kit
- error in categories.pl (parsing the pnp file, maybe)
what do we need ?
- the eagle brd and sch design (done)
- Miska's pnp_and_bom.ulp script that splits text information (including placement)
- CVS bin/categories.txt that groups components
- CVS bin/categories.pl that (will) filter (only let through groups we want to populate)
- extract pickNplace info
- help making BOM
- some other checking
- the picknplace info must be put back to eagle to generate the solderpaste-mask: we don't want solderpaste over components not populated. Can you help this? In the worst case we can delete the components by hand (make a branch brd file).
I see no need to do any of this 'solderpaste-mask' editing.
- With some nice scripts (thanx, MembersPage/MiskaPeippo) we can aid the manufacturing, so very small overhead can be maintained
- if all goes well, finally we'll be able to feasibly do different boards at the same time (say 3 types *20 pieces each) if the BOM is similar (there is a BOM overhead, the tapes must be fed into the machine, which is time, and some parts fall off!)
- testing is aided with some level of automation (this is to be enhanced)
This is very good news for developers. We don't want forking hell for other reasons, but this will open some new horizons.
Automated manufacturing will be higher quality, still needs GenBoard/VerThree/Testing
The rest is MISC links about possible manufacturing related resources
There are several companies in Hungary for manufacturing circuits.
Board manufacturing manually
To put short, manual assembly is not supported. It's impossible to reach the precision of the assembly-machine, not to talk about labor. Developers assembled a few boards manually for testing - but this practice seems to be dying as even the testing series will be assembled to a large level in the future.
We have a very high level of board assembly documentation: so that even machines without intelligence can assemble (!!!) not just humans (for whom the schematic and layout is enough).
Besides part values (that has the BOM too) this also requires part positions (layout).
- layout for humans: see GenBoard/Manual/InitialTesting/VerThree
- categories.* files (and list-* outputs, see above) have layout and detailed parts info for both computers and humans.
The instructions for testing (like http://www.megasquirt.info/manual/mass.htm except it has testing to much beyond the point that is at all possible with the motorola megasquirt) started on GenBoard/VerThree/Testing. This procedure should be extended to more functions, also aiming for fully automated testing.
Board manufacturing in bigger series with machines
http://www.hitelap.hu/ (for design rules, eg. min drill sizes)
See also: DocsPage/ElectronicDesign?