MG996R 360°舵机的使用
MG996R的介绍
360°的舵机不能控制角度,只能控制转动方向和速度,一般正反转都有五个速度。其与直流电机类似,区别在于转速不能连续可调但更加稳定。
-
接线方法:
棕色:GND,与单片机共地
红色:VCC(4.8V—7.2V),除测试不建议直接取单片机5V
黄色:PWM(脉冲方波)输入管脚 -
控制方法
代码说明
采用通用定时器的PWM输出控制舵机,周期为20ms,通过改变占空比改变方向和转速。以定时器3的通道一为例。
-
图形配置
-
重要语句
开启PWM中断HAL_TIM_PWM_Start_IT(&htim3, TIM_CHANNEL_1);
改变占空比__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,Pulse);
-
代码
改变方向和转速的函数
void Turn_Speed_Cro(uint16_t direc,uint16_t speed)
{
if(direc==Dire_Right)
{
switch(speed)
{
case 5:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,1000);break;
case 4:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,1100);break;
case 3:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,1200);break;
case 2:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,1300);break;
case 1:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,1400);break;
case 0:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,1500);break;
}
}
else
{
switch(speed)
{
case 1:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,1600);break;
case 2:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,1700);break;
case 3:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,1800);break;
case 4:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,1900);break;
case 5:__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,2000);break;
}
}
}
1~5为依次增大的转速,0为停止
中断回调函数
void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim)
{
Turn_Speed_Cro(Dire_Right,0);
n++;
}
声明和宏定义文章来源:https://www.toymoban.com/news/detail-642974.html
#define Dire_Right 1//方向为顺时针
#define Dire_Left 2//方向为逆时针
参考文档:https://blog.csdn.net/luoxianfadde/article/details/124534646文章来源地址https://www.toymoban.com/news/detail-642974.html
到了这里,关于MG996R 360°舵机的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!