You need to use EasyEDA editor to create some projects before publishing
Autorouter/Copper Areas tracks and copper through drill holes that have pads on only the opposite side
2758 8
bungo 8 years ago
**BUG** Concise problem statement: The Autorouter does not seem to see holes from solder pads that are on one side of the board and routes tracks on the other side through them. The Copper area also does not recognise and keep clear the holes and a space around them if it is on the other face of the PCB to the pads with drill holes. Steps to reproduce bug: 1. Make a component with solder pads with drill holes with the solder pads on one side of the board only (ie a 30 pin DIP socket), and other components that also have solder pads only on the same side of the PCB. 2. place some components (close to the DIP socket that have no other path than to cross over tracks (using a via to the other side of the PCB). 3. Autoroute. The router will usually take a path straight through the DIP socket's holes but on the other side of the PCB to the solder pads. NB: Try this with a copper area covering a PCB on the opposite side to components with solder pads with drill holes on only one side of the PCB. Results: Copper areas are solid through holes (and needless to say) don't provide clearance with those holes on the reverse side. Expected results: Routes (and copper areas) avoid and have the same clearance from the holes as specified in the autoroute/copper area clearance parameters. Browser: Google Chrome and Firefox 40+
Comments
andyfierman 8 years ago
Hi Bungo, An observation: I suspect this is because if you make a pad on one layer only then there is no pad on the other layers for the autorouter to see in order to make a clearance for. This in itself may be seen as a bug however it is not normal practice to make a PCB using more than one layer with through holes having pads on only one outer layer. If there is more than one layer then the through hole pads should be on all layers. On 4 or more layer boards using through holes with pads on only the top or bottom layers could easily make the PCB unmanufacturable. It can certainly cause problems with reliable through hole plating. Two questions. 1) If you make the through holes so that they have pads on both sides of the PCB does the Autorouter do the same thing? 2) Can you post a link to a public example of this behaviour for us to look at? I'm guessing: https://easyeda.com/editor#id=iMGYSCwO5 is an example but I'm not sure and it saves time hunting through user's projects if you can post a link to a public example. Thanks.
Reply
andyfierman 8 years ago
BTW, the same applies about the copper area: it does not see a hole with a zero width pad and so it does not make any clearance round it. Making a pad for a through hole appear on only one layer is the same as setting the copper of the pad to have zero width (i.e. pad diameter-hole diameter = 0) which means that there is no copper on any other layer. Both the Copper Area and the Autorouter tools calculate clearances around copper. Anywhere there is no copper then there is no need for a clearance. :)
Reply
bungo 8 years ago
There is a need for a clearance if you have a component go through the hole and make contact on the reverse side as some DIP chips would with the stepped leg arrangement that they have. Also, a track that goes through a hole is effectively disconnected if it is narrower than the hole diameter, and a component leg might touch the edge of the copper on the component side of the PCB, thus making an undesired connection with whatever the copper area or track is connected to. The following illustrates what I see regularly when using the autorouter with DIP sockets. ![This should route around the holes][1] [1]: /editor/20160208/56b816c971ac3.jpg I need to go through the laborious task of changing the layer of all pads to the side I want to solder to, Autoroute, then change the pads to All to get the copper areas to clear properly on both sides, then set them back again to the side I want to solder to. Rinse-lather-repeat every time you make a change. It's quite tedious. Cheers Braedon
Reply
example 8 years ago
Hi Braedon, From your screenshot and your description: " ...changing the layer of all pads to the side I want to solder to, Autoroute, then change the pads to All to get the copper areas to clear properly on both sides, then set them back again to the side I want to solder to." I understand your issue but I don't understand why you need to use through hole footprints with pads on only one layer to make a 2 or more layer PCB. I have never seen a commercial PCB footprint for a through hole device that has pads on only the solder side layer which is then used on a multilayer PCB design. If you use - or create your own - footprints with pads on all layers then the situation where the autorouter and copper area puts copper in places you don't expect them to, ceases to exist. So you don't then need to go through the steps that you describe. Note that on boards where there are unplated holes created using the `Hole` or the `Solid Region` (set to NPTH) tool from the **PCB Tools** Palette, the Autorouter and the Copper Area tools respect the clearance. We will look at the possible problem of the Autorouter and copper areas not respecting clearance around non-plated through holes but since this is an issue that only arises through the use of non-standard single sided pad through hole footprints, please consider creating and/or using through hole component footprints with pads on all layers only. If you edit your own packages to set the pads to all layers, you can replace the packages in the schematic and then use **Import changes** to import the updated packages into the existing PCB layouts.
Reply
bungo 8 years ago
I'm not commercially producing PCB's. I'm etching and soldering my own. Thus I want the autorouter to route tracks for components to the solder side (not so much the component side) and only use the other side with vias where necessary. I don't see a way to force this behaviour. It's a bit hard to hand solder a DIP socket on the socket side, and if the autorouter adds a track to the component side it probably won't have solder penetration through the hole to contact the other side. Multiply correcting this by 30-100 times and it can get tedious. Thus, I need to force the pads and connections to the pads to be on one side only (where possible). Also, if I make a PCB with Mains AC components and some low voltage functions I might want them on one side and low voltage on the other side for physical separatoion, thus I want all the HV tracks/pads on one side and LV tracks/pads on the other. Having holes that (programatically) don't go all the way through the board is a bit illogical, given that by definition that's what a hole does? cheers Braedon
Reply
andyfierman 8 years ago
The real problem here is that you want the Autorouter to route on only the solder side layer. So you need a way to tell the Autorouter to route on one specific layer and no other. At present in EasyEDA there is no way to do that. However, even if there were a way to do that, I'm not sure how you would make it work for a manually etched PCB. Suppose it were to complete. Then all is fine. The problem is that if it cannot complete without requiring a via to another layer then it will fail and you will have no routing on your target layer or what there is may not be useable. You cannot tell in advance on which nets it would require vias and somehow force the position of the vias to be in specific places so that you can route them on the other layer first and then tell the autorouter to skip them (i.e. not to rip them up). Therefore you cannot force the Autorouter to put vias or place tracks in specific locations to avoid ending up with say a track coming to a component side pad from under the component on a pin that may be difficult to solder to the pad because of some feature of the package pin layout. As you say, if it's a hand etched PCB then you will have no through plating to avoid that problem. I'm not an expert in Autorouters. For the most part they are of no help to me (see: Auto Routing on page 20 of http://alternatezone.com/electronics/files/PCBDesignTutorialRevA.pdf) so I have little experience with them in other EDA suites. However, my feeling is that you would be better off hand routing rather than trying to bend an Autorouter that is not designed for ths sort of usage to your will. :) Aside from hand routing, there is another possibility... Rather than hand etching, have you considered ordering your PCBs from us? Have you tried submitting a proper double sided PCB to see what the prices are like?
Reply
bungo 8 years ago
I usually let the Autorouter "suggest" a track layout and do the grunt work, then either fix the impracticalities or change the routing if I can see a better way using the old Mk. 1 eyeball rather than the purely mathematicall way the autorouter would do it. Can I maybe make a feature request that there be a preferred track connect layer field for schematic/PCB library pad definitions that the autorouter will respect? Then having all layers defined on the component pads won't be such an issue and the autorouter can place it's vias as it will (is there a reason that autorouter created vias don't line-up and resist lining-up with the grid?). I was going to order one PCB (well, 5 as it is the same as ordering one), but the 2+ week wait for shipping, and more for Chinese Spring break, put me off this time. That and the $AU<->$US exchange rate is in the toilet at the moment. As I am prototyping stuff, I'm usually making one-offs, and remaking them on occasion to fix a logic flaw in the physical component placement. Things might look practical on "paper" as rectangles and shapes but prove to be impractical once assembled. I'm not patient enough to wait 2 weeks each time for a fixed design to be produced ... :-). Thanks for the explanations. cheers Braedon
Reply
andyfierman 8 years ago
Hi Braedon, Yes there is a bit of an extra delay in PCB delivery at this time of year. By all means post a Feature request. I will discuss some of the things we've talked about in this thread with the team to see what we might do to improve the flexibility of the Autorouter. And thanks for your patience in following my rather rambly explanations. :)
Reply
Login or Register to add a comment
goToTop
你现在访问的是EasyEDA海外版,使用建立访问速度更快的国内版 https://lceda.cn(需要重新注册)
如果需要转移工程请在个人中心 - 工程 - 工程高级设置 - 下载工程,下载后在https://lceda.cn/editor 打开保存即可。
有问题联系QQ 3001956291 不再提醒
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow -mockplus- -mockplus- -mockplus- -mockplus- -mockplus- -mockplus- -mockplus- -mockplus-@1x -mockplus-

Cookie Notice

Our website uses essential cookies to help us ensure that it is working as expected, and uses optional analytics cookies to offer you a better browsing experience. To find out more, read our Cookie Notice