microDRIVE LP/LPi (LEGACY GK2....
Integration
Communications
an overview of supported micro drive communications protocols supported communications protocols the micro drive units support the following control and telemetry protocols can bus 2 0b protocols dronecan (previously known as uavcan v0 9) dshot dshot150 to dshot600 baud rates bi directional dshot for rpm filtering dshot uart telemetry pwm servo pulse (1000 2000 us) relevant settings settings that affect communications on the micro drive can be found below if can bus is enabled within communication settings, the following dronecan settings can be adjusted dronecan setup can bus must be enabled within the micro drive settings for the unit to connect the following instructions outline how to operate the esc using dronecan via a suitable slcan adapter autopilots such as the pixhawk cube running ardupilot can be configured https //ardupilot org/copter/docs/common slcan f7h7 html to act as a slcan adapter ardupilot specific setup instructions for dronecan can also be found here connecting the esc in accordance with the can wiring diagram, each unit necessitates the connection of can h, can l, and can gnd to the control point it is imperative to ensure the correct termination of both ends of the can network to achieve optimal performance notably, the units have a configurable internal termination, which should be enabled as required once the units are powered on, they can be effectively tested using the dronecan gui tool this tool serves as an interface for establishing connections, conducting tests, and monitoring telemetry from devices equipped with dronecan capabilities utilising a dronecan capable device, such as a cube orange running ardupilot, as a master node is a prerequisite once a successful connection is established with the master node, users are presented with the following screen overview section purpose 1 setting for the master node id required as the first setting to adjust when establishing the connection 2 start dynamic node allocation server (dna) escs will automatically connect to the network if can is enabled and the server is running 3 list of connected nodes in the current network 4 panels for access to telemetry viewers and esc control panel 5 the output of debug messages from devices connected to the network 6 list of ids of connected nodes esc operations once the esc is connected to the network successfully as a node, further information can be accessed by double clicking on it the following screen is displayed overview section purpose 1 selected node information, including hardware/software version, serial number (uid) and current status 2 restart button trigger restart of the attached node this will occur after a small timeout while the unit prepares for the shutdown blocked if the motor is armed 3 update firmware button select firmware for updates on this node the file will be automatically transmitted, and a reboot will be triggered for installation the result of the firmware update will be reported upon reboot blocked if the motor is armed 4 fetch all settings button fetch all the settings on the esc blocked if the motor is armed 5 store all settings button save all the settings required after modification of settings, will trigger a reboot to apply settings blocked if the motor is armed 6 erase all settings button reset settings to defaults (defaults set by firmware) blocked if the motor is armed 7 settings are listed after fetch double click on the setting to adjust running the esc when using the dronecan gui to run the esc, the following panel is used to operate connected esc nodes (click the panels drop down menu, esc panel) while this panel is open, the master node will exclusively send out motor output packets that clear any signal errors overview section purpose 1 channel output setpoints outputs are used to control the individual setpoints for channel outputs each esc requires dronecan esc index setting to be applied to the desired channel number the default is 0 the 0th channel represents the leftmost channel the output range allows for full forward and full reverse movement however, it's important to note that the esc will only accept reverse setpoints (negative values) in reversible mode 2 toggle to output the armed command message required if require armed status dronecan setting enabled dronecan status error flags the exact structure is currently undergoing integration and testing and may change in the future please refer to changelogs for more information 1034 esc status to quickly reveal error conditions and warnings, the dronecan status message 1034 error counter field is used as a custom error/warning flag bitfield instead of counting total errors this deviates from the dronecan specification when there are no errors, this field will always read 0 when an error or warning condition is active, the most significant bit (msb, bit index 31) is set to signal that this is a custom warning from there, the flags are set to true according to the following conditions bit position error/warning description 0 over temperature temperature has exceeded the configured temperature limit 1 bus over current bus current has exceeded the configured bus current limit 2 phase over current phase current has exceeded the configured phase current limit 3 over voltage bus voltage has crossed over the over voltage threshold 4 under voltage bus voltage has crossed under the under voltage threshold 5 excess voltage ripple bus voltage ripple is outside tolerances this can lead to shorter lifetime on the capacitors this can also signal unit degradation and require investigation 6 signal error set if signal receive has timed out 7 motor saturated detected a motor saturation and started reducing output drive (foldback) until control is regained 8 motor over temperature motor temperature has exceeded the configured motor temperature limit 9 rpm limit reached controller has reached the configured maximum rpm limit 10 error active controller has entered error state 11 output shorted bridge detected as shorted during the startup short circuit test 12 startup check failed bridge and comparators have failed startup checks 31 custom status set to true to indicate this custom bitfield is in use 1036 esc status extended the dronecan status message 1036 status flags field is used to communicate more states this is at a lower frequency to the 1034 status message, and is used for less time critical statuses bit position error/warning description 0 motor armed controller is in an armed state and can drive the motor 1 motor running controller is actively driving the motor 2 motor parked controller is parked 3 active free wheeling engaged active free wheeling has been engaged 4 ignoring calibration unit calibration values are being ignored uart telemetry format the format is currently undergoing integration and testing, it may change in future when the telemetry output is enabled and the format is set as uart telemetry, the following packet format is output through the telemetry line at the configured rate settings that affect telemetry on the micro drive can be found below uart port settings the settings applied to the uart connection that supplies the telemetry packet can be found below baud rate 115200 baud word length 8b stop bits 1 parity none no flow control packet structure the following packet is output at the configured rate no partial packets are transmitted true false 181,200false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type false unhandled content type