基于51单片机的舵机控制(PWM)

这篇具有很好参考价值的文章主要介绍了基于51单片机的舵机控制(PWM)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.舵机介绍

舵机是一种位置伺服的驱动器,常被用于遥控汽车、机器人等领域,结构主要包括小型直流电机、变速齿轮组、可调电位器和控制电路板四个部分,如下图,舵机的外部一般接有三根线,分别是黑(接地线)、红(电源线)、棕(白或者黄,信号线)三种颜色进行区分。
51单片机控制舵机,单片机,单片机
51单片机控制舵机,单片机,单片机

2.舵机工作原理

2.1-基准信号

舵机的内部有一个基准电路,可以产生周期为20ms且宽度为1.5ms的基准信号,由信号发生器或者单片机发出信号,舵机内部电路则将获得的直流偏置电压与电位器的电压进行比较,获得一个电压差输出,然后经由舵机内部电路板上的IC来判断转动方向,之后驱动马达转动,通过减速齿轮组将动力输出至摆臂,同时由位置检测器送回信号,判断是否已经到达指定位置。

2.2-转动角度

舵机的转动角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的标准PWM信号的周期固定为20ms,频率50Hz,以常见的9g舵机为例,脉宽在0.5ms和2.5ms之间调节就对应着舵机转角的0°~180°,如下图:
51单片机控制舵机,单片机,单片机
对应关系如下:
51单片机控制舵机,单片机,单片机
51单片机控制舵机,单片机,单片机

3.PWM的实现

void Timer0_Init()//定时器0初始化
{
	TMOD = 0X01;    //设置定时器模式
	TH0 = (65536-500)/256;  //设置定时器初值
	TL0 = (65536-500)%256;
	ET0 = 1;        //允许定时器0中断
	TR0 = 1;        //启动定时器0
	EA  = 1;        //打开总中断
}

void Timer0_Int() interrupt 1//定时器0的中断服务函数
{
	TR0 = 0; //关闭定时器0
	TH0 = (65536-500)/256;  //设置定时器初值
	TL0 = (65536-500)%256;
	counter++;
	if(counter >= 40)   //20ms到了
	{
		counter = 0;
	}
	if(counter < angle)
	{ 
		Pwm_val = 1; 
	}
	else 
	{
		Pwm_val = 0;
	}
	TR0 = 1; //启动定时器0
}

4.实物结果展示

基于51单片机的舵机控制

5.资料分享

单片机+舵机+PWM+独立按键文章来源地址https://www.toymoban.com/news/detail-599513.html

到了这里,关于基于51单片机的舵机控制(PWM)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Proteus基于51单片机通过PWM脉冲调制控制电机转速_按键与串口控制转速_电机转速可测

    临近期末,学校的单片机课程需要做课程设计,主要内容是基于51单片机的可调速电机,具体要求如下,在此记录一下具体的一个解题方案。 要求利用单片机输出PWM波形,通过改变占空比,改变电枢两端电压的平均值,从而改变电动机的转速 通过按键进行手动速度调整(速度

    2023年04月14日
    浏览(56)
  • C51单片机定时器2实现SG90舵机控制

    谈起舵机最初的了解应用于航模,偶然的机会在网上看到有牛人使用多个舵机做人形机器人的关节,感觉这小东西很有趣,蒙发了买来学习学习的想法,这已经是多年前的事了,后来由于某些原因,这个想法直到今年才落地。小东西到手后,把玩了解后,本人把学习过程记录

    2023年04月24日
    浏览(43)
  • 【STM32单片机】STM32控制SG90舵机的PWM部分参数的设置解答

    我们要知道,SG90舵机接收的PWM信号的参数:f=50Hz,T=1/f,所以周期为20ms。 当高电平的脉宽在0.5ms-2.5ms之间时舵机就可以对应旋转到不同的角度。 换句话说,我们要用单片机产生一个 周期(20ms) 的PWM波,然后获得对应这些时长(分别是 0.5ms 、 1ms 、 1.5ms 、 2ms 、 2.5ms )的 高电

    2024年02月13日
    浏览(43)
  • 基于51单片机直流电机PWM调速液晶1602显示设计

    一、系统方案 本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。本文中采用了三极管组成了PWM信号的驱动系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的

    2024年02月11日
    浏览(40)
  • 电力电子课设|数控产生PWM波|使用51单片机输出占空比可调PWM波(按钮控制、数码管显示)速成教程

    我们学校电气专业开始做电力电子的课设了,小组选了一项制作硬件电路的任务,里面有要求采用 数控方式 实现DC-DC电压变换的输出电压调节,数控在电路中的体现就是用单片机输出可调占空比的PWM波作用于IRF520模块,实现电压的变化,作用于SG3525芯片的2引脚。考虑到可能

    2024年02月16日
    浏览(36)
  • 基于51单片机的电机(L298芯片,PWM调速,可加速、减速、正转、反转)

            电机是我们日常生活中比较常用的一个工具,我们经常需要使用电机来转动和拖动,完成一些任务。本次设计便用基于51单片机完成的电机转动与调速,使得电机可以正常启停、加速、减速以及正反转。          文章末尾提供资源免费下载,包括proteus仿真文件

    2024年02月06日
    浏览(40)
  • 104、基于51单片机智能风扇pwm调速红外遥控无线遥控风扇温控风扇系统设计

    毕设帮助、开题指导、技术解答(有偿)见文末。 目录 摘要 一、硬件方案 二、设计功能 三、实物图 四、原理图 五、Protues仿真 六、流程图 七、程序源码 八、资料包括 随着气温的逐渐上升,风扇的需求量也逐渐扩大。传统风扇不能根据外界温度的变化对风扇转速快慢进行

    2024年02月15日
    浏览(60)
  • 基于 51 单片机室内灯光控制系统

    目录 1. 功能介绍 2. 硬件介绍 3. 设计思路与相关硬件介绍 3.1 主程序设计 3.2 光敏传感器 3.3 声音检测、人体感应传感器 4. 项目代码 4.1 BH1750 传感器代码 这是基于 STC89C52 单片机设计的灯光控制系统,实现对室内灯光的控制,采集光敏传感器,红外线热释电传感器,声音传感器

    2024年02月03日
    浏览(60)
  • 单片机设计基于51单片机的智能风扇控制系统设计与实现

      我们常见的电风扇一般只有四、五个风速档,用的是人工开关,而且并不是每个人家里都会有空调,或者在一些小型的工厂或者一些小型加工厂,这些地方都可能没有配备大型的中央空调系统这些东西,所以这些东西往往都会采用风扇这种小成本的东西来代替,但是不清楚

    2024年02月03日
    浏览(58)
  • 51单片机实现SG90舵机任意角度转动

    参考单片机——SG90舵机工作原理_掏一淘哆啦A梦的奇妙口袋的博客-CSDN博客​​​​​​ 这位博主做的代码,在此基础上进行简单修改成可以用51单片机的定时器和中断实现SG90舵机任意角度转动 完整代码如下:  这里对主要的内容进行解释。 根据51单片机定时器计数初值的计

    2024年02月16日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包