基于单片机89c51循迹小车原理与程序
基于89C51单片机的智能小车设计
4 件设计 欹
4l O T 定 时器 中断程序设计 T I 使用数字逻辑 电路制作 , 其特点是易于集成 、 简单方便 。 由于 但是 T 定时器 中断程序主要是实现小 车的转向 、 T 设定 初值 以及 1 为 0 使用的 器件较多、 连线复杂、 功耗大、 体积大糍 路和 焊点较多。 导致电 执行控 制函数 。 1的中断是 l * T m 产生一次 , l s 每 m 对小车的位置进行 路不稳定 . 精确度不高 调整一 次. 当传感器检测结束信号的值为 1 时则执行控制 函数并 使 自 2 电动机模 块 . 2 身的值 设定为 O 。小车的左转 、 右转是通过光 电传感 器检测到 的高低
添 加 到 液 态 奶 中有 一 定 的 局 限 . 添 加 到奶 粉 中就 不 受 限 制 . 以 不 而 所
30 5 ) 0 4 9
1以职 业 能 力 为 导 向 . 化 课 堂教 学 内容 . 优
高等职业教育是 以能力 为中心 。 以培 养高素质 、 高技能人 才为 目 标的人 才培养 模式。因此将 职业能力培养作为主线贯穿教学 全过程 , 把理论 教学与实践紧密结合。将《 品营养学》 食 教学 内容进行 了调整 , 把《 公共营养师》 《 和 营养配餐 员》 职业标 准相关 内容 及能力 目 融入 标 到 自己的教学 中. 职业能力 贯穿于整个 教学 中. 把 充分 体现高职 教育 的职业 性和实践性
输入端 电位变低 . 出端为高 电平 , 输 三极管导通 c极为低 电 号进 行转换后 反馈 给单片机 . 从而为单片机控制机器人 运 动提供 了 电阻变小 . 平; 再经斯 密特反相器后为高 电平输入到 8C 1 9 5 单片机的端 口上 。当 信息。系统结构框 图如 图 I 所示
基于STC89C51单片机的智能小车设计
基于STC89C51单片机的智能小车设计摘要:该文主要简述了怎样才能借助STC89C51单片机来促成智能小车的设计。
本车使用LN298N驱动芯片驱动,红外传感器采集道路信息,并通过对所采集信息的分析,实现自动控制电机转向从而改变行驶路径,绕开障碍物,最终全面实现智能车的自动循迹、避障等等基本功能。
关键字:STC89C51单片机;循迹;避障;红外线传感器;PWM一、引言现今,智能化飞速发展,在国人的生活中中获得了广泛的应用。
其中,车辆工程的研究前沿必定是智能车辆,它涵盖了人工智能、自控原理、信息采集技术等多个领域的专业技能,是未来的发展趋势。
其中,智能小车便是一个典型代表,在小车上将加装传感器,借助传感器辨识外界信号,把信号信息反馈到传感器,传感器再按照编写的程序输入之下一步的指令给执行器,进而促成小车的自动智能管理控制。
本文所提及的自动避障智能车是基于STC89C51单片机开发,传感器采用红外发射和接受来探测道路信息,从而实现所需功能。
二、整体设计总体设计即以STC89C51单片机作为核心,组合而成的功能模块分别为:管控模块、供电模块、避障模块、金属探测模块、循迹模块。
2.1控制模块该文其所提到的智能小车即以STC89C51单片机作为管理控制核心,借助程序的设计以及编写来管理控制小车,即以达到对于小车的整体管理控制。
2.2驱动模块小车的驱动电机选用直流电机,使用极为方便,并选用集成处理器驱动。
集成芯片驱动外围电路简单,比较容易实现,且调试通过率高,故障的发生率较低。
该文选用的就是LN298N功能模块,该类功能模块提供4输出或6输出单片机信号源,可用跳线帽灵活多样选用,大力支持PWM调速,且板载上拉电阻,可在一定程度上解决STC89C51单片机I/O口驱动能力不足的问题。
控制器经由管控LN298N使能端,继而实现电机的摆动与否,以更进一步实现小车的不断前进与转向。
直流电机变向原理:向左转时,左轮静止不动,右轮转动;向右转时,右轮静止不动,左轮转动。
基于AT89C51单片机的智能寻迹小车设计
2020.19设计研发基于AT89C51单片机的智能寻迹小车设计桑吴刚(江苏省昆山第一中等专业学校,江苏昆山,215300)摘要:智能小车是近年来发展起来的一门新兴综合技术,在军事、科研和工业中有广阔的应用前景。
本文旨在从硬件和软件出发,设计一辆以单片机为控制核心的自动寻迹智能小车,智能小车探测和识别轨迹釆用红外管,同时将反馈回来的信号送入单片机,单片机将控制字送入电机,在整个系统设计中,我们釆用PWM技术,来控制智能小车舵机的转向和电机转速,使小车实现智能行走。
关键词:单片机;智能小车;硬件和软件Design of intelligent tracking car based on AT89C51Sang Wugang(Kunshan No.1Specialized Secondary School Jiangsu Province,Kunshan Jiangsu,215300)Abstrac t:Intelligent car is a new comprehensive technology developed in recent years,which has broad application prospects in military,scientific research and industry*The purpose of this paper is to design an automatic tracking intelligent car with MCU as the control core.The intelligent car uses infrared tube to detect and identify the track.At the same time,the feedback signal is sent to the MCU.The MCU sends th€control word to the motor.In the whole system design,we use PWM technology to control the steering gear and motor speed of the intelligerrt car,Make the car realize intelligent walking.Keywords;single chip microcomputer;intelligent car;hardware and software0引言智能寻迹小车系统主要由三部分组成,即机械结构部分、硬件部分和软件部分。
(完整word版)基于51单片机的循迹小车系统设计
基于51单片机的循迹小车系统设计摘要80C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。
在生活中但凡涉及到自动控制的地方都会出现单片机的身影,单片机的应用有利于产品的小型化、智能化,并且能够提高生产效率.这里介绍的是如何用AT89C52单片机来实现小车的循迹功能,该设计是结合科研项目而确定的设计类课题。
本系统以设计题目的要求为目的,采用AT89C52单片机为控制核心,利用红外传感器检测道路上的黑线,控制电动小汽车的自动循迹,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,和寻光功能。
整个系统的电路结构非常简单,可靠性能很高。
实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。
关键词:80C51单片机;电动小车;pwm调速;光电检测;自动调速系统Car tracking system based on microcontrollerAbstract80C51 is a 8 bit single chip computer。
Its easily using and multi—function suffer large users。
In life,whenever it comes to automatic control of the local microcontroller will appear figure, microcontroller applications in favor of product miniaturization,intelligent,and can improve productivity. Here is how to use AT89C52 microcontroller to achieve the car tracking feature, which is designed to determine the combination of scientific research and design class topic.This system design requirements of the subject for the purpose of using AT89C52 microcontroller core,the use of infrared sensors to detect the black line on the road,the automatic tracking control of electric cars,fast low traffic speeds,as well as automatic parking, and can automatically record time ,mileage and speed, and look for the light function.The circuit structureof the entire system is very simple, very high reliability. The test results meet the requirements,the paper focuses on the hardware design and test results of the system analysis.Keywords:80C51 microcontroller;Electric car Pwm speed; A photodetector;Automatic Speed Control System。
基于单片机89c51循迹小车原理与程序分解
自循迹小车第一章引言1.1 设计目的通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。
进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。
1.2 设计方案介绍该智能车采用红外对管方案进行道路检测,单片机根据采集到的红外对管的不同状态判断小车当前状态,通过pid控制发出控制命令,控电机的工作状态以实现对小车姿态的控制。
1.3 技术报告内容安排本技术报告主要分为三个部分。
第一部分是对整个系统实现方法的一个概要说明,主要内容是对整个技术方案的概述;第二部分是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件电路的设计原理等;第三部分是对系统软件设计部分的说明,主要内容是智能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。
第二章技术方案概要说明本模型车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块.在整个系统中,由电源管理模块实现对其他各模块的电源管理。
其中,对单片机、光电管提供5V电压,对电机提供6V电压路径识别电路由3对光电发送与接收管组成。
由于路面存在黑色引导线,落在黑线区域内的光电接收管接收到反射的光线的强度与白色的路面不同,进而在光电接收管两端产生不同的电压值,由此判断路线的走向。
传感器模块将当前采集到的一组电压值传递给单片机,进而根据一定得算法对舵机进行控制,使小车自动寻线行走。
单片机模块是智能车的核心部分,主要完成对外围各个模块的管理,实现对外围模块的信号发送,以及对传感器模块的信号采集,并根据软件算法对所采集的信号进行处理,发送信号给执行模块进行任务执行,还对各种突发事件进行监控和处理,保证整个系统的正常运作。
电机驱动采用L293驱动芯片,该芯片支持2路电机驱动同时支持PWM 调速第三章硬件电路的设计3.1 单片机最小系统小车采用STC公司的STC89C52RC单片机作为控制芯片,图3-1是其最小系统电路。
基于STC89C51单片机的多功能智能小车设计
W a ng R ui qi ( Xi ’ a n Ae r o na ut i c a l Un i ve r s i t y,Xi a n 7 1 00 77,Chi na )
Ab s t r a c t :Th i s p a p e r p r e s e n t s t he d e s i g n o f a s ma r t c a r b a s e d o n STC8 9 C5 1 M CU ,whi c h c a n a v o i d o b s t r u c t i o n,t r a c k a n d b e r e mo t e l y c o n t r o l l e d . Th e p h o t o e l e c t r i c s wi t c h c a n d e t e c t b a r r i e r s ,a n d c a r r y o u t i t b y d r i v i n g t h e mo t o r s t e e r i n g .
2 硬 件 设 计 及 电 路
设计 的智 能小 车 由 S T C 8 9 C5 1控制 部 分 、 避 障部 分 、
循迹 部分 、 电源部 分 、 驱动 部分和显 示部 分组 成 , 系 统 框 图
如图 1 所示。
有 一定 的军 用价值 , 能代 替 人类 去 “ 危 险 地 带” 或“ 不 可 接 触 的地方 ” 执行任 务 。前 人研 究设 计的 智能 小 车有 避 障小
Ke y wo r d s :S TC8 9 C5 1;s ma r t c a r ;i n f r a r e d s e n s o r
1 引 言
智 能小 车是一 个集传 感探 测技术 、 智 能 控 制 技 术 和 电 机 拖动 技术 为一体 的机 器人 , 是 目前 电 子 设 计 的 一 个 热 门 话 题 ] 。智能小 车可 用于 探测 、 搜 救和 科研 等领 域 , 甚 至
基于STC89C51单片机智能化小车控制
专业整理基于 STC89C51 单片机智能小车控制项目名称:基于单片机 STC89C51 智能小车控制 小组成员:xx 班级:xx 指导教师:xx 开发结束时间:2011 年 7 月 10 日 星期日WORD 完美格式专业整理目录 1.1 项目概述................................................................. 3 1.2 项目要求................................................................. 3 1.3 系统设计................................................................. 31.3.1 框图设计 ........................................................... 3 1.3.2 知识点 ............................................................. 4 1.4 硬件设计................................................................. 4 1.4.1 电路原理图 ......................................................... 4 1.4.2 原件清单........................................................... 6 1.4.3 L293D 驱动单片机的原理简介 ......................................... 7 1.4.4 STC89C51 单片机管脚图及其功能 ...................................... 7 1.5 软件设计................................................................. 9 1.5.1 程序流程图......................................................... 9 1.5.2 L293D 驱动器管脚赋值表 ............................................ 10 1.5.3 程序清单.......................................................... 10 1.6 软件仿真及硬件调试...................................................... 21 1.6.2 硬件调试.......................................................... 21 1.6.1 软件仿真.......................................................... 22 1.7 总结.................................................................... 23 1.8 文献参考................................................................ 23WORD 完美格式专业整理1.1 项目概述随着单片机技术的不断发展和完善已经大量的运用在工业的控制、数据的采集、智能化 仪表、机电一体化、家用电器等领域,极大地提高了这些领域的技术水平和自动化控制水平。
基于89c51单片机的智能循迹小车毕业设计[管理资料]
采用步进电机,配合LM298驱动芯片组合。步进电机可以实现精确的转脚输出,只要施加合适的脉冲序列,电机可以按照人们的预定的速度或方向进行连续的转动,便于控速,但是软件程序的编写较直流电机稍显复杂。但是LM298芯片的硬件电路比较复杂。
方案三:
采用直流电机配合由双极性管组成的H桥电路。用单片机控制晶体管使之工作在占空比可调的开关状态,精确调整电机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H桥电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也很高,是一种广泛采用的调速技术,其电路原理简图如图2-1所示。
方案二:
采用两只QTI灰度传感器 (),分别置于小车车身前轨道的两侧,根据两只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好两只光电开关的位置就可以很好的实现循迹的功能。(参考文献[3])
方案三:
采用三只红外对管,一只置于轨道中间,两只置于轨道外侧,当小车脱离轨道时,即当置于中间的一只光电开关脱离轨道时,等待外面任一只检测到黑线后,做出相应的转向调整,直到中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶。现场实测表明,小车在寻迹过程中有一定的左右摇摆不定,虽然可以正确的循迹但其成本与稳定性都次与第二种方案。
方案二:
采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。因此,这种方案是一种较为理想的方案。
通过构建智能小车系统,培养设计并实现自动控制系统的能力。在实践过程中,熟悉以单片机为核心控制芯片,设计小车的检测、驱动和显示等外围电路,采用智能控制算法实现小车的智能循迹。灵活应用机电等相关学科的理论知识,联系实际电路设计的具体实现方法,达到理论与实践的统一。在此过程中,加深对控制理论的理解和认识。
基于51单片机四路循迹小车
基于51单片机四路循迹小车[导读]这学期开设的51单片机课程的课程设计即将验收,今天开始正式着手做循迹小车~这学期开设的51单片机课程的课程设计即将验收,今天开始正式着手做循迹小车~一. 任务要求二. 系统原理本系统以设计题目的要求为目的,采用STC89C52单片机为控制核心,利用红外传感器检测轨道,控制电动小汽车的自动循迹,快慢速行驶。
这里的轨道是指汽车沿着白色地板上的黑线行驶。
由于黑线与白地板的反射系数不同,可以根据接收到的反射光的强度来判断“道路”。
常用的方法是红外检测。
红外检测方法,即在汽车行驶过程中,利用红外光在具有不同颜色的物体表面的不同反射特性,不断向地面发射红外光。
当红外光与白纸地板相遇时,会发生漫反射,反射光被安装在车内的接收器接收,如果遇到黑线,就会变成红色。
外部光被吸收,车内的接收器不能接收红外线。
单片机根据是否接收到反射的红外光来确定黑线的位置和汽车的行驶路线。
三. 整体方案1. 控制模块小车的核心控制部件采用STC公司生产的8位单片机STC89C52。
它是一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。
STC89C52有3个16 位定时器/计数器,2个外部中断,1个串口中断。
最小系统51单片机的具体引脚功能不细说,不了解的可自行百度。
直接上最小系统电路图(自己画的,凑合着看)。
顺便说一句,在我看来一个没有指示灯的电路是最烦的电路<(`^´)> 我的复位一定要有灯才行!三部分:①电源电路:给单片机提供5V的电源②时钟电路:外接11.0592M石英晶振。
③复位电路:确保单片机是从一个确定的初始状态开始。
焊接时注意P0口要接上拉电阻,否则不能用,一般都用排阻做上拉电阻(当然如果能自己画板子就更好了)。
去除AD网格线记一下怎么去除AD网格线,如图步骤,最后去掉Visible前面的对勾即可,别忘记最后点OK:2. 电机驱动模块我使用的是最经典的LM298N电机驱动:我太喜欢用298了。
基于51单片机的红外遥控小车设计和制作
基于51单片机的红外遥控小车设计和制作本文介绍一款红外线遥控小车,以AT89S51单片机为核心控制器,用L289驱动直流电机工作,控制小车的运行。
本款小车具有红外线遥控手动驾驶、自动驾驶、寻迹前进等功能。
本系统采用模块化设计,软件用C语言编写。
一、设计任务和要求以AT98C51单片机为核心,制作一款红外遥控小车,小车具有自动驾驶,手动驾驶和循迹前进等功能。
自动驾驶时,前进过程中可以避障。
手动驾驶时,遥控控制小车前进、后退、左转、右转、加速等操作。
寻迹前进时小车还可以按照预先设计好的轨迹前进。
二、系统组成及工作原理本系统由硬件和软件两部分组成。
硬件部分主要完成红外编码信号的发射和接受、障碍物检测、轨迹检测、直流电机运行的发生等功能。
软件主要完成信号的检测和处理、设备的驱动及控制等功能。
AT89S51单片机查询红外信号并解码,查询各个检测部分输入的信号,并进行相应处理,包括电机的正反转,判断是否遇到障碍物,判断是否小车其那金中有出轨等。
系统结构框图如图1所示。
图1 系统结构框图三、主要硬件电路1、遥控发射器电路该电路的主要控制器件为遥控器芯片HT6221,如图2所示。
HT6221将红外码调制成38KHZ的脉冲信号通过红外发射二极管发出红外编码。
图2中D1是红外发射二极管,D2是按键指示灯,当有按键按下时D2点亮。
HT6221的编码规则是:当一个键按下超过36ms,振荡器使芯片激活,如果这个按键按下且延迟大约108ms,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9~18ms),8位数据码(9~18ms)和这8位数据码的反码(9~18ms)组成,如果按键按下超过108ms仍未松开,接下来发射的代码将仅由起始码(9ms)和结束码(2.5ms)组成。
按照上图的接法,K1~K8的数据码分别为:0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07。
基于AT89C51小车寻迹系统的设计
基于AT89C51小车寻迹系统的设计摘要:本次设计就是研究一款能自动跟踪给定路线的寻迹小车,该小车采用带有万向轮的简易三轮车,左右两个轮子各由一个直流电机控制,车后身的万向轮用来配合调整方向。
该设计是以AT89C51单片机作为系统微控制器,寻迹模块采用两组高灵敏度的光电传感器ST168,对路面黑色轨迹进行检测。
传感器输出信号经处理后送AT89C51单片机,单片机通过检测到的不同信号,调用相关程序,从I/O口输出两路脉宽可调的PWM 波,PWM波经过电机驱动芯片L298N,分别用来控制小车上的左右两个电机的转速,从而改变小车的速度和方向,最终自动完成寻迹功能。
测试结果表明,小车能跟踪任何弯道的给定路线。
小车寻迹的过程无需人来操控,通过不断自动调用单片机的相关程序来改变小车方向,是一个自动化的寻迹过程。
关键词:AT89C51单片机;光电传感器;脉冲宽度调制;寻迹The car tracing system designed by AT89C51Abstract: This is the project of the study which is given an automatic tracking following the car tracing line, This Smart car uses a tricycle with an universal wheel supporting the body,the rotation of the left wheel and right wheel are controlled by two Dc motors, The universal wheel in the back is used for adjusting the orientation.This design uses the AT89C51 which used widely in the micro controller of the system, the tracing model adopts two groups of high-performance photoelectric sensors ST168,which is used for tracing. The signal is input to AT89C51 after outputting from the sensor. AT89C51 calls the relevant programs to produce two channels of PWM by the detected signal. The two channels of PWM are used to control the speed of the left and right wheel by the motor drive chip L298N,so that the small tricycle can control the blacktracks forward by changing the direction and speed. The result of determination exhibits that the whole system is of high reliability and practicability, and tracing function, The smart cars can track any corners of the given route.The processes of the car tracing do not need people to control,Through continuous automatic using microcontroller program which called the related to changes the direction of car,this is an automatic tracing process.Keywords: AT89C51SCM ;Photoelectric Sensor ;PWM;tracing目录前言 (1)第1章系统总体设计思路方案 (3)1.1 寻迹小车总体概况 (3)1.1.1 概况 (3)1.1.2 总体结构图 (3)1.2 小车寻迹的原理 (4)1.3 模块方案比较与论证 (5)1.3.1 车体的选择 (5)1.3.2 寻迹传感器方案的设计 (5)1.3.3 控制器模块 (6)1.3.4 电机方案的选择 (6)1.3.5 电机驱动模块选择 (7)1.3.6 小车系统总体设计方案 (7)第2章硬件实现及单元电路设计 (8)2.1 单元电路设计 (8)2.1.1 AT89C51主控芯片介绍 (8)2.1.2 电源电路的设计 (10)2.1.3 红外对管传感器ST168电路的设计 (11)2.1.4 驱动电路L298N的设计 (14)2.2 系统电路 (19)2.2.1 电路原理图 (19)2.2.2 电路工作原理 (20)第3章软件设计 (21)3.1 定时器T0、T1的功能和使用方法 (21)3.2 软件设计思路及流程图 (23)3.3 寻迹小车系统的软件程序 (29)第4章系统的安装与调试 (30)4.1 硬件系统的安装 (30)4.1.1 车体的安装 (30)4.1.2 红外对管传感器ST168的安装 (30)4.1.3 其他电路的安装 (31)4.1.4 硬件实物图 (31)4.2 硬件系统的调试 (31)4.3 硬件与软件的联机调试 (33)参考文献 (35)致谢词 (36)附录 (37)附录1 基于AT89C51小车寻迹系统的设计整机电原理图附录2 基于AT89C51小车寻迹系统的软件程序附录3 寻迹小车实物图附录4 英汉翻译前言在科学技术高度发达的现代社会中,人类已进入瞬息万变的信息时代。
51循迹小车程序实验报告
竭诚为您提供优质文档/双击可除51循迹小车程序实验报告篇一:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用sTc公司的89c52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298n芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
关键词智能小车单片机红外光对管sTc89c52L298n1绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。
在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。
2设计任务与要求采用mcs-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。
3方案设计与方案选择3.1硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。
3.1.1单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。
由于以前自己开发板使用的是ATmeL公司的sTc89c52,所以让然选择这个芯片作为控制核心部件。
sTc89c52是一种低损耗、高性能、cmos八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
其程序和数据存储是分开的。
3.1.2传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。
阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。
方案二:使用光电传感器来采集路面信息。
基于 89C51单片机的智能小车设计
基于89C51单片机的智能小车设计【摘要】本设计是一种基于单片机控制的简易自动寻迹小车系统,包括小车系统构成软硬件设计方法。
寻迹小车采用光电传感器来识别白色路面中央的黑色引导线,利用AT89C51为控制核,通过红外发射和接收管采集信号,并将信号转换为能被单片机识别的数字信号。
单片机控制电机不同的转动状态,实现小车的前进、左转、右转等功能。
整个系统的电路结构简单,可靠性高。
【关键词】单片机;寻迹;光电传感器;智能小车0.引言智能小车在感知效应方面全面模拟人的机器系统,它是人工智能技术的试验场。
智能小车具有识别、推理、学习和规划等智能机制, 可以把感知和智能化结合起来,能在非特定环境下工作,在恶劣条件下探测、救生等方面具有广阔的应用前景。
基于AT89C51单片机的智能循迹小车能沿黑色指引导线前进,通过红外发射接收,自动识别处理。
1.系统结构框图采用与路面颜色有较大差别的黑线作引导线,寻迹小车能够自动检测到黑线,并沿此黑线行驶。
本文设计的寻迹小车采用光电传感器来识别白色路面中央的黑线,判断车轮所在位置,并将检测到的信号进行转换后反馈给单片机,从而为单片机控制机器人的运动提供了信息。
系统结构框图如图1所示。
图1 系统结构框图2.模块选择2.1控制模块使用数字逻辑电路制作,其特点是易于集成、简单方便,但是由于使用的器件较多、连线复杂、功耗大、体积大、线路和焊点较多。
导致电路不稳定,精确度不高。
2.2电动机模块使用继电器对电动机的开光进行控制,通过继电器的开光切换对小车进行调速。
其优点是体积小、工作稳定。
缺点是寿命较短、结构易损坏、响应时间慢。
2.3路面检测模块使用光电探测器对路面进行检测。
其工作原理是基于光电效应。
其优点是灵敏度高、稳定性好、响应速度快、受外界影响比较小、抗干扰性比较强。
3.系统的具体设计方案基本原理:这里的循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。
基于单片机控制的循迹小车设计设计
摘要本循迹小车采用现在较为流行的8位单片机作为系统大脑,以STC89C52单片机为控制核心。
用其控制行进中的小车,以实现其既定的性能指标。
充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势控制简单、方便、快捷。
40脚的DIP封装使它拥有32个完全IO(GPIO-通用输入输出)端口,通过这些端口加以信号输入电路,将各传感器的信号传至单片机分析处理,从而控制L293D电机驱动,控制小车。
利用红外对管检测黑线,通过循迹模块里的红外对管是否寻到黑线产生的电平信号返回到单片机红外对管来实现循迹功能。
单片机根据程序设计的要求做出相应的判断送给电机驱动模块。
让小车来实现前进,左转,右转,停车等基本功能。
集成红外线传感器即光电开关进行避障。
整个系统的电路结构简单,可靠性能高。
根据小车各部分功能,分析硬件电路,并调试电路。
将调试成功的各个模块逐个地融合成整体,再进行软件编程调试,直至完成。
关键词:循迹小车STC89C52单片机红外对管 L293D电机驱动AbstractThis tracking car adopts the now popular 8-bit single chip microcomputer as the system of the brain, with the STC89C52 single-chip microcomputer as the core. To control the traveling car with it, in order to realize the given performance index. Full analysis of our system, the key is to achieve the automatic control cars, but at this point, single-chip microcomputer control will show its advantage is simple, convenient and fast. 40 feet DIP package makes it has 32 completely IO (GPIO - general input/output port, signal input circuit, through these ports will transmit the signals to single chip microcomputer analysis of each sensor to control L293D motor drive and control the car. The use of infrared for detecting tube black line, through infrared tracking module for tube whether find level signal produced by the black thread returns to the SCM infrared tube to realize tracking function. SCM according to the requirement of the program design make the corresponding judgment for motor driver module. Let the car to achieve forward, turn left, turn right, the basic function such as parking. Integrated infrared sensor photoelectric switch for obstacle avoidance. The circuit of the whole system structure is simple, reliable performance is high. According to the function of car parts, analyze the hardware circuit, and debug the circuit. Debugging success of each module individually merged into a whole, and then software programming and debugging, until completion.KEY WORDS: STC89C52 dc motor infrared sensors the pipe tracing cars L293D motor drive目录第一章绪论 (1)第二章方案设计与论证 (2)第一节主控系统 (2)第二节电机驱动模块 (3)第三节循迹模块 (5)第四节避障模块 (6)第五节机械系统和电源模块 (6)第六节电源模块 (6)第三章硬件设计 (8)第一节总体设计 (8)第二节信号检测模块 (11)第四章软件设计 (13)第一节小车运行主程序流程图 (13)第二节电机驱动程序 (14)第三节循迹模块 (15)第五章制作安装与调试 (18)结论 (19)致谢 (20)参考文献 (21)第一章绪论自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
基于51单片机循迹智能小车
小车走翘翘板摘要本次设计的简易智能电动车采用简单的人工智能技术,使用AT89C52作为小车的检测和控制核心。
根据题目设定的行进及具体要求,分别采用红外传感器进行寻迹行驶、黑带采集及变速行驶,采用霍尔元件对小车行驶过程中的速度进行测量,并在终点进行行驶路程的测量,采用直流减速电机对小车实行较精确定位,由LCD显示出各项功能知识。
由数码管进行行驶时间显示,由蜂鸣器及LED构成声光提示电路。
最后,小车的运行过程中的各种自动化过程由单片机通过编程实现。
关键词:AT89C52 红外传感器减速电机光电管霍尔元件一、方案比较1.轨迹探测模块设计与比较方案一:用光敏电阻组成光敏探测器。
光敏电阻的阻值可以跟随周围环境光线的变化而变化。
当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。
因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。
将阻值的变化值经过比较器就可以输出高低电平。
但是这种方案受光照影响很大,不能够稳定的工作。
方案二:红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。
单片机就是通过接收到的高低电平为依据来确定黑线的位置和小车的行走路线。
对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。
经测试,此种方法简单可靠。
经反复对比后,采用方案二。
1、控制电机方案比较方案一:利用步进电机的准确定长步进性能方便的实现调速和方向的偏转,且能准确的测量速度、路程以及时间,简化编程和硬件连接的工作量。
但是步进电机在与机械配合的小车改装上难度极大,非短时间所能完成。
该方案实现较困难。
方案二:用玩具小车上自带的双直流电机,只需对后轮电机进行简单改造,加上一个齿轮减速装置即可,两电机分别负责小汽车的驱动和转向的功能,依据外围红外反射传感器所采集到的信息可以补足直流电机定位不准的缺点,同时红外反射传感器的使用还能实现比较准确的寻迹行驶,用较好的控制算法及特色硬件来提高小车的整体性能,可具有很高的性能/价格比。
基于89c51单片机的智能超声波避障小车
基于89c51单⽚机的智能超声波避障⼩车接⼝实验课程结课论⽂学号、专业:姓名:论⽂题⽬:指导教师:所属学院:成绩评定教师签名桂林电⼦科技⼤学研究⽣院2014年 7 ⽉ 1 ⽇引⾔现今发达的交通在给⼈们带来便捷的同时也带来了许多的交通事故。
发⽣交通事故的因素有很多。
当然,如果我们的汽车能够更加智能,就是说事先能预测并显⽰前⾯障碍物离车的距离,当障碍物距离很近时汽车会⾃动采取⼀些措施避开障碍物,这样就能够在很⼤程度上避免这些事故的发⽣。
第⼀章总体⽅案概述本⼩车使⽤⼀⽚A T89c52 单⽚机作为主控芯⽚;⽤HC-SR04超声波模块来探测前⽅障碍物的距离,⽤单⽚机P3.1⼝送出⼤于10us 的⾼电平,P3.0⽤来检测回波,⽤单⽚机定时中断计算超声波来回经历的时间,这样可以通过距离计算公式求得前⽅障碍物的距离;LCD1602液晶屏⽤来显⽰距离;L298驱动芯⽚⽤来驱动两个直流电机,在单⽚机P1⼝控制L298的IN1,IN2,IN3,IN4的⾼低电平来控制两个直流电机的正反转,并且在P1⼝输出PWM 波,控制车⼦的⾏驶速度;选⽤ISD1760语⾳芯⽚实现语⾳播报功能,主要采⽤独⽴按键⽅式,进⾏语⾳的录放,⽤单⽚机的P2.4⼝控制语⾳的播放。
本系统设计的简易智能⼩车分为⼏个模块:系统控制模块,测距模块,驱动模块,显⽰模块,语⾳播报模块以及电源模块。
以上相关模块的具体描述如下:系统控制模块:单⽚机STC89C52RC; 测距模块:HC-SR04超声波测距;驱动模块:芯⽚L298及其相关逻辑电路;显⽰模块:LCD1602及其外围电路语⾳播报模块:芯⽚ISD1760及其录放⾳电路;电源模块:4节1.5伏的锂电池它们之间的相互关系如下图1所⽰。
单⽚机控制模块液晶显⽰模块直流电机驱动模块超声波测距模块语⾳播报模块图1 智能⼩车简要原理框架图第⼆章硬件电路设计2.1 单⽚机控制模块此模块控制着超声波测距模块、液晶显⽰模块、直流电机驱动模块、语⾳播报模块的⼯作。
基于89C52单片机的智能循迹测速避障小车
基于89C52单片机的智能循迹测速避障小车为了参加我校举办的电子科技竞赛,刚刚开始学习单片机的我们,经过讨论,决定做一辆智能循迹测速小车,综合我们搜集的材料以与自己的修改,我们做出了我们的作品。
以下是我们整理的材料:一、原理图1、最小系统我们采用的是89C52单片机来做小车的最小系统,针对自己的需要只把要用到的排针口接了上去,具体电路图如下:2、电机驱动我们采用L293D作为驱动芯片,L293D是一种直流电机控制器件,具有外围电路简单,易于集成、控制等特点,电路图如下:其中我们用TLP521-4光耦器作为电机的稳定,即稳定的是电机的电压,避免电机的电流过大烧坏单片机,起到保护单片机的作用,增加安全性,减少电路干扰,简化电路设计。
其电路图如下:3、测速电路我们采用RPR220反射式光电传感器作为测速器,反射式红外光电传感器模块是一种利用反射式红外光电传感器制成的在传感器的有效检测距离围对被测物体的存在性进行检测的电路装置,由红外光发射接收器、电压变化检测电路、检测灵敏度调节电位器、检测状态指示 LED 灯等四个主要部分组成,额定工作电压 DC3.3V 或 DC5.5V(兼容支持 DC3V~DC5.5V,而无需额外的硬件配置),DC5V 工作电压条件下,约为 60mA,最大不超过 80 mA。
具体电路图如下:4、探测器我们仍采用RPR220反射式光电传感器作为探测器,基于它受被测物体的红外反射特性影响很大,亦能通过检测灵敏度调节电位器进行调节,我们用它来探测黑线(即路线),实现循迹功能。
事实证明它的灵敏度是很高的,具体电路如下:相应的放大电路我们采用LM339芯片作为放大器,LM339芯片通常用作电压比较器,该电压比较器的特点是:1)失调电压小,典型值为2mV;2)电源电压围宽,单电源为2-36V,双电源电压为±1V-±18V;3)对比较信号源的阻限制较宽;4)共模围很大,为0~(Ucc-1.5V)Vo;5)差动输入电压围较大,大到可以等于电源电压;6)输出端电位可灵活方便地选用。
红外自动循迹小车讲解
目录目录 0摘要: (1)1.任务及要求 (2)1.1任务 (2)2.系统设计方案 (2)2.1小车循迹原理 (2)2.2控制系统总体设计 (2)3.系统方案 (3)3.1 寻迹传感器模块 (3)3.1.1红外传感器ST188简介 (3)3.1.2比较器LM324简介 (4)3.1.3具体电路 (4)3.1.4传感器安装 (5)3.2控制器模块 (6)3.3电源模块 (6)3.4电机及驱动模块 (7)3.4.1电机 (7)3.4.2驱动 (8)3.5自动循迹小车总体设计 (9)3.5.1总体电路图 (9)3.5.2系统总体说明 (11)4.软件设计 (11)4.1 PWM控制 (11)4.2 总体软件流程图 (12)4.3小车循迹流程图 (12)4.4中断程序流程图 (13)4.5单片机测序 (14)5.参考资料 (17)自动循迹小车摘要:本设计是一种基于单片机控制的简易自动寻迹小车系统,包括小车系统构成软硬件设计方法。
小车以AT89C51 为控制核心, 用单片机产生PWM波,控制小车速度。
利用红外光电传感器对路面黑色轨迹进行检测,并将路面检测信号反馈给单片机。
单片机对采集到的信号予以分析判断,及时控制驱动电机以调整小车转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的。
关键词:单片机AT89C51 光电传感器直流电机自动循迹小车Abstract :This design is a Simple Design of a smart auto-tracking vehicle which based on MSC control.The construction of the car ,and methods of hardware and software design are included. The car use AT89C51 as heart of centrol in this system. Then using PWM waves Produced by MCU to control car speed. By using infraraed sensor to detect the information of black track. The smart vehicle acquires the information and sends t hem to the MSC.Then the MSC analyzes the signals and controls the movements of t he motors. Which make the smart vehicle move along the given black line antomaticly.Keywords :infrared sensor ;MSC ;auto-tracking1.任务及要求1.1任务设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑色车轨迹行驶。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自循迹小车第一章引言1.1 设计目的通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。
进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。
1.2 设计方案介绍该智能车采用红外对管方案进行道路检测,单片机根据采集到的红外对管的不同状态判断小车当前状态,通过pid控制发出控制命令,控电机的工作状态以实现对小车姿态的控制。
1.3 技术报告内容安排本技术报告主要分为三个部分。
第一部分是对整个系统实现方法的一个概要说明,主要内容是对整个技术方案的概述;第二部分是对硬件电路设计的说明,主要介绍系统传感器的设计及其他硬件电路的设计原理等;第三部分是对系统软件设计部分的说明,主要内容是智能模型车设计中主要用到的控制理论、算法说明及代码设计介绍等。
第二章技术方案概要说明本模型车的电路系统包括电源管理模块、单片机模块、传感器模块、电机驱动模块.在整个系统中,由电源管理模块实现对其他各模块的电源管理。
其中,对单片机、光电管提供5V电压,对电机提供6V电压路径识别电路由3对光电发送与接收管组成。
由于路面存在黑色引导线,落在黑线区域内的光电接收管接收到反射的光线的强度与白色的路面不同,进而在光电接收管两端产生不同的电压值,由此判断路线的走向。
传感器模块将当前采集到的一组电压值传递给单片机,进而根据一定得算法对舵机进行控制,使小车自动寻线行走。
单片机模块是智能车的核心部分,主要完成对外围各个模块的管理,实现对外围模块的信号发送,以及对传感器模块的信号采集,并根据软件算法对所采集的信号进行处理,发送信号给执行模块进行任务执行,还对各种突发事件进行监控和处理,保证整个系统的正常运作。
电机驱动采用L293驱动芯片,该芯片支持2路电机驱动同时支持PWM 调速第三章硬件电路的设计3.1 单片机最小系统小车采用STC公司的STC89C52RC单片机作为控制芯片,图3-1是其最小系统电路。
主要包括:时钟电路、电源电路、复位电路。
其中各个部分的功能如下:1、时钟电路:给单片机提供一个外接的12MHz的石英晶振。
2、电源电路:给单片机提供5V电源。
3、复位电路:在电压达到正常值时给单片机一个复位信号。
图3-1 单片机最小系统原理图3.2 传感器电路光电寻线方案一般由多对红外收发管组成,通过检测接收到的反射光强,判断黑白线。
原理图由红外对管和电压比较器两部分组成,红外对管输出的模拟电压通过电压比较器转换成数字电平输出到单片机。
芯片使用LM339具有4路电压比较器3-2赛道检测原理图3.3 电机驱动采用L293驱动芯片,该芯片支持2路电机驱动同时支持PWM调速L293驱动3.3 电源电路设计模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。
在本设计中,51单片机使用5V电源,电机使用6V电源。
考虑到电源为充电电池组,额定电压为7.2V,实际充满电后电压则为6.5-6.8V,所以单片机及传感器模块采用LM1117-5稳压后的5V电源供电,电机直接由电池供电。
***********************************程序说明:本附录:源程序主代码****************************************/ #include "reg52.h"#define uint unsigned int#define uchar unsigned charsbit K1=P2^0;sbit K2=P2^1;sbit K3=P2^2;sbit K4=P2^3;sbit LED1=P1^0;sbit LED2=P1^1;sbit LED3=P1^2;sbit LED4=P1^3;sbit PWM1=P3^2;sbit PWM2=P3^3;uchar PWM1_Cycle=0,PWM2_Cycle=0;//PWM占空比void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void PWM_Init(){TMOD = 0x11 ;TH0=(65535-100)/256;//定时5usTL0=(65535-100)%256;TH1=(65535-100)/256;//定时10usTL1=(65535-100)%256;ET0=1;ET1=1;TR0=1;TR1=0;EA=1;//开中断}/******************************************************************** ***函数功能:小车前进*时间:2013、3、29********************************************************************* */void Advance(){P0=0x50;}/******************************************************************** ***函数功能:小车后退*时间:2013、3、29********************************************************************* */void Retreat(){P0=0xa0;}/******************************************************************** ***函数功能:小车左转*时间:2013、3、29********************************************************************* */void Turn_left1(){P0=0x10;delay(500);P0=0;}/***********************************************************************函数功能:小车右转*时间:2013、3、29********************************************************************* */void Turn_right1(){P0=0x40;delay(500);P0=0;}void main(){PWM_Init();PWM1_Cycle=30;//初始速度,可改变其大小是速度使变化while(1){if(K1==1){Turn_right1();}else if(K2==1){Advance();}else if(K4==1){Turn_left1();}elseAdvance();}}/******************************************************************** ******函数功能:产生占空比可调的PWM波*参数:PWM1_Cycle********************************************************************* *****/void PWM1_Produce() interrupt 1static unsigned int t1 ; //tt用来保存当前时间在一秒中的比例位置t1++;TH0=(65535-100)/256;//定时100usTL0=(65535-100)%256;if(t1==100){t1=0;PWM1=1;}if(PWM1_Cycle==t1){PWM1=0;}}/******************************************************************** ******函数功能:产生占空比可调的PWM波*参数:PWM1_Cycle********************************************************************* *****/void PWM2_Produce() interrupt 3{static unsigned int t2 ; //tt用来保存当前时间在一秒中的比例位置t2++;TH1=(65535-100)/256;//定时100usTL1=(65535-100)%256;if(t2==100){t2=0;PWM2=1;}if(PWM2_Cycle==t2){PWM2=0;}}元件清单附录:源程序主代码#include <reg52.h>#include <intrins.h>#include <math.h>#define uchar unsigned char#define uint unsigned int#define MIDDLE 1390//舵机中心位置#define LEFT 1600#define RIGHT 1000#define T 20000#define HIGH 7300 //电机基准速度sbit rudder=P1^0; //定义舵机PWM波输出端口为P1.0口sbit pulse=P1^1; //定义后轮PWM波输出端口为P1.1口char flag1=0,flag2=0; //定义全局变量(flag1用于控制舵机//PWM标志位,flag2用于控制电机PWM)uint b=0,a=0; //b用来装载电机所需的高电平时间,a用于保存电机所需高电平时间void main(){uchar receive,ek[4]={7,7,7,7};uint pidr=0;uint pidlr=0;uint ppid=0;IE=0x8a;TMOD=0x11;TH0=0x00;TL0=0x00;TR0=1;TH1=0x00;TL1=0x00;TR1=1;while(1){ receive=P2; //采集光电传感器的值/*--------------switch----------------*/switch(receive) //根据采集到的值进行判断{case 0x7f:ek[3]=0;break; //0111 1111 最左边(或右边)1个光电传感器检测到黑线case 0x3f:ek[3]=1;break; //0011 1111 最左边(或右边)2个光电传感器检测到黑线case 0xbf:ek[3]=2;break; //1011 1111 依次类推case 0x9f:ek[3]=3;break; //1001 1111case 0xdf:ek[3]=4;break; //1101 1111case 0xcf:ek[3]=5;break; //1100 1111case 0xef:ek[3]=6;break; //1110 1111case 0xe7:ek[3]=7;break; //1110 0111case 0xf7:ek[3]=8;break; //1111 0111case 0xf3:ek[3]=9;break; //1111 0011case 0xfb:ek[3]=10;break; //1111 1011case 0xf9:ek[3]=11;break; //1111 1001case 0xfd:ek[3]=12;break; //1111 1101case 0xfc:ek[3]=13;break; //1111 1100case 0xfe:ek[3]=14;break; //1111 1110default: ek[3]=15;break; //1111 1111 没有检测到黑线(是需要保持上一次测量值的)}/*--------------switch----------------*/if(ek[3]= =15){pidr = pidlr;}else{pidr=0.2*pidlr+0.8*(23*(ek[3]-7)+2*(ek[3]+ek[2]+ek[1]+ek[0]-28)+7*(ek[3]-ek[2]));if(ek[2]!=ek[3])ppid=-160*(cabs(ek[3]-7))+220*(cabs(ek[1]-7)-cabs(ek[3]-7));}a=HIGH+ppid; //a是电机高电平时间b=pidr+MIDDLE; //b就是舵机PWM波高电平时间if(b>LEFT)b=LEFT;if(b<RIGHT)b=RIGHT;{char i;for(i=0;i<3;i++)ek[i]=ek[i+1];}pidlr=pidr;}}void zhongduan_t0(void) interrupt 1 //产生舵机PWM波中断子程序(T0中断){if(flag1==0){TH0=(uchar)((65536-b)/256);TL0=(uchar)((65536-b)%256);flag1=1;rudder=1;}else{TH0=(uchar)((38869+b)/256);TL0=(uchar)((38869+b)%256);flag1=0;rudder=0;}}void zhongduan_t1(void) interrupt 3{if(flag2==0){TH1=(uchar)((65536-HIGH)/256);TL1=(uchar)((65536-HIGH)%256);flag2=1;pulse=0;}else{TH1=(65536-T+HIGH)/256;TL1=(65536-T+HIGH)%256;flag2=0;pulse=1;}}。