首页 理论教育 一步步地移动

一步步地移动

时间:2023-02-09 理论教育 版权反馈
【摘要】:四相意味着驱动电机的脉冲必须按顺序施加到4根不同的导线上。当负电脉冲依次施加到其4 根导线上时,电机的轴就一步步地转动起来,第五根线是共同的正端首先,我们完全可以不用其他任何元件就可以给这种步进电机施加电压。需要记在心头的一点是:步进电机有很大的容忍度。通过给某个定时器设置较短的周期,可以尽可能减少以上问题的发生。右侧松开的黄线连接在第一个定时器的引脚2上。

现在我们来制作一个更加成熟的东西:跟踪光源前进的小车。我将告诉你启动这个项目所需的所有东西,但是这次我不会从头到尾完成所有细节。我希望你养成开动脑筋的好习惯,自己设计出各个细节,改进图纸,并最终发明出属于你自己的某样东西。

以下是你需要用到的东西。

□ 555定时器,数量:8个。

□ 微调电位器,2 kΩ,线性的,数量:2 个。

□ LED,数量:4 个。如果你对在12 V 的电路中使用电阻器来保护LED 感到厌烦的话,可以考虑购买12 V 的LED,例如Chicago Miniature 生产的606-4302H1-12V,它内含电阻器。不过图5-108 的电路原理图假定你使用的是普通12 V 或者2.5 V的LED。

□ 步进电机:单极型,四相,12 V。可以用Parallax 生产的27964或类似的,最大消耗电流100 mA,数量:2 个。

□ 光敏电阻器,理想的电阻在500Ω 到3 kΩ 之间,数量:2 个。

□ STMicroelectronics生产的Darlington管阵列ULN2001A或者ULN2003A,数量:2个。

□ CMOS八进制或者十进制计数器,数量:2个。

□ 各种电阻器和电容器。

探究一下所用的电机

我之所以提出要买单极型、四极、12 V 的步进电机,是因为这样的电机最常见,典型的例子如图5-105所示。如果难以找到我列出的那种型号,你尽可以放心购买任何具有相同的基本描述的其他型号。“单极型”意味着在驱动电机时,你无需将电源从正切换到负,然后再切换回正。四相意味着驱动电机的脉冲必须按顺序施加到4根不同的导线上。由于你将直接用555定时器来驱动电机,电机消耗的功率越少就越好。

图5-105 一个典型的步进电机。当负电脉冲依次施加到其4 根导线上时,电机的轴就一步步地转动起来,第五根线是共同的正端

首先,我们完全可以不用其他任何元件就可以给这种步进电机施加电压。它最可能有5根引出线,端部都剥去了绝缘层并上了锡,以便你可以轻易地将它们插入面包板的插孔中,如图5-106所示。请查阅电机参数说明书,应该可以发现其中的4根导线是用来给电机加电并使其按步旋转的,而第五根导线则是共同的连接线。在许多情况下,共同连接线应该接在电源的正端,而将负电压依次施加在其他4根线上,每次转动一步。

图5-106 检测步进电机的最简单的方法是手动地将电压加到其4 根控制导线中的每一根上,与此同时,通过粘在输出轴上的一片管道胶带可以很容易地看出电机的反应

参数说明书会告诉你应该按照何种顺序给导线通电。如果需要,你也可以通过试探找出这个顺序。需要记在心头的一点是:步进电机有很大的容忍度。只要加的电压正确,它就不会烧坏。

为了看到这种电机实际的工作情况,请在其轴端粘贴一片管道胶带。然后通过把电源的负端连接线从一根导线移到下一根导线,每次给一根导线通电。你应该可以看到电机轴在以很小的步伐转动。

电机的里面是线圈和磁铁,不过它们的作用不同于直流电机。刚开始时你可以设想其结构像图5-107的样子。每次你给一个不同的线圈通电,黑色的四分之一转轴就旋转到面对相应的线圈。在实际中,电机从一个线圈转到下一个线圈的转动量当然比90°小,但是这个简单化的模型是一个很好的方法,它可以让我们对这种电机的原理有粗略的理解。要想得到更为精确的解释,请阅读下一节“理论知识:步进电机的原理”。

图5-107 这个极大简单化了的示意图有助于形象地说明步进电机的工作原理。而实际上,几乎所有的步进电机每个脉冲的旋转量都小于90°

请记住,只要这种电机的所有导线都是连在电源上的,它就不断地吸收电力,即使处于不动状态、不干任何事情的时候也是如此。不同于普通的直流电机,步进电机的特点就是在大部分的时间里不干任何事情。当你将电压施加到另外一根导线的时候,它就会步进到那根导线相应的位置,然后又恢复到不干任何事情的状态。

