PDA

View Full Version : IO pins



Bevels
06-19-2009, 12:07 PM
http://www.trossenrobotics.com/store/p/5123-Pololu-Serial-8-servo-controller.aspx

Right now im looking at the above controller. I was wondering if anyone knows whether the pins are serial IO pins or if I can give it digital or analog voltage inputs.

Does anyone know of any similar chips with digital/analog IO pins and a serial port? Prefferably one that is not very expensive.

Also, does anyone know if WinCC software can talk to serial ports?

Thanks for your help.

ScuD
06-19-2009, 12:17 PM
The link you gave is a servo controller. It can only drive standard hobby RC servo's (well, that's not entirely true, it can only output some sort of PWM signal), whilst being controlled by serial commands either from a PC or a microcontroller.

You can use a microcontroller to get a serial port, analog and digital ports from literally millions of suppliers.
Depending on your experience and what you want to achieve you'll have to choose one.

Arduino is a popular platform these days, not too expensive and lots of info to be found.

Adrenalynn
06-19-2009, 12:40 PM
Yup. It takes serial as input, spits PWM out as output. As ScuD noted - you're looking for a microcontroller, not a serial controller.

[Mod Note: Moved to I/O Boards]

Bevels
06-19-2009, 01:40 PM
Any suggestions on what would be a good one?

Adrenalynn
06-19-2009, 01:59 PM
Arduino is a popular platform these days, not too expensive and lots of info to be found.

http://www.trossenrobotics.com/p/arduino-duemilanove.aspx

Can you be more specific about what you're looking to accomplish?

If you really need RS232 instead of USB, you can look at this: http://store.fundamentallogic.com/ecom/index.php?main_page=product_info&cPath=3&products_id=2&zenid=2c4603e3952d2df0eee2f6c66c6cee94

jes1510
06-19-2009, 03:14 PM
I believe the SSC32 can also be used as GPIO but I have not tried it.

Bevels
06-19-2009, 03:31 PM
I am trying to make a pan/tilt device that can communicate with a PLC and a computer. The PLC communicates with the computer via winCC. However, the PLC only has ethernet connectors or digital/analog IO connectors. I think that the WinCC can communicate with serial ports but I am not positive. The controller needs to be able to take inputs from either the winCC or the PLC directly and send the required outputs to the motors. Preferably I would like a controller that gives me the option of doing both.

I honestly think that a serial controller will do the trick but the guy I'm working wants to have digital/analog IO pins on the controller. This is my first time building something like this so I really dont know what is feasible.

ScuD
06-19-2009, 03:59 PM
Well, you could go all out and build two analog servo controllers.

One opamp-sawtooth generator, two comparators, maybe two opamp amplifiers to tune down the range of the analog output voltage of the PLC's so you get the required pulse-widths...

Probably easier to take the Arduino, but there's lots of ways to take on this challenge.

If you can get it to talk serially that'd be the easiest way in terms of getting additional input/outputs, otherwhise you can still read in two analog voltages (from the plc) and convert them to the required pulsewidth for the servo's.

I have no experience with WinCC however (and only classroom experience with PLC's, for that matter) so I can't help you out there...

avayan
06-23-2009, 12:56 PM
That should be rather easy to do, but it seems to be pretty specialized for any off the shelf controller. You will need to do some programming, is what I am trying to get at. Per example:

1. What are the inputs like? Are they simple ON/OFF type of inputs (i.e. GPIO)? Or are they more complicated like analog inputs, PWM inputs, etc? Either one of these are superbly easy to tackle with a microcontroller.
2. What motors are you driving? Brushed DC, RC Servo, Bipolar Stepper or BLDC? For either one of these, the output control signals (as well as the power stage) will be different.



For the RC Servo you need a 1.0-2.0 ms PWM signal. In other words a timer based GPIO.
For a DC Motor you will need a power stage such as the DRV8800 and then two GPIO pins for ENABLE and PHASE. Every other control signal can be tied to GND or VDD depending on what you want the driver to do.
For a bipolar stepper you will need a totally different power stage, but allow me to recommend the DRV8811 as it makes stepper driver a superb piece of cake. You will need two GPIO pins for STEP and Direction. I recommend the STEP GPIO to be tied to a timer resource, although it is not needed.
And for the BLDC, I am going to hope this is not what you are planning on using as these are just considerably harder to drive than the other three motor styles.

In conclusion I would attack this project by using a microcontroller (or programmable single board computer SBC) such as an MSP430, AVR, 80C51, PIC, BASIC Stamp, or all the other families that have come out and I have not had a chance to delve into.

Good Luck!