This video shows how the UAVCAN GUI Tool can be applied to evaluate the efficiency of a sensorless propeller drive (or any other kind of drive that can be controlled via UAVCAN).
The video features the following products and instruments:
The following snippet is executed in the interactive console of the UAVCAN GUI Tool:
def run():
rpm_setpoint = 0
going_down = False
step = 2
def update():
nonlocal rpm_setpoint
nonlocal going_down
rpm_setpoint += (-step if going_down else step)
broadcast(uavcan.equipment.esc.RPMCommand(rpm=[rpm_setpoint]))
if going_down:
if rpm_setpoint > step:
defer(0.01, update)
else:
if rpm_setpoint >= 5000:
going_down = True
defer(0.01, update)
update()
It can be seen that the snippet commands the motor to slowly accelerate to 5000 RPM and then to slowly decelerate back to the standstill. The X-Y plotting feature of the UAVCAN GUI Tool allows us to directly plot the relationship between the electrical power and the mechanical RPM of the propeller. The UAVCAN GUI tool is a powerful one-size-fits-all instrument that can be used to easily analyze and demonstrate the behavior of various UAVCAN-enabled systems.