文档库 最新最全的文档下载
当前位置:文档库 › 基于STC89C52单片机-红外智能循迹小车 (1)

基于STC89C52单片机-红外智能循迹小车 (1)

基于STC89C52单片机-红外智能循迹小车 (1)
基于STC89C52单片机-红外智能循迹小车 (1)

基于STC89C52单片机红外智能循迹小车

实验报告册

学院:电气工程学院

协会:电子科技协会

班级:电气1206 班

姓名:蔡申申

学号:201223910625

联系方式:151 **** ****

摘要

本报告论述了自己参加第八届河南工业大学科技创新大赛——基于STC89C52RC单片机红外智能循迹小车的方案论证、制作过程、调试过程。设计采用STC89C52RC单片机为核心控制器件,采用TCRT5000红外反射式开关传感器作为小车的循迹模块来识别白色路面中央的黑色引导线,采集信号并将信号转换为能被单片机识别的数字信号,单片机获取路面信息后,进行分析、处理,最后控制减速电机转动实现转向。实验表明:该系统抗干扰能力强、电路结构简单、制作成本低,运行平稳、可靠性好。

关键词:STC89C52单片机、反射式光电对管、PWM调速

减速电机

目录

摘要 (2)

1 绪论 (4)

1.1 智能循迹小车概述 (4)

1.1.1 循迹小车的发展历程回顾 (4)

1.1.2 智能循迹分类 (4)

1.1.3 智能循迹小车的应用 (5)

2 智能循迹小车总体设计方案 (5)

2.1 整体设计方案 (5)

2.1.1 系统设计步骤 (5)

2.1.2 系统基本组成 (5)

2.2 整体控制方案确定 (6)

3 系统的硬件设计 (6)

3.1 单片机电路的设计 (6)

3.1.1 单片机的功能特性描述 (6)

3.1.2 晶振电路 (7)

3.1.3 复位电路 (7)

3.2 光电传感器模块 (8)

3.2.1 传感器分布 (8)

3.3 电机驱动电路 (9)

3.3.1 L298N引脚结构 (9)

3.3.2 电机驱动原理 (9)

4 系统的软件设计 (10)

4.1 软件设计的流程 (10)

4.2 本系统的编译器 (10)

5 系统的总体调试 (11)

5.1 硬件的测试 (11)

5.2 系统的软件调试 (11)

结论 (11)

致谢 (11)

参考文献 (12)

附录A 原理图与模块电路图 (12)

附录B 程序代码 (13)

附录C 硬件实物图 (15)

1 绪论

智能汽车作为一种智能化的交通工具,体现了车辆工程、人工智能、自动控制、计算机等多个学科领域理论技术的交叉和综合,是未来汽车发展的趋势。寻迹小车可以看作是缩小化的智能汽车,它实现的基本功能是沿着指定轨道自动寻迹行驶。

1.1 智能循迹小车概述

智能循迹小车又被称为Automated Guided Vehicle,简称AGV,是二十世纪五十年代研发出来的新型智能搬运机器人。智能循迹小车是指装备如电磁,光学或其他自动导引装置,可以沿设定的引导路径行驶,安全的运输车。工业应用中采用充电蓄电池为主要的动力来源,可通过电脑程序来控制其选择运动轨迹以及其它动作,也可把电磁轨道黏贴在地板上来确定其行进路线,无人搬运车通过电磁轨道所带来的讯息进行移动与动作,无需驾驶员操作,将货物或物料自动从起始点运送到目的地。

1.1.1 循迹小车的发展历程回顾

随着社会的不断发展,科学技术水平的不断提高,人们希望创造出一种来代替人来做一些非常危险,或者要求精度很高等其他事情的工具,于是就诞生了机器人这门学科。世界上诞生第一台机器人诞生于1959年,至今已有50多年的历史,机器人技术也取得了飞速的发展和进步,现已发展成一门包含:机械、电子、计算机、自动控制、信号处理,传感器等多学科为一体的性尖端技术。

循迹小车共历了三代技术创新变革:

第一代循迹小车是可编程的示教再现型,不装载任何传感器,只是采用简单的开关控制,通过编程来设置循迹小车的路径与运动参数,在工作过程中,不能根据环境的变化而改变自身的运动轨迹。

第二代循迹小车具有一定感知和适应环境的能力,这类循迹小车装有简单的传感器,可以感觉到自身的的运动位置,速度等其他物理量,电路是一个闭环反馈的控制系统,能适应一定的外部环境变化。

第三代循迹小车是智能的,目前在研究和发展阶段,以多种外部传感器构成感官系统,通过采集外部的环境信息,精确地描述外部环境的变化。智能循迹小车,能独立完成任务,有其自身的知识基础,多信息处理系统,在结构化或半结构化的工作环境中,根据环境变化作出决策,有一定的适应能力,自我学习能力和自我组织的能力。为了让循迹小车能独立工作,一方面应具有较高的智慧和更广泛的应用,研究各种新机传感器,另一方面,也掌握多个多类传感器信息融合的技术,这样循迹小车可以更准确,更全面的获得所处环境的信息。

1.1.2 智能循迹分类

智能循迹小车从发明至今已经有50多年的历史,随着应用领域范围的不断扩大,其种类和形式也变得更加多样化。

根据行驶的导航方式将智能循迹小车分为以下几种类型:

(1)电磁感应式(2)激光式(3)视觉式

1.1.3 智能循迹小车的应用

智能循迹小车发展历史及主要应用场所如下:

(1)军事侦察与环境探测(2)探测危险与排除险情

(3) 探测危险与排除险情(4)智能家居

2 智能循迹小车总体设计方案

2.1 整体设计方案

本系统采用简单明了的设计方案。通过高发射功率红外光电二极管和高灵敏度光电晶体管组成的传感器循迹模块判断黑线路经,然后由STC89C52通过IO口控制L298N驱动模块改变两个直流电机的工作状态,最后实现小车循迹。

2.1.1 系统设计步骤

(1)确定控制方案。

(2)利用Protel 99se设计合理的硬件原理图。

(3)画出程序流程图,使用C语言进行编程,进行模拟调试。

(4)各模块电路焊接。

(5)进行调试以实现控制功能。

2.1.2 系统基本组成

智能循迹小车主要由STC89C52单片机电路、TCRT5000循迹模块、L298N驱动模块、直流电机、小车底板、电源模块等组成。

(1)单片机电路:采用STC89C52芯片作为控制单元。STC89C52单片机具有低成本、高性能、抗干扰能力强、超低功耗、低电磁干扰,并且与传统的8051单片机程序兼容,无需改变硬件,支持在系统编程技术。使用ISP可不用编程器直接在PCB板上烧录程序,修改、调速都很方便。

(2)TCRT5000循迹模块:采用脉冲调制反射式红外发射接收器作为循迹传感器,调制信号带有交流分量,可减少外界的大量干扰。信号采集部分就相当于智能循迹小车的眼睛,由它完成黑线识别并生产高、低平信号传送到控制单元,然后单片机生成指令来控制驱动模块来控制两个直流电机的工作状态,来完成自动循迹。JY043W型光电管和电压比较器LM393为核心部分,再加上必要的外围电路。

