Hello
I am creating a UAV using Myxa A0. I want to send voltage, current, and RPM information from Myxa to Ardupilot and check it in mission planner, but I can’t check it from the status item.
If anyone knows how to set up the communication, please help.
Currently, I am using Yukon and am able to set it up and control the RPM with RCPWM.
I enabled Lua on Ardupilot, but am having trouble configuring it on Yakut. Is it possible to do this on Yukon?
Yes, certainly, you can use Yukon as well. The only difference is that the user interface is different, but what’s happening under the hood is the same.
ArduPilot misinterprets your feedback messages. You have CYP_FB set to 1012, which means that the Lua script will subscribe to subjects 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019 for the ESC feedback, but you are publishing completely different data on 1013 and 1014. So you need to space the subjects apart a little bit, at least 8 numbers away from each other.
How many ESCs do you have connected to the network? Each must have its own unique uavcan.node.id, and each must be publishing on its own topic (subscribing to the same topic is okay). If you don’t need some of the topics (really it seems like you are only using the feedback topic), disable them by setting the corresponding topic-ID to 65535.
This publication rate is high. To avoid losing messages, consider only enabling the feedback topics that you actually need; the others should have their topic-IDs set at 65535.
I changed “mns.pub_interval_min” to 0.005[s] but it didn’t work.
It has to be strictly less than that to avoid boundary effects. 1 ms should be a good choice.
When I sent “setpoint_dynamics” at 200Hz with Yukon, the update cycle became faster but it was not stable.
This is most likely caused by the inability of Yukon to publish the messages at a sufficient and stable rate. You need a more real-time node to manage that, probably implemented in a native language (not Python/JS).