メインコンテンツへスキップ

2 sided board with power plane?

コメント

10件のコメント

  • Boss .

    Hello Jennifer, there are no restrictions. I suggest considering having 4 signal layers and use as required for tracks and use a copper pour as the ground/power area.
    True power planes should not have tracks, but having all layers as signal layers give the maximum flexibility.

    These two faqs will help

    https://designspark.zendesk.com/hc/en-us/articles/115003534113-How-to-decide-when-to-use-powerplanes-or-copper-pours
    https://designspark.zendesk.com/hc/en-us/articles/360005328573-How-can-I-change-power-plane-layers-to-signal-layers-

     

    0
  • Jennifer Smith

    Thanks Boss.  I've already laid it all out as 2 sided before realising it's getting really tight so can I do it as 2 sided or is it really going to need to be 4 sided?  

    I have done a few small PCB's before but not done anything with copper pours so this is new for me.

    I did do the top side as a copper pour for ground but I need to make it the PCB a bit smaller and it's got too tight.

    If I did 2 sided could I do top layer with copper pour for power with tracks for GND.  Some of the LEDs are so close together getting vias in to route on the bottom of the board would be impossible.  

    0
  • Boss .

    Hello Jennifer, you can continue as 2 sided if you can fit everything in!

    4 layers would give better EMC performance if you are testing to a specification. If for personal use 2 layers should be OK as there will not be very long tracks.

    Are you assembling and soldering? If so you can possibly get away with a small via at say the corner of the LED pad, even just inside the copper pad for highest density, you will get DRC errors but as you designed it to be this way they can be ignored. The issue with the via in a pad is solder paste can go down the hole and when heated bubble and lift the component. So it all depends on what you aim to do with the PCB.

    Other things you can investigate is the LED footprint, could the pad sizes be reduced? Manufacturers sometimes specify a range of pad sizes which are optimum for either assembly, repair or highest density, so you may be able to go a little smaller and gain valuable space.

    Interested to see the final PCB design, even just a small area to show the density you achieve.

    0
  • Jennifer Smith

    It's not personal use but it's not to specification either.  

    I am planning to get this one assembled by the PCB house (SEED) as the components are very small and as long as it doesn't cost too much will be better.

    I reduced the sizes of the LEDs as on testing from PDF, some could go smaller and still be okay so that's given a bit more space but one side is quite cramped where there's a column of dash symbols, the other side is pretty empty so not ideal!

    I'll see if I can upload an image.  

    One other thing - I don't normally, but I tried autorouting to see what it came up with in the limited space and I've got one area where it's a cross of tracks.  This doesn't seem right to me?  I'm assuming it's not best practise for them to overlap?

     

    0
  • DesignSpark PCB

    @Jennifer from your description of the auto route error, we would appreciate it if you send the .pcb file and an image showing the error to our support team. Using the submit a request button at the top of the screen or via this link https://designspark.zendesk.com/hc/en-us/requests/new

    Regarding the high density layout please ensure you check with SEED their manufacturing requirements on component spacing and if they will accept a via within a pad if you investigate this option.

    0
  • Jennifer Smith

    I have submitted the files to you.  

    0
  • Brad Levy

    A couple of other suggestions, if you aren't already using these techniques.

    (I don't know your experience level. If you already know all this, it may still be useful for novices reading the thread.)

    Resistor arrays can save a significant amount of space (as well as reduce assembly cost).

    Example part:  RS Stock No.522-5636  Mfr. Part No.CAY16-221J4LF

    Some arrays are arranged as isolated resistors. Others have one side of all the resistors bused together, which saves pins and traces if (for example) one side of each resistor is to go to ground, or to V+.

    The cost savings comes because many surface mount resistors are so inexpensive the assembly cost is as much or more than the cost of the component. With the array, you pay the assembly cost for one component, vs the assembly cost for four components when using individual resistors.

    The arrays also pack the resistors into a smaller space than the corresponding individual resistors, since you don't have to leave the clearance for the pick and place that the individual resistor require.

    Do pay attention to the power ratings, though.

    The other technique to think about is how you are driving the LEDs. I don't know how many individually controlled LEDs or groups of LEDs you have. If you just have many LEDs, but they are turned off and on as groups (for example, a group of 8 all get turned on or off together), this won't make too much difference. But if you have many single or small groups of LEDs to be turned on or off separately, multiplexing and/or distributed driver chips can help.

    With multiplexing, instead of having one side of each LED going to ground (or V+), and the other side going to an Arduino output (which requires as many outputs and traces as LEDs), you actively switch both sides of the LEDs. Electrically, you arrange the LEDs as a matrix, typically two to eight columns by four to sixteen rows. Each LED connects between a row and a column. The rows go to one set of drivers or Arduino outputs, and the columns go to another set. One set of drivers switches between ground and open, and the other set switches between V+ and open. An LED only turns on when its row and column sides are both on - if the driver on the either side is set to open, the LED stays dark. The Arduino then rapidly cycles through the rows. For each row in turn, It turns on the row, and then turns on the column drivers for the LEDs in that row that should be on. After a short delay, it turns the drivers off, advances to the next row, and does the same thing for that row. This continues until it has made it through all the rows. Then it repeats the process, starting back at the first row. It switches through the entire set of rows typically sixty to a few hundred times each second. You still use resistors to limit the current, but you only need the resistors on one side of the matrix (either the rows or the columns, but not both).

    The consequence of this is that each LED that should be visible (not dark) is only on for (100 / number of rows) % of the time. But the persistence of the eye makes it appear that they are on continuously (just not as bright). You can compensate for the brightness difference by changing the resistor value to allow a higher current. LEDs are generally specified for a specific maximum continuous current, and a higher current rating for when they are turned on only a fraction of the time.

    Suppose we have 64 LEDs. With the direct drive method, we would have 64 resistors, and 64 control traces.

    With the multiplex method, we would arrange them electrically as a matrix of 8 columns by 8 rows. We would only have 8 resistors instead of 64, and 16 control traces instead of 64. Since the drivers for one side of the matrix may be powering 8 LEDs at once, the driver has to handle higher current. So we may have to add a driver chip for the control lines on that side, since it likely exceeds the drive current spec for the Arduino outputs. But the driver chip is typically more compact than the (64-8) = 56 resistors we no longer need. So our overall board size can be more compact.

    Note that the LEDs themselves don't have to be arranged physically in rows and columns. They can be arrange however we want. It is only the electrical traces to them that have to connect to the row and column drivers.

    Also, there are some driver chips that provide both the row drivers and the column drivers, and automatically do the sweeps through the rows on a continuous basis, offloading that work from the Arduino. They can usually be controlled by an SPI or I2C interface (depending on the driver chip), reducing the number of control wires from the Arduino needed to only two to four, instead of 16 (with a parallel driver chip) or 64 (for direct-drive, non-multiplexed control of the LEDs.

    Examples of these intelligent driver chips include the Holtek HT16K33 (RS # 885-0765) and the Maxim MAX7221 (RS # 622-7728). The HOLTEK chip is inexpensive, has an I2C interface and can drive 128 LEDs, includes dimming control, and can also scan keyboard inputs. The Maxim chip is quite a bit more expensive, but includes the ability to decode data for 7-sement and bargraph displays or 64 independent LEDs. It is interfaced via SPI, and has both analog and digital brightness control.

    For just the row or column drivers, there are chips like the TI TI5940 (RS # 825-3599) and ST STP16CP05 (RS # 686-8326). These include serial interface to the processor (using three lines from the processor instead of 8 or 16 for parallel), constant current control for LED brightness, 16 outputs, slew rate limiting to control EMI, and fine tuning of relative brightness of channels (important in things like billboards displaying images or video).

     

    0
  • Jennifer Smith

    Hi Brad,

    Thanks.  I hadn't thought about using a resistor array.  I have checked SEED's OPL and they don't do any arrays (search came back with nothing) so that might add to the cost but they don't have the LEDs in all the colours either.  Their LED selection is very small.

    I might have to cost for both options and see how it works out.  

    I don't think the multiplexing would be appropriate in this case.  There's only one small group that can be linked together. There's 11 LEDs so not huge numbers and mostly they will be on at different times.  

    0
  • Brad Levy

    Hi Jennifer,

    I agree that with only 11 LEDs, multiplexing doesn't gain you that much. I will clarify, though, that multiplexing doesn't affect how many LEDs can appear on or off at once. The pattern of which LEDs appear on or off at various times can be changed dynamically. You might google multiplexed display for a better explanation than I have time for at the moment.

     

    It looks like SEEED does have a couple of resistor values in arrays of 4.

    Here is a 1k ohm array on their OPL:

      Resistor   301030012  Chip Array Series 1%,5%   SMD RES Array 1k-4R  Royalohm  0.01

    The other they carry is 22 ohms. Neither of those may be the resistance value you need for this project, but the technique is good to keep in mind for future projects.

               
    0
  • Jennifer Smith

    Hi Brad,

    Thanks.  I did a search and nothing came up.  Yeah, those are no good for this project but good to know they do do some.

    Thanks again.

    0

サインインしてコメントを残してください。