DIY LED driver for reef lighting

Thanks for the comments guys, I really appreciate it. All those little tricks would have taken me a year to learn on my own. I feel like I should be sending out checks or something. :lol:

Did you start your arduino thread yet?

Nope. I'm trying to get this driver project nailed first. I don't have the bandwidth to do more than one "extra" hobby thing at a time right now, since I'm pretty much buried with my plywood tank project, too.
 
I prefer to pour a ground-plane on both sides (top and bottom). Eagle will figure out where it makes sense to have one, and where the circuit becomes too busy. You can end up with lots of vias doing this though, so YMMV. For me, it means I mill less copper :) If you do pour copper on 2 sides, you can put vias close by the heating elements (excuse me: chips) and they can dissipate heat on two copper planes, not one.

Done. I put vias under the ICs and in a few other strategic places so the top GND layer wouldn't be so broken up. Is that a good idea, or should I just let it have big voids where traces are breaking up?


If you're getting this board made professionally, it doesn't really matter because the holes will be plated-through, but putting tRestrict boxes around the hidden solder points (eg: under the capacitors) will make it easier for the home-brewer because they can then be soldered from the non-component side.

It'll be made professionally. In the "production" run at least. I want to get two or three boards as prototypes but I'm stuck in what's probably a classic debate - do I pay a bunch per board to get two prototypes from a board house, or try to make them myself? Or, do I have the guts to just order 40 of them and cross my fingers? :D

I prefer to not run traces along the edge of the board (see JP2).

Moved the connector back. The header I used is just a .1" pin header. I don't think I want that in the final product, so I may switch it out alltogether. What would you all use for a connector on the final product? Screw terminals?

Since you're not space-constrained, I might bump-up the separation between tracks/vias in the aurorouter - D1 looks like it doesn't need to be so close, for example. This is nit-picking though...

I saw D1 and moved that trace right after posting. I actually routed this by hand. The autorouter did a lot of things I didn't like. But then again, I don't know if what I like is good or not. :D

I tend to put a revision number as text on the top, so I know whether the circuit is the latest version, 3 months later :)

Good idea. Done. I'm naming each version of the file but I suppose it makes sense to have an obvious link to the real world version, too.

I might make the tracks a little wider, just to be sure.

I've bumped up a bunch of the traces up that will be carrying power to both ICs. They should be overkill now. 40 mils. Then 32 mils on some of the power-carrying traces that only serve one IC. 24 mils for everything else except the PWM signal traces, which I think I left at 12 mils.


- I would suggest you skip tValues and just place tNames inside the blueprint of the part where possible and close to it where not. It makes it very easy to populate with just a BOM.

That's what I'll do for a final product. The names and values on there now are by virtue of the parts I used from libraries included with Eagle or other sources. This is a silly question, but I can't figure out how to edit or move that "automatically generated" text (i.e. moving it with respect to the part) without going back and editing the part in the library. I suppose I could just hide those layers and put plain text on myself?

The caps you are using are polarized, so please indicate which pin is positive :

Will do when I figure out the name/value labels.

1) I'll add agreement with board edge traces. You can have them but keep them back from the edges 50mil. Move that connector inboard a little.

Done. They're all now at least 50 mils from the edge.

electron bruising

Now you're fooling with me. :lol: (right?)

It also causes etching problems as the inside corners hold etchant and over-etch.

That makes sense. I'll try to eliminate the right angles.

3) Label some test points even if they just point to a resistor lead or something. V+, GND, etc.

I've labeled the header now, at least.

4) Turn R5 and its pal 90 degrees.

Done.

5) In every case where you have a big cap and you run the trace by sending a diagonal off to a cap lead - don't. Run the trace thru the cap lead directly. If you have some procedural issue with this then make the stubs as short as you can.

Done. I've heard lots of "advice" on cap placement and how the way you run traces to them can screw things up, but it's never been clear. I appreciate the clarity.

C1 is a disaster in the making BTW.

Because of the above, or something else?

6) I don't know about that NCP chip but usually you want bypass caps associated with most ICs. I see none. (0.1uF)

Maybe because the names/values aren't clear, but the caps connected to the VIN pin on each IC, pin 6, (C9 and C4) are .1uF ceramics for bypassing.

