• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

MG996R 360°舵机的使用

武飞扬头像
弱弱的嵌入式小白
帮助2

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

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgccfie
系列文章
更多 icon
同类精品
更多 icon
继续加载