(3)L298N驱动模块:采用L298N作为电机驱动芯片。L298N具有高电压、大电流、响应频率高的全桥驱动芯片,一片L298N可以分别控制两个直流电机,并且带有控制使能端。该电机驱动芯片驱动能力强、操作方便,稳定性好,性能优良。L298N的使能端可以外接电平控制,也可以利用单片机进行软件控制,满足各种复杂电路的需要。另外,L298N的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够的问题。

(4)直流电机:采用双直流电动机。直流电动机的控制方法比异步电动机简单,只需给电机两条控制线加上适当的电压就能使电机旋转,在正常工作电压范围,电压越高直流电机转速越高。直流电动机调速方法分为两种:一种是直接调整电压,另一种通过PWM调速。PWM调速就是使加在直流电机两端的电压波形为矩形波,改变矩形波的占空比就能实现电压的改变,从而实现电机转速的改变。

(5)电源模块:由6个串联1.5V干电池作为电源。通过7805稳压芯片稳压,通过0.1uF和100μF电容进行滤波。

2.2 整体控制方案确定

图2.2为循迹小车的系统控制框图。引导线是小车跟踪的目标,检测系统检测车的相对路径,然后将此信息输入到单片机,单片机处理此信息后,将控制命令输出到驱动模块,以控制小车的直流

电机,保证小车快速平稳地沿预先设定好的路线行驶。

采用5V的可充电池组作为主电源。STC89C52单片机作为主控制器。因为小车电机内部装有减速齿轮组,所以不需考虑调速功能,采用电机驱动芯片L298N控制直流电机,而不使用步进电机。L298N 是利用TTL电平进行控制,通过改变芯片控制端的输入电平,即可以对电机进行正转、反转和停止操作,亦能满足直流减速电机的要求,用该芯片作为电机驱动具有的操作方便、稳定性好等优点。用光敏电阻组成光敏探测器。光敏电阻的阻值可以跟随周围环境光线的变化而变化。当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。这样单片机和循迹传感器组成了一个带有反馈信号的系统。

3 系统的硬件设计

3.1 单片机电路的设计

一个单片机应用系统的硬件电路设计包含两部分内容:一是系统扩展,即单片机内部的功能单元,如ROM、RAM、I/O、定时器/计数器、中断系统等不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路;二是系统的配置,即按照系统功能要求配置外围设备,如键盘、显示器、A/D、D/A转换器等。

3.1.1 单片机的功能特性描述

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜。单片机内部也有和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件。

单片机是一种集成电路芯片,采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

本课题选择了STC公司的生产的STC89C52单片机。STC89C52是一种低功耗、高性能CMOS8位微控制器,是带8K字节闪烁可编程可檫除只读存储器。一个芯片上拥有8位CPU,并且在系统可编程Flash。STC89C52提供给为众多嵌入式控制应用系统高灵活、超有效的解决方案。STC89C52具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,两个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。此外,空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

3.1.2 晶振电路

在STC89C52单片机上内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。在1和XTAL2引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。从XTAL1接入,如图3.2所示。由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有要求。

本设计选用的是11.0592MHZ无源晶振、2个22pF电容。晶振的作用是为系统提供基本的时钟信号,而两个电容则是起到并联谐振的作用,如果没电容,振荡电路会因为没有回路而停振,电路不能正常工作。

图3.2 单片机晶振电路图

3.1.3 复位电路

复位电路的作用是在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。施密特触发电路是一种波形整形电路,当任何波形的信号进入电路时,输出在正、负饱和之间跳动,产生方波或脉波输出。不同于比较器,施密特触发电路有两个临界电压且形成一个滞后区,可以防止在滞后范围内之噪声干扰电路的正常工作。如遥控接收线路,传感器输入电路都会用到它整形。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。

本设计采用的电容值为10μF的电容和电阻采用1.5KΩ和200Ω的电阻。如图3.3所示上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST 持续一段时间的高电平,从而实现上电且开关复位的操作。

图3.3 单片机复位电路图

3.2 光电传感器模块

循迹光电传感器原理,就是利用黑线对红外线不同的反射能力通过光敏二极管或光敏三极管,接收反射回的不同光强信号,把不同光强转换为电流信号,最后通过电阻,转换为单片机可识别的

高低电平。光电传感器实现循迹的基本电路如3.4所示。

图3.4 循迹传感器电路图

循迹传感器工作原理:TC端是传感器工作控制端,为高电平时,发光二极管不工作,传感器休眠,为低电平时,传感器启动。Signal端为检测信号输出,当遇到黑线,黑线吸收大量的红外线,反射的红外线很弱,光敏三极管不导通,Signal输出高电平;当遇到白线,与黑线相反,反射的红外线很强,使光敏三极管导通,Signal输出低电平。

这种探测方法,即利用红外线在不同颜色的表面特征,具有不同的反射性能,汽车行驶过程中接收地面的红外光。当红外光遇到白色路线,地板发生漫反射,安装在小型车的反射光接收器接收;如果是遇到黑色路线,红外光将被黑线吸收,安装在小车上的接收管没有收到红外光。控制器会根据是否收到反射的红外光为判断依据来确定的黑线的位置和小车的路线。红外探测器距离通常是不应超过15厘米的。红外发射和接收红外线感应器,可以使自己或直接使用集成红外探头。调整左右传感器之间的距离,两探头距离约等于黑线宽度最合适,选择宽度为3 –5厘米的黑线。该传感器的灵敏度是可调的,传感器有时遇到黑线却不能送出相应的信号,通过调节传感器上的可调电阻,适当的增大或减小可改变灵敏度。另外,循迹传感器的放置也是有讲究的,有两种方法,一种是两个都是放置在黑线内侧紧贴黑线边缘,第二种是都放置在黑线的外侧,同样紧贴黑线边缘。本设计采用第二种方法。

单片机烧录程序后,就可以执行循迹指令了。如果小车向前行驶时向左偏离了黑线,那么右边传感器会产生一个高电平,单片机判断这个信号,然后向右拐回到黑线。两传感器输出信号为低电平时,小车前进。如果小车向右偏离黑线,左边传感器产生一个高电平,单片机判断这个信号,然后向左拐。这样,小车一定不会偏离黑线。若两个光电传感器同时输出的信号为高电平,即单片机判断的都为高电平时,小车向前直走。

3.2.1 传感器分布

一字型布局即所有传感器在同一直线上。一字型布局分为等距排布型和非等距排布型。等距排布型不利于采集准确的弯道信息。考虑到弧度信息采集的连贯性,非等距排布采用等角原则,即在垂直平分线上方处某点,以等角的引射线与直线的交点就是传感器的分布点,此种方法检测连贯简单,更容易控制小车。

3.3 电机驱动电路

本设计采用L298N电机专用驱动芯片带动两个12V的直流电动机。

直流电机由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器等组成。

其中L298N是ST公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部包含4通道逻辑驱动电路。可以驱动两个直流电机或驱动两个二相电机,也可单独驱动一个四相电机,输出电压最高可达50V。直接通过电源来调节输出电压,直接通过单片机的IO端口提供信号,使得电路简单,使用更方便。L298N可接受标准的TTL逻辑电平信号VSS,VSS通常接4.5~7V的电压。4脚VS接电压源,VS可接电压范围VIH为2.5~46V。L298N芯片输出电流可达2.5 A,可驱动电感负载。