Oh, you could cut that board down by at least a 1/3 possibly 1/2 if you wanted to.

I figured, but made it 5cm x 5cm because that gave a bit more wiggle room. Plus, the board house I'm planning on using has a 5cm x 5cm minimum, so if I made it any smaller it wouldn't be any cheaper, anyways. Is there a compelling reason to make a circuit more compact, other than that it'll take up less space?

If I do produce a working PCB from this design, are others considering using it? I'm assuming so, and hence trying to design for a general audience and not just me. Hence the larger board size allowing for nicer spacing between components, plus something related to my next question. I've doubled up the two tricky resistors on each driver (Rsense and the peak current resistor) in case me or others make this and need to parallel resistors to get the right final value. I had to do that in some of my prototypes so I figured it was worth including. Any compelling reason to not do that in a final product?

Also, another question. Since I'm doubling up, what do I do with the caps on the power input side? As a single driver, it's fine with a big electrolytic cap (220uF) and a little bypass ceramic cap (.1uF). I'm assuming I should keep the bypass for each IC, but do I need two of the big caps? Or, just one giant cap? I've designed it with two 220uF caps, but there's a whole range with the same footprint and pin spacing so I suppose people could change values if they needed to. Or leave one out and just use a single large cap. Thoughts anyone?

ncp3066_2brd_v0.gif
 
Yeah just screwin wid you bro.

The latest looks much better.
I did not see the those decoupling caps, glad you have them.

Smaller is usually always better especially when you'll ultimately have multiple boards. It's cheaper too - done at a real board house. :) I have never ever worked with a board house with a minimum like that.

But for your learning experience you should not bother shrinking it more.

You are leaving out something that will haunt you later. In fact four somethings. You need to put mounting holes in the four corners. If you don't I can guarantee you will be kicking yourself later. Put in holes for at least #4 screws.

The only other issue is one trace. Remember the admonition about right angle traces? This becomes even more of an issue as the angle becomes less 90. Your C5 intersection there is strictly verboten! Just have it come down and hit that cross trace perpendicularly near the C5. That will work fine.

Cheerio.
 
You are leaving out something that will haunt you later. In fact four somethings. You need to put mounting holes in the four corners. If you don't I can guarantee you will be kicking yourself later. Put in holes for at least #4 screws.

I figured I'd wait 'till everything else was done, then add those in. Bad plan. It's amazing how BIG a #4 screw head looks on this board. :(
 
Done. I put vias under the ICs and in a few other strategic places so the top GND layer wouldn't be so broken up. Is that a good idea, or should I just let it have big voids where traces are breaking up?

I don't think you need to be religious about filling in the copper - it's only usually crucial when you *really* need a large heatsink area, or you're doing radio-frequency circuits.

It'll be made professionally. In the "production" run at least. I want to get two or three boards as prototypes but I'm stuck in what's probably a classic debate - do I pay a bunch per board to get two prototypes from a board house, or try to make them myself? Or, do I have the guts to just order 40 of them and cross my fingers? :D
I was about to say "send me the eagle files and I'll do you a prototype", but I've only got 1/2oz copper at home (you ought to see the widths of some of my traces :) )

Moved the connector back. The header I used is just a .1" pin header. I don't think I want that in the final product, so I may switch it out alltogether. What would you all use for a connector on the final product? Screw terminals?
Yep.


I saw D1 and moved that trace right after posting. I actually routed this by hand. The autorouter did a lot of things I didn't like. But then again, I don't know if what I like is good or not. :D

Yeah, there's a few more though, if I'm being picky... C4 looks close to a signal on the right, and C7 looks close on the top. Also, one of the vias on the right of U1 looks as though it's bridging VCC and GND (!)

I've bumped up a bunch of the traces up that will be carrying power to both ICs. They should be overkill now. 40 mils. Then 32 mils on some of the power-carrying traces that only serve one IC. 24 mils for everything else except the PWM signal traces, which I think I left at 12 mils.
Looks better to me :D