电机中的线圈对转轴起到定位作用,电机吸收的功率将作为热量消耗掉。当你使用这种电机时,电机变得很热是很正常的。其问题在于,如果你用电池给它供电,并且忘记它已经连在电源上了,那么电池的电力将维持不了多久。

快速演示

既然已验证了电机能够正常工作,但是如何才能使其真正工作呢?你要按照一种快速、重复的方式,轮流地往4根导线中的每一根输送脉冲。如果你还能调节脉冲速度就更好了。我考虑的是一个快速简单的演示,你可以使用4个555定时器简单地应对所面临的挑战——让这4个定时器全部工作在单稳模态,由一个来触发下一个。

图5-108所示的电路原理图显示了我的想法。它看起来要比实际的复杂。图中各个定时器都具有相同的外围元件及连接,因此当你搭建起第一个模块之后,只需复制3份就可以了。

我在每个555 定时器的输入端加了一个10 kΩ 的上拉电阻,以使定时器自然处于抑制状态。一个0.01 µF 的电容器将一个定时器的输出连接到下一个定时器的输入,以使它们彼此电气隔离:当一个定时器结束其“on”周期、输出变低而触发下一个定时器时,电容器仅仅传递了一个电压“尖峰”。

图5-108 使用4 个555 定时器来控制步进电机的一个十分快速、简单的电路,其中的每个定时器都工作于单稳态,以重复的顺序相互触发

在右侧,我使用了一个10 kΩ 的电阻器和一个22 µF 的电容器来产生一个大约0.25 s 的周期——但最顶端的定时器例外,它使用了一个8K2的定时电阻器。这样做的原因在于,当刚刚加电时,所有的定时器都将等待别人开始,并且定时器2和4,或者1和3都可能同时触发。通过给某个定时器设置较短的周期,可以尽可能减少以上问题的发生。

加入LED只是为了让你对所发生的事情有种视觉上感受。没有它们的话,你若连错了一根线,电机可能会不规则地来回转动,但你却不知道原因。刚开始时,你可以在仅连接有LED的情况下运行电路,目的是确信它能够工作。图5-109显示了连接电机之前的面包板电路。然后再加电机,方法是将其导线插在面包板上与定时器的输出(引脚3)相接的地方,见图5-110。

图5-109 为了检查控制电路中的错误,利用4个LED来显示4个555定时器的输出。右侧松开的黄线连接在第一个定时器的引脚2上。将这个导线的自由端接触电源的正端将使定时器复位,然后若有需要的话,再短暂地将自由端连接到电源的负端来重启顺序

图5-110 在电路通过测试之后,就可以接入电机,即把它的控制导线连接到4个555定时器的输出上

加上电源,你应该可以看到电机一步步地转动,跟LED点亮的顺序一样。如果LED点亮的顺序不稳定,那么:

(1)直接从顶部的定时器的输入(引脚2)连接一根导线到电源的正端,并等待定时器平稳下来;

(2)断开该条导线自由端的连接来重启顺序,或者(如果需要的话)将该自由端短暂地接触电源的负端,来触发第一个定时器。

有一点你也许已经注意到了,如果你特别注意的话,可以看到电机的公共端是接在电源的正极的。因此,当一个定时器输出为正时,这个正的信号实际上并没有供到电机那里去。在任何给定的时刻,都有3个定时器没有触发,它们的输出是低电平,实际上是它们在从电机吸收(汇集)电流。这种配置似乎相当的不错,但是你需要某种理论来理解其中的原因。

理论知识

步进电机的原理

如果你去查看维基百科上步进电机的条目,也许可以看到一个很漂亮的3D渲染图,显示出一个有齿的转子和环绕它布置的4个线圈。也许过去的步进电机曾经是这个样子的,但现在不再是这样的了。

设想有两行水平放置的线圈。在它们之间的空处是一系列的小磁铁,就像货运火车一样,可以左右运动,如图5-111和图5-112所示。每个线圈分成两个绕组,沿着相反的方向,其中一个绕组通过电流时会产生朝上的磁场(力),而另一个绕组通过电流时会产生朝下的磁场(力)。每行的绕组是并联连接的关系,所以它们同时导通和关断。

图5-111 步进电机的转子(显示为一系列S-N的磁铁)在电流脉冲(表现为电磁铁)的作用下,发生移动的最初两步

图5-112 又经过两步之后,电机的状态回到图5-111所示的开始位置

在第一步中,负端连接给上方线圈的上部绕组供电,产生一个朝上的磁场(力)。我特意用蓝绿色的箭头来显示这些磁场(力),免得你将它们与电流混淆在一起。这样一来,这些磁场就吸引磁铁的北极,而排斥南极,从而导致从第一步所示位置出发的磁铁会往右边移动一步,到达第二步所示的位置上。

现在给下方线圈的下部绕组通电,这次产生一个朝下的磁场(力),它同样吸引磁铁的北极,排斥南极,从而导致磁铁前进到第三步所示的位置。