L298N是一个内部有两个H桥的高电压大电流全桥式驱动芯片,可以用来驱动直流电动机、步进电动机。使用标准逻辑电平信号控制,直接连接单片机管脚,具有两个使能控制端,使能端在不受输入信号影响的情况下不允许器件工作。L298N有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作。

3.3.1 L298N引脚结构

图3.5 L298N 驱动芯片

表3.3 L298N引脚编号与功能

3.3.2 电机驱动原理

电路的形状很像字母H。四个三极管就是H桥的四条垂直线,而电机就是H中的横线。

图3.6 L298N内部H桥驱动电路

图3.6为一个典型的直流电机的控制电路。被命名为“H桥驱动电路”主要是因为电路的形状很像字母H。四个三极管就是H桥的四条垂直线,而电机就是H中的横线。

如图所示,H桥电机驱动电路包含四个三极管和一个电机。电机运转,必须遵循导通对角线上的一对三极管。基于不同三极管对的导通情况可以控制电机的转向,电流可可以从左至右流过电机,也可以从右至左流过电机。

如图3.6所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右流过电机,然后再经Q4回到电源负极,该流向的电流将驱动电机顺时针转动。

4 系统的软件设计

4.1 软件设计的流程

本设计采用C语言来编译程序。模块化结构程序的设计,可以使系统软件便于调试与优化,也使其他人更好地理解和阅读系统的程序设计。因此,软件的设计上,运用了模块化程序的结构对软件进行设计,使得程序变得更加直观易懂。程序的主要模块有:主程序、定时溢出中断服务程序、外部中断服务程序。

Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

4.2 本系统的编译器

Keil C51单片机软件开发系统可用于编辑C或汇编源文件。然后分别由C51编译器编译生成目标文件(.OBJ)。目标文件与库文件一起经LIB51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM 中。

5 系统的总体调试

5.1 硬件的测试

按照之前设计好的智能循迹小车原理图,详细计算系统中各个元件的参数,选择相应器件,制作实际电路板。然后选取万用表的200欧姆档来测试电路板。用红、黑表笔来测试电路板上每条走线,如果测量的电阻值非常小时,证明走线没有断开,当其电阻值很大时,证明该条走线断了,应该重新制作走线,使电路板在电气上得到正确地连接。

(1)晶振电路的测试

在单片机正常运行的必要条件是单片机系统的时钟稳定正常。实际中,因为各种原因导致系统时钟不正常而出现系统无法正常运行的情况时有,因此系统时钟是否振是通电检查的首要环节。在系统通电的状况下,用万用表的直流电压档(20V),分别测量XTAL1和XTAL2引脚的电压,看是否正常,在调试过程中,测得电压XTAL1引脚应为2.05V,XTAT2应为2.15V。

(2)复位电路的测试

复位不正常也会导致系统不能工作。如果复位引脚始终为高电平,系统将始终处于复位状态;如果始终为低电平,不能产生复位所需的高电平信号脉冲,则系统也可能无法正常工作。单片机正常工作时,RST复位引脚应为0V,按下复位按键时,复位引脚为高电平5V左右[11]。

结论

本课题研究的内容主要是智能小车的循迹系统。以实验组装小车为基础,使用了4个光电传感器来探测周围环境,同时对采集到的数据信息进行融合。取得了以下成果:(1)小车可以实现按照预定轨道在无外部环境影响或改变时,小车将一直沿着黑色标记线运动。(2)小车保留了扩展功能。循迹小车在完成设计预想的前提下,主要考虑了车体结构设计的简单化,降低了制作成本,使之更具有普及性。由于设计要求并不复杂,没有在电路中增加冗余的功能,但是保留了各种硬件接口和软件子程序接口,方便以后的扩展和进一步的开发。

致谢

在此次参加第八届河南工业大学科技创新大赛学习到了很多知识,感谢学长对我知识上的辅导,同时感谢协会其他参赛人员,让我有了机会与这么多电子爱好者互相学习。

题目的选定、电路的设计得到了学长好多的引导和支持,同时电子科技协会实验室的开放让我的电路焊接、调试都得到了很多方便。在C语言编程方面更是有了同学的支持才使我顺利完成本次小车的设计制作。

祝:电子科技协会明天更美好!

所有心怀“电气梦”人明天更美好!

参考文献

[1] 郭天祥.51单片机C语言教程.电子工业出版社.2009

[2] 蔡自兴编著.中国的智能循迹小车研究[J].莆田学院学报,2002,9 (3):36-39.

[3] 恒盛杰资讯编著.Protel电路板设计从入门到精通. 第1版. 中国青年出版

社.2006:1-148

[4] 陈晓莉,张俊涛.KEIL C51单片机仿真器的设计. 第二版. 陕西科技大学出版社,

[5] 周润景.等Proteus在MCS-51&ARM7系统中的应用百例.2006

[6] 周伟伟BF-1餐饮服务机器人实验报告册

附录A:电路图与模块实物

附录B:程序

//河南工业大学电子科技协会//第八届电子创新大赛

//电气1206班蔡申申

//基于89C52智能红外循迹小车

#include

#define uint unsigned int

#define uchar unsigned char /******硬件连接定义******/

sbit ma0=P2^2;//电机A控制sbit ma1=P2^3;//电机A控制1 sbit ma2=P2^4;//电机A控制2

sbit mb0=P2^5;//电机B控制sbit mb1=P2^6;//电机B控制1 sbit mb2=P2^7;//电机B控制2

sbit hw1=P3^0;//红外传感1 sbit hw2=P3^1;//红外传感2

uchar circs;

void go_ma()//电机A前进{

ma0=1;

ma1=1;

ma2=0;

}

void stop_ma()//电机A停止{

ma0=1;

ma1=0;

ma2=0;

}

void go_mb() //电机B前进{

mb0=1;

mb1=1;

mb2=0;

}

void stop_mb()//电机B停止{

mb0=1;

mb1=0;

mb2=0;

}

void advance() //前进{

go_ma();

go_mb();

}

void left_turn() //左转{

stop_ma();

go_mb();

}

void right_turn() //右转

{

go_ma();

stop_mb();

} void stop() //停止

{

stop_ma();

stop_mb();

}

delay(int x)//延时函数

{

uint i,j;

for(i=x;i>0;i--)

for(j=110;j>0;j--);

}

/******外检测函数******/ void hw_scan()//红外检测

{

if(hw1==0&&hw2==0)//直线circs=1;

if(hw1==1&&hw2==0)//偏左circs=2;

if(hw1==0&&hw2==1)//偏右circs=3;

if(hw1==1&&hw2==1)//压线circs=4;

}

/******小车动函数******/ void drive()

{

if(circs==1)//前进

{

delay(20);

if(circs==1)

advance();

delay(20);

}

if(circs==2)//左转

{

delay(20);

if(circs==2)

left_turn();

delay(20);

}

if(circs==3)//右转

{

delay(20);

if(circs==3)

right_turn();

delay(20); }

if(circs==4)//停止{

delay(20);

if(circs==4)

stop();

delay(20); } }

void main()//主函数

{

while(1)

{

hw_scan();//传感器检测

drive();//小车驱动

}

}

附录C :实物图

驱动模块 循迹模块

红外发射接收管

小车实物图

智能循迹小车程序

