发布时间: 2026-02-25
正在进行舵机应用开发,其中极为让人头疼的问题之一便是,明明已经给予了信号,然而舵机为何没有转到自己期望的角度呢?这实际背后的原因就是没有弄明白舵机转动角度与占空比之间的关系。简要概括来讲,舵机的角度是由你于给予它的电信号当中的“占空比”所决定的,要是搞清楚了它们之间的对应规则,那么你便能够精确地指挥舵机了。
有个词叫做占空比,听起来蛮专业,实际上理解起来并非难事。舵机,它所接收的是一种具有周期性的脉冲信号,其中最为常见的乃是周期为20毫秒(这也就意味着频率是50赫兹)的方波。处于任一个周期当中,该信号既有高电平舵机品牌伟创动力,同时亦存在低电平情况。而所谓的占空比嘛,也就是高电平持续之时长占据整个周期的百分比。
比如周期为20毫秒,倘若高电平持续时间有1毫秒,那么占空比便是5%(1除以20等于5%),你能够把它理解成开灯关灯的情况,在一个固定的时间重复过程里面,灯亮起的时间越久,占空比就越,大,这个比例是舵机判定自己该转向何处的凭借。
在我们日常所见到的绝大多数180度标准舵机之中,其具体显示的转动角度并非是直接同占空比百分比形成对应关系,然而却是同高电平的持续时间存在对应关联,也就是人们常说的“脉宽”。通常情况下处于一般状态时,其实际展现的控制规则是呈现出这样的一种情形的:
脉宽为0.5毫秒时所对应的是0度舵机厂家伟创动力,脉宽为1.5毫秒时其所对应的应为90度,脉宽为2.5毫秒时所对应的则是180度。这属于一种线性的对应关系。在周期为20毫秒的情形下,脉宽0.5毫秒的占空比是2.5%,脉宽1.5毫秒的占空比是7.5%,脉宽2.5毫秒的占空比是12.5%。故而在你进行编程之际,关键核心在于把控好微秒级的脉宽,而非较为粗略的百分比。
发生这样的状况,即代码中设定舵机转到90度,然而它却偏离了10度,这一般由几个缘由致使。其一,你所购置的舵机或许并非标准的180度舵机,其脉宽范围可能是0.5毫秒到2.2毫秒,此对应0到180度,这种情况下你需要去查看相关的数据手册。
对于控制信号而言,其生成精度存在不足的情况。要是借助单片机软件去模拟PWM,那么极有可能由于中断或者其他代码产生干扰,进而致使脉宽输出出现不精确的状况。一旦脉宽公差达到几十微秒,角度就会相差好几度。最终,舵机自身存在机械误差以及死区,这是由硬件方面所决定的。
市面上存在着一种被称作“连续旋转舵机”的物品,它的外观模样和标准舵机并无差异,然而其控制逻辑截然不同,它的脉宽并非用于控制角度,而是用来控制转速以及方向。
比如说,1.5毫秒的脉宽处于停止状态,要是小于1.5毫秒,像1.3毫秒这种情况,便会进行全速反转,而大于1.5毫秒,例如1.7毫秒,就会实现全速正转。脉宽与1.5毫秒偏离得越明显,转动速度就会越快。这种舵机在其内部已经将角度反馈电位器去除了,所以要是你期望它能够精准地转动几圈之后停下来,仅仅依靠普通的PWM信号是无法达成的,使用带有反馈功能的智能舵机。
![]()
弄明白了对应关联,编写程序就会变得简易。你所需要去做的事儿便是创设一个从“目标视角”朝向“脉宽”的映照函数。假定你的舵机历经0.5毫秒到2.5毫秒的范畴对应着0至180度的范围内。
那计算公式便是:脉宽等于0.5加上(目标角度除以180)乘以2.0毫秒。比如说要转动45度,脉宽等于0.5加上(45除以180)乘以2.0等于0.5加上0.5等于1.0毫秒。在代码当中,你需要将这个毫秒数转变成微秒( like一千微秒),接着设置给PWM模块。记得要先去确认你的PWM库或者函数,那接收的参数是微秒还是百分比。
当您在伊始之际着手于针对自身产品展开选型工作之时,于明晰脉宽以及角度二者相关联关系之外,还要对舵机的别的参数予以留心关注,不然的话极易于项目进程里遭遇挫折。➡️ 1. 查看电压范畴:舵机所标称的电压处于4.8V至7.4V区间内,您却执意采用12V开展供电操作,那么仅需一秒便会出现烧毁情况。要保证您所构建的电源系统能够供应稳定且适配的电压。➡️ 2. 瞅角度范围:存在着角度为180度、270度,甚至于具备多圈360度的舵机。根据你的机械结构所需的活动范围规模,挑选与之相对应的型号。查看对应的控制方式:普通PWM舵机具备简易性,但欠缺回传角度的功能。要是你有知晓舵机是否实际转动到指定位置的需求,那就得选用带有反馈功能的智能舵机,像是采用串口通信的RS 485或CAN总线舵机。
期望借助上述说明,你对于舵机的操控内心更有底了。你于调试舵机之际,有没有碰到过啥奇特问题?像是舵机持续抖动伟创动力,又或者噪音极大?欢迎于评论区留言,咱们一同交流解决,觉着有用也别忘记点个赞分享一番!