Re: gEDA-user: Specification of Rotations for Auto Assembly

2010-08-16 Thread Armin Faltl



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@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Specification of Rotations for Auto Assembly

2010-08-16 Thread Bert Timmerman
Hi, 

 -Original Message-
 From: geda-user-boun...@moria.seul.org 
 [mailto:geda-user-boun...@moria.seul.org] On Behalf Of Armin Faltl
 Sent: Monday, August 16, 2010 1:04 PM
 To: gEDA user mailing list
 Subject: 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 long as the internal coordinate system of pcb is consistent within the
code base, and the proper coordinate system is used for the exporter for
each purpose, then why change and have the risk of implementing (new)
errors.

When it works, don't fix it.

 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@moria.seul.org
 http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
 



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Specification of Rotations for Auto Assembly

2010-08-16 Thread Armin Faltl



Bert Timmerman wrote:
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.
I gave this explanation, why I don't like the CS. It's clear to me that 
changing
it while simple in principle would make files not backwards compatible 
and is

error prone.
So to define a rotation consistent with production, the 
first thing one must do is set up a proper 3D coordinate system.





As long as the internal coordinate system of pcb is consistent within the
code base, and the proper coordinate system is used for the exporter for
each purpose, then why change and have the risk of implementing (new)
errors.

When it works, don't fix it.
  
Defining a proper 3D coorinate system is sufficient for export filters 
in conjunction with rotation.

It wasn't necessarily meant to change the internal CS of pcb.



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


gEDA-user: Specification of Rotations for Auto Assembly

2010-08-15 Thread Rick Collins
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.


Rick



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Specification of Rotations for Auto Assembly

2010-08-15 Thread Duncan Drennan
My experience: ask you assembly house. The guys I work with us the
fiducial in the bottom right as the zero, and rotations CCW.

One issue (big issue) is that components have varying rotations in the
reels, so assembly houses prefer to confirm the rotations against a
prototype board. IPC-7531 tries to address this, but I don't know how
consistent manufacturers are.

-- 
Turn ideas into products - http://www.engineersimplicity.com
The Art of Engineering - http://blog.engineersimplicity.com


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Specification of Rotations for Auto Assembly

2010-08-15 Thread John Griessen

Rick Collins wrote:
you still have to decide if the bottom side is

viewed from the top or the bottom.


Always take the viewpoint of looking down at the board
as it physically would be, never as a see through image
is what they want.



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?  


Yes, they don't get all the info from the design drawings.
They're used to having to figure out some of it from a single hand
assembled prototype, or notes, or photos of a prototype.


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.


They are assuming you  mean look at the bottom side of the board
and pin 1 in upper left corner is unrotated.

They do NOT want directions explained as if you
See through board with X-ray vision.

Besides IPC there's EIA and they're different on package origin points.
Fabs verify these things by looking at them.

John
--
Ecosensory   Austin TX


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Specification of Rotations for Auto Assembly

2010-08-15 Thread Rick Collins
I just found something that changes what I thought I knew.  I have a 
PDF of an IPC magazine from 2005 where they are touting a leap 
forward in land pattern generation.  An illustration showing pin 1 
in the upper left for SOT components is what I used as my 
reference.  That and the post in the FreePCB forum of a normally very 
reliable source.  But I found a copy of IPC-7351 and it clearly says 
that for SOT and most other IC parts, the original rotation is with 
pin 1 in the LOWER left.  That is what FreePCB does in the library 
editor by default.


Are you telling me that EIA defined a different original 
rotation?  It makes no sense to have two competing specs for 
something that should be universal.  What is the EIA spec 
number?  The only related EIA spec I can find is for the carrier tape.


Rick


At 05:14 PM 8/15/2010, you wrote:

Rick Collins wrote:
you still have to decide if the bottom side is

viewed from the top or the bottom.


Always take the viewpoint of looking down at the board
as it physically would be, never as a see through image
is what they want.

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?


Yes, they don't get all the info from the design drawings.
They're used to having to figure out some of it from a single hand
assembled prototype, or notes, or photos of a prototype.


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.


They are assuming you  mean look at the bottom side of the board
and pin 1 in upper left corner is unrotated.

They do NOT want directions explained as if you
See through board with X-ray vision.

Besides IPC there's EIA and they're different on package origin points.
Fabs verify these things by looking at them.

John
--
Ecosensory   Austin TX


___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user




___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user


Re: gEDA-user: Specification of Rotations for Auto Assembly

2010-08-15 Thread Rick Collins

At 06:02 PM 8/15/2010, you wrote:


That's what Tom Hauscherr mentioned talking about layout, LP Wizard
IPC and EIA on the 10th herein Austin.  EIA made a standard that 
noone would use

once and they were dropped for a while until they got specifying tape
and reel to do.  They do it differently.  Fabs don't count on any of it.
they figure out by looking if the tape is loaded rotated from the 
assembly drawing.


Yes, Mark Twain once said something like, A man with more than one 
watch never knows the correct time.  Sounds like the current state 
of XYRS files.


Rick



___
geda-user mailing list
geda-user@moria.seul.org
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user