Last updated
Last updated
Product Link
Disclaimer: This is not an official english verion of CyberGear instruction manual. It is a translation of the original instruction manual done using Google Translate with some meaning and formatting fixes to make using CyberGear easier. Please, be carefull when interpreting information from this document.
Please use it according to the working parameters specified in this article, otherwise it will cause serious damage to this product!
The control mode cannot be switched while the joint is running. If you need to switch, you need to send a stop command before switching.
Please check whether all parts are intact before use. If parts are missing or damaged, please contact technical support in time.
Do not disassemble the motor at will to avoid irrecoverable faults.
Make sure there is no short circuit when connecting the motor and the interface is connected correctly as required.
Before using this product, the user must read this manual carefully and operate the product in accordance with the contents of this manual. If the user uses this product in violation of the contents of this manual, the company does not assume any responsibility for any property damage or personal injury accidents. Since this product consists of many parts, do not let children come into contact with this product to avoid accidents. In order to extend the service life of the product, please do not use this product in high temperature and high pressure environments. This manual has tried its best to include various function introductions and usage instructions at the time of printing. However, due to the continuous improvement of product functions, design changes, etc., there may still be discrepancies with the products purchased by users.
There may be differences between this manual and the actual product in terms of color, appearance, etc. Please refer to the actual product. This manual is published by Xiaomi or its local subsidiaries. Xiaomi may make necessary improvements and changes to this manual for typographical errors, inaccuracies of the latest information, or improvements to programs and/or equipment at any time without prior notice. Such changes will be uploaded to the new version of this manual, please scan the QR code of this manual to obtain it. All pictures are for functional description only, please refer to the actual product.
The after-sales service of this product is strictly in accordance with the "Consumer Rights and Interests Protection Law of the People's Republic of China" and the "Product Quality Law of the People's Republic of China". The service content is as follows:
Warranty period and content
Users who place an order to purchase this product through online channels can enjoy a no-reason return service within seven days from the day of receipt. When returning goods, users must present a valid proof of purchase and return the invoice. Users must ensure that the returned goods maintain their original quality and functionality, their appearance is intact, and the trademarks and logos of the goods themselves and accessories are complete. If there are any gifts, they must be returned together. If the product is damaged artificially, dismantled manually, the packaging box is missing, or the spare parts are missing, returns will not be processed. The logistics costs incurred when returning goods shall be borne by the user (see "After-sales Service Charging Standards" for charging standards). If the user fails to settle the logistics fees, the actual amount will be deducted from the refund amount. The paid price will be returned to the user within seven days from the date of receipt of the returned goods. Refund methods are the same as payment methods. The specific arrival date may be affected by factors such as banks and payment institutions.
If non-human-damaged performance failure occurs within 7 days from the day after the user signs for it, the Xiaomi after-sales service center will handle the return business for the user after inspection and confirmation. When returning the product, the user must present a valid purchase certificate and return the invoice. Any gifts must be returned together.
If non-human damage or performance failure occurs within 7 days to 15 days from the day after the user signs for it, Xiaomi after-sales service center will handle the exchange business for the user and replace the entire set of products after inspection and confirmation. After the exchange, the three-guarantee period of the product itself will be recalculated.
From 15 days to 365 days from the day after the user signs for it, after inspection and confirmation by the Xiaomi after-sales service center, it is a quality failure of the product itself, and repair services can be provided free of charge. The replaced faulty product belongs to Xiaomi Company. Non-faulty product will be returned in its original condition. This product leaves the factory after undergoing various strict tests. If there is any quality failure that is not related to the product itself, we will have the right to refuse the user's return or exchange request.
If the after-sales policy in this manual is inconsistent with the store’s after-sales policy, the store’s after-sales policy shall prevail.
Non-warranty regulations: The following situations are not covered by the warranty:
Exceeds the warranty period limited by the warranty terms.
Product damage caused by incorrect use without following the instructions.
Damage caused by improper operation, maintenance, installation, modification, testing and other improper use.
Conventional mechanical loss and wear caused by non-quality faults.
Damage caused by abnormal working conditions, including but not limited to falling, impact, liquid immersion, violent impact, etc.
Damage caused by natural disasters (such as floods, fires, lightning strikes, earthquakes, etc.) or force majeure.
Damage caused by use beyond peak torque.
Items that are not genuine Xiaomi products may not be able to provide legal proof of purchase.
Other failures or damages not caused by problems such as product design, technology, manufacturing, quality, etc.
Use this product for commercial purposes.
If the above situation occurs, users need to pay the fees themselves. For details of the group’s after-sales policy, please see: https://www.mi.com/service/serviceAgreement?id=17
1.2.1 Rated voltage: 24 VDC 1.2.2 Operating voltage range: 16V—28 VDC 1.2.3 Rated load (CW): 4 N.m 1.2.4 Running direction: CW/CCW viewed from the direction of the shaft 1.2.5 Usage posture: The axis direction is horizontal or vertical 1.2.6 Standard operating temperature: 25±5°C 1.2.7 Operating temperature range: -20 ~ 50°C 1.2.8 Standard operating humidity: 65% 1.2.9 Operating humidity range: 5 ~ 85%, no condensation 1.2.10 Storage temperature range: -30 ~ 70°C 1.2.11 Insulation level: Class B
1.3.1 No-load speed: 296 rpm±10% 1.3.2 No-load current: 0.5 Arms 1.3.3 Rated load: 4 N.m 1.3.4 Rated load speed: 240rpm±10% 1.3.5 Rated load current (peak): 6.5A±10% 1.3.6 Peak load: 12 N.m 1.3.7 Peak current (peak value): 23A±10% 1.3.8 Insulation resistance/stator winding: DC 500VAC, 100M Ohms 1.3.9 High voltage resistance/stator and casing: 600 VAC, 1s, 2mA 1.3.10 Motor back electromotive force: 0.054-0.057Vrms/rpm 1.3.11 Line resistance: 0.45Ω±10% 1.3.12 Torque constant: 0.87N.m/Arms 1.3.13 Motor inductance: 187-339μH 1.3.14 T-N curve
1.3.15 Maximum overload curve Test conditions:
Ambient temperature: 25°C Winding limit temperature: 120°C Speed:24rpm
Maximum load curve
Maximum overload time (s) vs Torque(N.m)
Test Data
Load | Operating time (s) |
---|---|
12.00 | 28 |
11.00 | 45 |
10.00 | 60 |
9.00 | 90 |
8.00 | 160 |
7.00 | 320 |
6.00 | 700 |
5.00 | 1800 |
4.50 | 2500 |
4.00 | rated |
1.4.1 Weight: 317g±3g 1.4.2 Number of poles: 28 poles 1.4.3 Number of phases: 3 phases 1.4.4 Drive mode: FOC 1.4.5 Reduction ratio: 7.75:1
24V power supply and CAN communication integrated terminal;
Hardware version and laser engraving QR code;
MCU download port;
CAN communication test point;
Indicator light;
Installation holes; 7. “C, A, B” are the three-phase winding welding points;
Product specifications
Rated operating voltage | 24VDC |
Maximum allowed voltage | 28VDC |
Rated operating current | 6.5A |
Maximum allowed current | 23A |
Standby power consumption | ≤18mA |
CAN bus bit rate | 1Mbps |
Size | Φ58mm |
Working environment temperature | -20°C 50°C |
Maximum temperature allowed by the control board | 80°C |
Encoder resolution | 14bit (single lap absolute value) |
2.2.1 Driver interface diagram
2.2.2 Recommended brands and models of drive interfaces
# | Board model | Brand manufacturer | Line end model | Brand manufacturer |
---|---|---|---|---|
1 | XT30PB(2+2)-M.G.B | AMASS (AMS) | XT30(2+2)-F.G.B | AMASS (AMS) |
2 | 2.0mm-2P female | / | 2.0mm-2P male | / |
3 | 2.54mm-4P female | / | 2.54mm-4P male | / |
2.2.3 Driver interface pin definition
Power supply and CAN communication port
CAN communication test pad
Download port
# | Interface function | PIN | Description |
---|---|---|---|
1 | Power and CAN communication | 1 | Power supply positive (+) |
2 | Negative pole of power supply (-) | ||
3 | CAN communication low side CAN_L | ||
4 | CAN communication high side CAN_H | ||
2 | CAN communication test point | 1 | CAN communication low side CAN_L |
2 | CAN communication high side CAN_H | ||
3 | Download port | 1 | SWDIO(data) |
2 | SWCLK(clock) | ||
3 | 3V3 (positive 3.3V) | ||
4 | GND (negative ground) |
Blue signal light and red power indicator light
Indicator light definition
Power indicator light (red light when on) | The power indicator light is used to indicate the MCU 3.3V power supply. When the total power input is 24V, the light turns red, which proves that the entire network is powered normally. If the power supply is 24V, the indicator light does not light up and the power needs to be cut off immediately |
Signal indicator light (blue light when on) | When the signal light flashes, it proves that the MCU is running normally and the driver chip is running normally |
# | Component type | Model | Quantity |
---|---|---|---|
1 | MCU chip | GD32F303RET6 | 1 PCS |
2 | Driver chip | 6EDL7141 | 1 PCS |
3 | Magnetic encoder chip | AS5047P | 1 PCS |
4 | Thermistor | NXFT15XH103FEAB021/NCP18XH103F03RB | 2 PCS |
5 | Power MOS | JMGG031V06A | 6 PCS |
3.1 Hardware configuration
The joint motor uses CAN communication. There are two communication lines, which are connected to the debugger through a can-to-USB tool. The debugger needs to install the ch340 driver in advance and works in AT mode by default.
It should be noted that we developed the debugger based on a specific can to USB tool, so we need to use our recommended serial port tool for debugging. If you want to port it to other debugger platforms, you can refer to Chapter 3 of the manual. development.
The can to USB tool recommends using YourCee's USB-CAN module. The frame header corresponding to the serial port protocol is 41 54 and the frame tail is 0D 0A.
3.2 Debugger interface and description
mainly include:
Device module
Configuration module
Analysis module
Help module
Connect or disconnect electrical equipment
Motor equipment information
Motor encoder calibration
Modify motor CAN ID
Set the mechanical zero position of the motor
Motor program upgrade
Parameter table, you can view and modify motor parameters
Upload parameters, you can upload the parameters in the motor to the parameter table
Download parameters, you can download the data in the parameter table to the motor
Export parameters, you can download the data in the parameter table to the local
Factory reset, you can restore the data in the parameter table to factory settings.
Clear warning, you can clear motor errors, such as excessive temperature, etc.
Oscilloscope to view parameter changes over time
Frequency, you can adjust the frequency of viewing data
Channel, you can configure the data to be viewed
Start and stop drawing
Output waveform data to local
Instructions for use, you can open the instruction manual
About, you can view software information
Device Information
Parameter table information
Log information
Communication information
Select device
Convenient operation area, you can quickly control the forward and reverse rotation of the motor
Motion control area, which can control the motor to operate in various modes
Connect the can to USB tool (install ch340 driver, work in AT mode by default), select the device module, click the connection submodule, and select the corresponding serial port connection.
Modify the motor ID number.
Motor magnetic braiding calibration, reinstalling the motor board and motor, or reconnecting the motor wires in a different order, etc. require re-magnetic braiding calibration.
Set the zero position (lost in case of power failure) and set the current position to 0.
Motor program upgrade. When the motor program is updated, click the upgrade button to select the upgrade file to upgrade.
After successfully connecting the motor, click the parameter table module in the configuration module, and all parameters will be displayed in the log. The loading is successful, indicating that the relevant parameters of the motor have been successfully read (Note: the parameter table needs to be in the standby state of the motor. Configure in the state, if the motor is in the running state, the parameter table cannot be refreshed) The interface will display the electrical Relevant parameters of the motor. The blue parameters are the internal storage parameters of the motor. They can be found directly after the corresponding parameters. Modify the previous value column. Click Download Parameters to download the parameters in the debugger to the motor. Click Upload. Parameters can upload the parameters in the motor to the debugger. The green parameters of the motor are observed parameters, which are The collected parameters can be observed in real time. Note: Please do not change the motor's torque limit, protection temperature, and over-temperature time at will. Due to illegal operation of this book If the product causes harm to the human body or irreversible damage to joints, our company will not be held liable for any legal consequences. legal responsibility.
Parameters Table
Function code | Name | Parameter Type | Attributes | Maximum value | Minimum value | Current value (for reference) | Remark |
---|---|---|---|---|---|---|---|
0x0000 | Name | String | read/write | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ | |||
0x0001 | BarCode | String | read/write | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ | |||
0x1000 | BootCodeVersion | String | read only | 0.1.5 | |||
0x1001 | BootBuildDate | String | read only | Mar 16 2022 | |||
0x1002 | BootBuildTime | String | read only | 20:22:09 | |||
0x1003 | AppCodeVersion | String | read only | 0.1.5 | Motor program version number | ||
0x1004 | AppGitVersion | String | read only | 7b844b0fM | |||
0x1005 | AppBuildDate | String | read only | Apr 14 2022 | |||
0x1006 | AppBuildTime | String | read only | 20:30:22 | |||
0x1007 | AppCodeName | String | read only | dog_motor | |||
0x2000 | echoPara1 | uint16 | Configuration | 74 | 5 | 5 | |
0x2001 | echoPara2 | uint16 | Configuration | 74 | 5 | 5 | |
0x2002 | echoPara3 | uint16 | Configuration | 74 | 5 | 5 | |
0x2003 | echoPara4 | uint16 | Configuration | 74 | 5 | 5 | |
0x2004 | echoFreHz | uint32 | read/write | 10000 | 1 | 500 | |
0x2005 | MechOffset | float | set up | 7 | -7 | 4.619583 | Motor magnetic encoder angle offset |
0x2006 | MechPos_init | float | read/write | 50 | -50 | 4.52 | Reference angle during initial multi-turn |
0x2007 | limit_torque | float | read/write | 12 | 0 | 12 | Torque limit |
0x2008 | I_FW_MAX | float | read/write | 33 | 0 | 0 | Field weakening current value, default 0 |
0x2009 | motor_index | uint8 | set up | 20 | 0 | 1 | Motor index, marks the motor joint position |
0X200a | CAN_ID | uint8 | set up | 127 | 0 | 1 | This node id |
0x200b | CAN_MASTER | uint8 | set up | 127 | 0 | 0 | can host id |
0x200c | CAN_TIMEOUT | uint32 | read/write | 100000 | 0 | 0 | can timeout threshold, default 0 |
0x200d | motorOverTemp | int16 | read/write | 1500 | 0 | 800 | Motor protection temperature value, temp (degree) *10 |
0x200e | overTempTime | uint32 | read/write | 1000000 | 1000 | 20000 | Overtemperature time |
0x200f | GearRatio | float | read/write | 64 | 1 | 7.75 | Transmission ratio |
0x2010 | Tq_caliType | uint8 | read/write | 1 | 0 | 1 | Torque calibration method setting |
0x2011 | cur_filt_gain | float | read/write | 1 | 0 | 0.9 | Current filter parameters |
0x2012 | cur_kp | float | read/write | 200 | 0 | 0.025 | Current kp |
0x2013 | cur_ki | float | read/write | 200 | 0 | 0.0258 | electric current ki |
0x2014 | spd_kp | float | read/write | 200 | 0 | 2 | Speed kp |
0x2015 | spd_ki | float | read/write | 200 | 0 | 0.021 | speed ki |
0x2016 | loc_kp | float | read/write | 200 | 0 | 30 | Location kp |
0x2017 | spd_filt_gain | float | read/write | 1 | 0 | 0.1 | Speed filter parameters |
0x2018 | limit_spd | float | read/write | 200 | 0 | 2 | Position mode speed limit |
0x2019 | limit_cur | float | read/write | 23 | 0 | 23 | Position, speed mode current limit |
0x3000 | timeUse0 | uint16 | read only (computing) | 5 | |||
0x3001 | timeUse1 | uint16 | read only (computing) | 0 | |||
0x3002 | timeUse2 | uint16 | read only (computing) | 10 | |||
0x3003 | timeUse3 | uint16 | read only (computing) | 0 | |||
0x3004 | encoderRaw | uint16 | read only (computing) | 11396 | Magnetic Encoder Sample Value | ||
0x3005 | mcuTemp | int16 | read only (computing) | 337 | mcu internal temperature *10 | ||
0x3006 | motorTemp | int16 | read only (computing) | 333 | motor ntc temperature *10 | ||
0x3007 | vBus(mv) | uint16 | read only (computing) | 24195 | busbar voltage | ||
0x3008 | adc1Offset | int32 | read only (computing) | 2084 | adc Sampling Channel 1 Zero current bias | ||
0x3009 | adc2Offset | int32 | read only (computing) | 2084 | adc sample channel 2 zero current bias | ||
0x300a | adc1Raw | uint16 | read only (computing) | 1232 | adc Sampling value 1 | ||
0x300b | adc2Raw | uint16 | read only (computing) | 1212 | adc Sampling value 2 | ||
0x300c | VBUS | float | read only (computing) | 24.195 | Busbar voltage V | ||
0x300d | cmdId | float | read only (computing) | 0 | id ring command, A | ||
0x300e | cmdIq | float | read only (computing) | 0 | iq ring command, A | ||
0x300f | cmdlocref | float | read only (computing) | 0 | Position loop command, rad | ||
0x3010 | cmdspdref | float | read only (computing) | 0 | Velocity loop command, rad/s | ||
0x3011 | cmdTorque | float | read only (computing) | 0 | Torque command, nm | ||
0x3012 | cmdPos | float | read only (computing) | 0 | mit Protocol Angle Command | ||
0x3013 | cmdVel | float | read only (computing) | 0 | mit protocol speed indicator virtuous | ||
0x3014 | rotation | int16 | read only (computing) | 1 | number of laps | ||
0x3015 | modPos | float | read only (computing) | 4.363409 | Motor uncalculated mechanical angle, rad | ||
0x3016 | mechPos | float | read only (computing) | 0.777679 | Load-side Loop Counting Machinery Angle, rad | ||
0x3017 | mechVel | float | read only (computing) | 0.036618 | load-side steering Speed, rad/s | ||
0x3018 | elecPos | float | read only (computing) | 4.714761 | Electrical angle | ||
0x3019 | ia | float | read only (computing) | 0 | U line current, A | ||
0x301a | ib | float | read only (computing) | 0 | V line current, A | ||
0x301b | ic | float | read only (computing) | 0 | W line current, A | ||
0x301c | tick | uint32 | read only (computing) | 31600 | |||
0x301d | phaseOrder | uint8 | read only (computing) | 0 | Calibration direction markers | ||
0x301e | iqf | float | read only (computing) | 0 | iq Filter value, A | ||
0x301f | boardTemp | int16 | read only (computing) | 359 | Temperature on board, *10 | ||
0x3020 | iq | float | read only (computing) | 0 | iq original value, A | ||
0x3021 | id | float | read only (computing) | 0 | id Original value, A | ||
0x3022 | faultSta | uint32 | read only (computing) | 0 | Fault status value | ||
0X3023 | warnSta | uint32 | read only (computing) | 0 | Warning status value | ||
0x3024 | drv_fault | uint16 | read only (computing) | 0 | Driver Chip Fault Value | ||
0x3025 | drv_temp | int16 | read only (computing) | 48 | Driver Chip Temperature value, degree | ||
0x3026 | Uq | float | read only (computing) | 0 | q Axis voltage | ||
0x3027 | Ud | float | read only (computing) | 0 | d Axis voltage | ||
0x3028 | dtc_u | float | read only (computing) | 0 | U-phase output duty cycle | ||
0x3029 | dtc_v | float | read only (computing) | 0 | V Phase Output Duty Cycle | ||
0x302a | dtc_w | float | read only (computing) | 0 | W Phase Output Duty Cycle | ||
0x302b | v_bus | float | read only (computing) | 24.195 | vbus in closed loop | ||
0x302c | v_ref | float | read only (computing) | 0 | Closed-loop vq,vd synthesis input voltage | ||
0x302d | torque_fdb | float | read only (computing) | 0 | Torque feedback value, nm | ||
0x302e | rated_i | float | read only (computing) | 8 | Motor rated current | ||
0x302f | limit_i | float | read only (computing) | 27 | Motor maximum current limit |
3.3.4 Oscilloscope
This interface supports viewing and observing the graph generated by real-time data. The observable data includes motor Id/Iq current, temperature, output real-time speed, rotor (encoder) position, output position, etc. Click the oscilloscope module in the analysis module, select the appropriate parameters in the channel (for parameter meanings, please refer to 3.3.3), set the output frequency and click Start Drawing to observe the data spectrum, stop drawing to stop observing the spectrum.
3.4 Control demo
jog run: Set the maximum speed, click Run, and then click JOG to run the motor in forward and reverse directions.
Control mode switching: The motor control mode can be converted on the motion mode interface.
Click the switch button on the right, and the motor will slowly return to the mechanical zero position.
Click the switch button on the right, then set the five parameter values, click Start or Continuous Send, the motor will return to the feedback frame and run according to the target instruction; click the switch button on the right again and the motor will stop.
Manually switch the current mode, click the switch button on the right, and then set the Iq current command value, start or send continuously, the motor will follow the current command, click the switch button on the right again, the motor will stop. Click the switch button on the right side of the control mode, enter the amplitude and frequency of the sinusoidal automatic test, and then click Click the switch button on the right side of the sine automatic test, and the motor's iq (A) will run according to the set amplitude and frequency.
Manually switch to speed mode, click the switch button on the right, and then set the speed command value (-30~30rad/s), start or send continuously, the motor will follow the speed command, click the switch button on the right again, the motor will stop.
Manually switch the position mode, click the switch button on the right, then set the position command value (rad), start or send continuously, the motor will follow the target position command, click the switch button on the right again, the motor will stop. You can modify the maximum speed of position following by setting the speed. Click the switch button on the right side of the control mode, enter the amplitude and frequency of the sine-based automatic test, and then click the switch button on the right side of the sine-based automatic test. The motor position (rad) will run according to the set amplitude and frequency.
The first step is to click the upgrade of the device module and select the bin file to be burned; the second step is to confirm the upgrade and the motor will start to update the firmware. After the progress is completed, the motor update will be completed and it will restart automatically.
Motor communication is CAN 2.0 communication interface, with a baud rate of 1Mbps and an extended frame format, as shown
Data field | 29-bit ID | 8 Byte data area | ||
---|---|---|---|---|
Size | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | Communication type | Data area 2 | Target address | Data area 1 |
The control modes supported by the motor include:
Operation control mode: given 5 parameters for motor operation control;
Current mode: given the specified Iq current of the motor;
Speed mode: given the specified operating speed of the motor;
Position mode: Given a specified position of the motor, the motor will run to the specified position;
4.1.1 Get device ID (communication type 0); Get the device's ID and 64-bit MCU unique identifier
Request frame:
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 0 | Bit 15 ~ 8: Host CAN_ID | Motor CAN_ID | 0 |
Response frame:
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 0 | Motor CAN_ID | 0xFE | 64-bit MCU unique identifier |
4.1.2 Motor control instructions (communication type 1) in operation control mode are used to send control instructions to the motor.
Request frame:
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 1 | Byte 2: Torque (0 ~ 65535) corresponding to (- 12Nm ~ 12Nm) | Motor CAN_ID | Byte 0 ~ 1: Target angle [0 ~ 65535] corresponding to (-4π ~ 4π) Byte 2 ~ 3: Target angular velocity [0 ~ 65535] corresponds to (- 30rad/s ~ 30rad/s) Byte 4 ~ 5: Kp [0 ~ 65535] corresponds to (0.0 ~ 500.0) Byte 6 ~ 7: Kd [0 ~ 65535] corresponds to (0.0 ~ 5.0) |
Response frame: Reply motor feedback frame (see communication type 2)
4.1.3 Motor feedback data (communication type 2) is used to feedback the motor operating status to the host
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 2 | Bit 8 ~ 15: Motor CAN ID Bit 21 ~ 16: Fault information (0 - No, 1 - Yes) Bit 21: not calibrated Bit 20: HALL encoding failure Bit 19: Magnetic encoding failure Bit 18: over temperature Bit 17: overcurrent Bit 16: Undervoltage fault Bit 22 ~ 23: mode status: 0: Reset mode [reset] 1: Cali mode [Calibration] 2: Motor mode [Run] | Host CAN_ID | Byte 0 ~ 1: Current angle [0 ~ 65535] corresponds to (-4π ~ 4π) Byte 2 ~ 3: Current angular velocity [0 ~ 65535] corresponds to (-30rad/s ~ 30rad/s) Byte 4 ~ 5: Current torque [0 ~ 65535] corresponds to (-12Nm ~ 12Nm) Byte 6 ~ 7: Current temperature: Temp (degrees Celsius) )*10 |
4.1.4 Motor enable operation (communication type 3)
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 3 | Bit 15 ~ 8: Host CAN_ID | Motor CAN_ID |
Reply frame: Reply motor feedback frame (see communication type 2)
4.1.5 Motor stopped (communication type 4)
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 4 | Bit 15 ~ 8: Host CAN_ID | Motor CAN_ID | During normal operation, the data area needs to be cleared to 0; When Byte[0]=1: Clear fault; |
Reply frame: Reply motor feedback frame (see communication type 2)
4.1.6 Setting the mechanical zero position of the motor (communication type 6) will set the current motor position to the mechanical zero position (lost after power failure)
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 6 | Bit 15 ~ 8: Host CAN_ID | Motor CAN_ID | Byte[0]=1 |
Reply frame: Reply motor feedback frame (see communication type 2)
4.1.7 Set motor CAN_ID (communication type 7) to change the current motor CAN_ID, which will take effect immediately.
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 7 | Bit 15 ~ 8: Host CAN_ID Bit 16 ~ 23: New motor CAN_ID | Motor CAN_ID | Byte[0]=1 |
Reply frame: Reply motor broadcast frame (see communication type 0)
4.1.8 Single parameter reading (communication type 17)
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 17 | Bit 15 ~ 8: Host CAN_ID | Motor CAN_ID | Byte 0 ~ 1: index, see 4.1.11 for parameter list Byte 2 ~ 3: 00 Byte 4 ~ 7: 00 |
Response frame:
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 17 | Bit 15 ~ 8: Motor CAN_ID | Host CAN_ID | Byte 0 ~ 1: index, for parameter list, see 4.1.11 Byte 2 ~ 3: 00 Byte 4 ~ 7: parameter data, 1 byte data is in Byte 4 |
4.1.9 Single parameter writing (communication type 18) (lost after power failure)
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 18 | Bit 15 ~ 8: Host CAN_ID | Motor CAN_ID | Byte 0 ~ 1: index, see 4.1.11 for parameter list details Byte 2 ~ 3: 00 Byte 4 ~ 7: parameter data |
Reply frame: Reply motor feedback frame (see communication type 2)
4.1.10 Fault feedback frame (communication type 21)
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 21 | Bit 15 ~ 8: Host CAN_ID | Motor CAN_ID | Byte 0 ~ 3: fault value (not 0: fault, 0: normal) Bit 16: A phase current sampling overcurrent Bit 15 ~ 8: overload fault Bit 7: encoder not calibrated Bit 5: C phase current sampling overcurrent Bit 4: B phase current sampling overcurrent bit3: overvoltage fault Bit 2: under-voltage fault bit1: driver chip fault bit0: motor over-temperature fault, default 80 degrees Byte 4 ~ 7: warning value Bit 0: motor over-temperature warning, default 75 degrees |
4.1.11 Baud rate modification (communication type 22) (version 1.2.1.5 can be modified, please refer to the document process to modify it carefully. Operation errors may cause problems such as being unable to connect to the motor and being unable to upgrade)
Data field | 29-bit ID | 8 byte data area | ||
---|---|---|---|---|
Position | Bit 28 ~ 24 | Bit 23 ~ 8 | Bit 7 ~ 0 | Byte 0 ~ 7 |
Description | 22 | Bit 15 ~ 8: Host CAN_ID | Motor CAN_ID | Byte0: Motor baud rate 1: 1Mbps 2: 500kbps 3: 250kbps 4: 125kbps |
Reply frame: Reply motor broadcast frame (see communication type 0)
4.1.12 Readable and writable single parameter list (7019-7020 is readable by firmware version 1.2.1.5)
Parameter index | parameter name | describe | type | Number of bytes | Possible values | Permission |
---|---|---|---|---|---|---|
0x7005 | run_mode | 0: Operation control mode 1: Position mode 2: Speed mode 3: Current mode | uint8 | 1 | W/R | |
0x7006 | iq_ref | Current Mode Iq Command | float | 4 | -23 ~ 23A | W/R |
0x700A | spd_ref | Speed mode speed command | float | 4 | -30 ~ 30rad/s | W/R |
0x700B | limit_torque | Torque limit | float | 4 | 0~12Nm | W/R |
0x7010 | cur_kp | Kp of current | float | 4 | Default value 0.125 | W/R |
0x7011 | cur_ki | Current Ki | float | 4 | Default value 0.0158 | W/R |
0x7014 | cur_filt_gain | Current filter coefficient filt_gain | float | 4 | 0~1.0, default value W/R 0.1 | W/R |
0x7016 | loc_ref | Position mode angle command | float | 4 | rad | W/R |
0x7017 | limit_spd | Position mode speed limit | float | 4 | 0 ~ 30rad/s | W/R |
0x7018 | limit_cur | Speed Position Mode Current Limit | float | 4 | 0 ~ 23A | W/R |
0x7019 | mechPos | Load end lap counting mechanical angle | float | 4 | rad | R |
0x701A | iqf | iq filter value | float | 4 | -23 ~ 23A | R |
0x701B | mechVel | Load end speed | float | 4 | -30 ~ 30rad/s | R |
0x701C | VBUS | bus voltage | float | 4 | V | R |
0x701D | rotation | Number of turns | int16 | 2 | Number of turns | W/R |
0x701E | loc_kp | kp of position | float | 4 | Default value 30 | W/R |
0x701F | spd_kp | Speed in kp | float | 4 | Default value 1 | W/R |
0x7020 | spd_ki | Speed of ki | float | 4 | Default value 0.002 | W/R |
4.2 Instructions for use of control mode
4.2.1 Program sample
The following provides examples of controlling motors in various modes (taking gd32f303 as an example). The following calls libraries, functions and macro definitions for various examples.
Common communication types are listed below:
Motor enable running frame (communication type 3)
Operation control mode motor control instructions (communication type 1)
Motor stop running frame (communication type 4)
Motor mode parameter write command (communication type 18, operating mode switching)
Motor mode parameter write command (communication type 18, control parameter write)
4.2.2 Operation control mode
After the motor is powered on, it is in the operation control mode by default; Send motor enable running frame (communication type 3) --> Send operation control mode motor control command (communication type 1) --> Receive motor feedback frame (communication type 2)
4.2.3 Current mode
Send the motor mode parameter write command (communication type 18) and set the runmode parameter to 3 ---> Send the motor enable run frame (communication type 3) --> Send the motor mode parameter write command (communication type 18) and set the iq_ref parameter is the preset current command
4.2.4 Speed mode
Send the motor mode parameter write command (communication type 18) and set the runmode parameter to 2 ---> Send the motor enable run frame (communication type 3) --> Send the motor mode parameter write command (communication type 18) and set the limit_cur parameter For the preset maximum current command --> Send motor mode parameter write command (communication type 18) to set the spd_ref parameter to the preset speed command
4.2.5 Location mode
Send the motor mode parameter write command (communication type 18) and set the runmode parameter to 1 --> Send the motor enable run frame (communication type 3) --> Send the motor mode parameter write command (communication type 18) and set the limit_spd parameter to Preset maximum speed command --> Send motor mode parameter write command (communication type 18) to set the loc_ref parameter to the preset position command
4.2.6 Stop operation
Send motor stop frame (communication type 4)