TCP Script Server Raw icon TCP Script Server Raw TCP server for ARC accepting EZ-Script, JavaScript or Python commands, letting controllers send commands and receive line-terminated responses Try it →
Asked
Wheel encoder on OpenCM 9.04

Wheel Encoder On Opencm 9.04

I’m running ARC on Windows with a Robotis OpenCM 9.04-C over USB. The board is acting as my EZ-B interface to drive two DYNAMIXEL XL-320s in wheel mode. I’ve added single-channel Hall encoders (open-collector, pulled up to 3.3v) on each wheel and I’m trying to use the Wheel Encoder Counter robot skill so I can feed pose to NMS. The skill’s page references Arduino UNO firmware, but I’d really like to keep everything on the OpenCM if possible.

I ported the UNO sketch to OpenCM (Arduino IDE with OpenCM core), using attachInterrupt on two digital pins. Counts look correct in Serial Monitor. To test with the Wheel Encoder Counter skill, I pointed it at the OpenCM’s COM port and tried a few baud rates (9600/115200). With my current output format:

SerialUSB.print("L:"); SerialUSB.print(leftCount);
SerialUSB.print(",R:"); SerialUSB.println(rightCount);

the skill’s debug shows intermittent "timeout reading encoder values" and sometimes "invalid data frame". I also tried only responding when polled (listening for a single character like 'G' then printing counts), but I’m clearly not matching the protocol the skill expects.

A few concrete questions:

  • What exact serial protocol does Wheel Encoder Counter expect (baud, request/response or streaming, delimiters, and field order)? A short example of a valid line would be great.
  • Does the skill require the UNO firmware’s specific command set, or is it simply reading formatted text each poll interval?
  • Can Wheel Encoder Counter share the same COM port that ARC uses to talk to the OpenCM for servos, or does it need a dedicated serial device?

If keeping it on one MCU is unrealistic, I can add a tiny Arduino just for encoders, but before I do that, is there a documented protocol I can implement on the OpenCM to satisfy the Wheel Encoder Counter skill?



Related Hardware (view all EZB hardware)
Opencm 9.04 by Robotis
Control Robotis DYNAMIXEL servos with OpenCM9.04-C using Synthiam ARC - XL-320 TTL support, expansion board for AX/MX, UART0 or UART2 selectable
USB
Servos 200
Camera
Audio
UART
I2C
ADC
Digital

ARC Pro

Upgrade to ARC Pro

ARC Pro is your passport to a world of endless possibilities in robot programming, waiting for you to explore.