打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
如何实现电机双向转数控制?这篇文章或许会给你一些启发

在一次聚会时,一个玩模型的好友让我帮忙给他的儿子改装遥控汽车(可以坐小孩的那种)。听他的描述,他自己做的小车是用继电器控制前进和后退的。速度始终处于定数状态,而电源也就使用4节1.5V的电池。喜欢玩模型的他就想更换成功率更大的锂电池。同时,必须使用更大功率的电机。最终我答应帮他做一个,于是本文介绍的小制作诞生了。这个小制作在模型圈子里也称作可以正反旋转的“有刷电调”。

它有什么功能和作用?

图1

它是一个可以控制电机转数的小制作,并且可以让电机在正和反两个方向上都能得到控制。当控制摇杆在中间时,电机将会处于停滞状态。如图1所示,这是这个制作的最小工作环境。

图1中最右面的是天地飞4通道遥控器,左边发红光的是这个遥控器对应的接收机。锂电池在接收机上方,并且正在给电机控制器供电!电机控制器里有稳压芯片。可以把两三节串联的锂电池电压经过转换、稳压,转换成5V的电压供应给接收机。接收机的4个通道分别由右边4个摇杆控制。当你改变某个摇杆的位置时,对应通道的输出也会发生改变。程序通过读取连接在接收机那个通道的脉宽,相应改变PWM的高电平脉冲波长,来实现转数控制。程序不多仅仅有几十行(一页都不到),相信大家很容易读懂。有不完善的地方,还请大家自己修改了。

准备元器件

图2

制作所需元器件“全家福” 本制作使用的单片机仍然是8个引脚的ATtiny13单片机,图2中编号为11的零件。

其中的两个PMOS管正是实现电机正反转的主要部件,必不可少。

MOS管分为增强型和耗尽型,它们的最大区别在于默认的导通状态。增强型只有在“G”极有相对电压时才会导通。而耗尽型在“G”极没有相对电压时就已经处于导通状态。这次的制作使用的都是增强型MOS管,并且使用了PMOS和NMOS两种型号。PMOS在“G”极电压为0时导通,为“VCC”电压时截止。而NMOS在“G”极电压为0时截止,为“VCC”电压时导通。 下面是元器件清单表拿走不谢

制作过程详解

首先准备好合适大小的万用板,如果太大就剪裁一下。笔者怕麻烦就懒得弄了,你们可别向我学习!我先选择焊接容易的大器件。于是,第一步焊接好插针、插座和78M05(由于手头没有78M05,我用L7805CV替代)

图3

焊接稳压芯L7805CV片对应的4个电容,当时布局想得不是很周到,导致了电容间没有足够的空间分散开,看上去太“紧密”了些。

图4

本来是不用打孔的。由于我手头没有IN5819肖特基二极管,于是我使用了能够通过更高电流的IN5824。IN5824二极管的引脚可是比IN5819粗多了。这样,我就不得不先给万用板钻孔了。

图5

接下来可以焊接肖特基二极管和贴片的场效应管了,焊接好场效应管后,用过锡飞线的方法焊接大电流回路。

图6

焊接好剩下的电阻以及舵机插头。最后,用4条绝缘导线连接4个MOS管的“G”极到单片机的引脚上。最后用螺丝刀把JST插头连接到2PIN的电气插座上。 休息下,别急着上电。用万用表测试一下焊接有没有短路或断路。等检查完毕,再下载程序,验证一下功能有没有问题(有示波器的话,可以查看一下单片机引脚的波形)。一切都OK的话,就可以用热熔胶固定容易折损的部位。好好地享受使用它的乐趣吧。

图7

制作到现在为止就大功告成了

为了让文章更有营养

我决定讲一下控制原理

控制原理解析

控制板通过标准的2.54mm舵机插头和接收机连接,接收来自接收机的信号,再去控制相应的电机旋转。因此要先判断接收机发出的信号才行。那么接收机输出的是怎样的信号呢?如果不清楚这个信号,怎么读取并处理呢?其实,接收机输出的信号是1~2ms脉宽的PWM(脉宽调制)波形,1~2ms的脉冲是高电平。而PWM信号每过20ms(50Hz)更新一下新的信号。这样,先通过读取接收机的信号脉冲宽度,再控制好相对应的电机的导通时间,就能控制转速了。

那么导通时间又是如何控制的呢?

控制导通时间是通过软PWM实现的。软PWM是通过程序的方式实现高电平、低电平的持续时间。相对应的硬PWM就是单片机自带有PWM单元。只要程序向PWM单元的寄存器写入控制数据,PWM引脚就会自动输出波形。

ATtiny13有硬件PWM,为什么使用软PWM增加单片机的负担和编写程序的难度呢?

最初,当我要驱动较大的电机时,MOS管发烫严重,很容易烧坏。后来经过查看资料,原来是我的PWM频率过高,使得MOS管处于放大状态的次数也增多。这样,很多功耗就消耗在MOS管上了。那么对于资源不怎么丰富的ATtiny13,如何降低它的频率又能读取接收机的信号呢?

想了几天都没解决这个问题。后来心一狠,程序重新编写了。PWM不用硬件自带的了,用软件来实现。软PWM使得PWM的频率降低到200Hz左右(原来为37.5kHz)。程序写好后,电流较大的电机果然也能从容驱动,并且发热严重问题也得到了有效解决。

要实现电机转数的控制,实际就是功率输出的控制。单片机的PWM输出和场效应管的栅极(G)连接。在程序中,通过调整NMOS管的占空比,来实现功率的增加或减少。这相当于在重复的时间片段内,调整了输出的5V电压占用的时间比例。占用比例大了,做功的时间就长,电机转数自然就提升了。

上面说了那么多的PWM,那么什么是PWM呢?

PWM是英文“Pulse Width Modulation”的缩写,简称脉宽调制。它是利用微处理器的输出来对模拟电路进行控制的一种技术,广泛应用于测量、通信、功率控制与变换等许多领域。这次的小制作就用到了数据变换(摇杆的位置与脉冲的宽度相对应)和功率控制(脉冲的宽度和功率的大小相对应)。

下面是本制作的原理图,对于有电路基础的人应该很简单,我就不多讲了。

电路原理图

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【教程】资深电气工程师-详细的遥控汽车设计方案
基于单片机的PWM直流电机调速系统毕业论文
电动小车的电机驱动及控制
电动车控制器的引线分别是接哪里的?了解它的电路原理你就懂了
直流有刷电机控制
基于AT89S52单片机直流电机PWM控制系统
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服