K_A09_008 基于 STM32等单片机驱动SG90/MG90S舵机按键控制正反转

实物参考链接 直戳跳转

一、资源说明

二、基本参数

参数

型号:SG90  

重量13克 角度90度-180度通用

红色电压  粽色 地线  橙色是信号线

技术数据:
尺寸:21.5mmX11.8mmX22.7mm
重量:9克
无负载速度:0.12秒/60度(4.8V)
堵转扭矩:1.2-1.4公斤/厘米(4.8V)
使用温度:-30~~+60摄氏度
死区设定:7微秒
工作电压:4.8V-6V

型号:MSG90

产品名称:MG90 14g 数字舵机

产品净重: 13.4g

产品尺寸: 22.8*12.2*28.5mm

产品扭矩: 1.8kg/cm(4.8v) 2.2kg/cm(6.0v)

反应速度: 0.10sec/60degree(4.8v) 0.08sec/60degree(6.0v)

工作电压: 4.8V-6V

使用温度: 0-55度

动作死区: 5us

齿轮介质: 塑料

引脚说明

三、驱动说明

MSG90 舵机与SG90舵机驱动方式类似

SG90舵机 信号线(黄线)红线(电源线)棕色(地线)

舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2. 5ms范围内的角度控制脉冲部分,总间隔为2ms。

以180度角度伺服为例,那么对应的 控制关系是这样的:

0.5ms————–0度; 1.0ms————45度;

1.5ms————90度; 2.0ms———–135度;

2.5ms———–180度;

SG90/MSG90 舵机

对应程序: 以下以STC89C52RC程序为例 定时器产生周期20MS PWM波形

void tim0() interrupt 1
{
	TL0 = 0xA4;		//设置定时初值
	TH0 = 0xFF;		//设置定时初值  0.1ms
 
	times++;
	if(times<=Duty)
	{
	   Pwm=1;
	}
	else
	{
	   Pwm=0;
	} 
	if(times>=Period)
	{
	   times=0;
	}
}

占空比由Duty决定 改变Duty则占空比改变 次处STC89C52RC用的晶振11.0592 故定时有误差

uint8_t Duty=5;    //大概600US

四、部分代码说明

接线说明

需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改

STC89C52RC+MSG90 SG90舵机

//MSG90 SG90引脚定义
 
sbit Pwm=P1^0;
 
//按键引脚定义
 
sbit K1=P1^1;
 
sbit K2=P1^2;

STM32F103C8T6+MSG90 SG90舵机

//MSG90 SG90引脚定义
 
// TIM3 输出比较通道1
 
#define            GENERAL_TIM_CH1_GPIO_CLK      RCC_APB2Periph_GPIOA
 
#define            GENERAL_TIM_CH1_PORT          GPIOA
 
#define            GENERAL_TIM_CH1_PIN           GPIO_Pin_6
 
//按键引脚定义
 
#define K_Forward     GPIO_Pin_6 //舵机正转按键 GPIOB_Pin_6 0x0040
 
#define K_Reverse      GPIO_Pin_7 //舵机反转按键   GPIOB_Pin_7 0x0080

五、基础知识学习

STC89C52RC程序下载 直戳跳转

STM32F103C8T6程序下载

1、串口下载  直戳跳转

2、ST-LINK下载  直戳跳转

3、J-LINK下载  直戳跳转

4、DAP-LINK下载  直戳跳转

六、视频效果展示与程序资料获取

演示视频连接 直戳跳转
资料获取 直戳跳转

实物参考链接 直戳跳转

七、注意事项

1、VCC GND请勿接反,接反易烧

2、异常时,排除接线接触不良

3、单片机与模块需要共地接线

4、STC89C52RC驱动MSG90舵机建议单独供电并IO口需要4.7K左右电阻上拉

八、接线说明

可参考程序main.c最上面接线说明


深圳市咱们电子科技有限公司