基于51单片机的智能小车设计

2024-06-09

基于51单片机的智能小车设计(共8篇)

基于51单片机的智能小车设计 篇1

智能小车的设计与制作

摘要:本课题组设计制作了一款具有智能判断功能的小车,功能强大。小车具有以下几个功能:自动避障功能;寻迹功能(按路面的黑色轨道行驶);趋光功能(寻找前方的点光源并行驶到位);检测路面所放置的铁片的个数的功能;计算并显示所走的路程和行走的时间,并可发声发光。作品可以作为高级智能玩具,也可以作为大学生学习嵌入式控制的强有力的应用实例。

作品以两电动机为主驱动,通过各类传感器件来采集各类信息,送入主控单元AT89S52单片机,处理数据后完成相应动作,以达到自身控制。电机驱动电路采用高电压,高电流,四通道驱动集成芯片L293D。其中避障采用红外线收发来完成;铁片检测部分采用电感式接近开关LJ18A3-8-Z/BX检测;黑带检测采用红外线接收二极管完成;趋光部分通过3路光敏二极管对光源信号的采集,再经过ADC0809转化为数字信号送单片机处理判别方向。由控制单元处理数据后完成相应动作,实现了无人控制即可完成一系列动作,相当于简易机器人。

关键字:智能控制 蔽障 红外线收发 寻迹行驶 趋光行驶

1.总体方案论证与比较

方案一:采用各类数字电路来组成小车的控制系统,对外围避障信号,黑带检测信号,铁片检测信号,各路趋光信号进行处理。本方案电路复杂,灵活性不高,效率低,不利于小车智能化的扩展,对各路信号处理比较困难。

方案二:采用ATM89S52单片机来作为整机的控制单元。红外线探头采用市面上通用的发射管与及接收头,经过单片机调制后发射。铁片检测采用电感式接近开关LJ18A3-8-Z/BX检测,黑带采用光敏二极管对光源信号采集,再经过ADC0809转化为数字信号送到单片机系统处理。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现,能很好地

满足题目的要求。

比较以上两种方案的优缺点,方案二简洁、灵活、可扩展性好,能达到题目的设计要求,因此采用方案二来实现。方案二的基本原理如图1所示。

图1 智能车运行基本原理图框图

避障部分采用红外线发射和接受原理。铁片检测采用电感式接近开关LJ18A3-8-Z/BX检测,产生的高低电平信号经过处理后,完成相应的记录数目,驱动蜂鸣器发声。黑带寻迹依靠安装在车底部左右两个光敏二极管对管来对地面反射光感应。寻光设计在小车前端安装3路(左、中、右)光敏电阻对光源信号采集,模拟信号经过ADC0809转化为数字信号送到MCU处理。记程通过在车轮上安装小磁块,再用霍尔管感应产生计数脉冲。记时由软件实现,显示采用普通七段LED。此系统比较灵活,采用软件方法来解决复杂的硬件电路部分,使系统硬件简洁化,各类功能易于实现。

2.模块电路设计与比较 1)避障方案选择

方案一:采用超声波避障,超声波受环境影响较大,电路复杂,而且地面对超声波的反射,会影响系统对障碍物的判断。

方案二:采用红外线避障,利用单片机来产生38KHz信号对红外线发射管进行调制发射,发射出去的红外线遇到避障物的时候反射回来,红外线接收管对反射回来信号进行解调,输出TTL电平。外界对红外信号的干扰比较小,且易于实现,价格也比较便宜,故采用方案二。

红外线发射接受电路原理图如图2所示。

采用红外线避障方法,利用一管发射另一管接收,接收管对外界红外线的接收强弱来判断障碍物的远近,由于红外线受外界可见光的影响较大,因此用250Hz的信号对38KHz的载波进行调制,这样减少外界的一些干扰。接收管输出TTL电平,有利于单片机对信号的处理。采用红外线发射与接收原理。利用单片机产生38KHz信号对红外线发射管进行调制发射,发射距离远近由RW调节,本设计调节为10CM左右。发射出去的红外线遇到避障物的时候反射回来,红外线接收管对反射回来信号进行解调,输出TTL电平。利用单片机的中断系统,在遇障碍物时控制电机并使小车转弯。由于只采用了一组红外线收发对管,在避障转弯方向上,程序采用遇障碍物往左拐方式。如果要求小车正确判断左转还是右转,需在小车侧边加多一组对管。外界对红外信号的干扰比较小,性价比高。调试时主要是调制发射频率为接收头能接收的频率,采用单片机程序解决。发射信号强弱的调节,由可调精密电阻调节。

图2 红外线发射接受电路原理图

2)检测铁片方案选择

方案一:采用电涡流原理自制的传感器,取才方便,但难以调试,输出信号也不可靠,成功率比较低,难以准确输出传感信息。

方案二:采用市面易购的电感式接近开关,本系统采用市面比较通用LJ18A3-8-Z/BX来完成铁片检测的任务。虽然电感式接近开关占的体积大,对本是可以接受,且输出信号较可靠,稳定性好,受外界的干扰小,故采用方案二。

检测铁片电路原理图如图3所示。

图3 检测铁片电路原理图

3)声音提示

方案一:采用单片机产生不同的频率信号来完成声音提示,此方案能完成声音提示功能,给人以提示的可懂性比较差,但在一定程度上能满足要求,而且易于实现,成本也不高,我们出自经费方面考虑,采用方案一。

方案二:采用DS1420可分段录放音模块,能够给人以直观的提示,但DS1420录放音模块价格比较高,也可以采用此方案来处理,但方案二性价比不如方案一。4)黑带检测方案选择

方案一:采用发光二极管发光,用光敏二极管接收。由于光敏二极管受可见光的影响较大,稳定性差。

方案二:利用红外线发射管发射红外线,红外线二极管进行接收。采用红外线发射,外面可见光对接收信号的影响较小,再用射极输出器对信号进行隔离。本方案也易于实现,比较可靠,因此采用方案二。黑带检测电路图如图4所示。

输出信号进入74LS02。稳定性能得到提升。当小车低部的某边红外线收发对管遇到黑带时输入电平为高电平,反之为低电平。结合中断查询方式,通过程序控制小车往哪个方向行走。电路中的可调电阻可调节灵敏度,以满足小车在不同光度的环境光中能够寻迹。由于接收对管装在车底,发射距离的远近较难控制,调节可调电阻,发现灵敏度总是不尽人意,最后采用在对管上套一塑料管,屏蔽外界光的影响,灵敏度大幅提升。再是转弯的时间延迟短长控制。

图4 黑带检测电路图 3)计量路程方案

方案一:利用红外线对射方式,在小车的车轮开一些透光孔来计量车轮转过圈数,从而间接地测量路程。

方案二:利用霍尔元件来对转过的车轮圈数来计程,在车轮子上装小磁片,霍尔元件靠近磁片一次计程为车轮周长。此方案传感的信号强,电路简单,但精度不高。

如果想达到一定的计量精度,用霍尔传感元件比较难以实现,因为在车轮上装一定量的小磁片会相互影响,而利用红外线对射方式不会影响各自的脉冲,可达到厘米的精度,因此采用方案一来实现。计量路程示意图见图5。

通过计算车轮的转数间接测量距离,利用了霍尔元件感应磁块产生脉冲的原理,再对脉冲进行计数。另可采用红外线原理提高记程精度,其方法为在车轮均匀打上透光小孔,当车轮转动时,红外光透射过去,不断地输出脉冲,通过单片机对脉冲计数,再经过一个数据的处理过程,这样就可把小车走过的距离计算出来,小孔越多,计数越精密。

