Saturday, August 19, 2006


Serial Comms Board...

I notice that several of you new RepRap builders seem to be acquainted with Visual Studio and are getting to a position where you want to start building up your controller cards. The first one that you'll want to do is your comms card.

The instructions for building it are great, especially the pin voltage check diagnostics. Those really help you check to see if your soldering and wiring is right.

One thing I don't suggest that you do is try to...

Experienced hardware folk never trust their hardware. First make sure your serial port operates, which is easily done by shorting the Rx and Tx lines out on the serial lead from your PC. These are pins 2 & 3 and a small screwdriver will do the job.

Pay especial attention to that word Experienced and ask yourself honestly if you are. It is really easy to get a little dyslexic and count the pin counts from the wrong direction. As well, sticking a screwdriver, however small, into the cannon connector handling the serial port on the back of your PC to short two pins might be a good idea if you have good fine motor control and know what you're doing. For mere mortals, however, it doesn't address the reality of trying to find the right pins in the dark under your PC worktable with a little flashlight in your mouth while at the same time trying to tell your kid to type something on the keyboard and see if you get a response.

If you are a klutz like me I'd recommend that you take the cannon connector that you bought to connect your comms card to your PC and solder a jumper between pins 2 and 3 on it. I'd also recommend that if you're over 40 or wear contacts or glasses that you acquire a big magnifying glass and a bright light to help you read the tiny pin numbers on the back side of the connector to make sure you've connected the right pins. Reading tiny white numbers on a white plastic background is the pits.

Then, when you want to check to see if you have a live RS232 port plug that bad boy into your serial port. If you've got sensitive fingertips you can do that by feel without having to crawl under your worktable. You also don't have to put your kid through the trauma of trying to understand what dad is trying to get him or her to do while you're talking to them in the dark with a flashlight (torch) in your mouth and periodically hitting your head on the underside of your worktable. It's a family tranquility thing. :-s

After you've done the diagnostics if you've not got Linux installed you can use Hyperterminal. The instructions for using Hyperterminal are pretty straightforward.

If you're a Visual Studio afficinado, however, there is another possibility. A nice guy named Corrado Cavalli has a website. Therein he has quite a nice little VB.NET serial comms programme that works quite well to test your serial port. I've made a variation on it that is somewhat more useful. It's a good starting point if you have ambitions of writing a controller program independent of the Java one that Adrian has written, something that might be reasonable if you are a programmer with ideas but are not a Java coding god.

If you want mine you can download and use.

Plaas' magic VBNet serial comunications thingy

Have fun! :-)

I've got what I believe to be a working comms board... few tips that helped me out:

1> Gravity, and repeating keys, are your friends. Find something to hold down a key for you instead of trying to get someone to type something... If you've got help, they just need to watch for something to pop up on the screen, if no help, just 'hold it' for a few seconds then come back around and see if it worked

2> Phillips screw drivers (what do you call them in the rest of the world again?) The design of the phillips head makes it ideal for shorting pins... the horizontal to lie 'against' the two pins, the veritcal to go between the pins (and help hold it in place)... Just make sure you get the right size so it fits and you're not jumpering more than what you want.

3> Instead of a 'cannon connector', I used an old serial cable I had sitting around. I could then plug the connector into the computer and mess with the individual wires (a good foot or two away from the back of the computer) to figure out which I wanted to use. (Once you spend the time testing the wires/pins to figure out which are 2&3, you can just twist those to together to short them out (just remmeber which is which!))
Well post a pic of it for us! :-)
Not having much luck with taking a picture... (my camera isn't that great with close-ups and the battery is dead enough that I'm using it while it's charging...)

Front of Circuit Board
Back of Circuit Board

The board contains both the Comms circuitry and the circuitry for handling one axis (untested, due to the vacant PIC socket on the board...) I'm hoping to be able to use a board of this size to fit 'everything' on it... (I've currently got a design in ExpressPCB that has the comm circuits and three of this type of axis circuitry, with what I hope to be enough room left over for the extruder circuitry...)

