51单片机控制伺服电机:软件模拟PWM及精度提升方法

  • 时间:
  • 浏览:75
  • 来源:中国微特电机网

在单片机的应用里头大家肯定会对咋样去控制伺服电机感兴趣。可实际上,51 单片机很多都不带 pwm,得靠软件模拟。有些代码来驱动那多路伺服电路的时候,还怪麻烦!到底怎样才更方便地解决这个问题,咱们一起来扒一扒相关情况

51 单片机 PWM 状况

51 单片机,大部分普通款是不带 pwm 的。就只有那几款加强版才带着。但要用 51 来控制伺服电机的时候在多数情形之下就得采用软件模拟 pwm 。打个比方,在一些小型的智能模型项目里,就会因为没有现成的 pwm 功能,搞得得另外想办法产生所需波形。

有些朋友处理这个问题,就看了市面上好些的代码。有的代码采用的是延时办法让 pwm 波输出,还有一些代码用的是定时器来实现这个功能。可要是碰到那种多路伺服电路驱动要求的时候咧,使用这些既有的代码就有麻烦。比如想要几个伺服电机同时工作配合的项目,代码应付起来就费劲。

定时器 0 提醒机制

下面这个代码,采用的是定时器 0 这种方法产生每 0.5ms 一回的提醒程序处于大循环里边,可以通过调用 DJ()函数从而把值返还给伺服电机信号引脚。而且 DJ()函数还能够把旋转角度给定好。

像定时器 0 每 0.5ms 触发一次,20ms 之后就要把定时器置 0 再重新计数。举个例子,做一个小型机器人手臂运动控制项目的时候,定时器以这种固定时间的中断,就能稳定驱动电机每个时间间隔所要求的动作。

角度限制与精度提升

不过,由于定时器被设定成每 0.5ms 中断一次,就造成旋转角度是受限的。目前啊只能是 -45,-90,0,45,90,这样有限的几个角度。比如说,我们在摆造型的智能展览物里,如果用这个程序驱动伺服电机,就只能摆出几个死板的姿势。

要是想让精度提上去那得设置定时器的初值,接着改变函数的 num 值才行。就像要控制机器人的肢体去操作精密仪器,需要更精准复杂角度的时候,就得这么慢慢调整。

代码示例解析

这里代码先把引脚定义好了,将 DJ1 和 DJ2 定义在了 P3^6 和 P3^7。随后是函数、定时器中断这两方面的初始化工作。其中定时器 0 设置成为工作方式 1。总的程序设定完定时器 0 初始化之后,进入到了主循环当中。在中断函数 timer()里,定时达到 0.5ms 就中断,而且还能把返回值赋给对应的引脚。

例如说在一些 DIY 创客的多电机控制小车上,就可以根据这个代码来设定、调整每个电机相应的角度和运行逻辑。

程序完善方向

写代码的朋友时间太紧,还没对程序的可靠性进行测试,不过人家按经验讲一般没啥问题。以后等有空闲时间,打算接着给程序完善一下,加上能把舵机旋转速度进行控制的功能。假如要让小车灵活转向,能加速或者匀速拐弯,就需要很好地控制舵机电机的速度。

要是在机器人开发项目当中咧,添加速度控制功能就好比机器人有了变速齿轮,能让机器人做事和运动的时候更加灵活、到位。

专业驱动板建议

要是您去着手弄机器人设计制造这些事单片机 驱动 电机,建议您买一块专业的驱动板用专业驱动板来做调试工作的话,那可直观又方便,能大大减少不必要的琐碎事。就比如大学团队做的全功能智能服务机器人项目,使用专业驱动板后单片机 驱动 电机,能快速调试每个关节角度和动作,省去很多代码上的折腾与测试。

大家觉得这个 51 单片机控制伺服电机的代码有没有用处?你们觉得添加速度控制功能难不难哩?

猜你喜欢

电动机正反转控制:两只接触器切换相序及双重互锁机制解析

为了实现电动机的正反转控制,通常采用两只接触器KM1和KM2来切换电动机三相电源的相序。以下是一个采用按钮和接触器双重互锁的电动机正反转控制电路的示例及线路分析:这种机制通过按钮和接触器的相互配合,确保在KM1吸合时,KM2必然处于释放状态,反之亦然。

2025-06-17

星三角降压启动电路详解,含各元件作用及电路图剖析

01星三角降压启动电路说明星三角降压启动电路,作为继电器控制系统中的一项经典设计,可能对初学者而言存在一定难度。电路图组成和各元件作用上图展示了星三角降压启动电路的详细布局。接下来,我们详细解析电动机星三角转换启动的原理。在星型接法中,三个绕组的一端相连,另一端分别接入电源,形成Y型结构。

2025-06-17

宁波东力04月30日涨停收盘,原因竟是一季报增长等?

宁波东力(002164)04月30日涨停收盘,股价上涨10.04%,收盘价为8.99元。其涨停封板结构一般,最高封单量:5321.37万,目前封板数量:1289.96万,占实际流通盘4.25%,占当日成交量:12.26%。宁波东力涨停原因类别为一季报增长+机器人关节+齿轮箱+电机。

2025-06-17

接触器正反转实物接线方法详解,轻松实现电机转向切换

《接触器正反转的实物接线方法.doc》由会员分享,可在线阅读,更多相关《接触器正反转的实物接线方法.doc(2页珍藏版)》请在温州文客信息科技有限公司上搜索。

2025-06-17

4月25日上海电机学院高职学院与上汽轮厂数控培训启动

4月25日,上海电机学院高职学院与上海汽轮机厂有限公司联合举办的数控高级工技能等级提升培训在闵行校区正式启动。此次数控高级工技能等级提升培训,是上海汽轮机厂有限公司与上海电机学院深化合作的重要成果。

2025-06-17