Note: I've started converting these instructions into PDF format, and uploading them to my project Files section. These will ultimately be combined into a single large PDF file that will serve as a full manual for building and operating the system. The manual will be kept fully up to date; I will try to propagate updates to these instructions, but can't guarantee how frequently this will happen. And, these instructions are huge, and take a long time to appear in your browser. So, I strongly urge you to use the PDF files as your guide for building a system.
Addendum: Jean Roc Morreale has created a Read the Docs page that incorporates these instructions. Looks really nice, and I expect I'll try to keep both that site and the PDFs up to date at the expense of these instructions at Hackaday. You've been warned.
These instructions are going to be excessively, even painfully detailed, especially if you're an experienced maker. Apologies for that upfront. A lot of the people who would benefit from using this system aren't necessarily makers (archaeologists, paleontologists, numismatists, museums), and I'm hoping that by making the assembly process as clear as possible, they'll be more likely to make one of these gizmos.
Quick note: Clicking on any picture will open it full-screen in browser; if there's a magnifying glass for a cursor, clicking will zoom to full resolution.
This first section will deal with prepping the dome for installing the LED lights on the inside. This boils down to two operations:
1. Marking the positions where the LEDs will be mounted on the inside, so that they'll still be visible after you paint the inside of the dome.
2. Painting the inside of the dome matte/flat black, to minimize scattered light.
When construction is completed, and all the LEDs installed, the inside of the dome will look something like one of these:
The LEDs are mounted in rows with shifted columns, with even/odd rows lining up; this is to maximize the variation in angular position. The 12" dome has 48 LEDs in 6 rows/8 columns, while the 18" dome has the maximum of 64 LEDs, 8 rows and 8 columns. 8 rows and 8 columns are the maximum, but you can have fewer than those. It's even OK to have rows with varying numbers of columns, but I don't recommend it - it makes wiring the system and managing the software a real pain. Plus, you want to have the LEDs spaced uniformly in angle for best results, and that can be tricky with varying column counts. So the first thing to do is figure out where the LEDs will need to be mounted inside the dome, and mark those positions. It's best to do this before you paint the inside of the dome black.
Before proceeding, a quick comment about accuracy. While getting the rows and columns laid out evenly will make assembly easier, you shouldn't get too obsessive about accuracy, as small errors won't make that big a difference in the results you get from the system. While the software needs to know the positions of the lights in order to do its calculations, it gets those positions from a calibration file that's generated from the actual light positions. So even if one or more lights are a bit "out of line" with others in their row or column, it won't make a significant difference in the results, since the calibration file will take that into account.
Part A. Determine and mark the angular positions of the columns.
1. To find the angular spacing, just divide the number of columns into 360 degrees. So for 8 columns, the spacing would be 45 degrees; 60 degrees for 6. I wouldn't use fewer than 6 columns, and 8 is preferable to 6.
2. Place the dome on a sheet of paper large enough to allow you to trace a circle around the edge of the dome flange, then trace the circle.
4. Erase all the lines you've drawn except one, which you'll use as a reference. Using a protractor, and the reference line, mark the angles at the spacings you determined in A.1, i.e. 45 degrees or 60 degrees; 45 degrees for the picture below.
5. Draw lines through these marks extending out to the edges of the circle; make an accentuating mark (x, dot, whatever) where the line and circle intersect.
6. Draw one additional mark halfway between two of the accentuating marks. You can determine the position by eyeball, or more accurately with a protractor used to bisect one of the angles (e.g. 22.5 degrees for a 45 degree spacing as it is in this example, 30 degrees for a 60 degree spacing). Differentiate it clearly from the other marks. The reason for this mark will become clear shortly.
7. Place the dome back on the paper so that it is centered inside the traced circle. Mark the flange clearly at every position where the angle lines intersected the circle. You may find it tough to find something that can temporarily mark acrylic plastic. Sharpies work, and the mark can be removed by rubbing with a paper towel soaked in WD-40; other solvents may work, but test them first to make sure they don't dissolve the plastic.
8. Now take the dome and rotate it in the traced circle until one of the initial marks lines up with the mark created in step A.6. Repeat the process of marking the dome flange at all the positions where the angle lines intersected the circle; try and differentiate this mark somehow from the first set (different color, put a slash through it, etc.). You have now marked the angular positions for all the columns. Half the rows will have their LED columns lined up with the first set of marks, the other half will be lined up with the second set of marks.
Step B. Determine the heights of the rows, and mark the LED positions on the dome.
1. Using standard RTI guidelines, the lowest angle the LEDs should be mounted is at 15 degrees above the plane of the ground; below this lighting angle, the object you're photographing may be too dim. The highest angle should be somewhere around 65-75 degrees; above this, the object may be too bright. With your desired top and bottom angles, the number of LED rows you'll be installing, and the size of the dome, you can figure out the proper spacing on the rows.
Example 1: My big dome (18" dome diameter, 8 rows of 8 LEDs, 16 through 72 degrees). With 8 rows, there will be 7 angular gaps between the rows (8-1). The total angular distance between the low and high rows will be 72-16=56 degrees. The angular distance between individual rows will be 56/7=8 degrees. So there will be rows at the following angular positions (where bottom = 0 degrees):
16 24 32 40 48 56 64 72
To figure out the true arc distance up the side of the dome these angles correspond to, divide the angle by 90, then multiply by 1/4 the circumference of the dome. For an 18" diameter, the circumference is 18" x pi, or about 56.4"; 1/4 of that is 14.1". Divide the table above by 90 and multiply by 14.1", and you get (after rounding):
2.5" 3.8" 5.0" 6.3" 7.5" 8.8" 10.0" 11.3"
So these are the row distances above the base of the dome/flange junction. But the columns in adjacent rows will be shifted by half the angular spacing, so you should group the heights into two staggered sets of rows (each set has LED columns aligned with each other):
2.5" 5.0" 7.5" 10.0"
3.8" 6.3" 8.8" 11.3"
Example 2: The small dome (12" dome diameter (the size of the dome I'm building here), 6 rows of 8 LEDs, 15 through 65 degrees).
Angular distance between high&low = 65 - 15 = 50.
Angular distance between individual rows = High&Low / (# rows -1) = 50 / (6-1) = 10 degrees between rows.
Row angles = 15, 25, 35, 45, 55, 65.
1/4 circumference = 12" x pi/4 = 9.4"
Row distances (from bottom) = 1.6", 2.6", 3.7", 4.7", 5.7", 6.8"
Row distances paired by column alignment = 1.6", 3.7", 5.7" and 2.6", 4.7", 6.8"
If this isn't 100% clear, just keep reading - hopefully after you see the actual marking operation, you'll understand.
2. Now you need some way to mark these distances on the dome. Take a piece of string, make one mark on it to indicate the zero reference point, and then measure and mark positions for the first set of row distances on that piece of string (1.6", 3.7", 5.7" in this case). Create a similar second string for the other set of row distances (2.6", 4.7", 6.8"). Taping the ends of the strings down while marking them helps keep them straight.
3. Tape the first string to the dome at the base with the flange at one of the marked angles, so that the zero distance mark is at that base. Tape or hold the other end of the string on the top edge of the hole, making the string as perpendicular to the base as you can. Make marks on the dome next to the marks on the string. Repeat this for all matching marks with the same angular spacing as in A.1.
4. Repeat step B.3 with the second piece of string, on the other set of marked angles (the ones offset by half the spacing of the first set; these should lie exactly halfway between the first set of marks you made).
And this is how the dome should look when you're done when viewed from above:
Step C. Transfer the marked positions to the interior of the dome.
The marks on the outside of the dome correspond to the positions of the LEDs on the inside of the dome. Thing is, you're about to paint the inside of the dome black, which will make it difficult to figure out what the corresponding position is. So, before you paint the dome, you'll need to put some kind of mark on the inside that will remain visible even after you paint it. There are several options:
a. Put a blob of paint or nail polish on the inside of the dome at the same position as the mark on the other side.
b. Drill or scratch a small dimple at the same position as the mark on the other side. Be careful with this approach - I used an electric drill with the dome picture above, and came close to punching through the dome in several spots. Do it by hand and you should be OK.
c. Put a tiny piece of masking tape in the matching position, and peel it off after you've painted the inside.
d. Got a better idea? Let me know!
By the way, this is why I recommend either a clear or white dome; both of those make it easy to see where the marks are on the outside of the dome when you're looking at the inside. A dark-colored dome makes this a lot tougher.
Once you've marked the interior positions, you can remove all the marks from the outside, including the flange marks. If you use WD-40, take care not to get any on the inside of the dome.
Step D. Paint the inside of the dome.
To minimize scattered light, the inside of the dome should be painted flat/matte black. Simplest (and probably best) way to do this is with spray paint. Use a brand specifically labeled as being appropriate for plastic, with the color marked as "flat black" or "matte black" to minimize reflections. Avoid "satin" or "glossy" finishes. My preferred brand is Rustoleum Flat Black Ultra Cover Paint + Primer ; Krylon will work, but seems to require more coats.
1. Make sure interior of dome is clean and dust-free; use soap and water if necessary, then dry completely. Instructions suggest lightly sanding the inside, but that's not really necessary for this application, as long as the surface is clean.
2. Cover the outside of dome with masking tape to protect it from stray spray paint. Pay special attention to the hole at the top, as that's the most likely place for paint to leak through.
3. Follow instructions on paint can. Apply paint to inside of dome in steady back-and-forth motion, overlapping strokes. Not too heavy, or you will get drips/runs inside the dome. You will almost certainly have to apply more than one coat to achieve full light blockage. Allow the first coat to dry for a few minutes, then apply a second coat. I'd even recommend a third coat if you have enough paint left. Let the final coat dry to the touch, then remove the masking tape from the outside. Hold the dome up to a bright light source (the sun works great for this), and check to see if you've put on enough paint to block all the light. If not, re-mask and put on another coat. The Rustoleum instructions say you should put successive coats down less than one hour before applying the previous coat, or after 48 hours.
4. Set the dome aside to dry. The instructions on the Rustoleum can say that it takes 5-7 days for the paint to fully bond with the plastic, but don't worry too
Next few instructions steps will be on building the high-side driver side of the controller. This has the P-channel MOSFETs that control the plus-side voltage to the LEDs, through the columns of the LED matrix. These will be installed on the Arduino Mega Shield, which plugs directly into the Arduino Mega control board:
On the bottom are the pins that go into the female headers on the Arduino. This shield makes connections with the Arduino so easy and convenient, I had to use it. But there is one drawback: the limited amount of space you have for components. There is just barely enough room for every component needed for the MOSFET drivers, as long as you place them correctly on the board. I will show you where everything needs to go, modify these positions at your own risk.
The first set of parts is easy, and is good warmup practice if you haven't done any soldering recently. You'll be soldering a female pin header to the right side of the board - this is where the protoboard with the minus-side current controllers will plug in and connect to the Arduino. Then, you'll be soldering eight resistors in that will eventually connect to transistors that control the P-channel MOSFETs (but more on that in the next set of instructions).
First, grab the 20-pin right-angle female header:
And stick it into the 20 holes on the far right side of the shield. Don't do what I almost did, and stick it in the holes to the left of the correct ones! If you've got something you can use to clamp it in place (binder clips, alligator clips), use those to hold it in place:
Now flip the shield over, and solder the pins at opposite ends. Once you do that, you can remove the clamps/clips and solder the remaining pins to the holes:
Next, you'll be soldering 8 10K resistors to the shield; these will eventually be connected to the bases of the 2N3904 transistors, which will in turn control the P-channel MOSFETs. One lead of each resistor will go into a hole immediately to the left of the header you just installed, the resistor will straddle another set of soldered pins on the shield (the ones marked 36-52), then most of them will have their other lead go into the holes directly to the left of the number labels. When you solder the resistors, give them enough height that they clear the soldered pins on the left, or you might have problems with shorting. If you like, you can put a thin strip of electrical tape on top of the pins, or paint them with nail polish or rubber paint, to make sure they don't short out the resistors.
Start by putting the leads of the first resistor into the shield, as in the picture below. Note the hole positions - on the left, the hole at bottom right on the shield, on the left, the 4th hole from the bottom:
Flip the shield over, and you'll see the two leads sticking out:
Now solder the resistor leads to the holes they're in. Put the next resistor into the next set of holes (above the first set), and continue until you've done all 8 resistors. If you have trouble getting the resistors to stay in place when you flip the shield, you can bend one or both of the leads down to hold it more securely:
When you're done, the top of the shield should look like this:
On the opposite side, leave the leads for the first and fifth resistors from the top uncut (you can bend them down to get them out of the way if you like), and trim the leads for the rest to a length of about 1/4":
Next up: installing the MOSFETs and associated parts.
Now it's time to solder in the high-side driver channel components - P-Channel MOSFET, npn transistor, and 10K resistor. Here's a rough schematic for one driver:
You've already installed the 10K resistor at left, though it still has to be connected to the driver (a future step). So this section will deal only with the MOSFET, the npn transistor, and the other 10K resistor. Here's a pic of the MOSFET; note that the position of drain and source in my schematic are swapped compared to the actual MOSFET (gate is correct):
And here's a pic of the npn transistor:
A few cautions before you begin. Some of these may seem obvious, even insultingly so. But I'm including them because I've either come close to making all these mistakes, or have actually made them and had to go through the pain of fixing them.
1. MOSFETs are notoriously sensitive to static discharge. Make sure you've discharged any static buildup before handling MOSFETs. If you have a grounding wrist strap, now would be a good time to put it on.
2. Make sure you install both transistors in the correct orientation.
3. Remember that when you flip the shield over, what was on the left is now on the right, and vice-versa; make sure you're making the right solder connections.
4. When trimming leads, check to make sure the trimmed lead doesn't wind up wedged someplace where it can cause a short. This has happened to me several times, and can drive you crazy as you try to figure out why things aren't working.
Here's a picture of the shield board, with the location of the first MOSFET circled in red:
Insert the MOSFET into the marked pins, with the black labeled side facing to the right of the shield; solder one pin in place to fasten it to the shield:
It can be tough to solder it upright - what I usually do is solder it in place at any angle, then re-melt the solder while pushing he MOSFET until it's perpendicular. Careful - it can get hot.
Next, the 10K resistor is put as shown in the picture below, with one lead in a hole right next to the source pin, and the other lead two rows up and one row to the left of the gate pin. Pull the leads tight from the underside so that the resistor is flush with the shield board, using needle nose pliers if necessary.
Flip the shield over, and bend the resistor leads so that the one closest to the source pin is flat and next to the source pin, while the other lead is bent parallel to the MOSFET pins:
Now it's time for the 2N3904 npn transistor. The lead spacing on this resistor is smaller than the hole spacing on the shield, so you'll have to first gently spread the leads further apart until they will fit into the shield. Then insert the transistor with the flat part facing the MOSFET, and the curved part facing to the right side of the shield:
Note that the three npn transistor pins are in the same rows as the MOSFET pins.
Flip the shield over, and bend the collector pin down over the resistor lead and next to the MOSFET gate pin (better than I did in this pic):
Now solder the collector pin on the npn transistor to the gate pin on the MOSFET; the resistor lead under the collector pin to the collector pin; and the other resistor lead to the source pin:
Trim off the excess lead on the resistor leads, and on the collector pin:
And that's it - you've created a high-side p-channel MOSFET driver circuit! Hope you enjoyed that, because you'll now have to repeat the process 7 more times for the remaining high-side driver circuits. Here's a picture showing the locations of all the MOSFETs, including the one you just did:
Just follow the exact same steps as the first driver circuit for all the successive ones. It's best to work left to right on the shield when installing the driver circuits, as it gives you the easiest access to the board when installing parts. When it's all done, the shield should look like this on top:
And like this underneath:
Simple step here - adding several female headers to the shield, for wiring power and signal connections.
In the first version of these instructions, I soldered two 2-pin female headers to the board. Turns out I forgot that the USB plug and shield on the Arduino Mega interferes with the top 2-pin header. Tirst time I plugged it in, the power supply shorted out (fortunately with no serious consequences). Had to remove it all traces of it completely, from both the top and the bottom. So you only need to solder one two-pin header; the job of the other one is done with a wire jumper later on. Don't have photos of the corrected board with the removed header, but I've marked on the photo which one stays, and which one goes:
Tough to hold these in place for soldering - I usually use masking tape.
You want the two sockets on each header to be connected electrically - the simplest way to is put a blob of solder between the pins on the bottom of the board (note the bottom notes, where the header shouldn't be installed):
These headers will be used for connecting "high" DC voltage (8-12V) to the shield, for powering the 3W LEDs.
Next, solder a 2-pin female header in the location indicated below:
As with the previous headers, you also want this one to be connected electrically as well with a solder blob:
This connector will be used to add some extra ground connections; the ones already present on the Arduino won't be enough, and also aren't convenient for several future connections.
Finally, an 8-pin male header strip needs to be soldered in place; this will be used to connect the high-side drivers to the columns in the LED matrix. IMPORTANT: On this one, you will NOT be bridging pins with solder blobs, but keeping all the pins electrically separate from each other. Also, don't solder all the pins at once - do only two pins to hold it in place, one row in from each edge.
From the 40-pin male header strip listed in the components section, break off an 8-pin section (they're notched to break easily). The photo below shows it in place, but I put it in one row higher than I probably should have. It will work in this position, but you will have a bit more room to work with if you move it down one row, closer to the "Vin" label at the bottom.
Here's a side shot:
And the view from below, showing the two pins soldered to the shield, to hold the pin strip in place:
Now comes the "toughest" sections of work on the whole project - wiring up the connections on the MOSFET driver shield. It's not too hard, but it is a bit tedious. A few pieces of advice:
- Work slowly and carefully.
- Make sure you're wiring up the right connections, i.e. connecting the wires to the proper component parts. A mistake here shouldn't be fatal, but it would be a huge pain to repair (believe me, I know :-/).
- Make solid solder joints that only connect the right parts. Watch out for solder "bridges", where a bit of solder connects two leads/components that shouldn't be connected. Also watch out for trimmed leads, which have an annoying habit of flying away when trimmed, then shorting out critical connections.
- Inspect your solder joints when done with a magnifier to make sure they're good.
- Don't make your wires "just fit", add a bit of slack so that you can re-arrange them later on. As you'll see in a few steps, I didn't do that, and I wound up with a couple of spots where the wires blocked some holes where I wanted to solder a wire, and I didn't have enough slack to move the wires to free up the holes. I had to modify my wiring configuration on the fly to make up for that, and given the limited space I had to work with, that was not fun.
Note: In schematic wiring drawings, the wire lines are drawn from one hole on the shield or protoboard to another. The wires connecting these holes should have the insulation stripped from their ends, and have the bare lead inserted into the hole. The bare lead should then be connected to the specified nearest component/connector lead.
First set of wiring will be to connect the base of the npn transistor (the central lead of the D-shaped thingies) to the 10K resistors on the side of the board; these will in essence control turning on/off the main p-channel MOSFETs that run to the positive (high) leads of the LEDs. The numbers next to the resistors are the LED column they control, and need to be connected via wires to the npn transistor next to the correspondingly-numbered MOSFETs:
Here's my recommended wiring layout, with one end of the wire to be soldered to the resistor, and the other soldered to the central lead of the transistor:
You'll notice that there are no wires coming from resistors 1 and 5 to their corresponding transistors. That's because in step 2, we left the resistor leads untrimmed for those two resistors, and we can now attach them directly to the nearby transistors using those leads on the underside of the board. .Just bend them down to make contact with the central npn transistor lead, as shown below:
Now solder the connections; trim off the excess lead when done:
I usually play it safe now by blocking the hole next to resistors 1 and 5 with a bit of solder, to make sure I don't accidentally put a wire into those holes (which I have done; multiple times :-/).
Now follow the wiring diagram above, and connect the remaining resistors to the matching transistors with the 24 AWG Kynar wire. You can use thinner wire if you have it for these connections; thicker wire is also OK, but may be more difficult to work with. When the connection is soldered, trim off the excess leads. Once you're done, it should look something like this from above:
And this from below:
Reminder: clicking on any picture will zoom it to full size.
Next step is to connect the drains of the MOSFETs (their center leads) to the central 8-pin connector; there will ultimately be a header that plugs into this connector, wiring up the connection to the LEDs.
So I'm writing this after finishing all the wiring for this shield, and let me say that I didn't do that good a job (as you'll see in succeeding steps). Two big fails on my part: I didn't give the wires enough slack, and I kept bending them flat against the board to take up less space and look neater. As a result, access to some of the holes on the shield became very difficult, and I wound up having to use a number of workarounds to finish the wiring. And all for no good reason - wire is cheap, and since all the electronics will sit inside an enclosure with lots of room, it doesn't matter how neat it looks (no one will see it), or how much space I saved (there'll be plenty of space to spare). So use the following as a general guide, but be generous with the wire, and don't bend the wires flat to the board like I did unless you absolutely have to. And don't think you have to follow the wiring layout exactly as I give it - as long as the wires are soldered to the correct leads, they will work (you'll see an example of this shortly).
So here's a pic with the MOSFETs numbered, and the matching pins on the central connector numbered:
You want to connect the central drain lead on the MOSFETs to the corresponding pin on the central connector:
Here's how it looks after the drain wiring was completed:
Most of the wires were connected per the wiring plan above, but you will notice that the wire for MOSFET 8 (lower left) does not go into the hole in the wiring plan; there was another wire from a previous step that interfered with it. So I had to move that wire to the hole on the opposite side of the connector, but since I soldered it to the correct pin, it will work fine.
Here's a view of the bottom of the board after this wiring step:
You can clip off the central drain lead of the MOSFET now to free up some room (that's the MOSFET leads you soldered the wires to in this step). You may need that room to maneuver in - there are still two more sets of wires to solder in place.
Next step is to wire all the source leads on the MOSFETs together (the right lead when you're looking straight on at it), and also wire them to the one 2-pin female headers on the lower left side of the board (which will be connected to the positive lead of the main power supply). I have x-ed out the extra two-pin header at top, removed in a previous step:
The easiest way to make the connection between the MOSFETs and the female headers is to bend the source leads of the lower left MOSFET:
... so that they come close to the soldered female header (on the back side of the shield board). Addendum: I've crossed out the header connections from the removed header:
Then glob solder between that bent lead and the solder blob for the header to connect them electrically:
For the rest of the source connections, just wire jumpers between MOSFET connections in the same row:
So here's how my board looked after I wired the source jumpers:
Notice anything missing? Yup, there's two jumpers missing from the shield, on the bottom row. As I mentioned earlier, I pressed the wires flat, and didn't leave enough slack, so I wound up with a situation where I didn't have enough room to get access to the holes from the top. I wound up soldering jumper wires between the MOSFET source leads on the bottom of the board (circled below):
This works, but it's not very neat. What's more, I made the jumper connection on the right in the above picture too short, and blocked one of the last solder connections I'll need to make in the next step. Once again, I emphasize - leave yourself lots of slack in the wires so that you can move them out of the way if necessary for subsequent wiring/soldering steps.
Addendum: Since I removed one of the two two-pin female headers that were supposed to connect the top row of MOSFETs to the power supply, I need to add a jumper wire from the header near the bottom row of MOSFETs to the top row; jumper wire is outlined in red:
This is the bottom view, showing where the jumper wire leads come in, and what they're soldered to:
Notice in the lower left corner that the blobbed solder connections to the removed header are now gone; but you'll still see them in upcoming photos, since they were there when I initially assembled the board. The jumper wire is also not present in most of the follow photographs of the board, since they were taken before the fix, but it's definitely there in the final
Last step in the MOSFET driver shield board construction is to connect all the emitter lead on the npn transistors to ground. The npn transistors are the small D-shaped transistors, and the emitter is the lead furthest to the right when looking head on:
The best way to minimize the amount of wiring on the board (which is already crazy with wiring) is to connect the emitter lead closest to the ground connection header to that header:
... and then use jumper wires to connect all the remaining emitter leads to each other. Because of the limited space on top (thanks to my poor wire management skills), I didn't think there was room on top to do this, so I did the emitter ground wiring on the bottom. First I bent the emitter lead to make contact with the ground header solder blob, and then attached a jumper wire to that junction:
I then soldered that connection so that the emitter lead, jumper wire end, and ground header solder blob were all electrically connected, and starting adding successive jumper wires to connect additional emitter leads (taking care to make sure they didn't short out any other connections):
When all the jumper wires were in place, they were soldered to connect them to the emitters (though you can just as well solder them one at a time):
I've highlighted all the jumper wires with an adjacent red line, so that you can see exactly where they go.
Once you're done with soldering the emitters, you should cut all the protruding leads (transistors, wires, whatever) as flush as you can without affecting the soldered connections.
You're now done with the toughest system assembly, tough because of the tight space limitations. There's more wiring /soldering coming up, but it should be a lot easier, as you'll have a lot more room to work with.
In the past, I've always assumed that I've wired the MOSFET driver shield correctly, and that's usually been the case (with a few minor shorts due to stray clipped leads). But for these instructions, I came up with a fairly simple way to test all 8 driver circuits on the driver board, to make sure they work correctly.You will need:
- Arduino and wall wart power supply
- Multimeter with either alligator clip leads, or separate alligator clip leads
- One female Dupont pin
- Jumper wires. I use breadboard connectors, but you can cut a few from the 22 AWG wire on the parts list (just save it when you're done).
- The driver shield you've just finished assembling.
Here are all the parts in a neat assemblage:
The Arduino will only be used for supplying +5V and ground, nothing more. So you'll connect one wire to a +5V connectoinon the Arduino, and the other to a ground connection:
Note that the power supply isn't connected yet - I save that until all the wiring connections are done. I'm using red for +5V and blue for ground. These wires should now be connected to the driver board, along with the remaining jumpers:
Here's an annotated connection pic.
The idea is that when the white wire (at +5V) isn't touching any of the 10K resistor connections on the right, there's no voltage across the multimeter. When you touch the white wire to one of the resistors, you switch on the npn transistor, which "effectively" turns on the MOSFET transistor (technically, you're unbiasing the p-channel MOSFET gate, which turns it on). You should then see 5V on the multimeter, which is measuring the output voltage from the MOSFET driver. In the pic above, the red (+V) multimeter lead is connected to the #1 MOSFET output driver connection, while the blue multimeter lead is connected to ground.
I tried connecting the multimeter lead directly to the output pins in the center, but the spacing is too close. So I took a female Dupont header pin, spread the clamps apart, then clipped it to an alligator clip:
The female Dupont header slides easily onto each of the 8 pins on the output connector, so that you can test all 8 circuits sequentially.
Plug in the Arduino to the power supply now. Here's a pic of me testing MOSFET drive transistor 1 by holding the white bias wire to the end of the top 10K resistor; the red multimeter lead is connected to pin 1 (the top pin) of the 8-pin male connector in the center using the Dupont female header. You'll see that the multimeter, set at the 20V DC scale, shows about 5V when the connection is made, and should show zero when there's no connection:
Now I connect the multimeter red lead to the 2nd pin down, corresponding to MOSFET driver 2, and do the same test by touching the second resistor down:
You should only see 5V on the multimeter when the white wire is touching the resistor that corresponds to the output pin. It's worth testing this by touching every resistor when you have the red multimeter lead connected to a single output pin - only when the resistor that corresponds to that output pin is touched should you see 5V on the multimeter. If you see voltage on more than one resistor, you have a wiring problem (electrical short, wrong connection, etc.), and you'll have to double-check your work to find out where you went wrong. But hopefully, everything will work fine (as it did for me in this case). Repeat the process for all 8 output pins. Once you're done testing, set the driver shield assembly aside somewhere - you won't need it for a while.
Most of the components used for building the RTI controller are "through-the-hole", which means that they can be installed and soldered onto a standard protoboard/shield with 0.1" spacing between holes (2.54 mm). These are a lot easier to install and solder than the other common option, "surface mount devices" (SMD). The latter are designed for easier mechanical placement and bulk automated soldering. You supposedly can hand-solder SMD devices, but I'll be danged if I can get the hang of it reliably.
Unfortunately, there is one set of RTI controller components that is only available in SMD format - the CAT4101 LED drivers. Here's a pic of a standard MOSFET transistor on the left with 0.1" lead spacing, and a CAT4101 on the right; note the difference in lead spacing:
Fortunately, there's something called a "breakout board" for the style of chip used in the CAT4101. The breakout board has leads with the standard 0.1" spacing, and you solder the chip to pads that connect electrically to the leads. Here's the breakout board:
And here's the two chips again, this time with the CAT4101 sitting on the breakout board:
You still have to solder the CAT4101 chip to the breakout board, though. I usually use an alligator clip to hold the CAT4101 on the breakout board:
To solder the leads, the technique that works best for me is to hold the tip of the soldering iron touching both the gold pad on the breakout board and the end of the chip lead. Then apply the solder carefully to the end of the lead, and it should flow smoothly along the length where the lead touches the pad. Don't apply too much solder, or it may blob up and connect adjacent pads/leads, requiring cleanup and a re-do. When you're done, it should look something like this:
Double-check to make sure there are no shorts between leads. Do this for all 8 CAT4101 chips.
Note: You'll get the CAT4101 chips in a hermetically-sealed envelope with a desiccant inside, including a note that tells you to keep them sealed until use, with limits on temperature when assembling. While you should certainly keep them in the sealed package until you're ready to solder them, these precautions are primarily for SMD assembly. In SMD assembly, the entire part is stuck into an oven that melts a solder paste to attach the CAT4101 chip to a PCB board / heat sink, so the entire part gets hot. There's an encapsulant inside the chip that can absorb moisture from the air, and if it absorbs too much before heating it can "popcorn" from the steam, swelling up and breaking the chip package. Unless you hold the soldering iron on the chip for an prolonged period of time, it's almost impossible to "popcorn" the chip with hand-soldering.
Now that you've got your 8 CAT4101s neatly soldered on the breakout boards, it's time to do some cutting. While I suspect that the CAT4101s never get warm enough to justify heatsinks, I prefer to play it safe and put heatsinks on them just in case. But to attached the heatsinks, you'll need to cut off part of the breakout boards to access the bottom of the chip. Mark each breakout board as shown below, above the chip leads and below where the bulk of the chip lays on the breakout board:
Now saw/cut the breakout board on the back to remove the upper part. I've used both a hacksaw blade and a Dremel with a cutoff wheel to do this; any fine saw blade or cutter will likely do just as well (e.g. jeweler's saw). You don't have to cut all the way through - if you get about 2/3rds through, you can usually bend the board to break it off. There will be one metal connection running to the upper part of the board, but don't worry about that - bend/cut it off to detach it.
Be careful in this step not to cut through either the chip leads or the chip itself. While you're at it, please take care to not cut yourself. Safety glasses are mandatory, and I use a dusk mask to keep from breathing in powdered PCB.
When you're done, you should have a nice pile of CAT4101s on trimmed breakout boards, and the trimmed part of the boards:
Throw out the trimmed board pieces, and put the CAT4101/breakout boards someplace safe for now. Try not to put any sideways pressure on the chips relative to the boards, as the leads can bend. I've bent many of these, and bent them right back without problems, but I'm sure they can break if bent far enough, or enough times.
One more component requires a breakout board, and that's an RJ-45 (Ethernet) jack. Here's a bottom view:
And an oblique view (the red thingie is a plier handle used to prop up the jack):
You can actually solder the leads on the right to a standard PCB board if it has a set of holes that have matching spaces, but in this case we have evenly-spaced holes 0.1" apart, so that won't work. Breakout board to the rescue. I didn't have any unsoldered RJ-45 breakout boards available, so I borrowed this pic from Digikey:
You will need to break off an 8-pin segment of one of your 40-pin 2.54mm single row pin header strips, and solder it to the underside of the breakout board, so that the short pins poke up from the lower pins of the board as seen above. Solder one pin first, then straighten the set of pins if necessary by remelting the solder on that one pin and re-positioning the 8-pin header strip so that it's perpendicular to the board. Then place on the RJ-45 jack on the top side of the board so that the 8 staggered pins go through the 8 staggered holes, pressing down so that the two large pins on the RJ-45 jack go through the two large holes as seen above. Solder the 8 staggered pins to the holds, and you're done. It should look like this: