[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: gEDA-user: Specification of Rotations for Auto Assembly
Rick Collins wrote:
This seems like a pretty sharp group. One of the problems I
consistently have is generating an XYRS file for auto assembly of my
boards. The X and Y require a specified origin and orientation of the
board, which is done in the fab drawing. The side is pretty clear as
well. But I always have trouble with the rotations. There are two
sides and even if you pick a convention for the angle of origin and
the direction of rotation, you still have to decide if the bottom side
is viewed from the top or the bottom.
When I have asked assembly houses about what they assume as
convention, I never get an answer. They just tell me that they need
the X and Y data along with the side. They basically figure out or at
least verify the rotation data for themselves.
Is that what you find? It just seems very odd that there is no
accepted and widely used convention for rotations. I found info from
IPC that says pin 1 in upper left corner is 0 degrees for ICs. But
I've seen nothing that addresses how to spec the bottom side
components. A FreePCB companion program. FpcPlace assumes all
rotations are CCW and viewed from the top. But the footprint
generator makes the footprint with pin 1 in the lower left which
screws everything up, or so the FpcPlace developer says. It looks to
me like the FpcPlace program is not correct.
One of the things I dislike about pcb is the coordinate system: it's
lefthanded, or z+ is going into the
screen instead of pointing out.
The right hand rule says: if you spread your first 3 fingers (starting
with thumb) orthogonal to each
other, thumb = X, point = Y, middle = Z ( or if you hook your fingers to
indicate a rotation that
will move X into Y, spreaded thumb poins to Z+). This is the basis for
all math definition on vector
operations in 2D and 3D, it defines the mathematically positive sense of
rotation (CCW from above).
All mechanical CAD systems and robotics controls adhere to this. So to
define a rotation
consistent with production, the first thing one must do is set up a
proper 3D coordinate system.
As a SCARA robot can only access one side of the board at a time, it's
now a matter of convention,
whether your "designer procomputed" rotation fixes the base coordinate
system to the board
(that gets flipped, so Z+ points up or down) or to the robot base.
If I were to come up with a convention, I'd fix it to the board, since
the actual placement
of the board in the robot system (position and rotation) is unknow to
the designer anyways.
Next convention would be X is longer side, Y is short for rectangles.
To define the complete position, one has to carry out 2 rotations (I
know they can be combined
to one oblique) for the backside: flip the board, then somehow rotate
the chip.
As the rotations can be combined, they can't be independent:
you could flip the board around it's X-axis (makes most sense to
designer) or it's Y-axis
or around robot-X (what they fabs probably do) or around any other axis
in the XY-plane,
yielding completely different angles for the chip rotation.
That's what the fabs actually tell you: if you believe the XY-plane to
be in the center of the laminate,
indicate which side is Z+.
HTH, Armin
_______________________________________________
geda-user mailing list
geda-user@xxxxxxxxxxxxxx
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user