#include #define uchar unsigned char #define uint unsigned int //D0-D7:f,b,a,e,d,h,c,g 共阴依次编码 //74LS04反相器驱动数码管 uchar code table[10] = {0x5F,0x42,0x9E,0xD6,0xC3,0xD5,0xDD,0x46,0xDF,0xD7}; uchar i = 0; //用于0-3数码管轮流显示 uint j = 0; //计时的次数 uint time=0; //计时 uint pwm=16; //占空比 uint speed; //调制PWM波的当前的值 sbit R=P3^2; //右边传感器P3^2 sbit L=P3^3; //左边传感器P3^3 //电机驱动口定义 sbit E NB=P1^0; //前轮电机停止控制使能 sbit E NA=P1^1; //后轮控制调速控制端口 sbit I N1=P1^2; //前轮 sbit I N2=P1^3; //前轮 sbit I N3=P1^4; //后轮 sbit I N4=P1^5; //后轮 void Init() { TMOD = 0x12; //定时器0用方式2,定时器1用方式1 TH0=(256-200)/256; //pwm TL0=(256-200)/256; TH1 = 0x0F8; //定时2ms TL1 = 0x30; EA = 1; ET0 = 1; ET1 = 1; TR0 = 1; TR1 = 1; } void tim0(void) interrupt 1 //产生PWM { speed ++; if(speed <= pwm) //pwm 就相当于占100的比例 { ENA = 1; } else if(speed < 100) { ENA = 0; }

基于STC89C52单片机-红外智能循迹小车 (1)

基于STC89C52单片机红外智能循迹小车 实验报告册 学院:电气工程学院 协会:电子科技协会 班级:电气1206 班 姓名:蔡申申 学号:201223910625 联系方式:151 **** ****

摘要 本报告论述了自己参加第八届河南工业大学科技创新大赛——基于STC89C52RC单片机红外智能循迹小车的方案论证、制作过程、调试过程。设计采用STC89C52RC单片机为核心控制器件,采用TCRT5000红外反射式开关传感器作为小车的循迹模块来识别白色路面中央的黑色引导线,采集信号并将信号转换为能被单片机识别的数字信号,单片机获取路面信息后,进行分析、处理,最后控制减速电机转动实现转向。实验表明:该系统抗干扰能力强、电路结构简单、制作成本低,运行平稳、可靠性好。 关键词:STC89C52单片机、反射式光电对管、PWM调速 减速电机

目录 摘要 (2) 1 绪论 (4) 1.1 智能循迹小车概述 (4) 1.1.1 循迹小车的发展历程回顾 (4) 1.1.2 智能循迹分类 (4) 1.1.3 智能循迹小车的应用 (5) 2 智能循迹小车总体设计方案 (5) 2.1 整体设计方案 (5) 2.1.1 系统设计步骤 (5) 2.1.2 系统基本组成 (5) 2.2 整体控制方案确定 (6) 3 系统的硬件设计 (6) 3.1 单片机电路的设计 (6) 3.1.1 单片机的功能特性描述 (6) 3.1.2 晶振电路 (7) 3.1.3 复位电路 (7) 3.2 光电传感器模块 (8) 3.2.1 传感器分布 (8) 3.3 电机驱动电路 (9) 3.3.1 L298N引脚结构 (9) 3.3.2 电机驱动原理 (9) 4 系统的软件设计 (10) 4.1 软件设计的流程 (10) 4.2 本系统的编译器 (10) 5 系统的总体调试 (11) 5.1 硬件的测试 (11) 5.2 系统的软件调试 (11) 结论 (11) 致谢 (11) 参考文献 (12) 附录A 原理图与模块电路图 (12) 附录B 程序代码 (13) 附录C 硬件实物图 (15)

基于单片机的智能小车的设计与制作

序号: 4 编码:甲4B02704B 第十一届“挑战杯” 河南省大学生课外学术科技作品竞赛 作品申报书 作品名称:基于单片机的智能小车的设计与制作 学校全称:平顶山学院 个人申报者姓名 (集体名称):闫翔 指导老师姓名:王艳辉 类别: □自然科学类学术论文 □哲学社会科学类社会调查报告和学术论文 □科技制作 小发明创造

基于单片机的智能小车的设计与制作 摘要:随着电子技术、计算机技术和制造技术的飞速发展,智能技术必将迎来它的发展新时代,我们想如果能将其运用到煤矿勘测,环境信息采集等方面,将会更好地满足人们的需求。因此,我们设计了这款智能小车。该设计采用STC89C52单片机为控制核心,采用驱动芯片 L298N构成双H桥控制直流电机,利用传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,自动寻迹和寻光等功能。在软件设计方面,则分为三个模块,即数据采集模块,信号处理模块,控制器控制电机模块。其中软件系统采用C程序,整个系统的电路结构简单,容易实现,可靠性能高。此设计实现了小车的无人驾驶,通过对路面的检测,由单片机来判断控制小车,使其变得智能化,实现自动的前进,转弯,停止功能.此系统完善后可以应用到道路检测,安全巡逻中,同时,可以以此为基础,将其应用到生活或者工业制造中去,即增添我们的生活乐趣也提高了工业效率,最重要的是能降低工作中的危险性。 关键词:单片机;自动循迹;驱动电路

目录 1绪论 (4) 1.1本课题的研究的背景以及现实意义 (4) 1.2课题研究的目的和意义 (6) 1.3本设计的研究方向 (6) 2 方案设计 (7) 2.1小车车体的选用 (7) 2.2 主控芯片的选用 (7) 2.3 PWM调速系统的实现 (8) 2.4 系统原理图 (9) 3 系统的硬件设计 (11) 3.1单片机电路的设计 (11) 3.1.1单片机的功能特性描述 (11) 3.1.2晶振电路 (12) 3.1.3复位电路 (13) 3.2红外线循迹避障模块 (14) 3.2.1黑线循迹模块 (14) 3.2.2避障模块设计 (15) 3.3 声控模块 (16) 3.4 比较模块 (16) 3.5 测速模块和循光模块 (17) 3.6 电源模块 (18)

智能小车的设计及制作

