I've done a quick first pass on the PCB design for the temperature controller. There are a few things I'd like some feedback on:
1. There are five 0805 discrete components, two 3528 caps and two SOT223 regulators in this layout. The optional thermocouple interface adds one SOIC8 and one 0805 cap. These are all fairly large for surface mount and the board layout is not too cramped so hand soldering should be pretty easy. How do people feel about this level of surface mount? If it seems too hard, I can try to modify the design to use more through hole although the board will get larger (and the thermocouple chip isn't available in through hole anyway). Or else, I'd be happy to help anyone who needs it to get the surface mount soldering done with my hotplate. The bulk of the board is still through hole.
2. All of the inputs and outputs are connected to headers. This seems to be a good compromise since you can either solder in pins to connect plugs to or else you can just solder wires directly to the pads. But if you want something else like screw terminals, I can expand the board to make room. Let me know what kind of connections you would prefer. The inputs are set up for a rotary encoder and a push button. But the encoder inputs are basically just three switches so if you want, you can use those inputs for more switches instead.
3. How about mounting holes? I can make the board a bit bigger to make space for holes at the corners if you want. What size holes, if so?
4. There are both a Dorkboard programming header and a standard AVR 6 pin programming header. Is it worth having both?
There are still labels to add to some of the pins and other cleanups but I'll wait to do that until I get some feedback. And if anyone has any other suggestions for changes, I'd be happy to hear them. Please leave any feedback or suggestions in the comments to this entry. I've attached the Eagle files as well as images of the board layout and schematic.
| Attachment | Size |
|---|---|
| board.png | 38.04 KB |
| schematic.png | 31.76 KB |
| tempcontrol.brd | 29.16 KB |
| tempcontrol.sch | 121.42 KB |
Comments
Parts questions...
What's T1 for?
Do you know how much current do the voltage regulators will need to provide?
Parts Answers
Hi, Laen-
T1 is for driving the LCD backlight via PWM so you can control the brightness under program control. Most of the data sheets on backlight LCD displays that I've checked specify a max current draw for the backlight of around 60mA to 120mA so I've been typically using a 2N3906. But if you had a display with a higher current requirement, you might want to put in a replacement PNP with a higher current capacity.
Also, I've tried to make this circuit compatible with most 5V LCDs which use the HD44780 interface chip (or compatible) which is the vast majority of those I've seen. But one area where there is some variation is in the backlight control. I've done a pinout which seems to correspond to most of the LCDs and is the same as some of the other LCD interfaces I've looked at. But I have run across a yellow on blue LCD which reversed the cathode and anode pinouts for the backlight, which seems pretty strange to do. But because of that and the current draw issue, you might want to check the specs for your LCD before wiring up this part of the circuit.
The current draw for the LCD backlight is the dominant factor in overall power requirements for this board. And that depends on the exact LCD you use. However, I've measured the current draw for the LCD and a similar board while operating with the backlight full on and I think the total current was around 60 to 70 mA (for 5V). It might max at a bit higher but I suspect that would be pretty typical. The 3.3V supply is only used at this point to drive the IR unit, which ordinarily would run off of a 3V battery. You could actually leave out the 3.3V supply and keep using batteries if you wanted. That does work but you have to keep buying button cells in that case. I've used LD1117 regulators in a similar circuit I did recently and of course they should supply more than enough current (particularly for the 3.3V).
I hadn't really thought about this before, but if you wanted to, you could leave the whole power supply part of the board unpopulated and either supply 3V and 5V into the existing header or even just use a 5V supply and run the IR unit off of batteries. Or maybe better still, just supply a 5V externally and populate the 3.3V regulator section to generate the 3.3V from 5V. That should work fine with LDO regulators. Depends on whether you want to use a common wall wart to run the board or have a reasonably regulated 5V supply you want to use.
Layout concerns
I assume you're going to significantly beef up the trace width? There's plenty of room so the traces should be at least 12mil, probably bigger if they don't get in each other's way at that size. Also, I'd make sure there are no hard 90deg angles at all, and pull a couple of the traces further apart, not for any particular reason other than a) you can, and b) eliminate any possible interference.
Thanks
Yes, once the parts placement/selection and board size are pretty well set, I'll fatten up the traces and do a more careful routing. The one I posted was just a quick autoroute to get something to put up for initial comments. There should be enough room for bigger traces unless the layout gets compressed considerably. Also, I do top and bottom gnd pours as a matter of course. But, lately, Eagle seems to mess things up if you try to reroute with filled polygons in the layout so I only do that at the very end.
Tell the truth, I hadn't been paying much attention to right angle traces. My, admittedly rudimentary, understanding of that is that right angles aren't really a practical problem until you get up to much higher speeds than this board would be running at. But obviously it can't hurt to try to avoid them. Thanks for the comments.