Arduino Controlled RoboteQ AX2550

I've got a RoboTeQ AX2550 and an Arduino Uno. I'm planning on interfacing the two, and using the Arduino to run a program to control 4 motors (2 on each channel) on this Motor Controller. However, I'm having a bit of difficulty figuring out how to link the two. I know the AX2550 supports RS232, and I know the Arduino supports serial. I bought an RS232 shield that has yet to arrive in the mail, but I'm still at a bit of a loss. I've read the manual for the AX2550, located here, but I'm not really familiar with RS232 and the manual is confusing and non-specific. I would like to use the arduino to handle PWM encoding, and for the motor controller to move the motors based on that. Does anyone have any experience with this motor controller or with RS232 in general?

Jyosua:
I've got a RoboTeQ AX2550 and an Arduino Uno. I'm planning on interfacing the two, and using the Arduino to run a program to control 4 motors (2 on each channel) on this Motor Controller. However, I'm having a bit of difficulty figuring out how to link the two. I know the AX2550 supports RS232, and I know the Arduino supports serial. I bought an RS232 shield that has yet to arrive in the mail, but I'm still at a bit of a loss. I've read the manual for the AX2550, located here, but I'm not really familiar with RS232 and the manual is confusing and non-specific. I would like to use the arduino to handle PWM encoding, and for the motor controller to move the motors based on that. Does anyone have any experience with this motor controller or with RS232 in general?

You're probably not going to find too many people here who've interfaced an Arduino to this motor controller (given that this thing is a $500.00+ USD device - most people have no need for such a controller, I would imagine). But - basically - you just need a TTL serial to RS232 serial converter of some sort (whether the shield you mention does or not - I don't know; have a link?). Normally, people use a chip like the MAX232 for level conversion, but there are other ways (if you look at the DB9 serial port version of the Arduino - it uses transistors for the level conversion).

Once you have the Arduino and the motor controller matched up electrically, then its just a matter of deciding whether to use the on-board serial port (normally used by the USB serial interface - so you can only use one or the other), or - if you want to keep the USB - using the Software Serial library (though you are limited in speed here, mainly due to lack of a buffer). Then its just a matter of setting the baud rate, handshaking, etc - to match with the controller (should be listed in the manual what the default settings are).

With that said - I myself own a similar controller (and older version) - unfortunately I bought mine surplus, with all the wires "chopped" (I have a second that has been "burnt out" - I think both were part of the same batch; I'm hoping to get one good one running in the end, if I am lucky). I have no idea if it works, or even powers on. I spent about $50.00 for the pair (it's a steal if I can get one of them to work). I did contact the company (since they are local to me) and they told me that they would "trade in" mine (since it is no longer supported) - for $250.00 (IIRC); not worth it to me right now unless I can't get any of it to work. At any rate, if the manual isn't making any sense, you might try contacting them for assistance (if you get nothing better here)...

Good luck. :slight_smile:

After looking into it a little more, it's looking like RS232 may not be the way to go. I want to just use simple pulse modulation, and it looks like the R/C mode provides support for that. On page 109 of the AX2550 manual it describes the usage of pulse width modulation for the R/C reciever interface. I know the Arduino Uno can also handle PWM, so I'm thinking I might be able to just hook up the Arduino to the adapter in the "seperately powered" wiring configuration, and have it emulate the outputs of an R/C receiver.

However, I notice the separate channels have white, red, and black wire inputs. I Know the pulses are carried over the white wires, and that the black wires serve as a reference ground. Am I right in thinking I can just connect the white wires of the two different channel inputs to two PWM-capable pins on the arduino, output PWM signals over them, and simply tie the black wires to the Arduino's ground? I believe the Arduino requires more than 5 volts as a power supply, so I wouldn't be able to power it off the powered pins from the controller.

Jyosua:
After looking into it a little more, it's looking like RS232 may not be the way to go. I want to just use simple pulse modulation, and it looks like the R/C mode provides support for that. On page 109 of the AX2550 manual it describes the usage of pulse width modulation for the R/C reciever interface. I know the Arduino Uno can also handle PWM, so I'm thinking I might be able to just hook up the Arduino to the adapter in the "seperately powered" wiring configuration, and have it emulate the outputs of an R/C receiver.

However, I notice the separate channels have white, red, and black wire inputs. I Know the pulses are carried over the white wires, and that the black wires serve as a reference ground. Am I right in thinking I can just connect the white wires of the two different channel inputs to two PWM-capable pins on the arduino, output PWM signals over them, and simply tie the black wires to the Arduino's ground? I believe the Arduino requires more than 5 volts as a power supply, so I wouldn't be able to power it off the powered pins from the controller.

Basically - with the exception that rather than PWM - you would use the Servo library...

If the controller provides a -regulated- 5 volts as an output, then you can bypass the regulator on the Arduino and run the Arduino that way (check the schematic - I can't recall which pin it is, all I do know is that you don't want the connections to get reversed, or p00f goes your 'duino!)...