龙源期刊网 https://www.wendangku.net/doc/0f7221522.html, 智能小车的设计及制作 作者:姚兵 来源:《电子技术与软件工程》2018年第05期 摘要本文分析了智能小车总体设计,我们结合智能小车的硬件系统的设计与功能实现,重点介绍了微控制器电路的设计与原理、主线路板制作、避障电路的原理与设计、电机驱动电路的原理与设计、循迹电路的原理与设计等内容。 【关键词】智能小车设计制作 随着科学技术越来越发达,机器人的制造水平也有了明显的提升,越来越多的机器人被人们研制出来。近年来,在全球范围内掀起了一项新的高科技的活动——机器人比赛,虽然机器人比赛兴起的时间并不长,但基于机器人本身兼具高科技性和娱乐性,以及比赛机制的竞争性,吸引了众多科技爱好者的研究学者的喜爱和关注。机器人小车子系统,是整个系统构建当中的核心内容,是整个系统的执行机构,对于系统的运行高以及性能的好坏,具有十分重要的意义。基于小车子系统的特殊性,本文在单片机红外可控技术的基础上,结合自动智能车的相关设计理念,立足于比赛的需求,针对遥控技术和自动技术进行开发研究,并得以实现,基于该项技术,用户的二次开发活动也能够顺利进行,进而帮助用户实现比赛时所需要的各项特殊功能。本设计通过采用HCS12单片机为控制核心,实现对小车的智能控制。 1 智能小车总体设计分析 1.1 设计的具体要求 在本次竞赛活动中,对于小车的设计提出以下要求:小车设计需具备自动行进功能,即小车要能够在直跑道上高速运行,且具有明显的稳定性。在比赛设计中,跑道的设计主要采用两种颜色进行设计,确保跑到设计简单明了。通常,都会选择对比度鲜明的黑白两色,将白色运用在跑道背景的设置上,整个跑道为白色,然后将跑道的中央线,采用黑色进行涂染,而黑线就是小车在跑道上行驶的依据。显然,小车的行驶,必须要能够沿着跑道的黑色线进行,这是小车比赛行驶过程中的基本要求。而小车的设计,则要在满足该需求的基础上,确保小车的行驶速度得以稳步提升。 1.2 传感器部分 在针对传感器进行选择时,主要以光电传感器来进行设计,利用观点传感器,帮助智能小车对行驶路面的信息,进行采集工作。此外,红外传感器的使用也比较多,其最大的优势在于,红外传感器具有简明的结构,使用起来非常方便,并且其成本很低。在采用红外传感器时,几乎都不需要进行图像处理工作,且响应时间很低,反应效果非常灵敏,对于近距离的路面情况,能够起到有效、快捷的检测作用。然而不足之处在于,在路面信息的获取方面,红外

智能循迹小车总体设计方案

智能循迹小车总体设计方案 1.1 整体设计方案 本系统采用简单明了的设计方案。通过高发射功率红外光电二极管和高灵敏度光电晶体管组成的传感器循迹模块黑线路经,然后由AT89S52通过IO口控制L298N驱动模块改变两个直流电机的工作状态,最后实现小车循迹。 1.2系统设计步骤 (1)根据设计要求,确定控制方案; (2)将各个模块进行组装并进行简单调试; (3)画出程序流程图,使用C语言进行编程; (4)将程序烧录到单片机内; (5)进行调试以实现控制功能。 1.2.1系统基本组成 智能循迹小车主要由AT89S52单片机电路、循迹模块、L298N驱动模块、直流电机、小车底板、电源模块等组成。 (1)单片机电路:采用AT89S52芯片作为控制单元。AT89S52单片机具有低成本、高性能、抗干扰能力强、超低功耗、低电磁干扰,并且与传统的8051单片机程序兼容,无需改变硬件,支持在系统编程技术。使用ISP可不用编程器直接在PCB板上烧录程序,修改、调速都方便。 (2)循迹模块:采用脉冲调制反射红外发射接收器作为循迹传感器,调制信号带有交流分量,可减少外界的大量干扰。信号采集部分就相

当于智能循迹小车的眼睛,有它完成黑线识别并产生高、低平信号传送到控制单元,然后单片机生成指令来控制驱动模块来控制两个直流电机的工作状态,来完成自动循迹。 (3)L298N驱动模块:采用L298N作为点击驱动芯片。L298N具有高电压、大电流、响应频率高的全桥驱动芯片,一片L298N可以分别控制两个直流电机,并且带有控制使能端。该电机驱动芯片驱动能力强、操作方便、稳定性好,性能优良。L298N的使能端可以外接电平控制,也可以利用单片机进行软件控制,满足各种复杂电路的需要。另外,L298N的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够的问题。

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

本科毕业设计(论文) 基于单片机的智能循迹小车设计 学生学院信息工程学院 专业测控技术与仪器 (光机电一体化方向)年级班别20 级(1)班 学号 学生姓名 指导教师 20 年6月

摘要 自循迹智能小车也是智能行走机器人的一种,智能小车可以适应不同的环境,不受外界温度、湿度、空间以及重力等各种恶劣条件的影响,在人类无法进入或者生存的环境中完成人类无法完成的任务。本课题是智能循迹小车系统的设计,智能小车的设计涉及传感器技术、电路涉及、程序设计、控制设计等多个方面的知识,是一项综合设计。设计目标是小车能沿着规划好的黑线行走,不偏离道路。。 智能循迹小车以木板车架为承载,包括单片机模块:STC89C52芯片;驱动模块:L298N驱动模块和两个直流电机;循迹模块:红外光电传感器和LM324运算放大器。红外光电传感器判断是否寻找到黑线,并将产生的电平信号发送至LM324运算放大器,再返回到单片机,单片机根据程序设计的要求做出相应的判断送给电机驱动模块控制小车在黑线上实现前进后退左转右转。 关键词:智能小车,自动循迹,单片机,红外传感器

Abstract Self-tracing smart car is also a kind of intelligent walking robot, intelligent car can adapt to different environments, from outside temperature, humidity, space and gravity and other adverse conditions, in the human can not enter or survive the environment to complete the human Unable to complete the task. This topic is the design of intelligent tracking car system, intelligent car design involves sensor technology, circuit involved, programming, control design and other aspects of knowledge, is a comprehensive design. The design goal is that the car can walk along the planned black line without departing from the road. The The following steps: STC89C52 chip; drive module: L298N drive module and two DC motors; tracking module: infrared photoelectric sensor and LM324 operational amplifier. Infrared photoelectric sensor to determine whether to find the black line, and the resulting level signal sent to the LM324 operational amplifier, and then return to the microcontroller, the microcontroller according to the requirements of the program to make the appropriate judgment to the motor drive module control car on the black line Turn forward and turn right. Key words: intelligent car, automatic tracking, single chip, infrared sensor

智能小车设计

2016—2017学年第二学期期末考试《单片机原理及应用*》实践考核 项目设计说明书 专业:电子科学与技术 学号: 20160060156

姓名:张一鸣 2017年6 月14日 考核项目及要求 项目一:电机驱动模块的设计与制作 1.考核要点 (1) 掌握驱动电路的工作原理; (2) 掌握电机驱动的制作方法; (3) 掌握焊接技术; 2.作品要求 学生自行运用工具进行作品的设计制作,作品达到电路连接正确、布局合理、美观整洁。 项目二:单片机最小系统板的设计制作 1.考核要点 (1) 掌握单片机在实际操作中的基本知识; (2) 实验板包括单片机最小系统、蓝牙遥控模块、温度检测模块、液晶模块、 报警模块电路等的设计; (3) 使用Proteus仿真软件绘制实验板所包含的所有模块电路; (4) 熟练使用keil编程软件编写各模块电路的演示程序。 2.作品要求 学生自行运用工具进行作品的设计、仿真及演示,达到正确实现、布局合理、美观整洁。 项目三:智能小车底盘设计 1.考核要点 (1) 理解电机的工作原理; (2) 了解部分机械机构的设计方法; (3) 掌握智能小车的整体安装方法。

2.作品要求 学生独立设计安装,车身结构美观,布局合理,功能实现。 目录 1.功能说明 (1) 1-1.蓝牙无线遥控 (1) 1-2.实时温度显示 (1) 2.硬件设计 (2) 2-1.元器件选择 (2) 2-2.硬件设计原理说明 (4) 3.软件设计 (5) 3-1.程序总体设计 (5) 3-2.程序详细设计 (5) 4.测试与总结 (6) 4-1驱动电路板测试 (6) 4-2控制电路板测试 (6) 4-3最终整体效果 (7) 4-4总结 (7)