图 5 计量路程示意图

3)智能车驱动电路

方案一:采用分立元件组成的平衡式驱动电路,这种电路可以由单片机直接对其进行操作,但由于分立元件占用的空间比较大,还要配上两个继电器,考虑到小车的空间问题,此方案不够理想。

方案二:因为小车电机装有减速齿轮组,考虑不需调速功能,采用市面易购的电机驱动芯片L293D,该芯片是利用TTL电平进行控制,对电机的操作方便,通过改变芯片控制端的输入电平,即可以对电机进行正反转操作,很方便单片机的操作,亦能满足直流减速电机的要求。智能车驱动电路实现如图6所示。

图6 智能车驱动电路

小车电机为直流减速电机,带有齿轮组,考虑不需调速功能,采用电机驱动芯片L293D。L293D是著名的SGS公司的产品。为单块集成电路,高电压,高电流,四通道驱动,设计用来接收DTL或者TTL逻辑电平,驱动感性负载(比如继电器,直流和步进马达),和开关电源晶体管。内部包含4通道逻辑驱动电路。其额定工作电流为1A,最大可达1.5A,Vss电压最小4.5V,最大可达36V;Vs电压最大值也是36V,经过实验,Vs电压应该比Vss电压高,否则有时会出现失控现象。表1是其使能、输入引脚和输出引脚的逻辑关系。

表1 引脚和输出引脚的逻辑关系

EN A(B)IN1(IN3)IN2(IN4)电机运行情况

H H L 正转

H L H 反转

H 同IN2(IN4)同IN1(IN3)快速停止

L X X 停止

L293D可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。调试时在依照上表,用程序输入对应的码值,能够实现对应的动作,调试通过。3)寻找光源功能

方案一:在小车前面装上几个光电开关,通过不同方向射来的光使光电开关工作,从而对小车行驶方向进行控制,根据光电开关特性,只有当光达到一定强度时才能够导通,因此带有一定的局限性。

方案二:在小车前面装上参数一致的光敏二极管或者光敏电阻,再通过A/D转换电路转换成数字量送入单片机,单片机再对读入的几路数据进行存储、比较,然后发出命令对外围进操作。对方案一、二进行比较,方案二硬件稍为复杂,但能够对不同强度的光进行采集以及比较,操作灵活,所以采用方案二。

寻找光源电路图如图7所示。

图7 寻找光源电路图

3)显示部分

方案一:采用LCD显示,用单片机可实现显示数据,但显示亮度和字体大小在演示时不尽人意,价格也比较昂贵。

方案二:采用LED七段数码管,采用经典电路译码和驱动,电路结构简单,并且可以实现单片机I/O口的并用,显示效果直观,明亮,调试容易。故采用LED数码管显示。

4)显示电路如图8所示。

图8 显示电路

3.系统原理及理论分析 1)单片机最小系统组成

单片机系统是整个智能系统的核心部分,它对各路传感信号的采集、处理、分析及对各部分整体调整。主要是组成是:单片机AT89S52、模数转换芯片ADC0809、小车驱动系统芯片L293D、数码管显示的译码芯片74LS47、74LS138及各路的传感器件。2)避障原理

采用红外线避障方法,利用一管发射另一管接收,接收管对外界红外线的接收强弱来判断障碍物的远近,由于红外线受外界可见光的影响较大,因此用250Hz的信号对38KHz的载波进行调制,这样减少外界的一些干扰。接收管输出TTL电平,有利于单片机对信号的处理。3)计程原理

通过计算车轮的转数间接测量距离,在车轮均匀打上透光小孔,当车轮转动时,红外光透射过去,不断地输出脉冲,通过单片机对脉冲计数,再经过一个数据的处理过程,这样就可把小车走过的距离计算出来。4)黑带检测原理

利用光的反射原理,当光线照射在白纸上,反射量比较大,反之,照在黑色物体上,由于黑色对光的吸收,反射回去的量比较少,这样就可以判断黑带轨道的走向。由于各路传感器会对单片机产生一定的干扰,使信号发生错误。因此,采用一级射极输出方式对信号进行隔离,这样系统对信号的判断就比较准确。4.系统程序设计

用单片机定时器T0产生38KHz的方波,再用定时器T1产生250Hz的方波对38KHz方波进行调制。为了提高小车反应灵敏度,对红外线接收信号及黑带检测信号都采用中断法来处理。用定时方法对铁片检测、计量路程、倒车、拐弯及数码管动态扫描进行处理。

主程序流程图见图9,各子程序图见图

10、图

11、图12。

图9 主程序流程图

图 10 外部中断0服务子程序

图 11 外部中断1服务子程序

图12 定时器1中断子程序

6.调试及性能分析

整机焊接完毕,首先对硬件进行检查联线有无错误,再逐步对各模块进行调试。首先写入电机控制小程序,控制其正反转,停机均正常。加入避障子程序,小车运转正常,调整灵敏度达最佳效果。加入显示时间子程序,显示正常。铁片检测依靠接近开关,对检测信号进行处理并实时显示和发出声光信息,无异常状况。路程显示部分是对霍尔管脉冲进行计数,为了尽量达到精确,车轮加装小磁片。接着对黑带检测模块调试,发现有时小车会跑出黑带,经判断是因为红外线收发对管灵敏度不高,调整灵敏度后仍然达不到满意效果,疑是受环境光影响,利用塑料套包围红外线收发后问题解决。趋光电路主要由三个光敏电阻构成,调整三个光敏电阻的角度同时测试软件,以最佳效果完成趋光功能。

整机综合调试,上电后对系统进行初始化,接着控制电机使小车向前行驶,突然发现系统即刻进入外部中断1,重复多次测试,结果都是自动进入该中断。推断是由刚上电时电机起动所引起,为了避免上电瞬间的影响,在启动小车后延时几毫秒,再开外部中断,结果问题解决。允许的话应采用双电源供电,即电机和电路应分开供电,L293D与单片机之间采用隔离信号控制。这样就不会出现小车启动时程序出错和数码管显示闪动的问题。在计程精度上,可用红外线原理获得较高精度。7.结论

通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化,智能小车能够完成各项功能到达车库。8.参考文献

《单片机应用技术》 《周立功单片机》 《单片机原理与应用》

《8051单片机程序设计与实例》 《MCS-51单片机实验指导》

基于51单片机的智能小车设计 篇2

关键词:80C51单片机,光电检测器,PWM调速,智能小车

0 引言

在现有玩具电动车的基础上,加装光电检测器,实现对电动小汽车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。

1 直流调速系统采用PWM调速[2]

直流调速系统采用晶闸管的直流斩波器与整流电路。晶闸管不受相位控制,而是工作在开关状态。当晶闸管被触发导通时,电源电压加到电动机上,当晶闸管关断时,直流电源与电动机断开,电动机经二极管续流,两端电压接近于零。脉冲宽度调制(Pulse Width Modulation),简称PWM。脉冲周期不变,只改变晶闸管的导通时间,即通过改变脉冲宽度来进行直流调速。

脉宽调速也可通过单片机控制继电器的闭合来实现,但是驱动能力有限。为顺利实现电动小汽车的左转和右转,本设计采用了可逆PWM变换器。可逆PWM变换器主电路的结构式有H型、T型等类型。我们在设计中采用了常用的双极式H型变换器,它是由4个三极电力晶体管和4个续流二极管组成的桥式电路。图1为双极式H型可逆PWM变换器的电路原理图。

