Monday, 15 April 2013

Controller for UV exposure box for PCB screen printing

While it was really tempting to just chuck some LEDs onto a bit of veroboard and just plug it in (ok, we did exactly that) we've since decided that it needs a bit of time and effort spending on it. While we've got a board full of LEDs that lights up when you plug it in, it's time we put some of our super-cool geek-skills to use and actually made a half-decent box. So here's the plan....



We've got an array of 8 rows of 12 LEDs wired in parallel. Each LED has a current consumption of about 20mA. Each row uses about 240mA of current, and should we light the entire board in one go, that's 240*8 = 1.9amps. Not a massive amount of current, but enough to make us want to think about how we want to handle this amount of power consumption.

First up, instead of lighting all 8 rows in one go, we thought we could strobe them, one at a time, through a ULN2003A transistor array. These arrays can handle up to 500mA per "channel" (but only a total of about 650mA at any one time). So with a few transistor arrays (the ULN2003A has only seven, not eight, channels) that need to be switched on and off quite quickly, we're going to need a microcontroller.

Of course, it's going to be a PIC. At this stage, we've no idea what else we're going to want, so let's just shove a big 16F877A in there to give us some options....

  • What about adding a timer to the exposure box?
  • With a microcontroller, we could use a few 7-segment displays and have a count-down timer.
  • How about - since we're strobing the LEDs anyway - we use PWM to set the brightness?
  • While we're not using the UV, we could probably do with some white LEDs in there, to shine from underneath to help align our PCB designs with the silkscreen.

Our current idea is to have a character LCD display, some buttons (up, down, select) and a dial (to select the required function mode). Using the 16F877A we also have some hardware UART (serial comms) so should we want to in future, we could always hook the whole thing up to a PC or other controller.



All this sounds ok so far and leaves us plenty of options for expanding in the future. And if we're going to be changing things in future, perhaps it's as well to give SMT a miss for a change, and use some old-school through-hole components and sockets on our PCB. Yes, this is all starting to sound quite promising....

Here's a simple schematic for a PIC to control 8 rows of UV LEDs, one array of white LEDs, with buttons and a dial (potentiometer) mode-select:


And a press-n-peel ready PCB layout:



Here's how the components should be laid out:


The ground from each row of LEDs is connected to the LED connector pads on the right-hand edge of the board (which in turn are connected to the ULN2003A darlington arrays which allow us to light entire rows of LEDs as required). We've got a 16x2 character LCD connected along the top of the board, push-buttons connected (on wires) to the pull-down resistors and a potentiometer on analogue channel RA0 as our menu selector. Except for a few de-coupling/smoothing caps and a crystal, that's just about it.