51红外循迹小车报告(舵机版)最终版

简易教程

前言 往届全国大学生电子设计竞赛曾多次出现了集光、机、电于一体的简易智能小车题目,此次,笔者在通过多次论证、比较与实验之后,制作出了简易小车的寻迹电路系统。 整个系统基于普通玩具小车的机械结构,利用小车的底盘、前后轮电机及其自动复原装置,能够平稳跟踪路面黑色轨迹运行。系统分为检测、控制、驱动三个模块。首先利用光电对接收管和路面信号进行检测,然后经过比较器处理,对软件控制模块进行实时控制,输出相应的信号给驱动芯片驱动电机转动,从而控制整个小车的运动。 智能小车能在画有黑线的白纸“路面”上行驶,这是由于黑线和白纸对光线的反射系数不同,小车可根据接收到的反射光的强弱来判断“道路”---黑线,最终实现简单的循迹运动。 个人水平有限,有错误不足之处,还望各位前辈同学多多包含,指出修正,完善。谢谢! 李学云王维 2016年7月27号

目录 前言 (1) 第一部分硬件设计 (1) 1.1 车模选择 (1) 1.2传感器选择 (1) 1.3 控制模块选择 (2) 第二部分软件设计及调试 (3) 2.1 开发环境 (3) 2.2总体框架 (3) 2.3 舵机程序设计与调试 (3) 2.3.1 程序设计 (3) 2.3.2 调试 (3) 2.3.3 程序代码 (4) 2.4 传感器调试 (5) 2.4.1 传感器好坏的检测 (5) 2.4.2 单片机能否识别信号并输出信号 (5) 2.5 综合调试 (7) 附录1 (9) 第一篇舵机(舵机及转向控制原理) (9) 1.1概述 (9) 1.2舵机的组成 (10) 1.3舵机工作原理 (11) 1.4舵机使用中应注意的事项 (12) 1.5如何利用程序实现转向 (12) 1.6舵机测试程序 (13) 附录2 (14) 第二篇光电红外传感器 (14) 2.1传感器的原理 (14) 2.2红外光电传感器ST188 结构图 (15) 2.3传感器的选择 (15) 2.4传感器的安装 (16) 2.5使用方法 (16) 2.7红外传感器输入输出调试程序 (17)

基于单片机的智能循迹小车

第1章绪论 1.1课题背景 目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上许多国家都在积极进行智能车辆的研究和开发设计。移动机器人是机器人学中的一个重要分支,出现于20世纪06年代。当时斯坦福研究院(SRI)的Nils Nilssen和charles Rosen等人,在1966年至1972年中研制出了取名shakey的自主式移动机器人,目的是将人工智能技术应用在复杂环境下,完成机器人系统的自主推理、规划和控制。从此,移动机器人从无到有,数量不断增多,智能车辆作为移动机器人的一个重要分支也得到越来越多的关注。 智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航及白动控制等技术,是典型的高新技术综合体。 智能车辆也叫无人车辆,是一个集环境感知、规划决策和多等级辅助驾驶等功能于一体的综合系统。它具有道路障碍自动识别、自动报警、自动制动、自动保持安全距离、车速和巡航控制等功能。智能车辆的主要特点是在复杂的道路情况下,能自动地操纵和驾驶车辆绕开障碍物并沿着预定的道路(轨迹)行进。智能车辆在原有车辆系统的基础上增加了一些智能化技术设备: (1)计算机处理系统,主要完成对来自摄像机所获取的图像的预处理、增强、分析、识别等工作; (2)摄像机,用来获得道路图像信息; (3)传感器设备,车速传感器用来获得当前车速,障碍物传感器用来获得前方、侧方、后方障碍物等信息。 智能车辆技术按功能可分为三层,即智能感知/预警系统、车辆驾驶系统和全自动操作系统团。上一层技术是下一层技术的基础。三个层次具体如下: (1)智能感知系统,利用各种传感器来获得车辆自身、车辆行驶的周围环境及 驾驶员本身的状态信息,必要时发出预警信息。主要包括碰撞预警系统和驾驶员状态监控系统。碰撞预警系统可以给出前方碰撞警告、盲点警告、车道偏离警告、换道/

智能循迹小车详细制作过程

(穿山乙工作室)三天三十元做出智能车 基本设计思路: 1.基本车架(两个电机一体轮子+一 个万向轮) 2.单片机主控模块 3.电机驱动模块(内置5V电源输出) 4.黑白线循迹模块 0.准备所需基本元器件 1).基本二驱车体一台。(本课以穿山乙推出的基本车体为 例讲解) 2).5x7cm洞洞板、单片机卡槽、51单片机、石英晶体、红 色LED、1K电阻、10K排阻各一个;2个瓷片电容、排针40 个。 3).5x7cm洞洞板、7805稳压芯片、红色LED、1K电阻各一 个;双孔接线柱三个、10u电解电容2个、排针12个、9110 驱动芯片2个。 4).5x7cm洞洞板、LM324比较器芯片各一个;红外对管三 对、4.7K电阻3个、330电阻三个、红色3mmLED三个。 一、组装车体

(图中显示的很清晰吧,照着上螺丝就行了) 二、制作单片机控制模块 材料:5x7cm洞洞板、单片机卡槽、51单片机、石英晶体、红色LED、1K电阻、10K排阻各一个;2个瓷片电容、排针40个。 电路图如下,主要目的是把单片机的各个引脚用排针引出来,便于使用。我们也有焊接好的实物图供你参考。(如果你选用的是STC98系列的单片机在这里可以省掉复位电路不焊,仍能正常工作。我实物图中就没焊复位)

三、制作电机驱动模块 材料:5x7cm洞洞板、7805稳压芯片、红色LED、1K电阻各一个;双孔接线柱三个、10u电解电容2个、排针12个、9110驱动芯片2个。 电路图如下,这里我们把电源模块与驱动模块含在了同一个电路板上。因为电机驱动模块所需的电压是+9V左右(6—15V 均可),而单片机主控和循迹模块所需电压均为+5V。 这里用了一个7805稳压芯片将+9V电压稳出+5V电压。

智能循迹小车C程序完美详尽

