版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业设计(论文)单片机控制的智能电动小车的设计 摘 要智能电动小车是一个集环境感知规划决策自动行驶等功能于一体的综合系统它集中地运用了计算机传感信息通信导航人工智能及自动控制等技术是典型的高新技术综合体1本文以AT89C51单片机为控制核心采用模块化的设计方案运用传感器金属探测传感器超声波传感器组成不同的检测电路实现小车在行驶中探测预埋金属铁片躲避障碍物测量等问题障AbstractSmart electric car is an integrated system that includes environmental awareness planning decision-making dr
2、iving automatically and so on It intensively uses the computer sensing information communication navigation automatic control technology and artificial intelligence It is a typical high-tech complexThis design adopts AT89C51 single chip computer of MCS-51 series The core of the control circuit of AT
3、89C51 to SCM adopts the modular structure designThe different detection circuits are composed of photoelectric sensor metal detection sensors ultrasonic sensors and so on In the track the intelligence car can automatically track orbitdetect metal plates embeddedevade obstaclesmeasur mileage and so o
4、n Using photoelectric sensor automatically track it can make the car to walk along the black line Using ultrasonic sensors it can detect obstacles on the road It can use the metals detection sensors to detect metal and record time by the LCD1602 At last the car smoothly stops through the final guida
5、nce of light sourceKeywords AT89C51 single chip microcomputer automatically track orbit detect the metal plates ultrasonic barrier measurement目 录摘 要IAbstractII1 绪论111 引言112 课题来源113 国内外现状22 方案设计与论证321 总体方案论证与比较322 探测轨迹模块423 检测金属铁片模块524 避障模块525 寻找光源模块626 显示模块627 测量里程模块728 电动机驱动模块73 硬件电路设计931 AT89C51单片
6、机硬件结构932 探测轨迹电路1433 检测金属片电路1534 检测障碍物电路1635 检测光源电路2036 显示电路2137 测量里程电路2238 电动机驱动电路234 软件设计2541 程序设计2542 主程序设计2543 探测金属程序设计3044 测量里程程序设计3145 躲避障碍物子程序设计3246 部分模块仿真345 结束语40参考文献41附录42致谢531 绪论11 引言智能作为现代的新发明是以后的发展方向它可以按照预先设定的模式在一个环境里自动的运作不需要人为的管理可应用于科学勘探等用途智能电动小车就是其中的一个体现设计者可以通过软件编程实现它的行进绕障停止的精确控制以及检测数据
7、的存储显示无需人工干预因此智能电动小车具有再编程的特性是机器人的一种根据本设计的要求确定如下方案以AT89C51单片机为核心的控制电路采用模块化的设计方案运用传感器金属探测传感器超声波传感器组成不同的检测电路实现小车在行驶中探测预埋金属铁片躲避障碍物测量等问题AT89C51为控制核心功耗很低该设计具有实际意义可以应用于考古机器人娱乐12 课题来源随着计算机微电子信息技术的快速进步技术的开发速度越来越快 智能度越来越高 应用范围也得到了极大的扩展在海洋开发宇宙探测工农业生产军事社会服务娱乐等各个领域2同时当今机器人技术发展的如火如荼其应用在国防等众多领域得到广泛开展神五神六升天无人飞船等等无不得
8、益于机器人技术的迅速发展一些发达国家已把机器人制作比赛作为创新教育的战略性手段如日本每年都要举行诸如NHK杯大学生机器人大赛全日本机器人相扑大会机器人足球赛等各种类型的机器人制作比赛参加者多为学生在通过大赛全面培养学生的动手能力创造能力合作能力和进取精神同时也普及智能机器人的知识实现在行驶中探测预埋金属铁片躲避障碍物测量13 国内外现状在国内外智能化系统主要采用单片机作为控制核心因此单片机的发展将有助于智能化技术的开发在本设计中采用比较先进的AT89C51单片机Intel公司发展的MCS-51系列的新一代产品如8C15280C51FAFB80C51GAGB8C4518C452还包括了Phili
9、psSiemensADMFujutsuOKIHarria-MetraATMEL等公司以80C51为核心推出的大量各具特色、与80C51兼容的单片机新一代的单片机的最主要的技术特点是向外部接口电路扩展以实现Microcomputer完善的控制功能为己任可连接一些外部接口功能单元如ADPWMPCA 可编程计数器阵列 、WDT 监视定时器 、高速IO口计数器的捕获比较逻辑等这一代单片机中在总线方面最重要的进展是为单片机配置了芯片间的串行总线为单片机应用系统设计提供了更加灵活的方式Philips公司还为这一代单片机80C51系列8C592单片机引入了具有较强功能的设备间网络系统总线-CAN Contr
10、oller Area Network BUS 2 方案设计与论证21 总体方案论证与比较方案一采用AT89C51单片机作为整机的控制单元以AT89C51单片机为核心的控制电路采用模块化的设计方案运用传感器金属探测传感器超声波传感器组成不同的检测电路实现小车在行驶中探测预埋金属铁片躲避障碍物测量等问题3在本系统中反射式红外光电传感器检测线使沿轨道自主行走探测埋轨道下的金属片发出声光信息进行H型脉冲宽度调制PWM全桥式驱动电路控制电机的转向实现电动小车的正反向行驶快慢速行驶及转弯图21 智能车运行基本原理图框图方案二采用各类数字电路来组成电动小车的控制系统采用数字电路对外围探测轨迹信号检测金属信号
11、避障信号寻找光源信号分部进行处理但对输入输出都是模拟量的小装置如果采用数字化方案则要先用AD转换器将模拟量转换为数字量经过数字电路处理后再经DA转换器将数字量转换为模拟量这样必然带来高成本电路复杂等缺点22 探测轨迹模块 在本设计中要求电动小车沿着路面的黑色轨道行驶其探测路面黑线的基本原理光线照射到路面并反射由于黑线和白纸对光的反射系数不同可以根据接收到的反射光强弱来判断是否是黑线利用这个原理可以控制电动小车行走的路迹下面几种方案是根据本原理设计的方案一采用发光二极管发光用光敏二极管接收由于光敏二极管受可见光的影响较大稳定性差所以放弃该方案方案二利用光敏电阻组成光敏探测器光敏电阻的阻值可以跟随
12、周围环境光线的变化而变化当光线照射到白线上面时光线发射强烈光线照射到黑线上面时光线发射较弱因此光敏电阻在白线和黑线上方时阻值会发生明显的变化将阻值的变化值经过比较器就可以输出高低电平但是这种方案受光照影响很大不能够稳定的工作方案三采用反射式红外线光电传感器红外探测法即利用红外线在不同颜色的物体表面具有不同的反射性质的特点4在小车行驶过程中不断地向地面发射红外光当红外光遇到白色纸质地板时发生漫反射反射光被装在电动小车上的接收管接收如果遇到黑线则红外光被吸收电动小车上的接收管接收不到红外光单片机根据是否收到反射回来的红外光来确定黑线的位置从而控制小车的行走路线采用红外线发射外面可见光对接收信号的影
13、响较小再用射极输出器对信号进行隔离红外光电传感器的特点是尺寸小使用方便工作状态受温度影响小它的外围电路简单23 检测金属铁片模块方案一探测线圈和探测仪探测线圈产生交变磁场金属微弱变化它除可以完成行程控制和限位保护外还是一种非接触型的检测装置用检测零件尺寸和测速等也可用于变频计数器变频脉冲发生器液面控制和加工程序的自动衔接等24 避障模块考虑到在测障过程中小车车速及反应调向速度的限制小车应在距障碍物40CM的范围内做出反应这样在顺利绕过障碍物后可寻找到最佳的位置和方向否则如果范围太大则可能产生对障碍物的判断失误范围过小又很容易造成车身撞上障碍物或虽绕过障碍物却无法实现理想定向根据上述要求提出以下
14、方案方案一采用激光传感器探测障碍物该传感器能非常准确地测出障碍物的存在但价格高处理复杂不符合该设计的要求方案二采用超声波传感器探测障碍物超声波传感器安装于小车前端在规定的检测距离内当探测到障碍物时超声波传感器给出脉冲信号至单片机单片机检测到该信号后调整小车的方向以控制小车准确地绕过障碍物而且避免因小车自然转弯而导致的盲目方向控制这样不但能准确完成测量而且能避免电路的复杂性同时超声波传感器具有频率高波长短绕射现象小特别是方向性好能够成为射线而定向传播等特点超声波对液体固体的穿透本领很大尤其是在不透明的固体中它可穿透几十米的深度超声波碰到杂质或分界面会产生显著反射形成回波碰到活动物体能产生多普勒效
15、应因此超声波检测广泛应用在工业国防生物医学等方面25 寻找光源模块方案一采用多只方向性较强的光敏二极管作光源定位器若干定位器在水平面上按不同角度展开在寻找光源时根据每个定位器接收到的光线强弱有无得出光源的方位该方案若采用方向性较强的光敏二极管作为光源定位器要么是需要很多的器件要么是难以检测到光源的方向方案二利用由光敏电阻组成的光控开关电路利用光敏电阻阻值随光强弱变化的特性组成光控开关电路检测光源光敏电阻是用光电导体制成的光电器件又称光电管它是基于半导体内光电效应工作的当无光照射时光敏电阻值暗电阻很大电路中电流很小当光敏电阻受到一定波长范围的光照时它的阻值亮电阻急剧减少因此电路中电流迅速增加光敏
16、电阻具有很高的灵敏度很好的光谱特性光谱响应从紫外区一直到红外区而且体积小重量轻性能稳定因此在自动化技术中得到了广泛的应用7综合考虑到上述方案的优缺点本设计采用方案二26 显示模块方案一方案二27 测量里程模块方案一通过测试得出小车平均速度v在行驶过程中将行驶时间与其乘积tv作为驶过的里程但该方案受电池电量路面介质等因素的影响在大多数情况下均暴露出误差较大的缺点故不予采用方案二采用开关式霍尔元件在车轮上安装小磁钢将霍尔开关器件安装在固定轴上当车轮转动时磁钢也跟着转动霍尔元件感应到磁场的变化时就会产生通断效果使单片机的输入端产生高低电平的变化从而使其计数小车车轮转的圈数假设为N并设车轮的周长为L通
17、过S NL就可以计算出小车在一段时间内的里程霍尔元件由于它的霍尔效应显著而得到实用和发展被广泛用于电流磁场位移压力等物理量的测量同时霍尔元件具有体积小频率响应宽度大动态特性好抗干扰能力强对外围电路要求简单使用寿命长价格低廉等特点安装也较为方便728 电动机驱动模块方案一使用功率三极管作为功率放大器的输出控制直流电机线性型驱动的电路结构和原理简单成本低加速能力强但功率损耗大特别是低速大转距运行时通过电阻R的电流大发热厉害损耗大对于小车的长时间运行不利方案二采用继电器控制电机采用继电器对电机的开或关进行控制通过开关的切换对小车的速度进行调整此方案的优点是电路较为简单缺点是继电器的响应时间慢易损坏寿
18、命较短可靠性不高1方案三采用H型脉冲宽度调制PWM全桥式驱动电路通过PWM脉宽调制的方法实现对小车速度的控制这种调速方式有调速特性优良调整平滑调速范围广过载能力大能承受频繁的负载冲击还可以实现频繁的快速启动制动和反转等优点这种驱动电路可以很方便实现直流电机的四象限运行分别对应正转正转制动反转反转制动为了电路设计简单采用电机专用驱动芯片L298N瞬时电流最高可达2A可靠完全满足设计要求综合三种方案的优缺点决定选择方案三3 硬件电路设计单片机SCM是单片微型计算机Single Chip MicrocomputerROM、RAM、IO口、定时记数器、中断系统等能量不能满足应用系统的要求时必须在片外进
19、行扩展选择适当的芯片设计相应的电路二是系统配置既要按照系统功能要求配置外围设备如键盘显示器、打印机、AD、DA转换器等又要设计合适的接口电路本系统采用AT89C51单片机作为中央处理器其主要任务是在小车行走过程中不断读取传感器采集到的数据将得到的数据进行处理后来控制小车行走同时将相关数据送显示单元动态显示 在本系统中AT89C51单片机的P1口用于LCD1602显示P20P21口用于电动机的PWM驱动控制P03P04口用于探测轨迹P05口用于探测障碍物P00P01口用于寻找光源P06用于LED提示P07用于蜂鸣器报警P32外部中断0用于检测金属铁片P33外部中断1用于计数脉冲从而达到测量里程的
20、目的31 AT89C51单片机硬件结构AT89C51是一种低功耗低电压高性能的八位CMOS单片机片内有一个4KB的FLASH可编程可擦除只读存储器FPEROMFlash Programmable and Erasable Read Only Memory311 主要特性 1 与MCS-51兼容 2 4K字节可编程闪烁存储器 3 寿命1000写擦循环 4 数据保留时间10年 5 全静态工作0Hz-24Hz 6 三级程序存储器锁定 7 1288位内部RAM 8 32可编程IO线 9 两个16位定时器计数器 10 6个中断源 11 可编程串行通道 12 低功耗的闲置和掉电模式 13 片内振荡器和时钟
21、电路 312 管脚说明 VCC40供电电压GND20接地P0端口P0口为一个8位漏级开路双向IO口每脚可吸收8TTL门电流当P1口的管脚第一次写1时被定义为高输入P0能够用于外部程序数据存储器它可以被定义为数据地址的第八位在FIASH编程时P0 口作为原码输入口当FIASH进行校验时P0输出原码此时P0外部必须被拉高P1端口P1口是一个内部提供上拉电阻的8位双向IO口P1口缓冲器能接收输出4TTL门电流P1口管脚写入1后被内部上拉为高电平可用作输入P1口被外部下拉为低电平时将输出电流这是由于内部上拉的缘故在FLASH编程和校验时P1口作为第八位地址接收 P2端口P2口为一个内部上拉电阻的8位双
22、向IO口P2口缓冲器可接收输出4个TTL门电流当P2口被写1时其管脚被内部上拉电阻拉高且作为输入并因此作为输入时P2口的管脚被外部拉低将输出电流这是由于内部上拉的缘故P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时P2口输出地址的高八位在给出地址1时它利用内部上拉优势当对外部八位地址数据存储器进行读写时P2口输出其特殊功能寄存器的内容P2口在FLASH编程和校验时接收高八位地址信号和控制信号P3端口P3口管脚是8位的双向IO口可接收输出4个TTL门电流当P3口写入1后它们被内部上拉为高电平并用作输入作为输入由于外部下拉为低电平P3口将输出电流ILLP3口也可作为AT89C51的一
23、些特殊功能口如所示P3口同时为闪烁编程和编程校验接收一些控制信号RST 9 复位输入ALE 30 当访问外部存储器时地址锁存允许的输出电平用于锁存地址的地位字节在FLASH编程期间此引脚用于输入编程脉冲在平时ALE端以不变的频率周期输出正脉冲信号此频率为振荡器频率的16因此它可用作对外部输出的脉冲或用于定时目的然而要注意的是每当用作外部数据存储器时将跳过一个ALE脉冲如想禁止ALE的输出可在SFR8EH地址上置0此时 ALE只有在执行MOVXMOVC指令是ALE才起作用另外该引脚被略微拉高如果微处理器在外部执行状态ALE禁止置位无效 29 外部程序存储器的选通信号在由外部程序存储器取指期间每个
24、机器周期两次有效但在访问外部数据存储器时这两次有效的信号将不出现EAVPP 31 当保持低电平时则在此期间外部程序存储器0000H-FFFFH不管是否有内部程序存储器注意加密方式1时将内部锁定为RESET当端保持高电平时此间内部程序存储器在FLASH编程期间此引脚也用于施加12V编程电源VPPXTAL1 19 反向振荡放大器的输入及内部时钟工作电路的输入XTAL2 18 来自反向振荡器的输出图31 AT89C51引脚图313 振荡器特性 XTAL1和XTAL2分别为反向放大器的输入和输出该反向放大器可以配置为片内振荡器石晶振荡和陶瓷振荡均可采用如采用外部时钟源驱动器件XTAL2应不接有余输入至
25、内部时钟信号要通过一个二分频触发器因此对外部时钟信号的脉宽无任何要求但必须保证脉冲的高低电平要求的宽度312 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合并保持ALE管脚处于低电平10ms 来完成在芯片擦操作中代码阵列全被写1且在任何非空存储字节被重复编程以前该操作必须被执行此外AT89C51设有稳态逻辑可以在低到零频率的条件下静态逻辑支持两种软件可选的掉电模式在闲置模式下CPU停止工作但RAM定时器计数器串口和中断系统仍在工作在掉电模式下保存RAM的内容并且冻结振荡器禁止所用其他芯片功能直到下一个硬件复位为止315 AT89C51最小系统 AT89C51最小系统接线
26、如图32所示在XTAL1XTAL2端接上晶振及两个谐振电容在RESET端接上相应的电阻电容如需要按键复位加上按键即可组成一个最小系统按要求通电后系统就可以工作了 图32 AT89C51最小系统32 探测轨迹电路轨迹探测电路根据反射接收原理配置了一对红外线发射接收传感器该电路包括一个红外发光二极管一个红外光敏三极管及其上拉电阻如图34所示红外发光二极管发射一定强度的红外线照射物体红外光敏三极管在接收到反射回来的红外线后导通发出一个电平跳变信号当小车在白色地面行驶时装在车下的红外发射管发射红外线信号 经白色反射后被接收管接收一旦接收管接收到信号那么图33中光敏三极管将导通输出低电平经LM306电压
27、比较器送单片机控制当小车行驶到黑色引导线时红外线信号被黑色吸收后光敏三极管截止输出高电平从而实现了通过红外线检测信号的功能将检测到的信号送到单片机IO口当IO口检测到的信号为高电平时表明红外光被地上的黑色引导线吸收了表明小车处在黑色的引导线上同理当IO口检测到的信号为低电平时表明小车行驶在白色地面上即当小车底部的某边红外线收发对管遇到黑带时输入电平为高电平反之为低电平4图33 轨迹探测电路图为了保证小车沿黑线行驶采用了两个检测器并行排列左右方向都可以进行控制控制精度得以提高在小车行走过程中结合查询方式通过程序控制小车行走轨迹如果左方向偏离黑线则右侧的探头就会检测到黑线把信号传送到单片机进行处理
28、校正控制其向右转如果右方向偏离黑线则左侧的探头就会检测到黑线把信号传送到单片机进行处理校正控制其向左转从而保证小车沿黑线行驶电路中的可调电阻可调节灵敏度以满足小车在不同光度的环境中能够寻迹由于接收对管装在车底发射距离的远近较难控制调节可调电阻灵敏度不高因此采用在对管上套一塑料管屏蔽外界光的影响灵敏度将大幅提升在该电路中加比较器LM306的目的是使模拟量转化为开关量便于处理 33 检测金属片电路电感式接近开关由三大部分组成LC振荡器开关电路及放大输出电路它的工作原理是外界的金属性物体对它的高频振荡器产生非接触式感应作用振荡器即是由缠绕在铁氧体磁芯上的线圈构成的LC荡电路荡器通过传感器的感应面在其
29、前方产生一个高频交变的电磁场当外界的金属性导电物体接近这一磁场并到达感应区时在金属物体内产生涡流效应从而导致LC荡电路振幅变小即称之为阻尼现象这一荡的变化即被开关的后置电路放大处理并转换为一确定的输出信号触发开关并驱动控制器件从而达到非接触式目标检测之目的图34 接近开关原理框图在车底中部安装一个金属检测传感器将其检测面对准运行路面当小车通过金属铁块时输出端输出一个将这个信号74LS04反相器将信号用单片机检测出来借此控制电动机产生相应的动作图35 检测金属铁片电路原理图34 检测障碍物电路 采用超声波传感器探测障碍物超声波是一种在弹性介质中的机械振荡其频率超过20KHz分横向振荡和纵向振荡两
30、种超声波可以在气体液体及固体中传播其传播速度不同它有折射和反射现象且在传播过程中有衰减利用超声波的特性可做成各种超声波传感器结合不同的电路可以制成超声波仪器及装置在通讯医疗及家电中获得广泛应用作为超声波传感器的材料主要为压电晶体压电晶体组成的超声波传感器是一种可逆传感器它可以将电能转变成机械振荡而产生超声波同时它接收到超声波时也能转变成电能故它分为发送器和接收器超声波传感器有透射型反射型两种类型常用于防盗报警器接近开关测距及材料探伤测厚等本设计应用反射式超声波探测电路探测障碍物该电路分为超声发射电路超声接收电路和信号处理电路121RP1可以将接受超声传感器的输出电压调至最大通常可调至40kHz
31、电路如图36所示图36 超声波发射电路该电路用到时基电路LM555 LM555 时基电路内部由分压器比较器触发器输出管和放电管等组成是模拟电路和数字电路的混合体其各个引脚的功能如下6脚为阀值端TH是上比较器的输入2脚为触发端TR是下比较器的输入3脚为输出端OUT有0和1两种状态它的状态由输入端所加的电平决定7脚为放电端DIS是内部放电管的输出它有悬空和接地两种状态也是由输入端的状态决定4脚为复位端R叫上低电平 03V时可使输出端为低电平5脚为控制电压端 CV 可以用它来改变上下触发电平值8脚为电源VCC1脚为地GND一般可以把 LM555 电路等效成一个大放电开关的R-S 触发器这个特殊的触发
32、器有两个输入端阀值端TH可看成是置零端 R高电平有效触发端TR可看成是置位端S低电平有效它只有一个输出端OUTOUT可等效成触发器的Q 端放电端DIS可看成由内部放电开关控制的一个接点放电开关由触发器的反Q端控制反Q 1时DIS 端接地反Q 0时DIS端悬空此外这个触发器还有复位端 R控制电压端CV电源端VCC和接地端GND图37是等效的触发器和它的功能真值表图37 等效的触发器和它的功能真值表这个特殊的R-S 触发器工作原理两个输入端的触发电平要求一高一低置零端R即阀值端TH要求高电平而置位端S即触发端TR则要求低电平两个输入端的触发电平是使它们翻转的阀值电压值也不同当CV端不接控制电压时对
33、THR端来讲大于23VCC是高电平1小于23VCC是低电平0而对 TRS端来讲大于13VCC是高电平1小于13VCC是低电平0如果在控制端CV加上控制电压VC这时上触发电平就变成VC值而下触发电平则变成 12VC可见改变控制端的控制电压值可以改变上下触发电平值2超声波接收电路 超声波接收电路使用超声波接收传感器当它接收到超声波信号为正弦波信号后输入到集成比较器LM393进行处理LM393输出的是比较规范的方波信号将此方波信号输出到信号处理电路电路如图38所示图38 超声波接收和处理电路 3充电泵高增益运算放大器能将频率信号转换为直流电压信号LM2907N具有以下特点LM2907N进行频率倍增时
34、只需使用一个RC网络以地为参考点的转速计频率输入可直接从输入管脚接入运算放大器比较器采用浮动三极管输出最大50mA的输出电流可驱动开关管发光二极管等内含的转速计使用充电泵技术对低纹波有频率倍增功能比较器的滞后电压为30mV利用这个特性可以抑制外界干扰输出电压与输入频率成正比线性度典型值为±03具有保护电路不会受高于Vcc值或低于地参考点输入信号的损伤在零频率输入时LM2907的输出电压可根据外围电路自行调节当输入频率达到或超过某一给定值时可将输出用于驱动继电器指示灯等负载的内部结构及各引脚功能功能如下 脚和11脚IN-为运算放大器比较器的输入端 脚接充电泵的定时电容C1脚接充电泵的输
35、出电阻和积分电容R1C2 脚IN和10脚UF1为运算放大器的输入端 脚为输出晶体管的发射极U0脚为输出晶体管的集电极一般接电源UC 脚为正电源端VCC 12脚为接地端GND 1314脚未用图39 LM2907N原理框图将LM2907N的8脚接到单片机输入口由图38可以看出由于两个串联51k电阻的分压LM290N7的10脚电压Vop- 6V这是内部比较器的参考电压内部比较器的4脚电压为Vop输入电压它是电阻R51K上的电压这个电压和频率有关的当Vop大于Vop-时比较器输出为1LM2907N内部三极管导通或饱和则发光二极管LED点亮因此当超声发射电路由LM555产生40KHz方波来起振超声波发射
36、探头使其发射超声波如智能电动小车前方遇到障碍物时此超声波信号被障碍物反射回来超声波接收电路接收到超声波信号为正弦波信号后输入到比较器LM393使其调整为方波输出到LM2907NLM2907N芯片会把此方波信号的频率转化为对应电压值当此电压值大于由4号引脚输入的门电压时LM2907N的8号引脚输出低电平LED处于发光状态即当有障碍物时LED处于发光状态LM2907N的8号引脚输出低电平同时通过8脚将信号送给单片机使单片机该根据信号控制小车转向从而实现避开障碍物的目的35 检测光源电路利用光敏电阻阻值随光强弱变化的特性组成光控开关电路如图310所示检测光源为了检测光线的强弱我们在小车左前方右前方加
37、了2只光敏传感器即光敏电阻它根据照射在它上面的光线的强弱阻值发生变化输出电压随之变化当小车前方无光照射时 光敏电阻阻值很大三极管处于截止状态 集电极输出高电平当有光照射时 光敏电阻阻值变小 三极管饱和导通7将检测到的高低电平信号送单片机 依此调整车头方向 使其沿光源方向行驶图310 光源检测电路36 显示电路311所示单片机的P1口与LCD1602的连接图311 显示电路该电路用到2行16个字的DM-162液晶模块采用标准的14脚接口312所示其中图312 DM-162液晶模块 1 第1脚VSS为地电源 2 第2脚VDD接5V正电源 3 第3脚V0为液晶显示器对比度调整端接正电源时对比度最弱接
38、地电源时对比度最高 4 第4脚RS为寄存器选择高电平时选数据寄存器低电平时选指令寄存器 5 第5脚RW为读写信号线高电平时进行读操作低电平时进行写操作当RS和RW共同为低电平时可以写入指令或者显示地址当RS为低电平RW为高电平时可以读忙信号当RS为高电平RW为低电平时可以写入数据 6 第6脚E端为使能端当E端由高电平跳成低电平时液晶模块执行命令 7 第714脚D0D7为8位双向数据线 37 测量里程电路本设计采用霍尔传感器A4EEA4EE4518V其输出的信号符合TTL电平标准它由稳压器A霍尔电势发生器 即硅霍尔片 B差分放大器C施密特触发器D和OC门输出E五个基本部分组成12如图313所示在
39、输入端输入电压VCC经稳压器稳压后加在霍尔电势发生器的两端根据霍尔效应原理当霍尔片处在磁场中时在垂直于磁场的方向通以电流则与这二者相垂直的方向上将会产生霍尔电势差HV输出该HV信号经放大器放大后送至施密特触发器整形使其成为方波输送到OC门输出当施加的磁场达到工作点时触发器输出高电压 相对于地电位 使三极管导通此时OC门输出端输出低电压通常称这种状态称为开当施加的磁场达到释放点时触发器输出低电压三极管截止使OC门输出高电压这种状态称为关两次电压的变换霍耳开关就完成了一次开关动作图313 霍尔传感器霍尔传感器的使用原理将霍尔传感汽车后轮每转一圈霍尔元件产生个脉冲将其送入单片机进行计数将其送入单片机
40、进行计数N并设车轮的周长为L通过S NL就可以计算出小车在一段时间内的距离本设计选择P33口作为信号的输入端内部采用外部中断1车轮每转一圈霍尔开关就检测并输出信号引起单片机的中断从而对脉冲计数 图314 霍尔传感器测速电路38 电动机驱动电路直流电机驱动电路使用最广泛的就是H型全桥式驱动电路这种驱动电路可以很方便实现直流电机的四象限运行分别对应正转正转制动反转反转制动它的基本原理图如图315所示 图315 H型全桥式驱动电路全桥式驱动电路的4只开关管都工作在斩波状态S1S2为一组S3S4 为另一组两组的状态互补一组导通则另一组必须关断当S1S2导通时S3 S4关断电机两端加正向电压可以实现电机
41、的正转或反转制动当S3S4导通时S1S2关断电机两端为反向电压电机反转或正转制动当全部导通时电机处于刹车状态当全部关断时电机将自由滑行8其工作状态表如表32所示表32 电机工作状态表状态S1S2S3S4正转1100反转0011刹车1111滑行0000在本设计中用到电机驱动芯片L298NPWM输出脉冲信号经双H桥功率驱动电路L298N后接至电机控制小车运动如图316所示L298N芯片是一种高压大电流双全桥式驱动器其设计是为接受标准TTL逻辑电平信号和驱动电感负载的H桥的下侧桥臂晶体管发射极连在一起其输出脚SENSEA和SENSEB用来连接电流检测电阻Vcc接逻辑控制的电源Vs为电机驱动电源IN1
42、-IN4输入引脚为标准TTL 逻辑电平信号用来控制H桥的开与关即实现电机的正反转ENAENB引脚则为使能控制端用来输入PWM信号实现电机调速图316 H型全桥式驱动电路4 软件设计41 程序设计程序设计 Programming 是指设计编制调试程序的方法和过程它是目标明确的智力活动13为了完成上述任务在进行软件设计时通常把整个过程分成若干个部分每一部分叫做一个模块把一个程序分成具有多个明确任务的程序模块分别编制调试后再把它们连接在一起形成一个完整的程序这样的程序设计方法称为模块化程序设计14模块程序设计法的主要优点是 1 单个模块比起一个完整的程序易编写调试及修改 2 程序的易读性好 3 程序
43、的修改可局部化 4 模块可以共存一个模块可以被多个任务在不同条件下调用 5 模块程序允许设计者分割任务和利用已有程序为设计者提供方便本系统软件采用模块化结构由主程序、中断程序探测金属和测量里程躲避障碍物子程序构成42 主程序设计在系统的程序设计中主控模块只负责根据消息调用相应模块的处理函数具体如何处理这些消息由各功能模块中的对应决定LCD1602的初始化中断向量的设计以及开中断循环等待等工作另外在主程序模块中还需要设置启动清除标志寄存器并对它们进行初始化然后主程序将根据各标志寄存器的内容分别完成不同的操作主程序流程图如图41所示当接通电源时小车启动同时LCD1602开始计时在行驶中结合程序查询
44、方式若P03为高电平表示小车左方向偏离黑线则控制小车右转若P04为高电平时表示小车右方向偏离黑线则控制小车左转从而实现自动寻迹当检测到障碍物时调用躲避障碍物子程序达到躲避障碍物的目的当检测到金属铁片时产生中断进行声光提示最后通过光源的引导停车图41 主程序流程图主程序 RIGHT_BLACK EQU P03 右边黑线LEFT_BLACK EQU P04 左边黑线 ZHANGAI EQU P05 LEFT_LAMP EQU P00 左边光源 RIGHT_LAMP EQU P01 右边光源 BELL EQU P06 蜂鸣器 LED EQU P07 LED DATA1602 EQU P1 1602数
45、据端口 RS EQU P37 RW EQU P36 E EQU P35 IN1 EQU P20 IN2 EQU P21 L298N电机驱动芯片端口定义 ENA EQU P34 L298N ENA端口定义 SECBUF EQU 21H 秒缓冲 MINBUF EQU 22H 分缓冲 BUF EQU 20H 005秒缓冲 LCD1 EQU 30H LCD2 EQU 31H LCD3 EQU 32H LCD4 EQU 33H LCD5 EQU 34H COUNTER EQU 35 计数次数 LENGTH EQU 36H 周长 LICHENG EQU 37H 里程 ORG 0000H LJMP MAIN
46、 ORG 0003H LJMP EXT0 ORG 000BH LJMP ITT0 ORG 0013H 外部中断1车轮转一圈时光电传感器发出一个脉冲 LJMP EXT1 ORG 0100HMAINMOV R000H MOV LCD10 MOV LCD20 MOV LCD311 MOV LCD40 MOV LCD50 MOV BUF0 MOV SECBUF0 MOV MINBUF0 SETB P35 CLR P20CLR P21CLR P34MOV SP60H MOV TMOD11H MOV TH03Ch MOV TL00B0h MOV LENGTH1 设周长为1SETB EA SETB ET0S
47、ETB ET1 SETB IT0 SETB EX0SETB EX1 SETB TR0SETB P35 SETB PT0 MOV DATA160200000001B清屏并光标复位 ACALL ENABLE 调用写入命令子程序 MOV DATA160200111000B 设置显示8位2行57点阵 ACALL ENABLE 调用写入命令子程序 MOV DATA160200001100B 显示开光标开光标允许闪烁ACALL ENABLE 调用写入命令子程序 MOV DATA160200000110B 文字不动光标自动右移 ACALL ENABLE 调用写入命令子程序 MOV DATA160286H 写
48、入显示初始地址 ACALL ENABLE 调用写入命令子程序 MOV 75 设置每行显示位数 MOV DPTRTAB 调用写入命令子程序 MOV R030 显示数据初始地址 LCALL DISPLAY 调用显示程序 SETB TR0 开定时器 SETB ENACARFORLCALL MOTLJMP CARFORLOOP SETB P06LCALL DELAYSJMP LOOPLOOP2SETB P07LCALL DELAYSJMP LOOP2START CLR IN1 CLR IN2 LCALL TT CLR IN2 SETB IN1 LCALL TT LCALL TT SETB TR0SJM
49、P START43 探测金属程序设计在小车行驶过程中当检测到金属铁片时输出一个低电平信号使单片机中断0产生中断并进行声光提示同时小车车速减慢当中断清除后小车各模块恢复到中断前的状态探测金属中断程序流程图如图42所示图42中断0程序流程图中断0程序EXT0PUSH ACCPUSH PSWSETB RS0CLR RS1CLR P06CLR P07MOV R25LCALL OFFLOOP3CLR P06CALL DELAYCLR P07CALL DELAYCPL P06CALL DELAYSETB P07DJNZ R2 LOOP3POP PSWPOP ACCLCALL ZZRETIOFFCLR IN
50、1 CLR IN2 LCALL DELAY RETDELAYMOV R550D1 MOV R620D2MOV R7248D4 DJNZ R7DJNZ R6D2DJNZ R5D1RET44 测量里程程序设计当霍尔传感器输出一个低电平信号就使单片机中断一次并计数脉冲因此在该程序中需要完成当前行驶里程数累加操作并将结果存入里程寄存器中测量里程中断程序流程图如图43所示图43中断1程序流程图中断1程序EXT1INC COUNTER 计算路程 圈数周长 MOV ALENGTHMUL A BMOV LICHENGALCALL XIANSHIRETI45 躲避障碍物子程序设计当超声波电路检测到障碍物时将信号
51、送入单片机单片机控制小车后退并左转若左转不能避开障碍物则右转直到避开障碍物躲避障碍物子程序流程图如图44所示图44 躲避障碍物子程序流程图躲避障碍物子程序JIANCEMOV CP03MOV 22HCMOV CP04MOV 23HCMOV CP05MOV 24HCGUIJI JB 22H TURNRIGHT JB 23H TURNLEFT AJMP GUIJIRETZHANG JNB 24HFFLCALL TURNLEFT AJMP JIANCE JNB 24HTURNRIGHTAJMP JIANCERETFF CLR IN1 CLR IN2 LCALL TT CLR IN1 SETB IN2
52、LCALL TT LCALL TT RET46 部分模块仿真在该设计中利用Proteus软件进行仿真Proteus是英国Labcenter公司开发的电路分析与仿真软件运行于Windows操作系统上可以仿真分析 SPICE 数字电路模拟电路数模混合电路是目前唯一能实现对51PICAVRHC11ARM1PCB设计于一体真正实现从概念到产品的完整开发工具2345Keil C51 uVision2MTLAB等第三方的软件编译和调试环境6具有强大PCB板设计功能可输出多种格式的电路设计报表461 部分模块电路设计将电机驱动显示和检测金属铁片模块电气原理图进行PROTEUS设计打开PROTEUS的ISIS
53、编辑环境从PROTEUS中选取该电路所需要的元器件放置元器件放置电源和地连线得到如图45所示的电气原理图再点菜单栏工具下拉的电气规则检查当规则检查出现NETLIST GENERATED OK NO ERC ERRORD FOUND表示通过检查电路设计完成图45 系统部分电气原理图462 部分模块电路仿真 PROTEUS软件自带编辑器可以实现对汇编程序的编译其操作步骤是新建源文件点菜单SourceAddRemove source Files在出现的对话框中选择ASEM51编辑器新建JIEasm 源文件程序设计点菜单SourceJIEasm打开源文件编辑器将将附录程序输入到文本中 源程序编译点菜单
54、SourceBuild ALL编译汇编源程序生成目标代码文件PMDHEX若编译失败可对程序进行修改调试直至编译成功目标代码加载在PROTEUS编辑环境双击AT89C51弹出如图46所示的对话框在PROGRAM FILE一栏中单击打开按钮选中JIEHEX文件在CLOCK FREQUENCY栏中设置系统工作频率为12MHZ单击OK完成目标代码加载图46 程序代码加载最后点击运行按钮启动系统仿真图中定时器电机处于初始化状态仿真结果如图47所示图47 仿真结果1当按键ON触发后定时器开始计时电机开始转动仿真结果如图48所示图48 仿真结果2当小车运行到9秒时小车的速度显示如图49所示图49 仿真结果3由于条件所限利用按键PW控制P32代替传感器检测金属铁片小车在行驶过程中若PW键触发时表示检测到金属铁片系统将会进行声光提示同时小车行驶速度自动减慢仿真结果如图410所示LED闪烁蜂鸣器发出声音并且电机转速降低当中断清除后各模块恢复以前状态图410 仿真结果4当小车运行到20秒时检测到金属铁片在发出声光提示的同时小车的速度降低其仿真结果如图411所示通过对图49与图411的比较可以看出小车的车速减慢图411 仿真结果4463 仿真结果分析 通过对上述模块的仿真可以看出基于单片机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年云南建筑安全员A证考试题库附答案
- 贵州大学《集成电路原理》2023-2024学年第一学期期末试卷
- 贵阳幼儿师范高等专科学校《成矿规律与成矿预测》2023-2024学年第一学期期末试卷
- 2025广东建筑安全员知识题库
- 2025青海省建筑安全员《C证》考试题库
- 硅湖职业技术学院《化工原理B》2023-2024学年第一学期期末试卷
- 2025年江苏省安全员A证考试题库
- 2025湖北省建筑安全员A证考试题库附答案
- 广州新华学院《体育活动组织与策划》2023-2024学年第一学期期末试卷
- 广州卫生职业技术学院《数学课程与教材研究》2023-2024学年第一学期期末试卷
- 数学-2025年高考综合改革适应性演练(八省联考)
- 2024-2025学年安徽省六安市金安区三上数学期末调研试题含解析
- 市场营销试题(含参考答案)
- 2024年医疗器械经营质量管理规范培训课件
- 景区旅游安全风险评估报告
- 2023年新高考(新课标)全国2卷数学试题真题(含答案解析)
- 2024年计算机二级WPS考试题库380题(含答案)
- 事业单位工作人员奖励审批表
- DL-T 1476-2023 电力安全工器具预防性试验规程
- 眼科护理的国内外发展动态和趋势
- 2024年中煤平朔集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论