更全的杂志信息网

基于STC12C5A60S2的智能小车追逐问题的研究

更新时间:2009-03-28

在我国历年的全国大学生电子设计竞赛中,智能小车控制类题目高频次出现。2001年第五届的C题——自动往返电动小汽车,2003年第六届的E题——简易智能电动车,2011年第十届的C题——智能小车,2017年第十三届的L题——自动泊车系统,都出现了玩具智能电动小车[1]。这些命题一类是控制一辆智能小车实现自动循迹避障往返,或自动倒车入库,或自动吹灭蜡烛。另一类题目要求两辆智能小车相互追逐,交替领先,兼顾循迹避障,这种题目难度颇大。

第二类题目要求甲、乙两辆小车在指定区域同时同向一前一后行进,并在规定区域实现超车。分析该要求,智能小车必须具备两种功能:一是智能循迹避障拐弯功能,使得小车在指定跑道行驶,不偏离轨道;二是在规定的超车道实现甲乙车位置互换,并且不得发生碰撞。全程不得人工干预,不得遥控,设计难度颇大。本文提出一种基于STC12C5A60S2微控制器的可行方案。

1 整体设计思路

选用单片机STC12C5A60S2作为系统核心控制器;光电传感器ST188用于探测路面黑白线并通过反射红外线的变化判断是黑线还是白线;L298N控制电动机左右轮的转向;测距传感器E18-D80NK-N用于判断两车的相对位置,从而决定是否需要超车及交替领跑。

2 部分硬件模块电路设计

2.1 微控制器STC12C5A60S2

单片机是一款16位的Flash单片机,有非常好的易用性,兼容8051单片机,具有LQFP、PDIP、PLCC、QFN等多种封装结构。图1所示为PLCC架构的外部引脚图。通用输入输出I/O口复位后为准双向口/弱上拉,与普通8051传统I/O口兼容,可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏,每个I/O口驱动能力均可达到20mA[2]。其内部60KB的FLASH程序存储器具有足够大的空间存放用户编写的程序,相比于传统的89系列,多了一个可自动重装载的定时计数器,多了一个全双工异步串行口UART,集成了3通道的PWM,集成了硬件看门狗,这些新增加的资源都为后面的设计提供了很好的硬件功能支持[3]。由于需要对小车的电动机进行PWM调速控制,这款单片机集成有PWM功能,可以省却外加一块PWM芯片,节省了成本和空间,降低了连线复杂度。系统采用大容量的12V/6800mAh锂电池给电动机供电,另外通过电源电路转换成5V给单片机供电。

  

图1 PLCC架构STC12C5A60S2引脚图

2.2 传感器

2.2.1 循迹传感器

系统程序中主要是由三个判断构成,图7所示流程图对于前后两车都适用。如果两车进入超车段,需要后车超越前车,则前车在超车标志判断后沿着内线减速行驶,后车沿着外线原速行驶,达到超车目的。最后一个判断是前车判断已经被后车超车,恢复原来的速度,以保证在非超车道,两车一前一后相对距离不变行驶。程序设计利用外车道超车,以免两车发生碰撞。程序采用模块化设计法,把相对独立的程序段写成一个模块进行调用。这样易于编写和调试,能够把复杂任务分割成小任务,为设计提供方便。在Keil C软件中编译调试通过后固化到单片机,安装到电路板上。部分程序列举如下:

  

图2 一路ST188光电传感器模块原理图

E18-D80NK作为小车的测距传感器,本身具有发射和接收功能,并且只需要接三根线,接线简单,价格低廉,安装方便。其发射的红外线经调制器调制后发出;接收到的红外光通过放大器放大后,解调输出,可有效避免可见光的干扰。E18-D80NK测距传感器最远能检测到80cm的距离。由于两辆小车相互追逐距离不会相隔太远,适用于该传感器的检测范围。另外可以调节传感器尾部的电位器阻值,以校准精度。实际中,可以利用该传感器所测距离精确控制两辆小车保持车距在跑道上向前行驶,到了规定的超车道再执行超车动作。

  

图3 传感器模块安装位置示意图

2.2.2 测距传感器

五路ST188的光电传感器放置在小车的底盘,位置如图3所示。建议三角形排布,把一路传感器放置于小车的最前方,便于提前获取道路信息,及时做出姿态调整。另外的四路分别位于小车的两侧,成三角形形状。五个传感器获取的数据构成一个字节的高5位,经过施密特触发器放大后滤波,反相送入STC12C5A60S2的P0口。

