We’re currently using 3 LynxMotion HT1 servos, they work perfectly fine, except sometimes they seem to lose their CAN ID randomly. Has it ever happened to one of you guys? Do you have an idea why it happens and how to solve it?
@jayduf69 Welcome to the RobotShop Community. Can you indicate what you mean by “CAN ID”? The IS is set via serial as opposed to CAN BUS. Are you using the action command “ID” or the configuration command “CID”? If you use ID, you need to set it once during that session (each time the servo starts up or loses power), whereas CID only needs to be sent once (not each time you run the code) and it’s saved to the servo’s memory. Losing the ID is not a known issue.
It seems to return to its factory state, we can’t adress it anymore, we need to unplug our 2 other servos and use the command to set the CID again. it happened to us about 4 times now on different motors.
We have not had any previous incidents reported to us from customers where servos have only lost one part of a configuration such as the ID. Hypotheses:
Can you ensure your code does not use the ID or CID command at all? You should only need to set this once and do not need to have it set every time the code is run
Can you ensure you do not accidentally send an ID, CID or RESET command, or some other command which might impact a servo setting?
Can you ensure the button on the servo itself is not accidentally being touched?
Is there the possibility that something external to the servos is affecting them (not a normal USB to serial adapter, weird power etc.), or that the original ID or CID command send to the servos was not properly received?
We’ll need to know a lot more if we’re to help troubleshoot or diagnose what might be happening.
Can you tell us what configuration you are using? For example, an LSS Adapter board with 3 servos.
Can you share a picture of your set up?
Are you sending commands to servos simultaneously? Did you make sure to set the ID of each one separately and the same baud rate for all?
It is possible that if you have multiple servos with the same ID there may be collisions and this may cause errors.
If you are unsure you set the servos IDs correctly I suggest checking this tutorial:
Have you ever tried to use RC mode, using the CRC command? In this mode, the servo will no longer accept serial commands. The servo can be placed back into smart mode by using the button menu.
We’re only using Serial commands. I can’t send a picture of our setup since it’s confidential. We’ve set IDs separately and we are sending different commands to different servos at the same time to obtain simultaneous movement. We’re using a Teensy 4.1.
We’re using a HT1 library we made ourselves where we can use functions to send Serial commands to the servos. One servo usually loses its ID every week or so. We’ve tried powering on and off but without success. we usually just send a new ID using the Serial command CID. You’re right about the part where we don’t need to unplug them all since they’re not all back to ID 0. Thanks!
our CID command is only in a function which is never called anywhere. One of our motor reset last night… It was working perfectly when I left the office and when we started up the machine this morning, one of our motor wasn’t responsive due to ID loss. Is there anything electrically, like a number of power offs and power on that could reset something in the LynxMotion HT1?