现在给上方线圈的下部绕组通电,产生一个朝下的磁场(力)。它排斥磁铁的北极,吸引南极,因此磁铁继续运动,到达第四步所示的位置。

现在给下方线圈的上部绕组通电,产生一个朝上的磁场(力),它同样排斥磁铁的北极而吸引南极。因此磁铁往右移动最后一步——这使磁铁的方向跟第一步变得一样。然后以上的过程又可以重复。

实际上,磁铁并不是彼此分离的,而是将转子的圆周分区磁化成了交替的南、北极。也没有用很多的线圈,而是用了4个绕组,它们绕在所有的磁芯上。不过原理是完全一样的。图5-114的3D渲染图说明了其中的基本思想,图5-115的照片则显示了当我打开一个普通步进电机之后所看到的东西。

现在请记住,当这个东西由一组555定时器来驱动时,我每次不只是将电源的负端连到左边的一根导线而让其他导线悬空。实际上,在任何给定的瞬间,有3个定时器具有负电平输出,只有第四个具有正的输出。图5-113显示了这种情况。

图5-113 当4 个555 定时器驱动步进电机时,它们是通过从电机吸收电流来驱使它转动的。电机的内部工作情况有点类似本图,但这不是最有效率的驱动方法

假定最上面的导线为正,其余3根导线为负,如图5-113所示。正的输出不会有任何作用,因为线圈的另一端也是连在电源的正端的。连接到下方两个绕组的负电压产生大小相等、方向相反的磁场(力),因此彼此抵消(但浪费电力)。所以总的结果跟第三步相同。

实际上,你会发现在用555定时器来驱动步进电机时,你可以彻底地断开共用的导线,电机仍将转动,因为有一个定时器在提供正电压而其他的在提供负电压。实际上,在这种方式下电机运行的效率更高。

图5-114和图5-115也许可以帮助你理解步进电机内部实际的样子。

图5-114 这个3D 渲染图可以让我们很好地了解典型步进电机的内部样子。铜质线圈和灰色的圆柱体是定子,而黑色的圆盘则在它们之间旋转

图5-115 在拆开一个步进电机时,这就是你可能会看到的东西。左下侧:仍然连在下半部分外壳上的转子,它的圆周上有一个已经磁化的环带。右下侧:上半部分外壳打开后,拿出来的线圈(你可以看出,绕组实际上包括两个线圈,绕制的方向相反)。上方:构成定子磁芯的爪极(突出的金属片),它们会对转子产生作用力

速度控制

如果你是个不寻常的观察者,你也许会注意到,在图5-108的步进电机的驱动电路原理图中,我没有对各个定时器的引脚5进行连接处理。正常情况下,引脚5应该通过一个电容器接地,以防止它拾取到杂散电压而影响芯片的精度。

我之所以没有连接这些引脚,是因为我给它们安排了特别的用处。实际上,改变芯片的定时长度正是我们所希望的,这可以改变步进电机的速度。

如果你将所有4个定时器的引脚5全部连接在一起,如图5-116所示的那样,并在它们与电源的负端之间连接一个2 kΩ 的微调电位器(如图5-117所示),你会看到当你旋转微调电位器降低它的电阻时,定时器就变快。图5-118显示的是这个电路的面包板实现。最终,当电阻低于约150 Ω 时,一切都停了下来。LED 不亮了,因为你已经将引脚5的电压降低到555定时器能够接受的门槛电压以下了。

图5-116 为了调节这一系列555 定时器的速度,将这些定时器的控制引脚(引脚5)连接在一起,并连接一个微调电位器来调节这些引脚与电源负端侧之间的电阻值

图5-117 引脚间隔为0.1 in,可插入面包板和模型电路板的微调电位器的特写镜头。利用左上角的黄铜旋钮来转动该元件内部的一个蜗杆传动机构,可以精确地调节内部的电阻

图5-118 微调电位器已经加入电路,使得步进电机的速度可控

最初我之所以建议采用每步0.25 s 的时间,只是为了让你能够看清楚所发生的事情。当你实际使用这个电路的时候,永远也不需要它运行这么慢。因此你可以增大整个速度范围。拿掉22 µF 的定时电容器,代之以一个4.7 µF 甚至更小的电容器。现在再调节电位器,就可以得到一个比较有用的速度范围。

加入自主能力

目前的电路只是简单地完成你让它做的事情。下一步是让它能够自主地完成这些事情——换句话说,就是要让它看起来似乎可以自己拿主意。我考虑把微调电位器替换掉,使用一个光电池来替换,其正确的名称应该是光敏电阻器。通常,硫化镉光敏电阻在暗处的电阻最高,而当光线照射在它上面时最低。