上述提到的企业“拿票难”的问题,引致企业难以做进项税额的抵扣或者抵扣不完全。专用发票在发货票中十分常见,它是供增值税一般纳税人生产经营增值税应税项目使用的一种特殊发票。它不仅是法定凭证也是一般的商业凭证。企业拿不到专用发票意味着税费要自己承担,这无疑加重了企业税负,所以增设专用发票代开点成了关键。专用发票代开点可以帮助纳税人及时进行进项税抵扣。如果一般纳税人专用发票丢失,也可以让代开点根据具体流程进行补票,节省此过程中的人力物力,使“拿票难”变为“拿票易”。

2.3 红外通讯模块

红外通信发射电路由晶振,反相器,电容,电阻构成的455KHz的方波信号发生电路,经脉冲分频器74HC92六分频为75.83KHz的脉冲信号,再经过脉冲分频器74LS92,六分频成为75.83KHz的脉冲信号,再经过D触发器构成的2分频电路变成38KHz的防波信号。该信号与从单片机TX端输出的串行数据一起送入与非门74HC00,从而控制复合三极管的开通与断开,最终控制了红外发射管的发射信息,以达到用TX串行数据信号直接调制载波,进行红外数据传输的目的。这部分电路如图4所示。红外接收电路由HS0038A来完成,该模块有三个端口,2号引脚接电源正Vcc,1号引脚接地,3号为数据接收端,通过10 kΩ电阻接上拉电源。如图5所示。

应在全区多设立重大病虫系统监测点及田间观测点,定期、定点、专人开展病虫监测,及时掌握病虫发生动态与趋势,并通过电视预报、病虫简报、远教网络、现场发动等多种形式发布重大病虫害预警信息,及时向当地政府主要领导和上级业务部门上报重大病虫害发生信息,为领导决策当好参谋,为组织防治提供科学依据。

  

图4 红外通信发射电路

  

图5 红外通信接收电路

2.4 小车姿态调整模块

单片机P2口的高四位接电动机驱动芯片L298输入端和使能端,P0口的高五位接五个循迹模块。红外通信模块使用P1.0,P1.1和P3.1口。两个电机由单片机的P2口高四位控制,其中P2.5为使能端ENA,P2.7为使能端ENB,均为低电平有效。设置电动机控制代码如表2所示,其中的二进制代码只需关心高四位数值即可。

  

图6 电机驱动模块示意

 

表1 L298的逻辑功能表

  

ENB/ENA IN1/3 IN2/4 电机运动情况H H L正转H 反转H 与IN2/4同 与IN1/3同 快速停止L××无效停止L H

2.5 E18-D80NK-N红外避障传感器

E18-D80NK-N是一款数字光电传感器,属于是NPN型光电开关[6]。当检测到目标物体时,低电平输出,正常状态是高电平输出。可外加一个1KΩ的上拉电阻连接到单片机的IO口上。具有较远的探测距离,受可见光干扰小等特点。利用该传感器,能精确控制两小车的距离,使得在非超车段两车一前一后正常行驶,超车段后车追赶上前车,交替领跑。

3 系统资源配置及程序设计

施密特触发器74HC1和L298构成电动机控制模块,用来调整小车的转向,加速,减速等姿态控制.如图6所示。L298是一种两相和四相电机的专用驱动器,内部有两个全双桥的H型驱动电路,不仅可以接受标准TTL信号,而且可以驱动46V、2A以下的电动机[4]。使用施密特触发器74HC14是为了节省两个输入输出端口,用使能端ENA和ENB来控制电机的启停,也可以输入PWM波控制电机的转速[5]。L298的逻辑功能如表1所示。

 

表2 电机控制代码

  

小车姿态 二进制代码 对应的十六进制 电机状态直行01011111 0x5F 正转后退00001111 0x0F 反转停止11111111 0xFF EN无效右转01001111 0x4F 右转左转00011111 0x1F 左转

