1、1寻光小地鼠的设计与制作摘 要:随着传感器时代的到来,人类希望能有更多的产品来代替人类完成各种危险及费时费力的工作,于是机器人也成为当今世界重要话题。本文研究的是寻光小地鼠,主要用 PWM 技术控制地鼠行驶状态,用 IIC 技术进行数字光强度采集,并且通过 1602 芯片对数字光强度进行简单验证。最后把子程序合并到一起,实现小地鼠的“寻光”功能。关键词:单片机;PWM 技术;数字光芯片2Design and manufacture of light seeking small hamsterAbstract:With the arrival of the era of human sensor
2、, hope to have more products toreplace the human to complete a variety of dangerous and time-consuming work, so the robot hasbecome an important topic. This study is the search lightsmall hamster, mainly using PWM technology to controlhamster running state, digital light intensity acquisition using
3、IIC technology, and through the 1602 chip is simpleto verify the digital light intensity. Finally the subroutinemerge together, realize the small hamster “search“function.Keywords: MCU; PWM technology; digital optical chip目 录第一章 研究背景与意义 .1第二章 硬件部分 .22.1 电源模块 .22.2单片机简介 .22.2.1上电复位 .32.2.2手动按键复位 .32.
4、2.3看门狗复位 .32.2.4单片机最小系统 .42.3电机驱动模块 .42.4数字光模块 .7第三章 软件部分 .93.1单片机指令 .93.1.1基本指令 .93.1.2算数操作 .93.1.3逻辑操作 .93.1.4程序转移 .103.15 布尔变量操作 .103.2 PWM调试 .103.2.1软件实现方法 .103.3 1602简介 .113.4数字光模块测试 .123.5 调试方法 .15第四章 总结与展望 .15参考文献 .17附录(一) .19附录(二) .210第 一 章 研 究 背 景 与 意 义自第一次工业革命开始,人类越来越想从手工劳动中解放出来。于是,蒸汽机、电话、
5、电脑应运而出。时至今日,随着传感器的到来,人类更希望能有更多的产品来代替人类完成各项危险的以及各种费时费力的工作。于是机器人也成为当今世界重要话题之一。我研究的论文是:寻光小地鼠的设计与制作,旨在小地鼠能够自动寻找光源。因此,我们就能够让小地鼠利用此功能来寻找以及有效的跟踪物体。因其制作简单、经济又方便,既可以省去大量的人力、物力和财力,又可以代替人类到危险的地方工作。另外,如果在地鼠上添加红外装置或超声波装置还可以实现小地鼠的避障功能,添加灭火装置就能够实现无人自动灭火功能1第 二 章 硬 件 部 分本章主要讲地鼠的硬件部分内容,分为四个模块:电源模块,单片机最小系统,电机驱动模块以及数字光
6、模块;系统的讲述了各模块的硬件组成以及各模块的选取理由。通过本章的描述、选择相应的硬件可以完成小地鼠的制作,进而可以为寻光的实现提供前提条件。2.1 电源模块电源主要用于给整个系统的各个模块供电,没有电源则实验就正常无法运行,而电源种类繁多,选取电源过大会烧坏元器件,选取电源过小可能导致系统无法运行。可见选取的电源不同对整个实验的结果的影响也不同,因此做实验时首要考虑因素之一就是如何选取电源。因为本实验所用元器件不多,只有四大模块,一般单片机所用电源电压为5V 左右,数字光模块所用电源电压一般为 3.3V-5V,而电机驱动模块所用电源电压一般为 5V-12V,另外如需板内取电则电源电压应达到
7、7V 以上。为了使用方便,同时也为了节约电源、避免废弃电池对环境的污染,所以选取板内取电。因此只需要对电机驱动模块供电即可,其它模块所需电源可从驱动板内获取。所以选取的电源电压应达到 7V 以上才能满足系统正常运行。下面有两种方案可供选择:方案一、直接用干电池供电,但供电时间短,需要经常更新电池。既浪费钱又污染环境。方案二、采用可充电电池包供电,可以随时充电随时取用。清洁、安全、可靠。不难看出,方案二使用方便,另外相对于干电池不必经常更换且大大减少了对环境的污染。又因为所选的驱动模块里面可以直接进行片内取电,所以最佳方案为方案二。2.2单片机简介51 单片机一般都是相互兼容的,所以选取型号可以
8、因个人爱好而定。本文选的单片机型号为 STC89C52RC,40 引脚 DIP 封装形式。含有 8 个中断源,4 个优先级,3 个定时器,单片机的复位电路虽然简单,但它却非常重要。一个单2片机系统能否正常运行,首先要检查单片机能否复位成功。在介绍最小系统之前,本文想先介绍一下单片机的复位。单片机复位方法一般有上电复位、手动按键复位和看门狗复位三种方式。 12.2.1上电复位上电自动复位(如图 2-1 所示)是在加电瞬间通过对电容充电来实现的。由电路知识可知:在电源通电瞬间,电容 C 通过电阻 R 进行充电,此时复位端(REST)会形成正脉冲,用以实现复位。 2根据电路图可知:实现上电自动复位功
9、能的必要条件是电源 的上升时间不超过 1ms 即 tT=RC。此时,也可以cV说:只要接通电源就完成了系统的复位初始化功能。图 2-1单片机复位示意图2.2.2手动按键复位所谓手动按键复位(如图 2-1 所示) ,是指通过人工手动操作、让单片机最小系统中的一个指定按键的产生动作而进入复位状态。在单片机系统进行上电运行后,通常条件下是通过手动按键复位实现来实现单片机的复位功能。因此,在实际应用中我们一般采用上电复位和手动按键复位两种复位方式相结合的形式来实现单片机的复位功能。2.2.3看门狗复位所谓看门狗复位,其实是通过软件编写程序进行复位。如:MOV 0A6H,#01EH;先送 1E MOV
10、0A6H,#0E1H;后送 E1。单片机 89S51 的看门狗软件正常工作的前提条件是必须依靠程序激活,因此我们首先要保证的一点就是单片机的上电复位功能能够可靠运行,反之,看门狗复位功能将处于功能失效模式使之无法进行正常监控和可靠复位。另外,看门狗复位功能能够运行的决定性因素是晶振能够正常可靠运行。32.2.4单片机最小系统单片机最小系统(如图 2-2 所示)是指单片机在能够正常工作的前提下使用的最少硬件组合。而 51 系列的单片机基本上都是兼容的,所以 51 单片机的最小系统电路图基本一致。该部分区域的外围电路图主要由电源、晶体振荡器、电解电容、复位电路四个部分组成。这里以 STC89C51
11、 单片机为例,介绍 51 单片机的最小系统电路。图 2-2单片机最小系统示意图根据单片机最小系统示意图可以看出:该 51 最小系统的电路图是由外接晶振通过两个 30pf 的电容接地,同时采用了手动按键复位和上电自动复位电路。该电路可以实现复位及程序运行的基本功能,对于其它一些兼容型号的单片机同样适用。而且对于所有 51 单片机的程序设计电路图都是在此基础上进行的。2.3电机驱动模块但凡做寻光、循迹之类的实验都需要物体运动,所以电机自然不可缺少。因地鼠需要完成直线与转弯运动,所以该地鼠至少应备有两个电机。在这里我们暂且先不考虑电机的选择,因为仅让小地鼠实现转弯一个功能就可以有多种方案。众所周知,
12、只要当地鼠两个轮子转速不同时,即让两个轮子的相对运动速度不为零。该地鼠就可以实现转弯的功能。另外如果朝一个方向给小地鼠前4面两个轮子一个力,让小地鼠前轮轴与后轮轴形成一个小夹角,即通过外力使地鼠的两个前轮朝着要转向的方向偏转,就像小汽车通过方向盘来改变车轮的偏转方向一样。这样小地鼠也可以实现转弯运动。很明显,让前轮偏转需要机械力来完成,无论是使用步进电机还是使用其他机械力,都会使小地鼠的内部结构变得复杂。这违背了制作小地鼠简单、经济与方便的初衷。所以就小地鼠转弯的角度考虑,选择改变地鼠两个轮子的转速这一方案为佳。下面要面临的问题是如何改变电机转速以及如何选用电机。根据电机学可以知道:电机分为直
13、流电机与交流电机两大类型。根据 naNeCERIU以 及 (2-3-1) 可以得出直流电机转速公式为:TCnNeNe2(2-3-2) 其中 为额定电压, N为额定磁通, eC为电动势常数, TC为转矩常数, NeUn0(2-3-3)为理想空载转速。直流电动机的固有机械特性为一条下斜线,斜率2NTeaCR(2-3-4) ,斜率越小,直线越平,固有特性越硬。 由电动机转速公式可知: 改变直流电机的转速有改变电压、改变电枢回路总电阻和弱磁调节。改变电压调速的方法是:首先通过保持每极磁通为额定磁通并且电枢回路中间不进行电阻串联的方式,只人为的对电枢电压值的大小进行改变。由于受电机绝缘的限制,改变电压通
14、常为降压方式。此时电机的固有机械特性保持不变,只是转速变小了。改变电枢回路总电阻的方法是:通过保持电枢电压为额定电压并且在额定磁通下的方式,其次在电枢回路中与外接电阻进行串联。由公式可知:电机的固有机械特性变软的充分条件是在保持负载转矩不变的情况下,串联电阻与电机转速之间将会呈现反比例关系,改变磁通一般都是降低磁通,因为当直流电机处于额定磁通下运行时的方式下,磁通已经接近饱和状态,此时磁通总体变化不大,而电流变化却很大,由于电机绝缘性能的限制,所以只能降低磁通。通常方法是在励磁回路串联电5阻,通过调节励磁电流来降低磁通,此时电机的固有特性也会改变。交流电机还可以进行改变极对数和变频调速。因为要
15、求小地鼠的制作简单方便,所以选择直流电机。这样可以使用 712V 直流电驱动电机,现实中很容易实现。下面要说的是为何选择直流减速电机而不选择步进减速电机。有点电机基础的都知道在电机学中直流电机和步进电机是有很大区别的:比如在理论上只要给直流电机的输入端加上合适的电压额定电压,那么直流电机就可以正常输出实现运转功能,而且在实际生活中我们会发现直流电机运转的圈数难以得到精确控制;而步进电机在正常的工作模式下则可以精确旋转到0.1 度,因为它是依靠输入的节拍数来决定的。步进电机减速和直流电机减速都是在各自的基础上增加齿轮或其它方法进行减速。另外,两者的控制方式也大不相同,步进电机正常运行的前提条件是
16、必需要在输入端形成控制节拍,小型步进电机可以用 ULN2003 驱动,而小型的直流电机利用 L298N 芯片驱动,用PWM 调速进行控制,考虑到小地鼠需要做直线与转弯运动,而且使用直流电机比用步进电机所用的元器件少。又因为步进电机的转子具有一定的惯性,所以步进电机在工作中不能立即启动和停止。在启动时应慢慢地逐渐加速到预定速度,而在停止前应逐渐减速到停止,否则电机将产生失步现象。如果用软件利用单片机定时器控制步进电机,在加速阶段时,需要通过建立库或表,把定时器的初值存放在表中,而且定时器的初值应从小到大排列;同理,减速时,也应把定时器的初值放在另一表中,初值按照从大到小排列。而直流减速电机的控制
17、相对简单,只需要改变占空比就可以做加速、减速运动。所以,直流电机更适合驱动小地鼠运行。因为直流电机转速很大,实际生活中若不加控制很容易失控。比如做小车,速度太大很容易使小车飞出跑道。而加了减速装置时,用单片机就很容易控制了。选好了电机,下面该选择驱动了。驱动方法一般分为搭建电路驱动和 L298N 芯片进行驱动。该电机可以使用三极管的放大电路进行驱动。事实上由于缺少元器件而且自己搭建外围电路时,缺少焊接电路所需的烙铁和锡,所以被迫取消搭建电路的方案。下面我想介绍一下 L298N 电机驱动芯片。6驱动芯片:内部含有双 H 桥形式的芯片 L298N。驱动端子的供电范围是 5V35V,如果需要从芯片板
18、的内部直接获取电源电压,则供电的范围改变为 7V35V。逻辑部分端子供电范围 5V7V可从芯片板的内部直接获取 5V 电源电压。使能端信号控制为高电平有效。有四个输入端和四个输出端,可以驱动两个直流减速电机,电源使用的是 7.2V 可充电电池包。2.4数字光模块在这里我想首先解释一下为什么选数字量而不是开关量。选用数字量的好处是结果直观、方便。开关量输出的只有 0 和 1 两种结果,显而易见,当地鼠的两个光芯片在一定范围内同时接受到光时,并不能保证光就在小地鼠的正前方。此时,如果小地鼠做直线运动,那么小地鼠便会与光失之交臂,也就是说小地鼠无法正确寻光。因此,为了能保证小地鼠可以正确寻光,我选择
19、数字光模块芯片。因为只有当光在小地鼠正前方所在的平面上,小地鼠两边光芯片输出的值才相等。这样小地鼠才不会因为与光不在同一直线上而跑偏。下面该讲光强模块了:数字光,顾名思义就是把光的强弱转变成数字的大小。这样我们只要通过比较数字的大小就可以比较光的强弱,进而实现寻光。本文选取的内置数字光芯片为 BH1750FVI 的数字光模块 GY_30。该芯片特点如下:1、 CI2总线接口(f/s 模式支持)2、光谱的范围与人眼相近3、照度数字转换器4、宽范围和高分解(1 勒克斯-65535 勒克斯)5、低电流关机功能6、50HZ/60HZ 光噪声 reject-function7、1.8V 逻辑输入接口8、无需任何外部零件9、光源依赖性不大10、是有可能的选择的 2 类型 CI2 slave-adress11、可调的光学窗口测量结果的影响