4个电力晶体管的基极驱动电压分为两组。VT1和VT4同时导通和关断,其驱动电路中Ub1=Ub4;VT2和VT3同时动作,其驱动电压Ub2=Ub3=-Ub1。

2 检测系统

检测系统主要实现光电检测,即利用各种传感器对电动车的避障、位置、行车状态进行测量。

2.1 行车起始、终点及光线检测

系统采用反射式红外线光电传感器用于检测路面的起始、终点(2 cm宽的黑线),玩具车底盘上沿黑线放置一套,以适应起始的记数开始和终点停车的需要。利用超声波传感器检测障碍。光线跟踪,采用光敏三极管接收灯泡发出的光线,当感受到光线照射时,其c-e间的阻值下降,检测电路输出高电平,经LM393电压比较器和74LS14施密特触发器整形后送单片机控制。

本系统共设计两个光电三极管,分别放置在电动车车头的左、右两个方向,用来控制电动车的行走方向,当左侧光电管受到光照时,单片机控制转向电机向左转;当右侧光电管受到光照时,单片机控制转向电机向右转;当左、右两侧光电管都受到光照时,单片机控制直行。见图2电动车的方向检测电路。

2.2 行车方向检测电路

采用反射接收原理配置了一对红外线发射、接收传感器。该电路包括一个红外发光二极管、一个红外光敏三极管及其上拉电阻。红外发光二极管发射一定强度的红外线照射物体,红外光敏三极管在接收到反射回来的红外线后导通,发出一个电平跳变信号。

此套红外光电传感器固定在底盘前沿,贴近地面。正常行驶时,发射管发射红外光照射地面,光线经白纸反射后被接收管接收,输出高电平信号;电动车经过黑线时,发射端发射的光线被黑线吸收,接收端接收不到反射光线,传感器输出低电平信号后送80C51单片机处理,判断执行哪一种预先编制的程序来控制玩具车的行驶状态。前进时,驱动轮直流电机正转,进入减速区时,由单片机控制进行PWM变频调速,通过软件改变脉冲调宽波形的占空比,实现调速。最后经反接制动实现停车。

2.3 前行与倒车控制

前行与倒车控制电路的核心是桥式电路和继电器。电桥上设置有两组开关,一组常闭,另一组常开;电桥一端接电源,另一端接了一个三极管。三极管导通时,电桥通过三极管接地,电机电枢中有电流通过;三极管截止时,电桥浮空,电机电枢中没有电流通过。系统通过电桥的输出端为转向电机供电。通过对继电器开闭的控制即可控制电机的开断和转速方向进而达到控制玩具车前行与倒车的目的,实现随动控制系统的纠偏功能。图3为前行与倒车控制电路。

2.4 行车距离检测[3]

由于红外检测具有反应速度快、定位精度高,可靠性强以及可见光传感器所不能比拟的优点,故采用红外光电码盘测速方案。图4为行车距离检测电路。

3 显示电路

本设计中用两片4位八段数码管gem4561ae作显示器,采用新型芯片EM78P458作为显示驱动器,用单片机的并行口控制,一个数码显示电路用4个口线,用专用驱动芯片控制可以减少对CPU的利用时间,单片机将有更多的时间去完成其他功能。

4 电源的设计

本设计的电源为车载电源。为保证电源工作可靠,单片机系统与动力伺服系统的电源采用了大功率、大容量的蓄电池,而传感器的工作电源则采用了小巧轻便的干电池。

5 系统原理图[1,4]

智能电动车采用80C51单片机进行智能控制。开始由手动启动小车,并复位,当经过规定的起始黑线,由超声波传感器和红外光电传感器检测,通过单片机控制小车开始记数显示并避障、调速;系统的自动避障功能通过超声波传感器正前方检测和红外光电传感器左右侧检测,由单片机控制实现;在电动车行驶过程中,采用双极式H型PWM脉宽调制技术,以提高系统的静动态性能;采用动态共阴显示行驶时间和里程。系统原理图如图5所示。

6 系统软件设计

在进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。图6所示为流程图。

7 结束语

本设计采用80C51单片机为控制核心,这主要是因为该单片机的稳定性比较好。还可以采用其它系列的单片机。采用的技术主要有:

(1) 通过编程来控制小车的速度;

(2) 传感器的有效应用;

(3) 新型显示芯片的采用。

参考文献

[1]孙涵芳.MCS51/96系列单片机原理与应用[M].北京:北京航空航天大学出版社,1999.

[2]何希才.新型实用电子电路400例[M].北京:电子工业出版社,2000.

[3]赵负图.传感器集成电路手册[M].北京:化学工业出版社,2004.

基于51单片机的智能小车设计 篇3

【关键词】STC89C52;避障;跟随;光电传感器

引言

随着科技的发展和人民生活水平的提高,越来越多的智能车得到普及普及,和传统汽相比,智能小车具有更好的安全性,机动性和广泛的应用性。智能小车,也就是轮式机器的智能化成果,是一种集传感器应用,智能芯片控制,驱动控制的高科技创意性设计。智能小车的功能是对指定的目标物进行跟踪和实时的躲避障碍物,这是他与其他小车最大的区别也是最大的一个特点。小车通过红外传感器对目标物体进行实时识别和跟踪,并且及时的躲避障碍物,具有灵敏性好,智能化程度高的特点。如果把它用在超市,将会极大地方便人们的生活。如果用在商城和机场,人们也不用提着沉重的行李箱满地跑了。

1、总体方案设计

智能小车总体设计内容:一是STC89C52芯片控制电路的设计;二是驱动电路的设计;三是光电传感器电路的设计;四是避障系统的设计;五是电源稳压电路的设计;六是硬件的焊接组装;七是软件的编程调试。小车总共分为5个部分,以单片机为核心的主控模块,电源模块,红外传感模块,驱动模块,避障模块。具体工作原理是:红外传感器在预设距离内检测前方是否有目标物体,如果有则自动进行跟随。同时,红外光电对管检测前方障碍物,当检测到前方有障碍物并且小于预设值时将把信息发回给单片机,控制驱动电路让车轮停止转动并后退绕过障碍物继续跟随。

2、系统的硬件设计

2.1主控模块

主控模块通过单片机利用程序来精确控制小车的运动,从而实现对小车的自动控制。STC89C52单片机具有控制简单、方便、快捷等优点,因此我們采用STC89C52单片机作为控制芯片。

2.2传感器模块

本设计所采用的传感器是集发射与接收为一体的光电传感器,具有很多其他传感器所没有的特性比如发射机距离远,抗干扰能力强,结构简单,可调节等优良的特点[1]。红外传感器是利用物体对近红外线光束的反射原理,由同步回路感应反射回来的光,据其强弱来检测物体的存在与否。通过有无信号来输出高低电平,然后把信号送给单片机处理,实现实时跟随的功能。红外探测法是避障模块所使用的方法,就是利用红外线在不同颜色的物理表面具有不同反射性质的特点来进行避障[2]。由于红外光遇到白光的时候会发生漫反射,光电传感器就可以不断向外发射红外光,接收管就能接收到反射回来的信号,然后发送到单片机。若遇到黑色的物体将不会接收到信号而检测到障碍物进而启动躲避系统。传感器模块原理图如图2所示。

2.3驱动模块