This is a silly question, but I can't figure out how to edit or move that "automatically generated" text (i.e. moving it with respect to the part) without going back and editing the part in the library. I suppose I could just hide those layers and put plain text on myself?
You want the 'smash' tool, which separated the name,value,and part. You then get 3 '+' signs you can manipulate and place to your heart's content.

Also, another question. Since I'm doubling up, what do I do with the caps on the power input side? As a single driver, it's fine with a big electrolytic cap (220uF) and a little bypass ceramic cap (.1uF). I'm assuming I should keep the bypass for each IC, but do I need two of the big caps? Or, just one giant cap? I've designed it with two 220uF caps, but there's a whole range with the same footprint and pin spacing so I suppose people could change values if they needed to. Or leave one out and just use a single large cap. Thoughts anyone?

Personally, I tend to leave things alone, unless there's a really good case for saving some cash. "If it ain't broke, don't fix it" is my motto :)

Simon
 
I was about to say "send me the eagle files and I'll do you a prototype", but I've only got 1/2oz copper at home (you ought to see the widths of some of my traces :) )

How 'bout I send you the files and some 1oz copper? :lol:

Yeah, there's a few more though, if I'm being picky... C4 looks close to a signal on the right, and C7 looks close on the top. Also, one of the vias on the right of U1 looks as though it's bridging VCC and GND (!)

I'll check out those spots. I saw the via seconds after posting above and fixed it.

You want the 'smash' tool, which separated the name,value,and part. You then get 3 '+' signs you can manipulate and place to your heart's content.

Good to know. I always wondered what the smash tool did.


Personally, I tend to leave things alone, unless there's a really good case for saving some cash. "If it ain't broke, don't fix it" is my motto :)

Good to hear. I was asking mostly from a theoretical point of view. If I know a given circuit works with a 220uF cap on the input, and I try to put two of them together, would using two 220uF caps actually be equivalent? Or, one 440uF cap? I have a feeling the two 220uF caps are better than one really big one, but I can't justify that.
 
... I can't figure out how to edit or move that "automatically generated" text...

Smash the part. As in use the 'smash' command (I just type the commands, don't know where they are in the menus :) ) and click on the part on the PCB. Then you will be able to move the value and text without moving the part. As for editing, 'value' and click over a part will let you change the value and 'name' and click over a part will let you edit the name. You can use 'info' to edit both.

You still have to hide the tValue layer when you generate the gerb files though.

P.S. all these commands don't have to be typed out completely, for example 'va' is enough to select the value tool.
P.P.S. to smash all components type 'sm' then 'gro' then select all parts, right click on one and select Smash: Group


EDIT: Ah, I should read the rest of the thread before I try to answer questions that are already answered ...


EDIT2:
Will do when I figure out the name/value labels.

Just swap the parts in eagle with polarized caps and the + signs will show up. You probably picked a non-polarized part in the library.
 
Last edited:
I figured I'd wait 'till everything else was done, then add those in. Bad plan. It's amazing how BIG a #4 screw head looks on this board. :(


Ain't that the truth!

I've laid out about 175 boards and not a single time have I not lamented the gross waste of space holes cause. :hmm5::hmm5:

Now I put them in first!
 
Some more tweaking and. . .

driver3.gif


Unless someone sees a glaring problem here, I've generated gerber files and will send them off for a prototype. I'm crossing my fingers that the prototype on this board goes smoothly, since I've got at least half a dozen of these things working on the old protoboards.
 
Wow!

Very nice looking.

If I scaled that to exact size, I could make that board at home with some of my Laser print transfer paper. It works really well as long as you are not doing tiny traces.

I havent mixed any anhydrous ferric-chloride in a while ;-)


I'll really be interested if you do this for the STCS1 driver.

Too bad I didnt get my arduino yesterday :-(

It would wire right up to my RCM4010 though and I could control it via ENET

Another thing I would have done different is to have Opto-coupler inputs for the PWM signals but that is just my preference since I am typically driving a MOSFET directly and not a purpose built LED driver.

Too bad you are so far away. The project I am currently working on just sent ~9 custom boards to the routers and they are swamped - we could use some help ;-)

Stu
 
Some more tweaking and. . .

driver3.gif


