Since [Alessio] has been etching his own PCBs, he’s hit upon the most tedious part of the process, and the reason homebrew SMD boards are so awesome: drilling your own boards is a pain. While [Alessio]’s CNC mill takes care of most of the work, aligning the pre-drilled boards and correcting for any scaling issues from the mask is a bit difficult. With the help of a transform matrix, though, drilling PCBs has never been easier.
While the Gcode running the mill may be accurate, the actual manufactured PCBs might not be. If the extents on [Alessio]’s board aren’t exactly aligned with the axes of the CNC mill, the drill holes end up where they’re supposed to be. To solve this problem, [Alessio] wrote a PCB drilling transformational matrix calculator. The basic idea is by drilling just a few holes, [Alessio] is able to calculate any offset required in the Gcode with the help of a little bit of linear algebra.
why not use the word ´manufacturing´ instead of ´fabrication´?. I´m not a native English speaker but ´fabrication´ always makes me think of the word´s 3rd meaning: “3. To concoct in order to deceive: fabricated an excuse.”
It’s a connotation issue.
The word´manufacturing´ is usually used when referring to large scale assembly-line and factory production. .
Maybe I’m just a psycho but I love working with PCBs, including drilling. It’s a fun way to spend time for me.
This is a great first step, but it can be improved. The commercial PCB manufacturing industry uses fiducial markers to deal with issues similar to this. Fiducials are more for positioning of fine-pitched components, but they would allow for similar compensation on a project like this. It does take some more hardware and software, however.
First, a camera has to pass over the each expected fiducial location and determine an offset, optionally repeating the process until the alignment is corrected. Using this as a starting point, it’s possible to calculate transform matrices between the fiducials in much the same way as he is doing with the existing holes.
The benefit is that this automates the entire procedure.
You are totally right, I’m playing around OpenCV to have a completly automated procedure ! ;-)
Regards
Snap ;-) I played with this a while ago:
http://www.imajeenyus.com/electronics/20100709_excellon_g-code_converter/index.shtml
(I can’t remember now how I did the conversion, so I hope that makes sense)
It was too much trouble to set up for the occassional board, but if you’re doing a lot I can see it would be very useful.
Everyone should learn matrix and transform math. It’s far more useful than it is given credit for.
“Everyone should learn matrix and transform math. It’s far more useful than it is given credit for.”
Can it help change tires? :P
“If the extents on [Alessio]‘s board aren’t exactly aligned with the axes of the CNC mill, the drill holes end up where they’re supposed to be.”
If the holes end up where they’re supposed to be, what’s the problem? :-)
Uh, pretty sure that was the whole point…maybe a better way of putting it would be.. With [Alessio]’s use of a transformation matrix even if the board is not aligned perfectly with the axes of the CNC mill the holes still end up where they are supposed to be.
That’s supposedly the statement of the problem that the matrix transform fixes! Brian left out one key word: don’t. As in “If the extents on [Alessio]‘s board aren’t exactly aligned with the axes of the CNC mill, the drill holes DON’T end up where they’re supposed to be.”
Agreed. I had to read the sentence a few times to see that the author fked up. Annoying!
you can do this nicer with my old grecode
http://code.google.com/p/grecode/ using the -overlay option. It will just output the correctly rotated and moved gcode.
It is not the same using two points, also mine has a gui
I’m using grecode and it is indeed very nice, never had problems with it. The advantage (in my opinion) I’d point is that you can use any two points and choosing the corners is obvious, easy and fast. Two points are sufficient to calculate a matrix with constant scaling. Does your program also do trapezoid correction?
need video, always need video !!!
Finding a great project as an instructable is such a huge disappointment.
I wouldn’t go as far as to say “only feature projects with video”, but really…?!!
I can watch videos of CNC all day and with such a pretty board I was really hoping…
Just be patient cause the video is coming as soon as I finish the second part ! :-)
I guess drilling out printed circuit boards is a pain if the right machinery isn’t available. It doesn’t bother me though.
Good for you, but when you have 1000s of holes to drill and better things to spend time on, it becomes tedious. But hey if you have a life goal of being a master pcb mini hole driller, go knock yourself out. Too bad your obsessive skill can be replaced and surpassed by a machine though…
Tedious work builds character. Too bad no machine can replace your personality joe, though many can surpass it …