
摘要:本设计以高速单片机C8051f330作为小车的控制核心,电路由路面黑线检测模块,金属探测模块,显示及声光控制模块,方向控制模块等几部分组成。路面检测采用红外开关来检测黑线;金属探测头来检测薄铁片;电机驱动采用H型桥式电路,灵活方便对车速进行控制。各探头检测到的信号经单片机综合分析处理,对小车运动进行控制,完成自动搬运的功能,同时记录时间,并发出相应的声光信号。系统硬件结构简单合理,控制方案易于实现。
一、设计思路
根据设计的要求,本设计采用两片单片机作为小车的控制核心部分,采用双电源供电。其中一片控制黑线检测模块,金属探测模块,搬运模块,电机驱动模块,方向控制模块,显示模块等几部分。另一片控制光源检测模块,声光信息模块,并记录行驶时间。小车从起跑线开始,先判断射灯的位置来确定要搬运铁片铁片的颜色。其中铁片的颜色用红外对管来检测。小车启动后直接向前行驶,当检测到黑线时停止,接着小车后退,此后小车在铁片和前方的黑线区域内前进后退扫描式的检测铁片。其中黑线的检测由小车底部四周的红外对管来完成,通过金属探头来检测铁片,当检测到铁片,电磁铁通电,将铁片吸引,红外对管判断铁片是否为目标物,若不是目标物,电磁铁断电将铁片放下,继续寻找目标物;若是目标物,在射灯引导下,小车后退将铁片搬运到指定存储区。其中光源检测由车尾的光敏三极管来完成,同时小车四周的红外对管控制小车在指定区域内行驶。当将所有铁片都搬运完了,由程序控制小车进入车库。
二、方案论证与比较
1、路面情况检测方案的选择与论证
路面情况检测包括检测路面黑线和检测路面薄铁片。
探测路面黑线的基本原理是:光线照射到路面并反射,黑线和白纸对光的反射系数不同,根据接收到的反射光强弱来判断黑线。可实现的方案有以下几种:
方案一:采用普通发光二极管及光敏二极管组成的接收发射方案。该方案在实际使用时,容易受到外界光源的干扰,有时甚至检测不到。虽然可采取超高亮度的发光二极管降低一定的干扰,但这又增加额外的功率损耗。
方案二:反射式红外发射接收器。由于采用带有交流分量的调制信号,则可大幅度减少外界干扰。试验中,我们发现该方案对黑色物体的检测效果很好,测试其反应速度大约为5us,外围电路也很简单。
比较以上两种方案,方案二可行度高,市场上很多红外光电探头也都是基于这个原理。这样不但能准确完成测量,而且避免电路的复杂性,因此选择方案二。
检测铁片用市售的金属传感器,效果也很理想。
2、电机的选择与论证
方案一:采用步进电机。步进电机的一个显著特点就是具有快速启停能力,如果负荷不超过步进电机所提供的动态转矩值,就能立即使步进电机启动或反转;它的另一个显著特点是转换精度高,正转反转控制灵活。
方案二:采用普通直流电机。直流电机具有优良的调速特性,调速平滑、方便、调整范围广;过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速启动、制动和反转;能满足生产过程自动化系统各种不同的特殊运行要求。
由于普通直流电机更易于购买,并且电路相对简单,所以采用直流电机作为动力源。
3、电机驱动方案的选择与论证
方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速目的。但是电阻网络只能实现有级调速,而数字电阻元件价格比较昂贵,且可能存在干扰。更主要的问题在于一般电动机的电阻比较小,但电流很大,分压不仅会降低效率,而且实现很困难。
方案二:采用继电器对电动机的开或关进行控制,通过控制开关的切换速度实现对小车的速度进行调整。这个电路的优点是电路简单,缺点是继电器的响应时间长,易损坏,寿命较短,可靠性不高。
方案三:采用由达林顿管组成的H型桥电路。H桥电路由四个大功率晶体管组成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,调整电动机的转速。这种电路由于管子工作只在饱和和截止状态下,效率非常高。H型电路使实现转速和方向的控制简单化,且电子开关的速度很快,稳定性也极强。基于以上分析,选定方案三。
4、金属探测方案的选择与论证
方案一:用霍尔传感器进行金属探测。(霍尔传感器只能感应磁性材料)但是经过测试,霍尔传感器的探测距离为5mm,距离太短,而且响应速度比较慢,效果不好。
方案二:用电感式金属传感器进行探测,有效探测距离为4cm,比霍尔传感器效果要好。但是我们所能买到的金属传感器体积大,质量也不轻。综合考虑,本设计应以探测效果为主,故选择方案二。
5、光源探测方案的选择与论证
方案一:采用红外温度感应器件,因为40W射灯发射的热量不是很大,不能够准确的寻找射灯,而且电路的实现也很复杂。
方案二:采用光敏三极管来探测阵列来探测引导光源,对每个光敏三极管的状态进行编码,确定射灯的方向,由此确定返回车库小车的转向。光敏三极管对对光极为敏感,其外围电路也很简单,实现起来比较容易,在装配时占用空间小,有利于减轻小车的负载,因此我们选择方案二。
6、电源的选择与论证
方案一:采用一组电源供电(5节充电电池)。这样供电电路比较简单,但是由于电动机启动瞬间电流较大,行驶过程中电动机电流波动也很大,会造成电压不稳。而且小车在行驶过程中功耗很大,对电池容量要求很高。
采用两组电源供电,每一组电源为6V(5节充电电池),其中一组只为电机驱动部分供电,另一组为单片机及其周边电路供电。这样做虽然可以将电动机驱动所造成的干扰彻底消除,提高了系统的稳定性。
方案二:采用两组电源供电,每一组电源为6V(5节充电电池),其中一组只为电机驱动部分供电,另一组为单片机及其周边电路供电。这样做虽然可以将电动机驱动所造成的干扰彻底消除,提高了系统的稳定性。
考虑到此设计的要求,电池的容量和系统的稳定性显得更为重要,故我们采用方案二。但对电源部分进行了处理,使得单片机电源稳定下来。
7、搬运方案的选择与论证
方案一:小车从起跑线出发,先判断需要搬运的铁片的位置,小车直接向所需搬运的铁片行进,把铁片搬运到指定的存储区。然后去搬运其它铁片。此方案能够缩短完成任务的时间,但是对硬件和软件的要求都很高,尤其是铁片远距离探测很难实现。
方案二:小车从起跑线出发,直接向前行驶,到达底部黑线时停止,然后在黑线和放铁片的区域内扫描式的寻找铁片,检测到铁片后再判断是否为所需搬运的铁片,若是,将其搬运到指定的存储区,若不是继续寻找,直到把所有铁片都搬运到指定的存储区。此方案虽然要花较多时间寻找铁片,但是简单易行。
考虑到实际情况及可行性,我们选择方案二。
三、系统的具体设计与实现
1.系统的总体设计方案
本设计的控制核心我们采用C8051f330单片机,C8051f330器件是完全继承的混合信号片上系统型MCU,其内部集成高速AD、DA,SPI串行通信,内部有多个定时器,具有支持短点、单步、观察/修改存储器和寄存器功能,执行速度高,体积小,调试装配方便,特别适合用于小车的智能控制。
图1、C8051f330原理框图
本系统由两片单片机作为小车的控制核心其中一片控制黑线检测模块,金属探测模块,搬运模块,电机驱动模块,方向控制模块,显示模块等几部分。另一片控制光源检测模块,声光信息模块,并记录行驶时间。系统框图如图2所示。
声光信号模块
电源
图2、系统框图
2.系统的硬件电路设计与主要参数计算
(1)、电机模块的设计与实现
图3、H型桥式电路
如图3,本电路采用的是H型桥式驱动电路,采用TIP122、TIP127大功率达林顿管,以保证电动机能在瞬间启动。
本系统有两套H型高效电路。一套负责后轮主控电机的转向和转速,另一套则负责前轮的转向电机的转向和转速。
在H型电路中当M1F为低电平时Q1、Q4导通,Q2、Q3截止,电动机正转,当M1F为高电平时,Q2、Q3导通,Q1、Q4截止,电动机反转。同时在电动机两端并联了电阻电容,形成了感应电压的吸收回路,起到了保护电动机的作用。
在本设计中控制系统电压统一为6V电源,因此达林顿管基极由控制系统直接控制,则控制电压最高为6V,再加上三极管本身的压降加到电动机两端的电压就只有5V左右,减弱了电动机的驱动能力。基于上述考虑,我们运用了TLP521光耦集成快,将控制部分与电动机驱动部分隔离开来,这样不仅使模拟电路和数字电路有效隔离,同时也可很方便的提高驱动电动机电压值。
通过M1FB与M2FB的切换来控制电动机的正转和反转。由于到了停车区终点线时,小车还有一定的惯性,不能立即停止,如果在此时让电动机反转可以很快的使小车停止下来,还可以达到比较精确的定位。
(2)、路面黑线检测模块电路设计与实现
为了检测路面黑线,在车底四周安装了一组4个反射式传感器,发射接收的具体电路如图4。
图4、黑线检测发射、接收路线
该设计使用反射式光电传感器JX-359,光电传感器的发射孔和接收孔位于同一侧,当光电传感器发射管发射的红外线探测白色物体时,红外线反射使接收管导通。电压比较器LM311的“+”端电平被拉低,输出低电平。当检测到黑色边界线时,接收管截止,比较器“+”为高电平,输出高电平。考虑发射管需要比较大的电流,所以其限流电阻R3取330Ω,电流约为(6-1.2)V/330Ω=14.5mA,调节R7,R8比值可调整检测的灵敏度。接收器产生的信号向单片机指出各个传感器的探测信号。当某个传感器连续检测到若干信号后,说明此传感器检测到了黑线。然后单片机便对各个传感器的数据进行处理,判断出此时各个传感器此时所处的状态,并由此来确定小车的行驶状态。当行驶状态发生了改变时,就向单片机发出中断。
这样做的优点在于等到连续检测到多个信号才认为是黑线,避免将其他物体误判为黑线,以增强纠错能力。
(3)、光源检测模块
本模块的具体方案是在车车尾顶部固定一个离地面高约10cm的检测光源扇形电路,扇面上装有8个光敏三极管,即有8个光源接收支路,每路光源接收管的电路如图5所示,由于光敏三极管的集电极电流随光强而变化,集电极的电阻将电流转化为电压,同时将输出电压接入施密特触发器防止抖动。这样将各支路送出的信号给单片机进行处理,使小车检测到光源的方向而调整小车倒退的方向。在找准光源时,8个光敏晶体管从中间两个开始依次向两边排开,每两个光敏晶体管间隔角度逐渐加大分别为10°,15°,20°,25°,30°,如图6所示,实验中发现对杂散光比较敏感,把每一个光敏晶体管都用黑纸卷起来,只有当光源正对着光敏晶体管时,光敏晶体管才能检测光源。同时光敏晶体管采用这样的排列方式能够保证小车比较准确的判断出光源相对它的位置。
图6光敏晶体管安装图
图5 光敏晶体管外围电路
(4)、金属检测模块
工作原理:没有信号时,探头一直是高电平。当检测到金属时,电平由高置低。单片机收到信号后,进行相应的处理并完成检测薄铁片是否为所需搬运的功能。
(5)、搬运模块
图7、电磁铁驱动电路
工作的基本原理是:小车从起跑线出发,直接向底边前进,当小车前方检测到黑线停止,然后在放铁片和底边黑线的区域内前进后退,直到找到铁片,发出声光信号,同时单片机发出信号,电磁铁通电,将铁片吸引,接着反射式红外对管,根据铁片反射的光强来判断是不是所需搬运的铁片,若是,小车在光源的引导下,小车后退,小车尾部的光敏晶体管检测小车的行驶方向,将铁片搬运到所应存放的存储区。当小车前方和尾部的反射式红外传感器都检测到黑线时,小车停止,单片机发出信号,电磁铁断电将铁片放在指定的存储区内;若不是,单片机发出信号,电磁铁断电,将铁片放下,继续寻找所需搬运的铁片,直到将所有的铁片都搬运到指定的存储区。电路采用ULN2003作为电磁铁的驱动,能够方便的和单片机连接。电磁铁驱动电路如图7所示。
(6)、显示模块
此部分主要有单片机控制,当检测到所需搬运的铁片时,单片机发出信号,LED显示铁片的数目。LED通过F330的SPI接口实现数据的显示,占用端口较少,而且显示稳定。
(7)、单片机控制系统
通过对各模块的输出进行检测分析并做出相应的判断,使小车按照要求完成任务。
3.系统的软件设计
控制电路由两片单片机实现,其中一片控制黑线检测模块,金属探测模块,搬运模块,电机驱动模块,方向控制模块,显示模块等几部分。另一片控制光源检测模块,并记录行驶时间。主程序流程图所示。
N
Y
N
Y
主程序开始调用初始化程序,接着判断射灯的位置,然后启动小车,当小车检测到黑线,小车停止。接着小车在定时器的作用下在铁片和黑线区域内后退,当时间到,小车停止后退,向前行驶,检测到黑线停止。小车在前进的同时要检测铁片,当检测到铁片做出判断是否为目标物,若是,将其搬运到指定的存储区,然后搬运其它铁片;若不是,继续重复上述动作,直到将所有铁片搬运到指定的存储区。然后小车返回车库。当小车检测不到铁片,也会返回车库。
四、实际测试
1、测试设备
模拟跑道(按题目要求设计)
卷尺(精度0.001m)
秒表(精度0.01s)
2、测试方法
将小车放在起始位置,开启电源,让小车自由行驶,记录小车全程行驶时间、检测铁片、搬运铁片及小车到达停车区的情况。改变铁片之间的间隔,重复以上操作。第一次中间铁片距右边黑线30cm;铁片之间间隔20cm,第二次中间铁片居中;铁片之间间隔25cm,第三次中间铁片距左边黑线40cm,铁片之间间隔30cm。
3.测试结果
(1)、小车全程行驶时间
测量数据如表一所示。
表一
| 次数 | 小车全程行驶时间/s |
| 1 | 4分35秒 |
| 2 | 5分14秒 |
| 3 | 4分28秒 |
测试结果如表二所示。
表二
| 次数 | 能否检测到铁片 | 能否识别铁片是否为所需搬运的 | 能否将铁片搬运到指定地点 | 能否显示铁片数 |
| 1 | 能 | 能 | 能 | 能 |
| 2 | 能 | 能 | 不能 | 能 |
| 3 | 能 | 不能 | 能 | 能 |
测试结果如表三所示。
表三
| 次数 | 能否返回车库 | 小车车身进入车库的比例/% |
| 1 | 能 | 75% |
| 2 | 能 | 69% |
| 3 | 能 | 80% |
本设计在硬件上使用了金属探测、红外线、光敏三极管传感器件作为多种信号的检测,使用H桥式驱动电路控制电动机正反转,利用ULN2803控制电磁铁的通断来实现铁片的搬运,利用光耦解决电源间干扰问题;在软件上充分利用了单片机C8051f330的灵活方便的优点,使用了优化的算法克服干扰,实现了自动转向,智能倒车,精确定位,移车进库等功能。从最终测试结果来看,对环境具有很强的适应能力,本系统能基本完成本设计的要求。
