g / roboteq

ROS driver for serial-connected Roboteq motor drivers
30 stars 57 forks source link

Connectivity Problem when working with RS232 port #11

Open nabilgabbouj opened 9 years ago

nabilgabbouj commented 9 years ago

When using the driver with serial ports, I got feedback errors and the driver crashed. The warning was : Wrong number of status fields. Dropping message. Actually the feedback messages were incomplete and the number of fields different from the expression in the source code. I checked the baud rate connection port etc... I switched to USB port and it was normal again. Did anyone encounter the same issue with RS232 port ?

mikepurvis commented 9 years ago

We have used both extensively and not had these issues— Grizzly communicates to the onboard drivers using RS232. You're confident that the baud rate is set correctly, and you don't have anything else connected to that serial port, stealing characters from it?

Also, I assume RS232 still means via a USB-RS232 converter— if so, which one?

nabilgabbouj commented 9 years ago

No actually I used a pre-built RS232 port in an embedded computer. And I checked all relative parameters such as baudrate and so on... It worked once maybe twice but I switched rapidly to USB due to time constraints. I have two other units to test in the coming weeks, I will share all the details then.

mikepurvis commented 9 years ago

Roboteq stress in their literature that the USB port is for bringup and prototyping only— the recommend control scheme is via CAN or RS232.

nabilgabbouj commented 9 years ago

Yep, it's actually due to the high switching frequency of the motor power. And it is recommended to use RS232 or CAN since USB is not well suited for this working environment.

griz1112 commented 8 years ago

I had problems with an nvidia board TX1 and roboteq 2130 with rs232 access. Turned out it was the port not set up properly. Using setserial to set the baud rate and uart type cleared up the problem. Hard to diagnose because if you crossed tx and rx characters would flow. And since that input is good up to 15v I use a 3.3v serial to RS232 converter. Fatter signal more resistant to noise IMO. The ROS serial package likes 16550A uart type on the TX1. I had some framing errors show up on analyzer when using the 8250 type. 16550A works perfectly. You have to set the baud rate first it won't allow the uart to be set if the baud isn't set. For some reason the setserial autoconf at boot isn't working. So having to use rc scripts to set them. So if it quits working and you've rebooted that is the hang up. Thought about getting usb to can board for my set-up but the commands in robocan are so easy to use there is practically no learning curve.