I made a little SRX Breakout board for our talons, as our ribbon cable to encoder cable solder joints were always a bit janky and heatshrink tumors bother me. I stuck some LEDs on the encoder A and B channels and the limit switches, so that you can tell if the encoders/switches are connected and functioning without software. While making this post, I think I just realized that I can make all my semiconductors the same by assuming high=false low=true, as the limit switches operate that way but the quad encoder might be that way too. I assumed low=false high=true for the encoder, but now I think it probably doesn’t make a difference. Maybe I should look it up.
Also the two holes on the end are for zip tying the cables down. Maybe I should have explained that earlier. You’re supposed to solder whichever wires you require to the corresponding pads on the board, and then ziptie the wire bundle together at the end to take stress off of the solder joints.
This looks pretty solid in terms of functions, and I like the use of transistors for the LEDs and the like. However, the resistor for the quadrature LEDs should go after the transistor, or you’ll short your encoder outputs to GND.
As a side note, EAGLE does have an “LED” part in the default libraries, so you don’t need to use a diode. Also, try using 2.2k resistors for your leds intsead of 100 ohm. 100s will probably cause too much current for the led, and 2.2k makes it plenty bright for indication purposes.
I love the limit switch LEDs. Optional pullup resistors are great. You might want to try one of those header bridge thingies to switch between 5v and 3.3v (possibly also for the pullup resistors). Solder bridges make it hard to change without a lot of hassle.
The one major problem I have with this board is that it’s far to large. You can easily cut this down half the size. If you switch to soldering in headers instead of using solder pads, you’ll save some space that way. At the very least, you can put all the solder pads on the “bottom” layer (facing up IRL) to let you shrink things down. [STRIKE]I’m also not sure why you have so many holes in this thing; I would imagine you need 0 if it just plugs into the Talon[/STRIKE] The ziptie thing is a nice touch actually. Furthermore, switching to 0805 package stuff makes it sort of easy to hot-air solder and stays compact (I’m not sure what you are using now).
Use the “smash” tool to separate names and values of components on the board. That lets you put the names where you want them most visible, and you can delete that values; those don’t need to be on the board.
I’m actually using the sparkfun libraries for the 0603 LED (0603 because I have them on hand). I did the calcs for the LEDs and, if I’m remembering properly, 100 ohm is what I worked out for about 10 mA for a series 3.3v drop across both the LED and resistor. The actual LEDs I’m using are specced at 25mA. I figure if I can go bright I might as well, the more flashing LEDs in a robot makes it look more sciencey. I’ll look into dropping the current a bit more though.
I wanted to go the solder bridge route because I figured that it’s free, no jumpers to lose, our team only uses one kind of encoder (so we just set the voltage and don’t ever need to change it), and anything that sticks up off the board is liable to get smashed and bent when stuck into some drawer somewhere.
I smashed most of the components, the label positioning you see is pretty much the best configuration I could figure out, given vias and stop mask and components.
I did a BOM for all the components on mouser and am looking at somewhere around $2.5 dollars in components per board, the biggest ticket item being the .05" header, at ~$0.8. Via OSHPark, each board is about $2. I figure this seems reasonable, considering the SRX breakout on andymark is $15, what with having to make money and all.
You should assume 5v for all your calculations, because that’s your maximum voltage. You can try getting 10ma on each LED, but there’s no point in doing so IMO when 2.2k will work fine and guarantees you don’t blind people by accident. Seriously though, brighter LEDs aren’t necessarily better. They’ll screw up pictures, get in your eyes, mess up other LED effects on the robot, etc. Indicator LEDs don’t need to be bright,
I like the free-ness of solder bridges, but I think some of your concerns aren’t too big. 115 made their own SRX breakouts a while back and we haven’t ever experienced problems with headers bending, although we’ve certainly seen everything else. If you want to keep the solder tabs, then putting them all on the bottom and shrinking them will definitely save you space.
The smashing suggestion was mainly if you wanted to focus on making this smaller. I always label my parts as a reference in Digikey, so when they arrive I just match up R1 with R1 and don’t worry about values. Obviously it fits fine just as-is.
That BOM sounds about right. Mouser is pretty expensive compared to Digikey, so if you go Digikey you should save a few quarters. The 0.05" pitch header is expensive no matter where you go (it might actually increase in price on Digikey).
You seem to have a good handle on what you want from this design. I recommend OshPark for manufacturing for a variety of reasons like the .brd native uploads, free priority mail, and relatively low cost and high quality.
The schematic should be wired such that the LED is always fed from the 3.3v rail, but the transistor base is fed by either 5v or 3v from the encoder. Unless that’s not how electronics works, which is highly likely considering my background in electrical engineering consists of connecting red to red/black to black and V=I*R.
Oh nevermind, you’re correct. I thought it was on a 5v/3.3v selector, but what you have is fine then.
For your forward and reverse limit, you should have to pads to connect the switches to, both GND and signal. That way the user doesn’t need to muck about with wires going to odd places or anything.
How do you figure? Like a GND pad for each switch? ATM I just have one large pad for everything, I figured it would be large enough for both switches and either the analog pot or encoder return. Now that I think about it I should have made it double wide instead of double long, to make it easier to solder multiple wires to.
I was thinking more of 1 pad for forward or reverse, and adding another common ground pad. That way, in case you want to remove just the limit switch or the pot or whatever else, you can leave the pads you don’t want modified unmodified. One of my pet peeves is when I solder more than 2 wires together, I try to desolder one, and another one comes loose and flicks hot solder somewhere.
Good point, now that you mention it I’ll probably split the GND pad in half with a small junction between the two, like you’d have with thermals and such. Maybe into thirds. I’ll have to see how much room I have to play with.
According to OSH’s design rules, everything passes DRC so I hope so. I was kinda worried about that myself for a bit, but like I said the DRC don’t care so I guess I don’t.
On a somewhat related note, I was thinking about using some sort of epoxy or other goopy compound to seal all the parts on the board, particularly the .05" header, from metal chips and any other potential source of shorts. Know of anything that would be fairly easy to apply and non-conductive?
A case would probably be too bulky, the only things at risk of shorting are on the top side, so I figure It wouldn’t be to hard to spread some over the top of each board. I was thinking of using some of this shoe-goo stuff we have, which is clear, stupidly strong, and fairly viscous and can be molded with soapy fingers so it’s easy to apply, but I don’t know of it’s electrical properties. I think we may have some silicon glue laying around, so I may try both and see how I like them.
Now that you mention conformal coating it, I’ve also heard that it’s possible to use nail polish as well. A spray-on like you suggested would probably work better though, speed up production of the 20-odd boards that I’m going to be making. I’ll probably stick some tape over the solder pads to avoid coating those, as we need those for the board to work.
I’m jumping in probably a bit late and I’m short on time, so sorry if you’ve already though through this.
Q1/Q2 should likely be a MOSFET, right? Otherwise any voltage applied to the encoder pins will be pulled hard down by the transistor. You could put a resistor in series with the gate, but that will require a constant current draw.
We’ve been using latching molex connectors for quite a while and have liked them a lot. Consider connectors instead of soldering wires down.