Mks dronecan servos

Hello,

On arduplane 4.5 I’m using MKS dronecan servos.

I have 4 servos, I followed the ardupilot dronecan servo

each sevo have its id so 1 2 3 4 and for each servo, and I setup for each one different node id, so node ID 101 ,102 ,103 ,104, to get status and feedback values from each servos on the logs.

I let default 1 000 000 can bitrate/s.

I activated SLCAN on serial 8 for setup, and I let it activated.

And each servo work as expected, BUT since I activated dronecan servo, I have strange behaviors:

when I go to the mission planner full param list, the PIXHAWK 6X seems to lag, when I refresh param list, and when I write params, many times MP popup me that the param was no set.

Also after arming and disarming for test, when checking can logs on the dataflash.bin through MP, I see each field sent by the servos, but there is no value inside to graph (current/voltage/position/target/torque)

I have long cables of 1 meters for each servo, the canbus cables ar not shielded or twisted.

below you can see the MKS integration guide that details each message sent by servo and the params for each servos.

MKS DroneCAN Integration Guide (mks-servo.com)
On the dronecan params for each servo, they are message rates that are by default set to 50Hz:

actuatorPublishHz The transmission rate of Actuator.status .
CircutPublishHz The transmission rate of Circuit.status .
TemperaturePublishHz The transmission rate of Device.Temperature.

maybe 50hz is too much?

@t what can be due theses strangest behaviors ?
I think to reduce bit rate.

Waiting feedback because I’m afraid this beahvior could lead the drone to be uncontrollable and crash…

use DroneCAN GUI tool to look at the total message rate on the bus

Ok thank you, and what you advice in terms of message rate?

Kind regards.

hello,

Please check attached.

Did you see an issue?

The servos work perfectly, but I don’t get all the telemetry in the autopilot data flash logs, I only get pos/force/speed but current/voltage/target are empty……

When regarding on the canbus I get the values.

Maybe you know how to solve this? Please check log print screen below:

Finally why ardupilot don’t save the dronecan #1091 message that is sent by the servo ?

and the #1110 message ?