方案的选择与论证
根据题目要求,系统可以分为四个
基本模块,由四片八位单片机分别实现,一片89C52作为主机,三片89C2051为从机,主从机之间用单片机通信联系, 如图
1所示。对各模块的实现,分别有以下一
些不同的方案。
1.测金属计算路程模块金属探测使用接近开关,对于路程的计算我们有以下两种方案:
方案一   在小汽车前后各放一个接近开关J1、J2,相距为L。设前端J1探测到金属片前端的时间
是t1,J2探测到金属片前端的时间是t2,J1探测到金属片后端的时间是t3,J2探测到金属片后端的时间是t4。假设小车在直线段上是匀速行驶,则小车的速度为L/(t2-t1),铁板中线到起跑线的距离是[L×t1+L×(t3-t1)/2]/(t2-t1),由于小车启动时是加速运动,所以距离要根据实验测得的数据进行修正。
方案二   在小车的前端放置一个接近开关。通过光电传感器或霍尔开关使轮子每转一周产生若干个脉冲,单片机记下脉冲数和时间,再用实验的方法测出轮子的周长,就可以算出小车的平均速度,进而算出铁片中线到起点的距离。光电传感器可以通过两种方法得到脉冲数,一种方法是在一个车轮上涂上黑白相间的条纹,通过黑白对光线的反射强弱不同产生脉冲,缺点是轮子表面凹凸
不平容易干扰反射,并且经常使用,白的
部分容易变黑干扰反射;另一种方法是按照光电编码盘的原理,在小车的主轴上套上一个布有均匀透光孔的圆盘,使用光电开关进行测速,由于我们的这辆小车的主轴上空间很小,所以这种方法也不容易实现。霍尔开关的电路简单,安装也很方便(只需将小磁铁均匀地贴在轮子上即可),但是由于小磁铁放置太多彼此之间会互相干扰,所以小磁铁的放置数量是有限的(只能1 ̄3片),同时由于小磁铁之间是互斥的,所以很难实现精确均匀分布,因此使用霍尔开关的精度比较低。
综合以上方案,接近开关价格比较昂贵,我们本着节约的原则没有采用。由
于小车本身结构的原因,光电传感器不
方便安装,安装上的效果可能也不会太好,所以也没有采用。最终我们选择了霍尔开关的方案,考虑到本题对速度要求不是太高,我们在轮子上安装了1块小磁铁。
2.电动机驱动调速模块
方案一   在电动机前段加电位器使之分压减少以降低转速;同时在前端并联一个电容可以使电动机缓慢加速,从而避免突然加速对系统的冲击,避免轮子打滑。这种方案的缺点是调节转速需要人工手动调节电位器,非常不方便;小车刹车时由于电容放电,刹车也很缓慢,不能及时刹车。
方案二   采用专用集成电路芯片L298驱动电机,用单片机控制L298的输入使之工作在占空比可调的开关状态,精确调整电动机转速。电子开关的速度很快,稳定性也极强。缺点是小车启动时,由于突然施加的电压比较高,车轮容易打滑。
综合以上两种方案,我们选择第二种。
3.时钟模块
由于我们这个系统的单片机比较多,
根据以往的实践经验我们特别加了一个
时钟模块以统一整个系统的时间,这样可以使整个系统统一行动,减少因为时间不统一而出错的几率,增强系统的稳定性。
4.主控模块
主控模块是系统的核心,它担负着跟踪黑线、躲避障碍物、寻光源的任务。
跟踪黑线的大致原理是:光线照射到路面并反射,由于黑线和白纸的反射系数不同,可根据接收到的反射光强判断是否在寻迹行驶。
方案一   采用直流不调制的反射式红外发射-接收器,经过电压比较器比较后送入单片机。电压比较器的介入有助于降低输入阻抗,并且将输出电压规范到两个标准值。可是我们实际做的效果并不理想。考虑不理想的原因主要是周围环境光线的干扰。
方案二   脉冲调制的反射式红外发射-接收器。考虑到环境光干扰主要是直流分量,如果采用带有交流分量的调制信号,则可大幅度减少外界干扰;另外,红外发射管的最大工作电流取决于平均电流,如果使用占空比小的调制信号,在平均电流不变的情况下,瞬时电流可以很大(50~100mA),这样也大大提高了信噪比。
基于上述考虑,我们采用第二种方案。
5.躲避障碍物的选择
躲避障碍物有以下两种方案可供选择:
方案一   超声波测距。超声波传感器的原理是:首先它发射出一束超声波,超声波碰到物体反射回超声波传感器,CPU记录下时间t并通过公式S=340×t/2计算出小车同障碍物之间的距离,加以躲避。
方案二  反射式红外线光电传感器。这种器件只能输出开关量,因为它只在
2003年全国大学生电子设计竞赛一等奖
简易智能电动车(E题)
・北京科技大学  孟凡伟 蒋林明 孙学彬・・辅导教师  牟世堂   金   波   王尚军・
图1
小于阀值距离处发生电平翻转变为低电平,大于阀值距离则输出高电平。
电动车
方案三   采用试验的方法,确定一条比较精确的路线,让单片机记住就可以了。
由于时间的限制,我们
决定针对本题采用试验的方法,虽然通用性比较差,但针对本题可以完成任务。
6.电源选择方案一   所有器件采用单一电源。这样供电比较简单。但是由于我们的小车有两台电机,
电动机启动瞬间电流很大,而且PWM驱动的电动机电流波动较大,会造成电压不稳、有毛刺等干扰,严重时可能造成单片机系统掉电,缺点十分明显。
方案二   双电源供电。将电动机驱动电源与单片机以及其周边电路完全隔离,利用光电耦合传输信号。这样做虽然不如单电源方便灵活,但可以将电动机所造成的干扰彻底消除,提高了系统稳定性。
我们认为本设计的稳定可靠性更为重要,故采用方案二。
系统的具体设计与实现
1.系统的硬件设计
(1)电动机PWM驱动电路的设计与实现   小车有两台电机,都采用PWM控制技术,后轮电机采用PWM调节小车行驶的速度,前轮电机采用PWM调节小车的转角。由于我们有一个基于PWM原理的H型驱动电路,所以为了节省时间我们直接采用这个电路来控制前轮。该电路采用TIP142大功率达林顿管,以保证电动机启动瞬间的8A电流要求。电路如图2所示。
当U1为高电平,U2为低电平时,Q2、Q3管导通,Q4、Q1 管截止,电动机正转;当U1为低电平,U2为高电平时,Q2、Q3管截止,Q4、Q1管导通,电动机反转。另外四个二极管可以在U1由高变低时,通过D1、D3两个二极管形成电动机线圈感应回路,起到了保护电动机的作用。
我们运用了4N25 光耦集成块将控制部分与电动机的驱动部分隔离开来,这样不仅增加了各系统模块之间的隔离度,也使驱动电流大大增强了。
我们采用电机控制专用芯片L298来
控制后轮电机(如图3a)。L298是双H桥高电压大电流功率集成电路,可以用来驱动2个直流电动机或步进电动机等感性负载。采用L298作为电机驱动电路,可靠性高,可以方便地控制电机正反转。由图3可见,每个H桥的下侧桥臂晶体管发射极连在一起,其输出脚(1和15)用来连接电流检测电阻;9脚接逻辑控制部分的电源;4脚为电机驱动电源Vs;5、7、10、12脚输入标准TTL逻辑电平信号,用来控制H桥的开和关;6、11脚则为使能控制端(控制逻辑如图3b)。
L298的主要参数是:允许驱动电压
Vs=50V;允许控制电压Vss=50V;直流允许输出电流Io(MAX)=2A;直流最大允许尖峰电流Io(peak)=3A(t=100μs);允许采样电压VSENSE=-1 ̄2.3V;允许功耗
Ptot=25W (TCASE=75℃)。
注意到L298每一路输出可以正常提供1A的电流,峰值电流(100μs之内)可达3A。将每个L298芯片的两路输出并联后驱动电机,则可以输出2A的电流,图4为L298的输出并联方法。这时,每一片
L298单独驱动一个直流电机。
L298的外围电路和控制都比较简单,需要仔细考虑的是采样电阻Rs的选择。以下几个因素是必须考虑的:电阻本身可能达到的功耗; L298的允许采样电压是2.3V,超过这一幅度芯片会自动保护; L298的允许电流和允许功率限制。
假设可能出现的最大电流为IMAX,驱动电源电压为U,选择电阻阻值Rs,则上述条件限制可以表示为:
图3
图6
根据现有的电源条件(7.6 ̄7.8V
镍氢电池),可选U=15.4V(两节电池串联)或U=23.1V(3节电池串联)。若选U=15.4V,IMAX几乎可以允许达到最大值2A,令Rs=1Ω已经可以满足要求(因为实际电机电流不可能达到2A);若选U=23.1V,则为了保护芯片,必须强制IMAX<2.5/(U-2.5)=1.2A,如此选择Rs=2Ω是比较稳妥的。实际试验选择Rs=1.5Ω也还可以正常
工作;令Rs=1Ω时,一旦转速过快,芯片会烧毁。
最后,不论Rs=1Ω还是Rs=2Ω,电阻的功耗PR(MAX)=Rs2×IMAX都会比较大。实际使用时,以选择5W系列的电阻为宜,否则会导致整个电路驱动能力的下降。
图5为用L298驱动直流电机的整体电路图,其中PWM(脉宽输入)和Direc-
tion(转动方向)由控制电路给出。
(2) 路面黑线检测电路的设计与实现 为了检测路面黑线,在车底部的前部和中部各并排放置三个光电传感器,如图6所示。(3)车速及路程检测电路的设计与
实现   在车头放置一个接近开关,小车
经过铁片会分别给单片机一个下降沿和一个上升沿脉冲,单片机记录下两个时间t1和t2。接近开关亦称无接触开关、无触点行程开关,它由振荡器和整形放大器组成,振荡器起振后在开关的感应头上产生一个交变的磁场,当金属体接近感应区时,在金属体内产生涡流,从而吸
收了振荡器的能量,使振荡器停振,由整
形放大转换成电信号,从而达到检测的目的。霍尔速度传感器的使用原理图如图7所示,汽车后轮每转一圈,霍尔元件产生1个脉冲送入单片机,单片机进行
计数,完成脉冲数到距离的转换。(4)显示电路的设计与实现    我们采用两片专用芯片MAX7219来控
制四片共阴数码管以实现对时间、路程、速度的显示,电路如图8所示。
(5)电源电路的设计与实现    我们采用10节AA电池为系统供电,其中6节电池为前后电机和接近开关提供9V电压,另外4节电池经专用稳压芯片LM2940-5为传感器和集成芯片提供稳定
的5V电压。电路如图9所示。(6)躲避障碍物和感光、停
车电路的设计与实现   避开障碍物我们采用试验的方法确定最佳路线,让单片
机记住这条路线,反复试验可靠性比较
高。感光电路是两个光敏三极管,大致结构如图10所示。当两个光敏三极管的信号同时为低时,我们认为车头正对光源,这样就到了光源。停车传感器的结构如图11所示,喇叭口与灯光成一个角度,使光敏传感器只有在接近光源处才能被照射到,实现停车。
(7)其它硬件特点    各个模块之间完全使用插座连接,各个模块在车上用机械方法固定,插
拔装卸非常方便,真正实现了硬件模块
化。小车的抗干扰能力很强,在我们自己的测试场地里有很多脚印,但小车从来没有受到过影响。
系统的软件设计
1.方案比较与分析
方案一   本系统可以采用单CPU或两片CPU通过中断相连接,这样结构比较简单,每片CPU资源利用率比较高。
方案二   采用一片CPU为主机,多个单片机为从机,主从机之间采用多机通信传递信息,这样结构比较复杂,采用查询方式不容易控制。
由于在本题中我们使用了四种共10个传感器,信息量比较大,所以我们采用一个主机带三个从机的多机通信方式来控制,这样总体资源足够,使我们在控制上有很大的灵活性。同时还可以为以后的功能扩展留出端口,以便进一步完善小车功能。
2.软件的总体设计思想
本软件系统设计运用分时多任务与面向对象的编程思想,以单片机多机串行通信为基础架构。单片机控制电路主要由一片89C52和三片89C2051组成,89C52作为整个控制部分的核心,负责对三片89C2051控制与监视。三片89C2051分别标识以0x01、0x02、0x03,其中,0x01为时间发生器(TIMER),负责时间发生与任意大小延时监视;0x02为运动系统控制器(PWM),负责电机的正转反转调速、脉冲式左转右转与持续式左转右转;0x03为辅助信息采集器(COLLECTOR),负责采集小车运行速度与金属块的检测等,并分析反馈给主机,从而控制协调整个系统的运行,但考虑到小车寻迹信号、
图10