51单片机PWM双舵机控制详解

为什么要写这篇博客、因为我在调我的51单片机wifi小车的双舵机摄像头的时候。从一开始对PWM很陌生到完全理解PWM调节并调好了两个舵机加起来花费了整整一天的时间。也看了很多的资料。这里综合一下,希望能帮助到像我一样需要使用PWM调舵机的人。


我用的舵机是———-盛辉SG90舵机(标准版)

这里写图片描述
对就是上面这个东东

下面来简单的看一下它的工作原理:
三根线:
橙色—————————–信号线
红色—————————–VCC
棕色—————————–GND

首先、在这个舵机的内部有一个基准电压。如果我们想要控制这个舵机的转动。那么我们就要通过一定信号线给它一个一定周期的直流偏置电压。
最终舵机内部会根据直流偏置电压与内部基准电压进行比较,获得电压差输出。最后电压差的正负输出到电机驱动芯片决定电机的正反转。

经过这样一个简单的叙述我们大概知道了该怎么控制舵机的正反转。

下面我们了解一下该给它什么样周期的直流偏置电压呢?
下看一下占空比的概念(图示):
这里写图片描述

如上图:占空比 = t / T;
想要控制舵机,那么我们就需要一个周期T = 20ms。高电平小t等于0.5ms-2.5ms之间的这样一个方波。
为什么是这个参数呢?

因为 t (高电平在一个周期内持续时间)
t = 0.5ms——————-舵机会转动 0 °
t = 1.0ms——————-舵机会转动 45°
t = 1.5ms——————-舵机会转动 90°
t = 2.0ms——————-舵机会转动 135°
t = 2.5ms——————-舵机会转动180°
不要问我为什么,哈哈哈,因为这和舵机内部的基准电压有关,我们只要知道它到底如何用就可以了,里面的电路实现可以不用深究!


通过上面的一下基础概念性的知识我们已经大概了解了舵机的工作原理。接下来让我们来看一下如果用C51单片机PWM来调节控制它


对于T = 20ms 。我们可以定时器0(方式1)来计数。每次0.1ms。如果计数达到200则说明一个周期到了,计数清0
补充:
11.0592MHz晶振——0.1ms TH0 = 0xff,TL0 = 0xa3
12.0000MHz晶振——0.1ms TH0 = 0xff,TL0 = 0x9c

对于t = 0.5ms—–2.5ms我们可以采用全局变量。让全局变量等于5—25之间,因为我的舵机的一个计数周期是0.1ms,这样全局变量的5—25正好就是0.5ms—2.5ms

有了这个对应关系,那么程序变的简单起来
一起来看

/* 因为我是使用Android APP通过串口给单片机发送指令来控制两个舵机的转动
   所以下列程序的参数在这里做个解释:
   
  • 95
    点赞
  • 380
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
51单片机可以使用PWM(脉宽调制)方式来控制直流PWM是一种通过改变信号脉冲的高电平时间来实现电平控制的方法。直流则是一种可以改变转动角度的执行器。 首先,需要了解直流的工作原理。直流内部有一个内置的电和一组电路控制的转动。它接收到的信号是一个脉冲信号,脉冲的高电平时间决定了的转动角度。 在51单片机上,可以通过配置定时器和IO口来实现PWM信号的产生。具体步骤如下: 1. 配置定时器工作模式为PWM模式。51单片机中通常有多个定时器可供选择,选择其中一个,并设置其工作模式为PWM。 2. 设置PWM的周期。根据直流的要求,设置PWM的周期,一般在20ms左右。 3. 设置PWM的占空比。根据需要转动的角度,计算出对应的占空比,然后在每个周期内按照占空比的要求产生相应的脉冲信号。 4. 将PWM信号输出到控制直流的IO口。通过串口、并口等方式将PWM信号输出到直流控制输入脚。 5. 不断循环执行上述步骤,使得直流能够持续地转动到目标角度。 需要注意的是,不同的直流可能对PWM信号的周期和占空比有不同的要求,所以在实际应用中需要根据直流的说明书进行相应的设置。 总结起来,51单片机可以通过配置定时器和IO口来产生PWM信号,然后将该信号输出到控制直流的脚上,从而实现对直流的精确控制

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxnsirius

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值