手把手教你驱动大疆RoboMaster C615电调
通过查阅各种资料掌握了通过C615电调让大疆Snail电机转起来的方法,在此尽可能详细地记录过程备查。
STM32 Cube MX部分
由于使用的是A型板,在Cube中选择STM32F427IIHx这款MCU,双击打开新工程。
Pinout & Configuration页
在System Core -> RCC
中,将High Speed Clock
与Low Speed Clock
设置为Crystal
开头的那一项;

在Timers -> Tim1
中,将Clock Source
设置为Internal Clock
,将Channel 1
设置为PWM Generation CH1
,将下方设置中的Prescaler
设置为167
,Counter Period
设置为1999
,数值的原理请参阅文末的参考链接。

Clock Configuration页
将HSE
左侧的Input Frequency
设为12
,右侧的单选按钮组选中HSE
,再右侧的/M
下拉框选择/6
,再右侧的System Clock Mux
单选按钮组选中PLLCLK
,再右侧的HCLK
设为168
并按回车,Cube会自动调整其他值。

代码部分
生成工程后,在main.c的User Code Begin 2后面加上:
1 | HAL_TIM_PWM_Start(&htim1, TIM_CHANNEL_1); |
在while块中加入:
1 | __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, 1200); |

硬件连接
由于前面选择的是Tim1,所以将电调连接在如图所示的位置:

重启设备,电机发出与报错声不同的声音表示开机成功。三秒之后开始转动。要停下只需拔掉电机电源(关闭A型板会导致电机急停,若固定不牢会乱飞)。
Be the first person to leave a comment!