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@moria.seul.org http://www.seul.org/cgi-bin/mailman/listinfo/geda-user
Re: gEDA-user: Specification of Rotations for Auto Assembly
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
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
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
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
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
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
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