一文解析51单片机PWM双舵机控制
2023-08-10 来源:elecfans
PWM简介
脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
脉冲宽度调制是一种模拟控制方式,其根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。
什么是舵机
舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。舵机是船舶上的一种大甲板机械。
本文主要介绍的是51单片机PWM双舵机控制,具体的跟随小编来了解一下。
51单片机PWM双舵机控制详解
使用的舵机——盛辉SG90舵机(标准版)
盛辉SG90舵机的工作原理
首先、在这个舵机的内部有一个基准电压。如果我们想要控制这个舵机的转动。那么我们就要通过一定信号线给它一个一定周期的直流偏置电压。
最终舵机内部会根据直流偏置电压与内部基准电压进行比较,获得电压差输出。最后电压差的正负输出到电机驱动芯片决定电机的正反转。
经过这样一个简单的叙述我们大概知道了该怎么控制舵机的正反转。
下面我们了解一下该给它什么样周期的直流偏置电压呢?
下看一下占空比的概念(图示):
如上图:占空比 = t / T;
想要控制舵机,那么我们就需要一个周期T = 20ms。高电平小t等于0.5ms-2.5ms之间的这样一个方波。
为什么是这个参数呢?
通过上面的一下基础概念性的知识我们已经大概了解了舵机的工作原理。接下来让我们来看一下如果用C51单片机PWM来调节控制它
对于T = 20ms 。我们可以定时器0(方式1)来计数。每次0.1ms。如果计数达到200则说明一个周期到了,计数清0
补充:
对于t = 0.5ms—–2.5ms我们可以采用全局变量。让全局变量等于5—25之间,因为我的舵机的一个计数周期是0.1ms,这样全局变量的5—25正好就是0.5ms—2.5ms
有了这个对应关系,那么程序变的简单起来: