Problem Interfacing with Servo Amplifier using Arduino Uno

Hello:

I am currently working on a project which involves the control/systems part of a fuser test fixture. We are using PIDs to set/control the fuser temperature, a gauge valve to set the initial pressure that the rollers will have, and a servo motor with a respective servo amplifier. I have a good general idea of how servo motors work; however I am stuck steeping from a simple "hobby servo motor" to a high power servo motor.

My approach to this is the following:
Once the pressure is set from the gauge valve, power up the Uno board and which will enable/activate a solid state relay and use pneumatics to bring down the rollers up to the desired pressure. Place a pressure sensor in between the rollers to measure that analog signal, read it, and store it. Set the PID to the desired temperature and place a temperature sensor near the fuser to read and store that analog signal as well.

Now here is where I get confused, I would like to communicate with the servo amplifier via serial RS-232:

  1. I am not sure how to produce a signal that would drive the amplifier from the previous analog inputs (temperature and pressure)?
  2. I know that the Uno outputs 40 mA current and its most likely not enough to drive an amplifier, so would I need a shield board as well?
  3. How would I code the Uno? Like is it ADC input to PWM output to drive the amplifier and then the motor?

The main goal in a few words is read the pressure and temperature analog signals and once those two are set, activate the servo amplifier and from there drive the motor. I am really confused in the concepts and I would appreciate a whole lot if someone can help me out with or suggesting me if there are similar Arduino family boards that can help me out achieving this.

The servo amplifier is this one:

http://www.copleycontrols.com/motion/pdf/XSL-XenusUserGuide.pdf

And the servo motor is this one:

http://www.parkermotion.com/products/Rotary_Servo_Motors__7089__30_32_80_567_29.html

Thanks a lot!

Why is a 'servo' motor required in this process applicaton? Why not a simple fixed speed AC or DC motor (or even a speed controlled DC motor) that you turn on when the pressure and temp are OK that then turns the rollers at a constant speed? A servo motor is usually used in applications where you need to be able to change direction or be able to stop at a specific angle position, or vary the speed in a specific ramping action, etc.

Lefty

Lefty:

Thanks for the answer. In fact I did not choose the motor myself. I was given this one since it was available from another prototype. Is it possible to set this servo motor at a fixed speed? Also the what I was thinking is to reset the system once the paper has gone through entirely possibly by tracking the position of the motor. I am not sure of this idea if you could provide me with some background about this I would most likely switch the motor to a DC motor at a fixed speed.

ncode1

ncode1:
Lefty:

Thanks for the answer. In fact I did not choose the motor myself. I was given this one since it was available from another prototype. Is it possible to set this servo motor at a fixed speed? Also the what I was thinking is to reset the system once the paper has gone through entirely possibly by tracking the position of the motor. I am not sure of this idea if you could provide me with some background about this I would most likely switch the motor to a DC motor at a fixed speed.

ncode1

I don't have answers for you just the question I proposed. The industrial quality servo motor and controller you linked to has lots of capabilities, functions, and features and you should be able to accomplish anything you require for your process application. And as long as you already have it you might as well learn it's capabilities and use it. If you didn't already have it a simple fixed speed AC or DC motor would probably be 10-20% the cost of the servo motor/controller.

Lefty

Yea that makes sense. I do not have a problem learning the features and capabilities of the motor at all. The only thing is that I am still confused on how to communicate with the servo amplifier via serial RS-232 once the temperature and pressure give the "OK" signal

ncode1

ncode1:
Yea that makes sense. I do not have a problem learning the features and capabilities of the motor at all. The only thing is that I am still confused on how to communicate with the servo amplifier via serial RS-232 once the temperature and pressure give the "OK" signal

ncode1

I'm not sure that is going to be an easy task to accomplish. The hardware task would be that you need to convert the electrical RS-232 signals to and from the TTL serial signals the arduino uses, and that is usually just an inexpensive MAX232 type converter chip or module.

But more importantly from a quick scan of the controller manual they don't seem to document the controllers serial protocol or commands, but rather assume you will be using their proprietary PC based software GUI application to configure and/or run the controller. That makes using an arduino to interface the controller kind of difficult if not impossible to accomplish?

But maybe I'm being too pessimistic, do your own research and see what you can come up with. Another path might be to contact the controller vendor, as they might have another document available that lays bare the serial commands and protocol for the controller.

Lefty

Exactly! I have spent hours reading the controller document and you are right they do not specify the controllers serial protocol or commands, they just assume the software (CME2) will drive the controller. If I were to take that option it leaves me no room to interface with the Arduino Board and perform the automation. That was were I was getting so confused since I did not know if there was a possibility that I wasn't seeing clearly.

ncode1

ncode1:
Exactly! I have spent hours reading the controller document and you are right they do not specify the controllers serial protocol or commands, they just assume the software (CME2) will drive the controller. If I were to take that option it leaves me no room to interface with the Arduino Board and perform the automation. That was were I was getting so confused since I did not know if there was a possibility that I wasn't seeing clearly.

ncode1

Well if you can't use an arduino it certainly won't be a fun project at all, just work. Tell them if you can't use an arduino, then they should take their project and stick it where the sun doesn't shine, along with the servo controller. :wink:

Good luck;
Lefty

Thanks man I will certainly do so. One last question though: I am going to call the amplifier company tomorrow and ask for the serial commands and protocol for the controller so I can program it without the CME2 software itself. If they do not provide such feature, it would be pretty hard for me to interface from the arduino board, right?

ncode1

ncode1:
Thanks man I will certainly do so. One last question though: I am going to call the amplifier company tomorrow and ask for the serial commands and protocol for the controller so I can program it without the CME2 software itself. If they do not provide such feature, it would be pretty hard for me to interface from the arduino board, right?

ncode1

Correct. The hardware is willing (the arduino) but without documentation it's hard to tell the arduino what to send to the motor controller and what to expect back from it.

Lefty

Awsome. Thanks man, this clarified a whole lot doubts I had. If by any chance you run into something helpful please let me know. I would appreciate it a lot.

ncode1