使用光敏电阻的一个问题是,它们不像其他类型的电阻元件那样随处可得。例如,若在Mouser.com搜索,你似乎找不到任何有关的东西。这一方面是因为Mouser.com的在线搜索功能是该网站的弱点,另一方面是因为Mouser.com不是面向电子爱好者的。你应该做的是进行一次“product search”(产品搜索)。到http://www.google.com/products 上去,输入搜索词“CdS”(硫化镉)和“photocell”(光电池),你会发现大量廉价的硫化镉光敏电阻,它们可能来自来你从未听说过的地方。

由于光敏电阻器就跟直流电机一样,一拨又一拨,参数极不规律。我这里就不提供具体的型号了。你可以购买任何产品,只要其具有适当的最小电阻(在明亮灯光下)和最大电阻(在黑暗中)即可。如果你能找到电阻范围从500 Ω 到3 000 Ω 的,那很好;如果你只能找到最低电阻大于500 Ω 的,那么可以考虑将两个并联起来使用。

装配光线追踪机器人

为什么要用光敏电阻器来控制步进电机的速度呢?因为我们的初衷是要制作一个受光线吸引的机器人。

其原理很简单,使用两个步进电机,每个电机控制小车一个轮子的速度。使用两个光敏电阻器,每个控制自己对面的步进电机的速度。当右侧的光敏电阻器拾取到较多光线时,它的电阻就变小,导致左侧的一组定时器运行加快,从而使左侧的轮子转速加快。这样一来,小车就将往灯光的方向转。图5-119说明了这个概念。

图5-119 如果两个光敏电阻器控制两个555 定时器阵列的速度,那么两个轮子间速度的差别会将小车转向光源的一侧

在你开始连接更多的555定时器之前,你可以考虑采用一个更为合适的器件来完成这个工作。ULN2001A和ULN2003A是包含Darlington放大器的芯片,专用于给螺线管、继电器以及电机之类的感性负载提供电流。每个芯片有7个输入(仅需极小的电流),以及7个输出(每个都可提供500 mA 的电流)。输入是TTL 和CMOS 兼容的(2001 A 的电压耐受范围比2003A宽),并且芯片的每个通道都有反相器的功能,因此当输入变高时,则输出变低并吸收电流。这正是我们的步进电机所需要的特性,因为步进电机具有共正极的连接。

ULN2001A仅仅是一个放大器件,因此在它的前面,你必须提供一个计数器来从1到4计数并进行重复。你可以继续使用555定时器(因为你已经将它们安装好了),也可以用任何CMOS的八进制或十进制的计数器来代替定时器,将它们的输出脉冲送到一系列的引脚。只是需要用引脚5的输出作为“进位”输出,来重启计数过程。我建议使用CMOS 的计数器仅仅是因为它运行的电压是12 V,这样你就可以使用配合步进电机的同一个电源。

如果你改换到使用CMOS计数器,那么还需要一对555定时器来给计数器发送脉冲。定时器将自由地运行在非稳态,光敏电阻器则控制它们的速度。图5-120显示了这个配置。

图5-120 驱动步进电机的一个更为有效的方法是仅使用一个定时器来设置电机的速度,而利用一个计数器和一个放大器(例如Darington阵列芯片)来将脉冲送往导线。不过原理还是一样的

最后一样东西:一节12 V 的电池。你当然可以将8 节AA 电池放在一起用,不过我认为你应该考虑使用一个可充电的电池组,这可以从http://www.all-battery.com(它上面有一个“机器人电池”专区)之类的网上购得。

如果已经将所有东西装配在一起,你会发现当机器人小车位于照明十分不足的房间时,它会转向特别明亮、聚焦很好的闪光灯的光束。为了得到可靠的结果,你也许需要将各个光敏电阻器各放在一个管子里,以便当它们面对你的闪光灯时能够比没有对正时接收到更多的光线。图5-121是这个概念的3D渲染图。

图5-121 这个3D 渲染图显示了寻光小车的一种可能构架,其中的两个光敏电阻器被封装在小管中,以限制它们对光的响应

另一个点子是改接小车的电路,以使其逃离灯光。你想的到该如何实现这个功能吗?

再多考虑一点:如果使用红外线光敏电阻器,你就可以在正常的房间照明下,使用红外线LED的光束来控制小车。如果你和几个朋友都有红外线发射器,小车就可以从一个人那里跑到另外一个人那里去,就像顺从的狗一样。

这已经把我们带到了机器人学的门口。如果你想要深入学习这一个主题,我强烈建议你去相关的网站看看。你也可以购买各种机器人套件,不过我还是认为只有发明或开发自己的东西更有乐趣。

现在剩下的唯一事情就是做最后的陈述:我要开发出一个会使我们的生活更容易的设备,即使这个设备比我们迄今开发过的任何设备都更为复杂也要坚持下去。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