【SG90】舵机-51单片机程序分析

视频讲解

简介

SG90 是一种常见的微型伺服电机(Servo Motor),广泛应用于机器人、遥控模型、自动化设备等领域。

 

【SG90】舵机-51单片机程序分析

SG90 是一种小型伺服电机,尺寸通常为 22.2mm x 11.8mm x 29.2mm。
重量约为 9 克,非常轻便,适合用于小型机器人或模型。

工作电压范围为 4.8V 至 6V,通常使用 5V 电源供电。

在 4.8V 电压下,SG90 的扭矩约为 1.6kg·cm。
在 6V 电压下,扭矩约为 1.8kg·cm。

SG90 通常有三个接口:

  • 电源接口(VCC 和 GND):用于连接电源。
  • 信号接口(Signal):用于接收控制信号。

SG90 的旋转角度通常为 0° 至 180°,可以通过控制信号精确控制。

SG90 使用 PWM(脉宽调制)信号进行控制。
标准的 PWM 信号周期为 20ms,脉宽在 0.5ms 至 2.5ms 之间变化,对应 0° 至 180° 的旋转角度。

也就是说在20ms的PWM周期中,我们给出0.5ms的高电平占空比,就可以控制舵机转动到0°,给出2.5ms的高电平占空比,舵机转动至180°,其中高电平占空比与舵机的角度是呈线性关系的,由于51单片机通常采用的是11.0592MHZ的晶振,所产生的1us定时器中断误差过大,不满足控制舵机的条件,所以我们退而求其次,产生500us的定时器中断来产生PWM波形,那么我们可以控制舵机的角度分辨率为45°,一共可以控制舵机转动五个档位:0°、45°、90°、135°、180°。

软件流程图

【SG90】舵机-51单片机程序分析

程序分析

Time.c

包含头文件
**********************************/
#include "Time.h"


/**********************************
变量定义
**********************************/
extern uint PWM_NUM;
/**********************************
函数定义
**********************************/
/****
*******定时器0初使化函数
*****/	
void Timer0Init()						//500us
{
	AUXR &= 0x7F;			//定时器时钟12T模式
	TMOD &= 0xF0;			//设置定时器模式
	TL0 = 0x98;				//设置定时初始值
	TH0 = 0xF1;				//设置定时初始值
	TF0 = 0;				//清除TF0标志
	TR0 = 1;				//定时器0开始计时
	ET0 = 1;				//使能定时器0中断
	EA = 1;
}

/****
*******T0计时中断函数
*****/
void Timer0() interrupt 1
{
	static uint PWM;
	
	TL0 = 0x98;				//设置定时初始值
	TH0 = 0xF1;				//设置定时初始值
	
	PWM++;
	if(PWM >= 40)
		PWM = 0;
	
	if(PWM < PWM_NUM)
		SG90 = 1;
	else
		SG90 = 0;
}

Time.h

#ifndef _TIME_H_
#define _TIME_H_

/**********************************
包含头文件
**********************************/
#include "main.h"
/**********************************
引脚定义
**********************************/

sbit SG90 = P3^3;
/**********************************
函数声明
**********************************/
void Timer0Init();									//定时器0初使化函数

#endif


 

下载权限
查看
  • 免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索