MG996R 360°舵机使用指南

MG996R 360°舵机的使用

MG996R的介绍

360°的舵机不能控制角度,只能控制转动方向和速度,一般正反转都有五个速度。其与直流电机类似,区别在于转速不能连续可调但更加稳定。

  1. 接线方法
    棕色:GND,与单片机共地
    红色:VCC(4.8V—7.2V),除测试不建议直接取单片机5V
    黄色:PWM(脉冲方波)输入管脚
  2. 控制方法

代码说明

采用通用定时器的PWM输出控制舵机,周期为20ms,通过改变占空比改变方向和转速。以定时器3的通道一为例。

  1. 图形配置

  2. 重要语句
    开启PWM中断
    HAL_TIM_PWM_Start_IT(&htim3, TIM_CHANNEL_1);
    改变占空比
    __HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_1,Pulse);

  3. 代码
    改变方向和转速的函数

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++;

}

声明和宏定义

#define Dire_Right 1//方向为顺时针
#define Dire_Left 2//方向为逆时针

参考文档:https://blog.csdn.net/luoxianfadde/article/details/124534646

物联沃分享整理
物联沃-IOTWORD物联网 » MG996R 360°舵机使用指南

发表评论