通过对兰科植物分布信息进行研究分析发现,无叶美冠兰Eulophia zollingeri (Rchb. f.) J. J. Smith、大花无柱兰Amitostigma pinguicula (Rchb. f. et S. Moore) Schltr.、长叶山兰Oreorchis fargesii Finet、广东盆距兰Gastrochilus guangtungensis Z. H. Tsi、芳线柱兰Zeuxine nervosa (Lindl. ) Trimen、紫花鹤顶兰Phaius mishmensis (Lindl.et Paxt.) Rchb. f.为贵州兰科植物新分布。

当小车行驶在黑线上,传感器模块分压后获得高电平,通过施密特反相触发器送入CD4069反相器后得到高电平;反之,行驶在白线上获得的信号为低电平。资源配置单片机P0口的高五位采集循迹传感器信号,即P0.7~P0.3,循迹控制代码如表3所示。

 

表3 循迹控制代码

  

小车姿态 循迹二进制代码 备注直行111 检测到中间是黑线,两边白线后退111 进入到全黑区域,出错,后退停止000 进入到全白,偏离轨道,停止111,111,111,111,111,111右转左白右黑,小车向左偏离轨道,应向右调整左转111,111,011,111,111,111右白左黑,小车向右偏离轨道,应向左调整

循迹采用ST188传感器来探测黑白线,其工作原理如图2所示。当没有物体反射红外线,引脚1和2之间截止,没有电流流过,4引脚输出高电平,也就是电源电压,LM324同相输入端为高电平。当有物体反射红外线时,引脚1和2之间导通有电流流过,引脚3和4之间的三极管CE引脚导通,相当于4引脚接地为低电平,LM324同相输入端为低电平。这样就能检测出地面有无反射物体了。鉴于引脚3和4之间有较大的死区电压,需要通过调节R3的阻值改变LM324的电压比较值,增加ST188的测量灵敏度。为保证ST188的发射管静态电流为典型值20mA,取典型发射二极管导通压降值为1.25V,则在5V供电电压下,与发射管串联的电阻阻值为(5~1.25)V/20mA=187.5Ω,取标称值 200Ω。

作者简介:林海纯,女,深圳市龙华区柏克莱幼儿园,幼儿园一级教师,深圳市南山区优秀班主任,本科学历,研究方向:快乐教学、幼儿园教育。

 
 
  

图7 系统流程图

4 整机调试

为了实现灵活转向,小车采用两轮驱动控制方式。电源选择大功率大容量的锂电池,以提供强大的续航能力。各模块电路尽量减少面积,五路循迹传感器安装在小车靠前的部位,单片机控制系统安装在车身中部,电机驱动模块安装在电机附近。

调试时,需要手动给光电传感器一个输入信号,检测输出电平是否正常。给L298各个输入端口加上电平,观察电机的运转情况是否正常。检查小车能否前进、后退、停止和转弯等。各项检查都通过后,加载完整程序。

5 结语

小车的相互追逐功能是在避障功能基础上新增的一种竞赛类型题目,全面考察选手的各方面技能。选手必须在熟悉循迹避障的基础上,加入测距相互追逐功能,对选手是一个很大的挑战。提出的设计思路经验证确实可行,但在精确性和实时性上有待提高,需要不断优化硬件电路和程序,以达到更好的效果。

(1)要在完善农村家庭承包土地和林业用地确权颁证登记工作的基础上,加快农业经营主体承包以及租赁国有荒地、荒碱地、海滩和水域等确权登记颁证工作,探索建立农业经营主体流转农户承包土地使用权颁证办法。

参考文献

[1]全国大学生电子设计竞赛组织委员会.历届题目[EB/OL].[2014].http://www.nuedc.com.cn/news.asp-bid=1.

[2]吕云芳,陈帅帅,郝兴森,等.基于C51高级语言程序控制的智能循迹小车设计与实现[J].实验室研究与探索,2015,34(3):142—145.

[3]黄智伟.全国大学生电子设计竞赛电路设计[M].第2版.北京:北京航空航天大学出版社,2011.

[4]STMicroelectronics.L298 DUAL FULL-BRIDGE DRIVER[EB/OL].[2014].http://www.st.com.

[5]王琰,郭燕.基于C51单片机的智能循迹小车设计与实现[J].机电一体化,2013,19(8):72—76.

[6]许文卓,顾亭,孙浩谛,等.基于红外循迹的火灾报警小车循迹算法研究[J].甘肃科技,2017,33(4):11—13.

 
张辉,樊亚妮
《计算技术与自动化》2018年第04期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号