驱动模块采用L298N驱动芯片,总共有四路输入,四路输出。INX均接单片机的P1口,IN1和IN3口控制轮子正转,IN2和IN4口控制轮子逆转,通过调节输入信号的占空比来调节小车轮子转动的速度。当小车左侧遇到障碍物时,驱动电路控制右侧轮子不动,左侧轮子加速转动,进行右转;当小车右侧遇到障碍物时,情况正好相反;当小车前方遇到障碍物时,驱动电路控制轮子停止,然后反转后退,绕过障碍物继续前进。

2.4电源模块

电源供电模块,使用的是直流稳压[3]电源,输入的是直流+12V电压,运用三线稳压器件7805,输出+5V直流电压。电源部分电路设计简单方便,同时也充分发挥了稳压器保护电路的作用。

3、系统的软件设计

软件设计部分决定了智能小车能否实现其跟随和避障的功能,是本次设计的关键部分。小车程序分为以下三部分:主程序部分,跟随和避障程序部分,驱动程序部分[4]。主程序流程图如图3所示。

4、仿真测试

基于PROTEUS仿真软件,我们设计了智能跟随小车控制电路的仿真图,如图4所示。

由于PROTEUS软件中没有红外传感器,所以我们用从上到下编号1-6的六个开关代替传感器,来实现探测目标的功能[5]。图中四个电机的转动方向代表四个轮子的转动方向,同时速度的快慢也可以从图中显示出来。首先,闭合开关3,表示发现目标物体,四个轮子正转,并且加速前进,闭合开关4,表示遇到障碍物,轮子停止转动并且反向转动直到障碍物离开检测范围。断开开关3、4,闭合开关5,表示目标物体向左移动,此时左侧轮子停止转动,右侧轮子正转并且加速转动,当小车右侧出现目标物是动作与之相反。闭合开关6,表示左侧有障碍物,这时右侧轮子不动,左侧轮子正转,实现向右转向的目的。当小车右侧出现障碍物时动作与之相反。

5、系统调试

先进行硬件调试,通过仿真好的电路图[6],用万用表检测已经焊好的电路板上每一个节点是否有短路、断路和接触不良的情况,看各个节点电压是否正常。当硬件调试没有问题,完成了以后进行软件调试,通过修改各个接口对应的程序进行调试,最终完成软件的修改,达到了预期的效果。

6、结束语

本次项目设计非常成功,通过老师的指导和我们的团队合作,小车很好了实现了其跟随和避障的功能效果。最然在开始我们对这个项目没有任何的头绪,但是经过我们共同的努力成功完成了这个作品,每一个人都感到了团队合作的艰辛和成功后的喜悦。通过实验测试智能跟随小车的灵敏性,效果良好,能够很好的按照预期完成指定动作,并且运行稳定。

参考文献

[1]周继明,江世明.传感器技术及应用[M].长沙:中南大学出版社,2005.

[2]冯博琴,吴宁.微型计算机原理与接口技术[M].北京:清华大学出版社,2011.

[3]余锡存,曹国华.单片机原理及接口技术[M].西安:西安电子科技大学出版社,2007.

[4]李学礼.基于Proteus 的8051单片机的实例教程[M].北京:电子工业出版社,2008.

[5]谭浩强.C++面向对象程序设计[M].清华大学出版社,2006.

[6]周润景,郝晓霞.传感器与检测技术[M].北京:电子工业出版社,2009.

[7]来清民.传感器与单片机接口及实例[M].北京:北京航空航天大学出版社,2008.

作者简介

基于51单片机的智能小车设计 篇4

一、功能要求

要求甲车道和乙车道两条交叉道路上的车辆交替运行,每次通行时间都设为25秒,黄灯先亮5秒钟,才能变换运行车道;黄灯亮时,要求每秒钟闪亮一次。

二、电路图

说明:1)每一位数码管位选要分开,对应IO口参照程序中红色部分 2)图示数码管为共阳,没加驱动数码管显示较暗,建议加驱动

三、程序

//TrafficLight.c #include“reg52.h”

//IO口定义 sbit red_1 =P2^0;//南北方向 sbit red_2 =P2^3;//东西方向 sbit yellow_1 =P2^1;sbit yellow_2 =P2^4;sbit green_1 =P2^2;sbit green_2 =P2^5;sbit com1_1 =P3^6;//十位 南北方向 数码管位选 sbit com1_2 =P3^7;//个位 南北方向 sbit com2_1 =P3^4;//十位 东西方向 sbit com2_2 =P3^5;//个位 东西方向

//全局变量 char time=30;//倒计时

unsigned char num1=0,num2=0;//辅助计时 unsigned char flag1=0,flag2=0;//黄灯闪标志位 unsigned char shi1,shi2,ge1,ge2;//数码管十位个位

const unsigned char ledNum[] =

{// 0 1

A

b

c

d

E

F

不显示-o(18)H(19)h(20)C(21)0(22)n(23)0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xA7,0xA1,0x86,0x8e,0xFF,0xbf,0xa3,0x89,0x8b,0xc6,0xc0,0xab };//共阳数码管

//中断优先级别T0>T1,数码管显示中断间隔2ms,计时时间间隔50ms //计时要求比较精确,间隔长,不应该被打断,故中断优先级要高,使用T0 //数码管中断可以被打断,打断时间较短,不会影响显示,使用T1 //在交通灯中,计时和数码管显示一直进行,故定时器开启后不用停止 void InitInter(void){ TMOD=0x11;//设置定时器工作方式为16位计时器

TH0=(65535-45872)/256;//11.0592M晶振,50ms TL0=(65535-45872)%256;TH1=(65535-1835)/256;//11.0592M晶振,2ms TL1=(65535-1835)%256;EA=1;ET0=1;ET1=1;TR0=1;TR1=1;}

void Display(void){ static unsigned char i=1;

switch(i){ case 1:

com2_2=0;

P0=ledNum[shi1];

com1_1=1;

break;case 2:

com1_1=0;

P0=ledNum[ge1];

com1_2=1;

break;case 3:

com1_2=0;

P0=ledNum[shi2];

com2_1=1;

break;case 4:

com2_1=0;

P0=ledNum[ge2];

com2_2=1;

break;

default:;}

i++;if(i>4)i=1;}

//红灯可以直接变成绿灯,但绿灯必须先变成黄灯再变红灯 void main(void){ bit i=0;InitInter();

while(1){

red_1=0;//0为亮

red_2=1;

green_2=0;

time=30;

while(time>5)

{

shi1=time/10;

ge1=time%10;

shi2=(time-5)/10;

ge2=(time-5)%10;

}

green_2=1;

yellow_2=0;

flag2=1;

num2=0;

while(time>0)

{

shi1=time/10;

ge1=time%10;

shi2=time/10;

ge2=time%10;

}

flag2=0;

yellow_2=1;

red_2=0;

red_1=1;

green_1=0;

time=30;

while(time>5)

{

shi2=time/10;

ge2=time%10;

shi1=(time-5)/10;

ge1=(time-5)%10;

}

green_1=1;

yellow_1=0;

flag1=1;

num2=0;

while(time>0)

{

shi2=time/10;

ge2=time%10;

shi1=time/10;

ge1=time%10;

}

flag1=0;

yellow_1=1;

//red_1=0;

//green_2=0;} } void Timer_0(void)interrupt 1//计时 { TH0=(65535-45872)/256;TL0=(65535-45872)%256;num1++;if(num1>=20){

num1=0;

time--;

//if(time<0)time=30;

//处理time,显示方式

} if(flag1||flag2){

num2++;

if(num2>=10)

{

num2=0;

if(flag1)yellow_1=~yellow_1;

if(flag2)yellow_2=~yellow_2;

} } }

