Red LED for Micro Serial Servo

Hello,

I have a serial to ethernet converter between the servo controller and my serial connection. Sometimes the converter will spit out garbage and cause the red LED to occur. Is there anyway for the servo controller just ignore unintelligent serial inputs instead of manually forcing a power cycle? Thanks.

I don’t think you can do anything to keep your servo controller from going all red blinky on you, but you don’t necessarily need to manually cycle the power. You could bring the reset pin low for a soft-reset. You might even be able to set something up using the serial handshaking lines to do this over the serial to ethernet converter.

Off the top of my head I don’t know exactly how you would do this, it would probably involve a level shifting/inverting circuit and some extra software on your part, plus you would need to resend all settings and servo-positions just after each reset.

This is a really lame solution, sorry.

-Adam

All other serial devices I dealt with in the past have just ignored unintelligent messages so this has struck me as something odd.

I didn’t attempt to use the reset pin since the manual didn’t really describe its usage. But regardless, the best way around this problem is to have the servo controller ignore any serial garbage that comes in. Let’s hope a future version will have this feature in it:)

Hello,

Part of the problem is due to the auto baud rate detection. If you cannot control what’s on your serial line, the servo controller might think the rate is different and all commands will be misinterpreted. Also, given the simple protocol, it’s difficult to detect (and ignore) bad data, so we believe that it is better to stop driving the servos than to send them to potentially dangerous positions (due to garbage looking like commands).

The servo controller echoes its commands, so if it ever stops doing that, you can reset it. For the micro serial servo controller, you would need level-conversion circuitry for the serial out and reset lines. Pulling the reset line low resets the controller.

- Jan

This problem may just be me specific but my servo controller is tucked away and buried among other boards inside the packaging; therefore, I usually don’t know what the actual problem is until I opened everything up and then I discover the problem is with the servo controller:(

Jan, is there a simple way one could connect the PIC pin that sources current from the red LED to the “reset” pin to auto-reset the board in the case of bad data? Seems like a good match, since that pin on the PIC is normally high, goes low when bad data is detected, then goes high again while the PIC is in the “reset” state. I just tried just now with a 10K resistor between the red LED cathode and the “reset” pin, which doesn’t seem to be working the way I think it should.

I’m using quotes because I’m not sure that the “reset” pin on the board is connected to a true hard reset pin on the PIC (does it even have one?). Does the PIC check the state of the “reset” pin at startup, so it can ignore it if it’s left floating? That might explain why my idea isn’t working.

-Adam

That’s a great idea, but the red LED gets toggled at startup, so the thing would just keep resetting itself. The 10k resistor probably didn’t work because there’s a 4.7k pull-up on the reset line, which is the real reset to the microcontroller.

Even if the controller reset because of junk on the serial line, it would be likely that it would come up and incorrectly measure the baud rate since it needs to see the 0x80 or 0xFF (depending on mode) first.

- Jan

That would explain the dull glow from all 3 LEDs when I connected the red LED cathode and reset with tweezers first. I was afraid I was shorting something in a bad way, but my servo controller still works.

Could you then also use a small capacitor between ground and the reset pin to keep it from registering the startup LED cycle, and (maybe) to slow down the reset pin recovery after a reset to give the garbage some time to pass?

-Adam

Just to recap, is there any ‘logic’ to the LED’s when sending serial commands? When I power my SMC03A in serial mode, it starts with just the green LED on. When I send loop setting commands, I can see both LED’s off for a brief moment, then both LED’s come on steady. Is that correct?