/*------------------------------------------------------ -----------------------小车运行主程序------------------- -------------------------------------------------------- 简介:@模块组成:红外对管检测模块----五组对管,五个信号采集端口 直流电机驱动模块----驱动两个直流电机,另一个轮子用万向轮 单片机最小系统------用于烧写程序,控制智能小车运动 @功能简介:在白色地面或皮质上用黑色胶带粘贴出路线路径宽度微大于相邻检测管间距。 这样小车便可在其上循迹运行。 @补充说明:该程序采取“右优先”的原则: 即右边有黑线向右转, 若无,前方有黑线,向前走, 若无,左边有黑线,向左转, 若全无,从右方向后转。 程序开头定义的变量的取值是根据我的小车所调试选择好的, 如果采用本程序,请自行调试适合自己小车的合适参数值。 编者:陈尧,黄永刚(江苏大学电气学院二年级,三年级) 1.假定:IN1=1,IN3=1时电机正向转动,必须保证本条件 2.假定:遇到白线输出0,遇到黑线输出1; 如果实际电路是:遇到白线输出1,遇到黑线输出0, 这种情况下只需要将第四,第五句改成: #define m0 1 #define m1 0 即可。 3.说明1:直行---------------速度full_speed_left,full_speed_right. 转弯,调头速度------correct_speed_left,correct_speed_right. 微小校正时---------高速轮full_speed_left,full_speed_right; 低速轮correct_speed. 可以通过调节第六,七,八,九,十条程序,改变各个状态 下的占空比(Duty cycle ),以求达到合适的转弯,直行速度 4.lenth----------length检测到黑线到启动转动的时间间隔 5.width----------mid3在黑线上到脱离黑线的时间差 6.mid3-----------作为判断中心位置是否进入黑线的标志,由于运行的粗糙性和惯性, 常取其他对管的输出信号作为判断条件 7.check_right----若先检测到左边黑线,并且左边已出黑线,判断右端是否压黑线时间拖延

PWM调速+循迹__智能小车程序

//T0产生双路PWM信号,L298N为直流电机调速,接L298N时相应的管脚上最好接上10K 的上拉电阻。 /* 晶振采用12M,产生的PWM的频率约为100Hz */ #include #include #define uchar unsigned char #define uint unsigned int sbit en1=P3^4; /* L298的Enable A */ sbit en2=P3^5; /* L298的Enable B */ sbit s1=P1^0; /* L298的Input 1 */ sbit s2=P1^1; /* L298的Input 2 */ sbit s3=P1^3; /* L298的Input 3 */ sbit s4=P1^2; /* L298的Input 4 */ sbit R=P2^0; sbit C=P2^1; sbit L=P2^2; sbit key=P1^4; uchar t=0; /* 中断计数器*/ uchar m1=0; /* 电机1速度值*/ uchar m2=0; /* 电机2速度值*/ uchar tmp1,tmp2; /* 电机当前速度值*/ /* 电机控制函数index-电机号(1,2); speed-电机速度(0-100) */ void motor(uchar index, char speed) { if(speed<=100) { if(index==1) /* 电机1的处理*/ { m1=abs(speed); /* 取速度的绝对值*/ s1=1; s2=0; } if(index==2) /* 电机2的处理*/ { m2=abs(speed); /* 电机2的速度控制*/ s3=1; s4=0; } } } void Back(void) {

基于某51单片机的智能小车控制系统

工业职业技术学院 毕业设计 课题名称基于51与单片机的智能小车控制系统 系(院)名称电气工程系 专业及班级 学生 学号 指导教师

完成日期年11 月19 日

摘要 随着我国科学技术的进步,智能化作为现代社会的新产物开始越来越普及,各种高科技也广泛应用于智能小车和机器人玩具制造领域,使智能机器人越来越多样化。智能小车是一个多种高薪技术的集成体,它融合了机械、电子、传感器、计算机硬件、软件、人工智能等许多学科的知识,可以涉及到当今许多前沿领域的技术。 整个小车平台主要以51单片机为控制核心,通过无线遥控实现前进后退和转向行驶,通过红外线传感器,实现小车的自适应巡航、避障等功能。设计采用对比选择,模块独立,综合处理的研究方法。通过翻阅大量的相关文献资料,分析整理出有关信息,在此基础上列出不同的解决方案,结合实际情况对比方案优劣选出最优方案进行设计。从电机车体,最小系统到无线遥控,红外线对管的自动寻迹再到红外线自动避障和语音控制,完成各模块设计。通过调试检测各模块,得到正确的信号输出,实现其应有的功能。最后将各个调试成功的模块结合到小车的车体上,结合程序,通过单片机的控制,将各模块有效整合在一起,达到所预期的目标,完成最终设计与制作,能使小车在一定的环境中智能化运转。 关键字:智能小车,单片机,红外传感器。

目录 第一章绪论.............................................................................................................................- 1 - 1.1.1智能循迹小车概述........................................................................................................- 1 - 1.1.2课题研究的目的和意义 ...............................................................................................- 2 - 1.1.3智能循迹小车智能循迹分类.......................................................................................- 3 - 1.1.4智能循迹小车的应用....................................................................................................- 3 - 第二章方案设计 ..........................................................................................................................- 5 - 2.1 主控系统.........................................................................................................................- 5 - 2.2单片机最小系统 ...............................................................................................................- 6 - 2.2.1 STC89C52简介...................................................................................................- 6 - 2.2.2 时钟电路...............................................................................................................- 8 - 2.2.3复位及复位电路....................................................................................................- 8 - 2.3 电机驱动模块................................................................................................................ - 10 - 2.4 循迹及避障模块............................................................................................................ - 11 - 2.5 机械系统......................................................................................................................... - 11 - 2.6电源模块......................................................................................................................... - 11 - 第三章硬件设计 ..................................................................................................................... - 12 - 3.1总体设计......................................................................................................................... - 12 - 3.1.1主板设计框图..................................................................................................... - 12 - 主板设计框图如图3-1,所需原件清单如表3-1 .................................................. - 12 -

智能小车制作入门篇