You can also see here my serial cable, and my infamous power cable. I've also got the 'network' hooked up between the comms and the axis, and you can see the two axial 'sync' wires trailing off the edge. The four empty sockets, from right to left, are a 'spair' network hookup (Initially I had planned connectors on both sides of the 'cable', but after I started working with it, I moved to hardwiring the 'cable' to one side (outbound i think?), and just attaching the connector to the inbound. The new single-board design I'm working on does away with those connectors and puts it straight on the board itself), The motor hookup (I've only got 4 wires on my motors, and I don't even know if they're the right kind for this type of controller, but that's what I'll eventually find out!), and the two limmiting sensors (which I don't plan on using, so I'm not including those on my single-bard)

I'll admit that my soldering isn't that great, I used cat5 wires for jumper wires (need something thicker with insulation that doesn't melt off as you solder it), and only about half my connectors actual sit flat on the circuit board. I also don't have the tools to do any actual circuit testing on this, but I've got a 'disposable' pc that I'm plugging it into.... and a fire extinguisher at hand just in case...

I'm definatley going to pick up a few tools for when I make my 'real' board... tape to hold the stuff on while I try and solder it (so the connectors lay flat!), solder remover (I had loads of fun trying to seperate some of my solder lumps, and I woulda burned out my PIC if it wasn't just an empty socket. I'm still not sure I didn't burn out the chip next to it, but the RS323 chip seems to work!), and some wire strippers that will actually strip my jumper wires!

I'm not sure if ExpressPCB is the best tool for this, but it's the first one I ran accross that seemed to do what I want (mostly). You can find my Single-Board here, though it is totaly un-tested, incomplete, and I wrapped it up about midnight while working on it, so a thing or two might be off. (Oh, and I got this pc board from if anyone is interested...)
Closeups are no real problem for a digital camers. You just shoot the pic at the highest resolution you have, which is usually quite a lot, and then cut out the detail that you're interested in in paint or photoshop and paste it onto a new pic.

Good luck on the single board approach. It makes lots of sense. about the only problem with it is if you make a mistake in your design you've bopped a whole big board with lots of not necessarily recoverable components. I think that that might have a lot to do with why Simon uses little discrete boards.
Yea... I'm not against xxx-rigging the board if I make a mistake (I did make a mistake on this one, scored the paths on the bottom on the wrong spot, ended up having to 'bridge' the score with some wire and lots of solder)

I'm thinking that I may socket all the chips for the next one, and then that just leaves a couple resistors and a diode for the 3 axis... I'm finding that 90% of my board is just jumper wires, and those are cheaper than the solder used to hold them on!

I also found the connectors to be the most expensive part for me... (I probably over did it, didn't need two connectors for each board, and I won't need any of the limitor connectors if I don't use them...) so moving to the single-board design will cheapen it up for me quite a bit.
***I also found the connectors to be the most expensive part for me...***

Yup, you can bankrupt yourself doing cables and connectors. I've standardised on those little blue two-pole connectors that plug into your PC board that Radio Shack sells. They're pretty cheap and quite robust for my purposes.

First thing I did was to deep six Simon's idea of a universal cable that carries +5, +12, gnd and comms lines. I learned with considerable pain in the old days that you don't ever put power and comms lines side by side and you for sure don't put a 12v feed right next to a comms line on a connector. That's just asking for trouble if you are as clumsy as I am.

I've standardised on a situation where I bring comms in and comms out into two little blue 2-pole connectors on a board very close together. I also bring in +12v and gnd in an entirely separate connector at a distance in a generic location on the board. If I have output to a motor that gets its one separate 2-pole connector somewhere far away from the comms and power connectors.

That way I have a fair chance of not screwing things up when I hook a board up. :-)
I've currently got a 'tunnel' on my new design... and am wondering if it will cause problems... Instead of the 'network', I've got the comm, 12v, 5v and ground running down the center... (I think I've got it 5v, g, 12v, comm, 12v, g, 5v, though I could have the 5v/g reversed) That means every time I send a jumper to the comm line, it passes over the 5v, g, and 12v, both going to and from the comm.

Does anyone with some actual electronics knoweldge know if this is going to be a problem? I'm wondering if I should spend the time to rework my single-board layout to run the power/ground on the edges (keeping the comm down the center of the board)
That shouldn't cause a problem. It's when power lines and comms lines run parallel for significant distances and when you have a noisy power line that can induce currents in your comms line that you start seeing problems.

Btw, I see that you're using Euroboard stripboards. What are you paying for those?
This would be the comms running parallel for a little over 6 inches... with power on both sides.

I paid $5.50 for each board at (item ECS-4)
Post a Comment

Links to this post:

Create a Link

<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to
Posts [Atom]