打字猴:1.70107616e+09
1701076160 图6.7 无刷电机的组成部分
1701076161
1701076162 首先我用乐高的齿轮和插销做了一个小陀螺,读者也可以用现成的玩具小陀螺。然后我在陀螺转轴上用胶带粘上两块方形的钕铁硼小磁铁,它们的南北极相对。这就构成了无刷电机的转子。要使得转子旋转,就需要一个外加的推动磁场,这个磁场的南北极来回变换,就可以驱动带有磁铁的转子跟随磁场的频率转动。这个交变磁场由一个自己绕制的电磁铁产生(见图6.7中右)。如果给它通过交变的电流则可以产生交变的磁场,要做到这一点可以用简单的芯片来完成,也可以用单片机来做。现在市面上非常流行的一种单片机开发板叫作Arduino,它就相当于一个小小的电脑,可以根据输入的程序来产生不同的输出,它的编程非常简单,价格也不贵,所以本书中将会很多次用到它。关于它的使用方法,读者可以上网搜索一下,即使毫无编程和单片机使用经验的朋友,半天之内也能学会。对于初学者,本章探索与发现一节附上了下面要使用到的程序,以便参考。(你可能注意到了图6.7中还有一个易拉罐的底,它是干什么用的呢?且看后文分解。)
1701076163
1701076164 你可能会问,我们可不可以通过编程让Arduino的两个输出端口交替输出5V和0V,这样就可以在线圈中产生交变的磁场了呢?遗憾的是还没有这么简单。单片机是个精贵的电子芯片,它的作用类似于大脑,比如大脑可以想着要把这块石头举起来,但是真正要举,还得靠大脑指挥力量组织比如手臂去做功。我们要使电磁铁产生磁场,需要输出比较大的功率(数瓦的量级);而单片机的端口的输出电流最大也只有二三十毫安,5V×20mA=0.1W,远远供不应求。这个时候,我们就需要用单片机来指挥一个“力量组织”完成这个事情。我选择一个非常方便好用的集成电路——L298N直流电机驱动板,大家可以在网上很方便地买到,也不贵。它的作用就像手臂一样,接受来自“大脑”单片机的指令,并对外输出较大的功率。关于L298N驱动板的使用,本文“探索与发现”一节中将有介绍。它的核心是一个所谓H桥电路的芯片,这个H桥电路是一个可以驱动直流电机正反向转动的经典电路,其原理如图6.8所示。
1701076165
1701076166
1701076167
1701076168
1701076169 图6.8 H桥电路示意图
1701076170
1701076171 图6.8就像一个字母H,所以它被叫作H桥电路。图6.8中,如果开关1和开关4闭合,另外两个开关打开,则电机左边连接到电池正电压端,右边连接到电池负电压端。相反,如果开关2和开关3闭合,另外两个开关打开,则电机左边连接到电池的负电压端,右边连接到电池正电压端。这些开关是可以由Arduino的3个控制信号的不同组合来实现的(详情请参考“探索与发现”小节)。这样我们就方便地用一个直流电压源产生了交流的效果。
1701076172
1701076173 有了Arduino,L298N驱动板,加上一个直流可调电源,我们可以把产生交变磁场的装置示意图画出来(见图6.9)。写好程序,通上电,把陀螺攥在手中靠近电磁铁,如果能够感受到震动,那就表明磁场的确在来回变化。那么要产生什么样频率的交变磁场呢?这倒没有很明确的限制。我的实践表明大约30Hz的交变磁场是可以工作的,读者也可以尝试其他的频率。在实验过程中,首先通电,然后手动旋转陀螺,使得它在电磁铁附近旋转,一般手动旋转的频率都远远高于30Hz。渐渐地陀螺转速衰减,当它和磁场变化的频率一致时,它就被“锁频”了,并保持这个频率稳定地一直转下去。
1701076174
1701076175
1701076176
1701076177
1701076178 图6.9 产生交变磁场的电路
1701076179
1701076180 现在是时候揭晓易拉罐的底是干嘛用了,“当当当当”,请看图6.10。原来易拉罐的底提供了一个非常高科技的“势井”,这样旋转的陀螺就被束缚在里面,而不至于在一个平面上随意游走。这样它和电磁铁就能保持不即不离的关系,它能感受到比较恒定的磁场力,也不至于被电磁铁吸附过去。
1701076181
1701076182
1701076183
1701076184
1701076185 图6.10 旋转中的无刷电机
1701076186
1701076187 探索与发现
1701076188
1701076189 因为本书中还有几个制作需要使用到Arduino和L298N驱动板,在本节中我们将介绍一下它们的使用方法,首先我们从Arduino开始。
1701076190
1701076191 Arduino(见图6.11)是一种源自意大利的单片机开发板,它是意大利一位大学教授为了更好地教授电子技术课程而设计的。从硬件上来说,它其实只是给单片机(图6.11中黑色长方形芯片)添加了一些最基本的外围电路,如晶体振荡器、稳压芯片等,所以并不复杂。主要是它有一个免费的编程软件和一套自己的编程语言(类似于C语言),这使得单片机的编程大大地简化了。一般的单片机编程需要了解各种底层的寄存器的作用,每次写程序之前要先给这些寄存器赋值,对于刚入门的人来说的确有些麻烦。而Arduino的编程软件已经处理好了这些问题,使得它非常容易上手,因此它风靡全球,也产生了许多不同种类的Arduino,例如图6.11中就是其系列中的Duemilanove型号。各种型号大同小异,有的只不过是采用的单片机芯片稍有不同,但是编程方式都是一样的。
1701076192
1701076193
1701076194
1701076195
1701076196 图6.11 一块Arduino单片机开发板
1701076197
1701076198 下面就是我们本章中用到的程序。
1701076199
1701076200 void setup( )
1701076201
1701076202 {
1701076203
1701076204 pinMode(8,OUTPUT);
1701076205
1701076206 pinMode(9,OUTPUT);
1701076207
1701076208 pinMode(11,OUTPUT);
1701076209
[ 上一页 ]  [ :1.70107616e+09 ]  [ 下一页 ]