void Timer_1(void)interrupt 3 { TH1=(65535-1835)/256;//11.0592M晶振,2ms TL1=(65535-1835)%256;

基于51单片机的智能小车设计 篇5

LED台灯作为LED绿色照明光源产品,作为国家绿色照明推广使用的产品。在实际的应用中,发现LED灯在周边亮度大时依然以同一功率发光,存在电能浪费;在周边亮度小时LED灯不能提供足够和恰当的光度。本文介绍了以STC89C51为控制核心,通过光敏电阻感应光度,并利用PWM调光技术对LED进行光度的自动调节。同时设置手动控制。该LED台灯电路简单,很大程度上节省电能,延长LED灯寿命,适宜阅读。

关键词

LED台灯 光度 PID PWM调光 自动调节

原创性声明

本设计所用到的程序代码和电路均是来自本团队,如没有经过允许,不得复制和转载。

目录

前言··············································4 总体方案设计······································5 硬件设计··········································5 软件设计··········································9 总结·············································12 附录1:作品照片··································13 附录2:程序·······································15

前言

LED照明又称固态照明,作为继白炽灯、荧光灯后的第三代照明技术,具有节能、环保、安全可靠的特点,固态光源是被业界看好的未来十年替换传统照明器具极具潜力的新型光源,代表照明技术的未来。发展新固态照明,不仅是照明领域的革命,而且符合当前政府提出的“建设资源节约型和环境友好型社会”的要求。

LED台灯就是以LED(Light Emitting Diode)即发光二极管为光源的台灯,LED是一种固态的半导体器件,它可以直接把电转化为光。LED台灯是典型的绿色照明光源产品,作为国家绿色照明推广使用的产品,具有广阔的应用前景。

在实际的应用中,发现LED灯在周边亮度大时依然以同一功率发光,存在电能浪费。另外一方面,因为LED的发热量和电流存在正相关的关系,发热影响了LED的寿命,所以在不必要的亮度下也减少了LED的寿命。然而,当LED在周边亮度小时,LED灯不能提供足够和恰当的光度,这样又影响了阅读,造成视觉疲劳。

PWM方法的基本思想就是利用单片机具有的PWM端口,在不改变PWM方波周期的前提下,通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而控制充电电流。本方法所要求的单片机必须具有ADC端口和PWM端口这两个必须条件,另外ADC的位数尽量高,单片机的工作速度尽量快。在调整充电电流前,单片机先快速读取充电电流的大小,然后把设定的充电电流与实际读取到的充电电流进行比较,若实际电流偏小则向增加充电电流的方向调整PWM的占空比;若实际电流偏大则向减小充电电流的方向调整PWM的占空比。

本文介绍了以STC89C51为控制核心,通过光敏电阻感应光度,并利用PWM调光技术对LED进行光度的自动调节。同时设置手动控制。该LED台灯电路简单,很大程度上节省电能,延长LED灯寿命,适宜阅读。

一、总体方案设计

基于C51单片机和PWM调光的LED台灯以STC89C51作为主控芯片,设置了手动控制和自动控制。在手动控制时,分为三档,输出不同的PWM占空比对LED的电流进行控制,从而实现了对光度的手动调节。

在自动控制时,通过ADC0809模拟-数字转换芯片不断检验光敏电阻的电压来间接测量感应光度,将电压和预设的阈值进行对比,调整PWM的占空比对LED的电流进行控制,从而实现了对光度的自动调节。总体框图如下(图1.1):

图1.1

二、硬件设计

硬件设计总体框图如下:

图2.0

1、主控电路: 主控电路采用STC89C51作为主MCU。STC89C51是一款八位,片内有ROM/EPROM的单片机,其硬件结构具有功能部件种类全,功能强等特点。这种芯片构成的最小系统简单、实用﹑可靠。用STC89C51单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如下图(图2.1)所示。本设计所选用的晶振为12MHZ,晶振电容为30PF。

图2.1

2、LED驱动

LED的亮度受电流控制,通过控制电流调节LED灯的亮度。利用公式ILtONTI可知,利用调整PWM不同的占空比就可以控制电流的大小。电流通断的变化用NMOS管K2717实现,三极管9014提供驱动K2717的电流,PWM由P2.0输出,低电平有效。如下图(图2.2)所示:

图2.2

2、手动控制

KEY4变化控制的方式,KEY4为自锁按键,按下为手动控制,弹起为自动控制。手动控制时可以分为三档,对应与KEY1~3三个按键。如下图(图2.3)所示:

图2.3

3、自动控制

<1>光敏电阻反馈部分

光敏电阻器是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换。因此,不断采集光敏电阻对地的电压便可以获知台灯周边光强的变化。如下图(图2.4)所示:

图2.4 <2>ADC0809模数转换部分

ADC 0808和ADC 0809除精度略有差别外(前者精度为8位、后者精度为7位),其余各方面完全相同。它们都是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统”。利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。

如下图(图2.4)所示,ADC0809的参考电压设置成5V,时钟信号通过单片机P3.3口利用定时器中断输出。光敏电阻的对地电压从IN3口输入,ADC0809将其转换成数字量后通过OUT1-7输出,以便单片机进一步处理。

图2.5

三、软件设计

1、总体框图

图3.1 8

2、主要程序

<1>按键扫描

不断扫描按键判断是手动控制和自动控制。程序代码:

void keyscan(){

ad();

if(key==1)

//key4松开,a恒为0 ,通过读c的值确定b的值

{

if(c<0.40)

last=0;

else if((c>=0.40)&&(c<2.0))

last=2;

else if((c>=2.0)&&(c<3.0))

last=5;

else if((c>=3.0)&&(c<4.0))

last=7;

else

last=10;

}

if(key==0)

//key4按下,{

if(key1==0)

{

delayms(10);//去抖

if(key1==0)

last=1;

}

if(key2==0)

{

delayms(10);

if(key2==0)

last=6;

}

if(key3==0)

{

delayms(10);

if(key3==0)

last=10;

}

}

}

手动控制 9

<2>AD转换

定时器1产生CLK信号,定时时间为2us,亦即CLK周期为0.4us。程地址为011,即IN3口输入。利用公式getdata*1.0/255*VREV+对数字量进行变化。程序代码如下:

void ad(){

} ST=0;//关闭转换 OE=0;//关闭输出 ST=1;//开启转换 ST=0;//关闭转换 P34=1;//选择通道0 P35=1;P36=0;while(EOC==0);//判断是否转换结束:是则执行以下语句,否则等待 OE=1;//开启数据输出允许

getdata=P0;//将数据取走,存放在变量getdata中

OE=0;//关闭输出

c=getdata*1.0/255*4.85;//电压值转换,5V作为参考电压,分成256 <3>PWM调节

