Shop OBEX P1 Docs P2 Docs Learn Events
What should I use for this robot? — Parallax Forums

What should I use for this robot?

Dan HoskinDan Hoskin Posts: 5
edited 2007-11-19 04:31 in Robotics
Hi,
I am building a machine that controls the locations of very small paint heads and I need to accomplish the following:

-Control 12 continuous rotation servos and 6 standard servos
-Monitor 3 simple switch conditions (like a whisker-type contact sensor)
-Control 3 relays switching 120v (not sure what amperage, for pneumatic valve solenoids)
-System cannot be battery powered, even the micro.
-Control the whole works with a Visual Basic interface running in a standard PC.

I have tinkered with the Boe-bot for a while now and a pair of these could do the trick, but I was hoping to get some suggestions on a nice, clean solution for this from someone who has some experience with PC driven robotics.

Any suggestions would be greatly appreciated.
Thanks,
Dan Hoskin

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2007-11-19 03:28
    You could do the whole thing with a Propeller, probably using a Protoboard. Depending on how you want to control it, you could eliminate the PC and just use a PS/2 keyboard and VGA monitor or you could use a Visual Basic interface as you proposed and communicate via a serial / USB port.

    You could also use a Board of Education and a Parallax Servo Controller (PSC) board (rather than two Boards of Education). A single PSC can control up to 16 servos and the Stamp itself could easily manage the other two. I wouldn't recommend trying to control more than two or three servos using a Stamp without an external servo controller.

    In either case, I'd suggest using SSRs for the pneumatic valve solenoids rather than conventional relays. They're easier to drive and can be driven directly from an I/O pin.

    I would also suggest something other than a whisker-type contact sensor. Unless the conditions are just right, they may very well fail when you need them. At least use a microswitch of some kind.
  • Dan HoskinDan Hoskin Posts: 5
    edited 2007-11-19 03:51
    Thanks for the quick response. I want to stick with the PC control so I can use the interface that I already started writing a front end for. I will look into the PSC a bit further and am considering using 2 of them to allow room for expansion later on. Will this allow me to eliminate the stamp controller completely if there is another method of connecting I/O pins to a PC? Could it be done through the PSC's?
    I am an industrial maintenance mechanic and am familiar with SSR's, but I was unaware of the advantage that you mentioned, thanks for the tip.
  • Dan HoskinDan Hoskin Posts: 5
    edited 2007-11-19 03:55
    The PSC specs mention "0-180 degree·rotation", as one of the features. I need 0-270 degrees on the standard servos and continuous rotation on the others. Is this board going to do what I need?
  • Mike GreenMike Green Posts: 23,101
    edited 2007-11-19 04:09
    You can use the USB version of the PSC directly from a PC, but you'll have to do your own programming (like with VB). There is a PC program that would let you control the servos, but it's limited. You can set up a sequence of successive positions and play them back, but that's all. Look at the USB PSC manual.

    That won't help you with the switch closures or pneumatic valve control and there's no way to do that using the PSC. Truthfully, the easiest way to do this is with some kind of microcontroller and a USB to serial adapter. Any of the Parallax microcontrollers could do the job.
  • Dan HoskinDan Hoskin Posts: 5
    edited 2007-11-19 04:19
    If I go with a stamp microcontroller can I drive it all from a Visual Basic front-end? That is pretty much a must for this project.
  • Mike GreenMike Green Posts: 23,101
    edited 2007-11-19 04:24
    One option might be to use an FTDI FIFO module (www.ftdichip.com/Documents/DataSheets/Modules/DS_UM245R.pdf).

    This could be used with the outputs controlling the SSRs and the inputs hooked up to the contact closures.

    If I were you, I'd use two bits for each SSR and run them through gates so one bit has to be a zero and one has to be a one,
    then use the extra two bits (out of 8) as a similar global enable for all 3 SSRs. This would prevent false triggering if the
    FIFO outputs were all one bits or all zero bits.

    The inputs can be internally triggered to be sent to the PC periodically, then read whenever your program got around to reading them.

    You'd need to look at FTDI's PC drivers to see how you'd go about reading and writing from your VB program, but one of these modules
    and a pair of USB PSCs in tandem would provide the interfacing you need without a separate microcontroller.
  • Mike GreenMike Green Posts: 23,101
    edited 2007-11-19 04:31
    The Stamps talk serial I/O and a VB program can send and receive serial data. You'd have to decide what information needs to go back and forth to make your front-end work with the Stamp. Really the only constraint from the Stamp end is that the Stamp can't "hear" the PC when it's busy doing something else like sending out a servo control pulse or sending a command sequence to a PSC. There are ways to get around this ... either by having the Stamp signal the PC that it's ready to listen for some information (by sending a command like a "?") or by having the PC send its information several times until it's acknowledged. You can also buy external serial buffers (like from Protean Logic: www.proteanlogic.com/product_periph_rs232.shtml) that prevent this issue from arising.
  • Dan HoskinDan Hoskin Posts: 5
    edited 2007-11-19 04:31
    I'll read that and see what new questions come out. [noparse]:)[/noparse]
Sign In or Register to comment.