Unless someone sees a glaring problem here, I've generated gerber files and will send them off for a prototype. I'm crossing my fingers that the prototype on this board goes smoothly, since I've got at least half a dozen of these things working on the old protoboards.

That looks pretty good to me. If you want, you can send me the Eagle files and I'll do a quick milling on 0.5oz copper for you. That way you could check it worked before sending off a bunch of them to a board-house.

You'll have to send me the project file though because I'd have to re-route it for you to be able to solder on the bottom side. It'd be good enough for you to verify the circuit worked, even if an auto-routed board wasn't good enough for you as a final product :)

Simon.
 
Wow!

Very nice looking.

Thanks! I had a lot of help!

If I scaled that to exact size, I could make that board at home with some of my Laser print transfer paper. It works really well as long as you are not doing tiny traces.

Please do! I want other people to use this! :D

I'll really be interested if you do this for the STCS1 driver.

The SMT aspect - especially the GND pad under the device - scares me a bit there. But others are using it.

And re: not getting that Arduino. The RBBB version, which I use, is only $12 in kit form. It has no USB chip though, but still it's cheap!
 
That looks pretty good to me. If you want, you can send me the Eagle files and I'll do a quick milling on 0.5oz copper for you. That way you could check it worked before sending off a bunch of them to a board-house.

You'll have to send me the project file though because I'd have to re-route it for you to be able to solder on the bottom side. It'd be good enough for you to verify the circuit worked, even if an auto-routed board wasn't good enough for you as a final product :)

Simon.

Wonderful, thanks for the offer. I'll get an email right out.
 
Looks fine!! The only thing... Not serious, but you were supposed to Back Annotate when you're all done.

Back annotating corrects all the part designators so they are in a logical order. Normally upper left is R1, C1, U1, etc1. Then like reading a book as you move right the numbers increase. Once across you start back at the left.

This greatly speeds the eventual assembly, and troubleshooting too.

Wow nice offer by SC too. If your design works on 1/2 oz it will fly on 1oz.
 
Good job DWZM! Looks pretty nice. When does it go in mass production? :D

On a side note, I'm probably the only one, but I'd remove the blue plane from the corners just to make all corners look the same (like the bottom left one) :)

kcress, I don't think populating like reading a book speeds assembly. I've never populated a PCB in order of the part numbers. For me it was always easiest to start with lowest profile parts first (diodes, resistors) and move up, and always from the middle of the board out. That is just my opinion though.
 
kcress, I don't think populating like reading a book speeds assembly. I've never populated a PCB in order of the part numbers. For me it was always easiest to start with lowest profile parts first (diodes, resistors) and move up, and always from the middle of the board out. That is just my opinion though.

Oh I fully agree. It has nothing to do with populating it has to do with finding where a part goes. It provides some way to reduce the search. It also helps decipher poorly placed designators. "Is R4 this one or that one?"

When you hand assemble you pull a part out of the box.
You go to the part list and find that it is R48.
Now you must find where it goes on the board. If you have to search the entire board for every part you pull out, because all the designators are random, you have just increased the time it is going to take dramatically.

If you've correctly back annotated then you look at the board and see R44 just look to right a little and you will find R48.
 
der_wille_zur_macht,

"Please do! I want other people to use this!"

Can you do a Black & White art of the traces ONLY?

There is too much detail on there with all the parts designators & parts outlines to make the transfer.

And I would need both sides separate.

Stu
 
der_wille_zur_macht,

"Please do! I want other people to use this!"

Can you do a Black & White art of the traces ONLY?

There is too much detail on there with all the parts designators & parts outlines to make the transfer.

And I would need both sides separate.

Stu

You might want my version of DWZM's circuit, which reverses the main signal layers (putting all but 3 of the traces on the solder-side). This makes it a *lot* easier to do the soldering if you're home-brewing the circuit.

I can send the Zip archive back to DWZM, and he can decide what he wants to do :) Not wanting to tread on anyones toes here... The 2-layer version of Eagle is free, so if the circuit diagram is put somewhere public, you can just download the freeware version of Eagle, select the layers you want, and hit print. You can get drill-centers (for example) as well...

Cheers
Simon
 

Attachments

  • reversed.jpg
    reversed.jpg
    98.5 KB · Views: 10
Back
Top