智能小车制作入门篇 最近接触了很多机器人爱好者,很多人都对机器人技术展示出了浓厚的兴趣,也在计划如何动手制作自己的第一个机器人。但是似乎很多的人都摸不到门路,只能是站在大门外满怀兴趣的向内观望,观望了一阵兴趣渐失只好叹口气走开…… 很多初学者可能都是看了一些视频或是现场的比赛,勾起了儿时的美好回忆,兴起了自己动手制作机器人的念头,很多人可能并不是嵌入式开发的业内人士,甚至没有听说过单片机、步进电机这些名词,看着别人满地乱跑的各种机器人,颇有无处下手的感觉。有的人一上来就准备做一个可以双足行走的人形机器人,可以平稳行走,可以靠摄像头来读取环境信息,可以语音识别,最好还可以变形…… :—(

我的意见是:新手最好还是老老实实的从小车开始吧。人形机器人可以说是一个系统的大工程,不是一个人玩的起来的,而且资金上的投入也是不可计量的。一个人形机器人的成型产品最少要卖到几千块——要知道,你在开发过程中是不可能没有错误投入的。机器人小车技术上门槛较低,资金投入也少,市场上的各种产品和零配件的支持也较多,虽然简单,但可以实现的功能可一点也不少。 我在这里凭自己的经验介绍一些自己动手制作机器人小车的基础知识,如果你是曾经自己动手做过的高手,那么你可以绕行,我这里介绍的都是为未入门者准备的最基本的理论知识和一些动手经验。 那么现在我们开始,首先是理论部分——小车的控制结构。 [一]小车的整体控制系统 小车是怎么来控制的?为什么小车判断出障碍物后可以自动的绕开? 理论:控制工程——处理自动控制系统各种工程实现问题的综合性工程技术。包括对自动控制系统提出要求(即规定指标)、进行设计、构造、运行、分析、检验等过程。它是在电气工程和机械工程的基础上发展起来的。 闭环控制:闭环控制有反馈环节,通过反馈系统是系统的精确度提高,响应时间缩短,适合于对系统的响应时间,稳定性要求高的系统。 开环控制:开环控制没有反馈环节,系统的稳定性不高,响应时间相对来说很长,精确度不高,使用于对系统稳定性精确度要求不高的简单的系统。 一般稍微复杂一点的机器人小车都是闭环控制,也就是说它有一个反馈机制,会根据自己配备的各种传感器来读取环境信息,并且根据这些环境信息来决定自己下一步的行动,决定好后将行动指令发给执行系统,使机器人做出合适的动作。当然也有的机器人小车是开环控制,我就见过一个机器人小车配了一支笔,将机器人放在纸上,机器人一转,刷的一下在纸上画出一个圈来,当然由于摩擦力和机械误差等原因,画出来的圆圈可能不闭合,也可能不圆。不过人家阿Q都说了:“孙子才画的圆呢……” 有点迷糊?没关系,其实简单一点说就是这样:机器人可以分为三部分——传感器部分、控制器部分、执行器部分。

智能循迹小车 设计报告

智能循迹小车设计 专业:自动化 班级: 0804班 姓名: 指导老师: 2010年8月——2010年10月 摘要:

本课题是基于AT89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统以 AT89S52 单片机为系统控制处理器;采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。 引言

当今世界,传感器技术和自动控制技术正在飞速发展,机械、电气和电子信息已经不再明显分家,自动控制在工业领域中的地位已经越来越重要,“智能”这个词也已经成为了热门词汇。现在国外的自动控制和传感器技术已经达到了很高的水平,特别是日本,比如日本本田制作的机器人,其仿人双足行走已经做得十分逼真,而且具有一定的学习能力,还据说其智商已达到6岁儿童的水平。 作为机械行业的代表产品—汽车,其与电子信息产业的融合速度也显著提高,呈现出两个明显的特点:一是电子装置占汽车整车(特别是轿车)的价值量比例逐步提高,汽车将由以机械产品为主向高级的机电一体化方向发展,汽车电子产业也很有可能成为依托整车制造业和用车提升配置而快速成为新的增长点;二是汽车开始向电子化、多媒体化和智能化方向发展,使其不仅作为一种代步工具、同时能具有交通、娱乐、办公和通讯等多种功能。 无容置疑,机电一体化人才的培养不论是在国外还是国内,都开始重视起来,主要表现在大学生的各种大型的创新比赛,比如:亚洲广播电视联盟亚太地区机器人大赛(ABU ROBCON)、全国大学生“飞思卡尔”杯智能汽车竞赛等众多重要竞赛都能很好的培养大学生对于机电一体化的兴趣与强化机电一体化的相关知识。但很现实的状况是,国内不论是在机械还是电气领域,与国外的差距还是很明显的,所以作为机电一体化学生,必须加倍努力,为逐步赶上国外先进水平并超过之而努力。 为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。所以立“智能循迹小车”一题作为尝试。 此项设计是在以杨老师提供的小车为基础上,采用AT89C52单片机作为控制核心,实现能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。

智能循迹小车设计

智能循迹/避障小车研究 工作报告 一、智能循迹小车程序结构框图 二、Proteus仿真图 三、软件程序设计

一、智能循迹小车程序结构框图 经过几天在网上的查找,对智能循迹/避障小车有了大致的了 解, 一般有三个模块: 1、最基本的小车驱动模块,使用两个二相四线步进电机对小车的两个后轮分别进行驱动,前轮最好用万向轮,能使小车更好地转弯; 2、小车循迹模块,在小车底部有三个并排安装的红外对管,对黑色与白色的反射信号不同,经单片机处理后对小车进行相应处理; 3、避障模块,我写的程序中对于避障模块是用中断来处理的(即安装在小车车头的红外对管检测到有障碍物后,就会向单片机的P3_2口输出一个高电平或是低电平,这时中断程序将对小车进行预先设定好的避障处理),但是在程序结构框图中,我不太会表示中断处理方式,所以就用查询的方式画了。

N Y N Y 二、Proteus 仿真图 我用Proteus 大概地仿真了小车的运行状态。图中的两个二相四线步进电机就代表小车的左右轮(假定步进电机顺时针转动方向为小车前进方向),网上有很多种驱动芯片,在仿真时我只使用L298N 芯

片来驱动步进电机。用三个单刀双制开关模拟用于小车循迹的三个红外对管的输出信号,经一个与门与三极管开关连接到P3_3口,中断程序对P1_0, P1_1, P1_2三个口进行检测,并做出相应处理。同时因为避障模块的优先级高于循迹模块,所以将外部中断0用于避障,外部中断1用于循迹。P1_3口则用于检测小车是否到达终点。 1、小车驱动模块: 使用一片298芯片驱动一个二相四线步进电机,电机的电压为12V。

智能循迹小车程序

智能循迹小车程序 Document number:BGCG-0857-BTDO-0089-2022

#include<> #define uchar unsigned char #define uint unsigned int //D0-D7:f,b,a,e,d,h,c,g 共阴依次编码 //74LS04反相器驱动数码管 uchar code table[10] = {0x5F,0x42,0x9E,0xD6,0xC3,0xD5,0xDD,0x46,0xDF,0xD7}; uchar i = 0; //用于0-3数码管轮流显示uint j = 0; //计时的次数 uint time=0; //计时 uint pwm=16; //占空比 uint speed; //调制PWM波的当前的值 sbit R=P3^2; //右边传感器 P3^2 sbit L=P3^3; //左边传感器 P3^3 //电机驱动口定义 sbit ENB=P1^0; //前轮电机停止控制使能 sbit ENA=P1^1; //后轮控制调速控制端口 sbit IN1=P1^2; //前轮 sbit IN2=P1^3; //前轮 sbit IN3=P1^4; //后轮

sbit IN4=P1^5; //后轮 void Init() { TMOD = 0x12; //定时器0用方式2,定时器1用方式1 TH0=(256-200)/256; //pwm TL0=(256-200)/256; TH1 = 0x0F8; //定时2ms TL1 = 0x30; EA = 1; ET0 = 1; ET1 = 1; TR0 = 1; TR1 = 1; } void tim0(void) interrupt 1 //产生PWM { speed ++; if(speed <= pwm) //pwm 就相当于占100的比例{ ENA = 1; }

智能循迹小车详细源代码程序MSPID

巡线车程序(完整版) 1 #ifndef _Macro.h_ 2 #define _Macro.h_ 3 #include 4 #include 5 #define uchar unsigned char 6 #define uint unsigned int 7 #define one 11.11 8 #define LMAX 1999 9 #define RMAX 3999 10 #define CPU_F ((double)8000000) 11 #define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) 12 13 #define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) 14 #define PC 20 // 比例放大系数 15 #define IC 0 //积分放大系数 16 #define DC 85 //大系数 17 #define LEFTOUT TACCR1 18 #define RIGHTOUT TACCR2 19 #define SensorIn P5IN 20 #define F 5000//5000hz 21 #define Period (8000000/F) 22 #define EnableLeftPos P3OUT|=BIT1 23 #define UnenableLeftPos P3OUT&=~BIT1 24 25 #define EnableLeftNeg P3OUT|=BIT0 26 #define UnenableLeftNeg P3OUT&=~BIT0 27 28 #define EnableRightPos P3OUT|=BIT2 29 #define UnenableRightPos P3OUT&=~BIT2 30 31 #define EnableRightNeg P3OUT|=BIT3 32 #define UnenableRightNeg P3OUT&=~BIT3 33 34 #define Basic_Left 100//百分之八十 35 #define Basic_Right 100//Basic_Left 36 #define MAX (100) 37 #define MIN (-100) 38 #define foreward 1 39 #define backward 0

相关文档
相关文档 最新文档