定时器0控制PWM周期和占空比。程序代码如下: void into(void)interrupt 1 { TH0=(65536-500)/256;TL0=(65536-500)%256;

count++;if(count>CIRCLE)

{ count=1;}

if(count<=last)pwm=0;//占空比,使用反相器应为1 else

pwm=1;

四、总结

基于C51单片机和PWM调光的LED台灯以STC89C51作为主控芯片,设置了手动控制和自动控制。在手动控制时,分为三档,输出不同的PWM占空比实现了对光度的手动调节。在自动控制时,通过ADC0809模拟-数字转换芯片不断检验光敏电阻的电压来间接测量感应光度,将电压和预设的阈值进行对比,调整PWM的占空比实现了对光度的自动调节。该LED台灯电路简单,很大程度上节省电能,延长LED灯寿命,适宜阅读。

同时,在本次课程设计中,主要有以下体会:

1、对LED的驱动有进一步的了解,明白了如何对LED进行规定电流驱动,并通过输出不同的占空比来调节LED的亮度,从而对LED的耗电进行相应的管理;

2、进一步掌握了AD转换原理以及相关芯片的应用,通过ADC0809对外界的模拟量进行转换。

智能小车设计的文献综述 篇6

智能小车的设计

摘要:随着工业机械化和自动化的发展以及工业智能化的优点,智能小车在工业智能化上得到广泛的应用。本文就智能小车的设计构造以及机械智能化未来的应用与发展前景。

关键词:智能小车/设计构造/应用与发展 智能小车的设计构造

智能小车是集理论力学、机械结构、数字电路、模拟电路、传感器、单片机、控制理论和算法等多门学科为一体的综合系统。其内容涵盖机械、电子、自动控制原理、计算机、传感技术等多个学科和领域。该小车的车体由基于VB和串口无线通信的直流电机控制模块、L298N电机驱动模块、C8051F单片机控制模块以及车载机械手组成。可用于无人驾驶、自动抓取物体等人工智能领域。

1.1 基于VB和串口无线通信的直流电机控制模块

利用VB6.0语言编程实现对机器人上直流伺服电机的控制,从而实现机器人的加速和恒速运行。分别将两块接口为标准的RS-232接口、型号为ZT-TR43C的无线数传模块,接到发、收的两台PC机上,并利用VB通信控件MSCommon实现串口无线通信,从而实现机器人的远程无线控制。

近年来,在机器人与外部的通信方式选择上,由于机器人具有广阔运动空间,因而无线通信成为其所必须具备的通信方式之一。本文以一种轮简单的四轮智能小车作为研究对象,通过VB编程和无线模块通信实现远程控制;通过对智能小车后轮的两个驱动电机速度控制,使智能小车完成直线运行、转弯运行等动作。

目前,直流伺服电机有着很广泛的应用前景,如在印刷机械、造纸机械、纺织机械、工业机器人、高速电梯、数控机床等重要行业中,均得到了普遍的应用。本文提到的智能小车本身对位置伺服要求比较高,对速度也有一定的控制要求,而对小车的控制可以说最根本的就是对电机进行控制。

VB是一种易学习、功能强、效率高的可视化编程语言,用它来做可视化人机界面有着很好的应用前景。利用面向对象的可视化VB语言对其进行编程控制,1

智能小车的设计

避免VC、C语言编程的繁琐与难阅读性。另外,利用Visual Basic 6.0 版本的可实现串行通信的MSCommon控件,实现了串口通信;通过无线传输模块实现了两台PC机之间的通信,为对小车进行远程控制搭建了很好的实验平台。同时,利用VB的Timer 控件对程序进行触发,使控制电机能够缓慢加减速;通过改变加速度的大小,使电机运转平稳,避免了PWM控制的不稳定。

通过PC机的RS-232串行接口与外部设备进行通信,是许多控制系统中常用的一种通信解决方案。在本小车控制中,通信采用的都是RS-232通信方式。VB提供的串行通信控件为MSCommon控件,此控件用于支持VB对串行口的访问。在串口通信过程中当发送数据、接收数据或者发生通信错误时,均触发该控件的OnComm事件,进行相应的数据处理。MSCommon 控件相应的属性为:CommPort属性,设置并返回通信端口号;Settings属性,以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位;PortOpen属性,设置并返回通信端口的状态,也可以打开和关闭端口;InputLen属性,说明Input属性从接收缓冲区中读取的字符数;MSCommon控件的PortOpen属性决定了通信开始和结束。

1.2 L298N电机驱动模块

1.2.1 L298N与电机驱动模块

电机驱动模块主要采用L298N,L298N可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。L298N是专用驱动集成电路,属于H桥集成电路,与L293D的差别是其输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,减速电机,伺服电机,等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。

1.2.2 L298N型驱动器的原理及应用

L298N是SGS公司生产的一种高电压、大电流电机驱动芯片,内部包含4通道逻辑驱动电路,是一种二相和四相电机的专用驱动器。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流 2

智能小车的设计

可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。

1.3 C8051单片机控制模块

Cygnal公司的C8051单片机使用Cygnal的专利CIP-51微控制器内核。以下介绍C8051单片机的一些重要技术以及在本系统中的应用。

①C8051单片机使用Cygnal的专利CIP-51微控制嚣内核,采用流水线指令结构;70%指令的执行时间为1个或2个系统时钟周期;速度可达25 MIPS(时钟频率为25 MHz时)。这样就可以应用复杂的控制算法提高控制精度。

②C8051单片机内部有4个通用16位计数器/定时器和专用的看门狗定时器(WDT),这样就不再需要附加外部计数器件和外部看门狗电路。本系统中定时器0和定时器2用作小车左右轮反馈脉冲计数,定时器1配置成自动重装载的8位计数器/定时器。用于波特率发生器。

③C8051单片机引入r数字交叉开关,允许将内部数字系统资源分配给端口I/O引脚。通过设置优先权交叉开关控制寄存器,将片内的计数器/定时器、串行总线、硬件中断、ADC转换启动输入、比较器输出以及微控制器内部的其他数字信号配置为出现在端口I/O引脚。

④C805l单片机内部有一个可编程计数器阵列(PCA),由一个专用的16位计数器/定时器和5个16位捕捉/比较模块组成。通过设置特殊功能寄存器PCA0CPM将捕捉/比较模块0和1(CEX0和CEXl)设置成8位脉冲宽度调制器(PWM)驱动左右轮电机转动。

⑤C805l单片机内部有12位逐次逼近型ADC,可以在不增加外围电路的前提下方便地检测模拟信号。本系统从电机电枢回路中引出电流信号送入单片机,实现电流环控制。

⑥C805l单片机具有片内JTAG和调试电路,通过4脚JTAG接口并使用安装在最终应用系统中的器件就可以进行全速、非侵入式的在系统调试.而且支持断点、智能小车的设计

单步、观察点、堆栈监视器,支持观察修改存储器和寄存器。

由以上介绍可以看出,在小车子系统中选用C8051单片机是非常合适的,由于可以硬件生成PWM,占用CPU资源很少;高性能的指令系统以及和VB语言之间进行交叉汇编,为设计各种控制算法提供了广阔的空间。

1.4 车载机械手

1.4.1 机械手的简单介绍

机械手是典型的机电一体化装置,它综合运用了机械与精密机械、微电子与计算机、自动控制与驱动、传感器与信息处理以及人工智能等多学科的最新研究成果,随着经济的发展和各行各业对自动化程度要求的提高,机器人技术得到了迅速发展,出现了各种各样的机械手产品。手爪的应用环境干差万别,抓取可靠、环境适应性好、控制简单、自适应性强、自主能力高是衡量机器人手爪设计水平的重要标志。性能优良的机器人手爪可以实现可靠、快速和精确地抓取。近年来机器人技术得到大力的发展,手爪的研究也步入一个良好的发展时期,机器人手爪正由简单发展到复杂,由笨拙发展到灵巧,其中的仿人灵巧手已经发展到可以与人手媲美。机械手对目标物体抓取的稳定性研究是一个值得长期探讨的课题。

1.4.2 车载机械手的总体结构体系

搭载机械手的移动机器人本体为四轮万向轮小车,它具备自主导航能力。在遇到物体时,可远程控制并操作机械手抓取。车载机械手主要由执行机构、驱动机构和控制系统3大部分组成。执行机构是机械臂、机械手爪与基座的总称。驱动机构有液压驱动、气压驱动、电气驱动和机械驱动。目前专用机械手采用电气驱动方式的较多,而本设计运用的是舵机控制方式的二指机械手。

1.4.3 车载机械手的执行机构

1.4.3.1 手部

手部安装与手臂前端是用来抓持工件(或工具)的部件,根据被抓持物件的形状、尺寸、重量、材料和作业要求而有多种结构形式,如夹持型、托持型和吸附型等。它模仿人类手指,分为无关节型,固定关节型和自由关节型3种。手指的数量又可分为二指、三指、四指等,本次设计采用的为二指形手爪。1.4.3.2 手臂

智能小车的设计

手臂的作用是引导手指精确地抓住目标物体,并运送到所需要的位置上去,故手臂的位置需精确定位。手臂分为有关节臂和无关节臂,以前主流设计几乎都是无关节手臂。而目前设计多为有关节手臂,本次设计的小型侦察车车载机械手即为有关节手臂。手臂由以下几部分组成:①动作元件,带动手臂运动的动力装置,在本车载机械手中为两台直流无刷伺服电机,驱动手臂运动;②导向装置,保证手臂的正确方向及承受由于目标物体重量所产生的弯曲和扭转力矩;③手臂,承接和承受外力作用的部件,手臂上的零部件都装在手臂上。1.4.3.3 关节与基座

关节部分是非常关键,要求其既能保证电机轴固定到连接手臂,又要满足不同臂长需要,即在一定范围内可灵活更换臂长,手臂套筒长度可自由调节。机械手通过基座安装固定在小型车的仪器舱上,基座是用以承受机械手全部重量的构件,对其结构的要求是刚性好、占地面积小、操作维修方便和造型美观。机械智能化的应用与发展前景

随着现代科学技术的迅速发展,机器智能化技术的应用几乎扩展到整个工业领域,并在工业生产中发挥了巨大作用。但对于未知或特殊的任务,作为机械智能化的代表-机器人还不能独立完成,而且缺少必要的柔性。为了提高整个系统的效能,需要研究如何使人与机器人相互配合,共同完成作业任务。搭载于机器人上的机械手能模仿人手臂的某些动作功能,可以按固定程序抓取、搬运物件或对工具的自动操作,代替人的繁重劳动以实现工作的机械化和自动化,业已成为机器人系统中非常重要的组成部分。特别是近年来机械手已逐渐应用于易燃易爆品的装配、拆卸、搬运,以及消防、反恐、防爆等高度危险环境,代替人类完成力所不及的工作,这类机械手因此也被称为“专用机械手”。世界各国对专用机械手的研究愈加重视,纷纷投入大量的人力、物力加以研究和应用。从目前情况看,我国“专用机械手”还处在研究、跟踪、试验阶段,其主要原因在于这类机械手不仅需要载体平台的稳定移动,而且还要求机械手稳定执行操作。针对污染与核辐射环境的应急处理需要,笔者设计出小型3自由度机械手,搭载于已开发出来的小型移动机器人平台上。在机器人侦察各种污染和辐射环境、人员不便进入的情况下,车载机械手的出现,可以代替人员进行手工操作、抓取、采集样品等,大大改善了工作条件,提高了工作效率,保障了人员安全。

智能小车的设计

参考文献

[1] 张晓红.VB中如何利用MSCommon控件实现串口通信[J].福建电脑,2004(3):37-38.[2] 姚军光.基于VB的电机驱动监控系统设计[J].青岛科技大学学报,2004,25(3):261-264.[3] Holt C,Fumo J.Visual BASIC environment yields advanced navigation[C].OCEANS,2001.MTS/IEEE Conference and Exhibition Volume 1.2001:331-336.[4] 薛园园.USB应用开发实例详解[M]北京:人民邮电出版社.2007.[5] 邱 丹,王 东,高振东.直流电机PWM 闭环调速系统[J].青岛大学学报,2000,15(1):10-11.[6] 孟红英,等.用L297、L298组成步进电机驱动电路[J].仪器仪表学报,2003,(2).[7] 51单片机C语言应用程序设计实例精讲[M].北京:电子工业出版社。2007. [8] 王晓明.电动机的单片机控制[M].北京:北京航空航天大学出版社。2002. [9] 刘宝廷,程树康.步进电动机及其驱动控制系统[M].哈尔滨:哈尔滨工业大学出版社,1997.

[10] 韩全力.单片机控制技术及应用[M].北京:电子工业出版社,2004.

基于51单片机的智能小车设计 篇7

1 系统整体方案设计

系统采用AT89C51作为核心控制器, 利用红外传感器发射和接收信号, 并对接收到的信号进行处理和分析, 实现对路面颜色的自动识别, 并通过电机驱动模块控制电机的旋转来控制小车的前进、后退、左转和后转等动作。系统采用5路红外传感器, 每一路发送和接受一个信号, 用来识别路面的黑色导引线, 并判断小车轮子所在的位置。单片机在接收到相应信号后, 根据预先设定的算法进行分析和判断, 实现对小车左右车轮的分别控制。

2 系统电路模块设计

系统主要使用的电路模块有光电传感器电路模块、单片机控制模块、电机驱动模块等。

2.1 光电传感器模块

光电传感器利用不同地面颜色对光线反射情况的不同, 实现对白色路面和黑色导引线的区分, 这种方法稳定性好、灵敏度高、受外界干扰较小, 适合绝大部分的工作环境。光电传感器按照一字型均匀排列, 在小车运行时, 使光电传感器处于黑色导引线上方位置, 实现对白色路面和黑色导引线的检测。

2.2 单片机控制模块

单片机控制模块采用AT89C51作为核心控制处理器, 只需要连接简单的外围电路便可以进行正常工作, 外围电路主要有晶振电路, 电源电路等。整个系统中不同电路模块需要的工作电压和电流容量各不相同。单片机控制其需要提供5V的工作电压, 电机运行需要的的电压为9V, 采用LM7805将外部9V电源转换为5V为单片机控制器提供电源。

2.3 电机驱动模块

小车电机采用直流电机, 控制方法简单, 驱动电路采用L298N作为电机驱动芯片, L298N是SGS公司的产品, 内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器, 即内含二个H桥的高电压大电流双全桥式驱动器, 接收标准TTL逻辑电平信号, 可驱动46V、2A以下的电机。该芯片能承受较高电压和电流, 可以直接对电机进行控制, 中间无需外接任何隔离电路。利用单片机I/O口控制L298N芯片控制端电平, 可以实现控制电机转向和起停等动作, 在速度控制方面可以采用PWM调速的方法实现对电机速度的控制。

3 系统软件设计

在智能循迹小车控制的过程中, 需要选择合理的控制方法实现对小车电机转向的控制, 本系统采用PID算法实现小车的自动控制功能。

智能循迹小车采用排列的5个光电传感器作为信号采集系统, 在采集后将信息传递给单片机控制器, 每个光电传感器收集一个状态信息, 共有5位状态信息, 分别工作单片机I O口传入单片机共后续处理和分析使用。

PID算法是控制策略算法, 算法简单, 鲁棒性好被广泛应用在自动控制领域。本系统采用PID增量式算法实现对小车运动状态的控制。在增量式算法中比例项与积分项的符号有以下关系:如果被控量继续偏离给定值, 则这两项符号相同, 而当被控量向给定值方向变化时, 则这两项的符号相反。

系统通过对路面颜色信息的采集, 实现不同状态量的存储与对比分析。当光电传感器偏离黑色导引线的状况下, 算法会发现传感器收集数据不满足小车运行路线需求, 进而控制电机旋转, 使小车进入正常的轨迹中。若是遇到黑色导引线转弯, 则控制左右电机进行不同方向或速度的旋转, 实现小车转弯的动作。若是遇到交叉导引线的情况, 则设定小车直行, 直到交叉导引线结束, 结束后如果存在黑色导引线信号, 则按照导引线控制继续运行, 如果是遇到无黑色导引线, 则让小车后退并进行一定方向的偏转, 直到循迹到黑色导引线。通过这样的设定会判断道路交叉情况和小车与道路垂直运行两种情况并进行正确处理。

4 系统测试

系统测试采用白色地面和黑色导引线的方式进行, 黑色导引线宽度小于光电传感器排列的间距, 测试表明, 在日常光照条件下, 小车能够正常执行前进、后退、左转和右转各项任务。

在直行道路上工作时, 小车运动状态转换较好, 在弯道运行时, 小车相应花费的时间要长一些。导致这个现象出现的原因是由于弯道的曲率变化给小车的循迹调整带来了比较大的影响, 对应消耗的调整时间也比起于直道的测试过程要长些。

5 总结

智能循迹小车在通过光电式传感器采集路面信息后, 经过单片机微处理器进行信号的分析与处理, 控制电机旋转状态, 实现小车运动方向和速度的控制。该系统经扩展后可以应用在运输、仓储、交通控制甚至深度学习等领域, 能够有效提升相应的自动控制水平, 对生产效率的提升具有较好的效果。

参考文献

[1]庄乾成.简易自动寻迹小车控制器设计[J].电子质量, 2011 (07) .

[2]赵永利, 武丽, 刘杰.光电式自主寻迹小车抗干扰技术研究[J].工业控制计算机, 2011 (01) .

[3]周淑娟.基于单片机智能寻迹小车的设计方案[J].工业技术与职业教育, 2011 (02) .

基于单片机的循迹喷药小车设计 篇8

关键词:智能小车;单片机;循迹;喷药

中图分类号:S126 文献标识码:A 文章编号:1674-1161(2016)05-0025-02

随着智能控制技术的不断发展,智能小车越来越受到人们关注。近年来,我国智能小车技术快速发展,但在应用方面还有所欠缺,具体表现为在温室大棚进行药物喷洒工作时,存在农药危害人体健康的情况。基于此背景,通过采用51单片机控制小车各个模块,实现小车的循迹与喷药功能,提高智能小车的实用性,减少对操作人员造成伤害的风险。

1 系统方案设计

1.1 电源模块

根据单片机与大电流元器件分开供电,避免大电流器件对单片机造成干扰的原则,采用7.4 V可充电锂电池组为单片机、小车电机供电,并采用12 V可充电航模电池单独给工作电压为12 V的水泵供电。选择电池时,主要考虑电池自身容量及其能否进行充电,目的是减少试验成本。

1.2 控制模块

控制模块采用STC89C52单片机作为主控制器。该单片机内部资源十分丰富并且功能强大,其内部从硬件到软件有一套完整的操作系统及8个中断源、3个定时器、32个IO口。同时,该单片机价格便宜、使用简单、编程操作难度低,非常适合作小车系统的主控制器。

1.3 循迹模块

循迹模块根据红外线探测法进行设计。红外线对不同颜色的表面具有不同的反射性质,据此可实现路面情况分析。小车行驶路线通过黑线与灰色水泥地组合方式来确定。

利用红外传感器TCRT5000发射管不断向路面发射红外线,当红外线遇到黑线时,黑线会吸收红外线,使接收管接收不到红外线;当红外线遇到灰色地面时,会发生发射,使接收管接收到红外线。根据此原理,红外传感器将检测到的路面情况以高低电平的形式发送到单片机,单片机通过控制车轮的正反转来实现小车循迹。为提高小车循迹的精确性,将4个红外传感器分别安装在小车车头和车尾(车头2个,车尾2个)。

1.4 电机及驱动模块

由于直流电机具有动力强、反应快、体积小、重量轻的特点,因此小车电机选用直流电机。拟设计动力和转向相结合的小车,小车车速控制根据PWM调速原理设计,通过改变单片机中的高低电平占空比来实现小车车速控制;小车转向功能则是通过单片机控制小车车轮的正反转来实现的。

1.5 喷洒模块

喷洒模块主要通过单片机控制水泵实现喷洒功能。由于单片机驱动能力不足,无法直接驱动电机这样的大电流外部元器件,因此使用L298N驱动模块实现对水泵控制。当小车运动时,可以发挥喷洒农药的作用。

1.6 软件程序

设计软件部分时,先画出各功能实现的流程图,再根据流程图设计实现相应功能的程序。采用C语言编写主程序、定时程序、循迹程序、喷洒程序。将整个程序分割成多个程序块,降低编写程序难度,且可使程序具有可移植性。

2 试验测试结果与分析

当小车按照指定路线行驶时,如果小车其中一侧的传感器检测到黑线,小车会立刻调整行进方向,直到所有传感器不再检测到黑线,然后沿着指定路线继续行驶。在小车行驶过程中,喷洒模块会向一侧的农作物喷洒药物(小车运动时,喷洒模块工作;小车停止时,喷洒模块停止工作)。当小车车头或车尾的2个传感器同时检测到黑线时,小车会立刻停止运动并进行短暂计时,向反方向运动,同时重复对农作物进行药物喷洒。试验结果表明,实物小车可以完成所有要求并实现设计要求的所有功能。循迹喷药小车实物图如图1所示,电路如图2所示。

3 结论

在实践过程中,采用单片机作为核心控制芯片,精心设计小车检测、驱动和喷洒等外围电路,利用C语言编写程序,从而实现小车智能循迹和自动喷洒功能。灵活应用微机技术、传感器技术等相关学科的理论知识,结合电路设计的具体实现方法,达到理论与实践的统一。试验结果表明,循迹喷药小车可以代替人工在危险环境中工作,准确完成农作物药物喷洒任务。

参考文献

[1] 边春元,李文涛,江杰,等.C51单片机典型模块设计与应用[M].北京:机械工业出版社,2008.

[2] 张焕启.单片机自动控制应用系统的设计探讨[J].文摘版:工程技术,2015,38(8):262.

[3] 林明祖.单片机C程序编写思路的讨论[J].课程教育研究:学法教法研究,2015(31):53-55.

Abstract: In order to reduce the harm of pesticides to body, a tracking spraying bogie based on single chip Microcomputer was designed to take the place of manual spraying in greenhouse. With the single chip Microcomputer as its core control chip, peripheral circuit of bogie detection, drive and spraying was well designed, and C language programming was used to realize bogie’s function of intelligent tracking and auto spraying .

Key words: intelligent bogie; single chip microcomputer; tracking; spraying

上一篇:三年级语文上册《19.赵州桥》教案下一篇:博星卓越招投标使用说明书