智能循迹避障小车(做人亲测试)
智能循迹避障小车完整程序(亲测好使)

智能循迹避障小车完整程序(亲测好使)/*******************************************//利用51定时器产生PWM波来调节电机速度//速度变化范围从0-100可调//使用三路做寻迹使用,哪一路检测在黑线哪一路为//高电平//没检测到黑线表示有反射对应输出低电平信号*********************************************/#include<>#define uint unsigned int#define uchar unsigned char/*电机四个接口定义*/sbit in1=P0^0;sbit in2=P0^1;sbit in3=P0^2;sbit in4=P0^3;/*计时器*/uchar j,k,i,a,A1,A2,second,minge,minshi;sbit dula=P2^6;sbit wela=P2^7;uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};uchar code table2[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1};void delay(uchar i){for(j=i;j>0;j--)for(k=110;k>0;k--);}void display(uchar sh_c,uchar g_c,uchar min_ge,uchar min_shi) {dula=1;P0=table[sh_c];dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(5);dula=1;P0=table[g_c];dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(5);dula=1;P0=table[min_shi];dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(5);dula=1;P0=table2[min_ge];dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(5);}/*左、中、右三路循迹传感器接口定义*/ sbit zuo=P1^0; sbit zhong=P1^1;sbit you=P1^2;/*避障接口定义*/sbit bz_zuo=P1^3;sbit bz_zhong=P1^4;sbit bz_you=P1^5;uchar count = 0;/*利用定时器0定时中断,产生PWM波*/ void Init_timer() {TH0 = (65535-10)/256;TL0 = (65535-10)%256;TMOD = 0x01;TR0 = 1;ET0 = 1;EA = 1;}/*左轮速度调节程序*/void zuolun(uchar speed){if(count <= speed) //count计数变量{in1 = 1;in2 = 0;}else{in1 = 0;in2 = 1;}}void youlun(uchar speed) //同上{if(count<= speed){in3 = 1;in4 = 0;}else{in3 = 0;in4 = 1;}}void Inline() //检测黑线信号{uchar temp;temp =P1;switch(temp){case 0x01:zuolun(0); youlun(90);break; //左侧循迹传感器压线,小车向左前修正case 0x02:zuolun(100);youlun(100);break; //中间循迹传感器压线,保持直走此处两值使电机速度保持相同case 0x04:zuolun(90); youlun(0);break; //右侧循迹传感器压线,小车向右前修正case 0x08:zuolun(90); youlun(0);break; //左侧避障传感器有信号小车右转case 0x10:zuolun(90); youlun(0);break; //中间避障传感器有信号小车左转case 0x20:zuolun(90); youlun(0);break; //右侧避障传感器有信号小车左转}/*if(zuo==1){zuolun(10);youlun(50);}else if(zhong==1){zuolun(99);youlun(99);}else if(you==1){zuolun(50);youlun(10);} */}void main() //主函数{Init_timer(); //调用函数while(1){Inline();minge=0;minshi=0;second++;if(second==60)second=0,minge++;A1=second/10;A2=second%10;if(minge==10)minge=0,minshi++;for(a=200;a>0;a--){display(A1,A2,minge,minshi);};}}void Timer0_int()interrupt 1 //定时器中断计数{TH0 = (65535-10)/256;TL0 = (65535-10)%256;count ++;if(count >= 100){count = 0;}}。
智能循迹小车实验报告

智能循迹小车实验报告第一篇:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用STC公司的89C52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298N芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
关键词智能小车单片机红外光对管 STC89C52 L298N 1 绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。
在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。
设计任务与要求采用MCS-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。
方案设计与方案选择3.1 硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。
3.1.1 单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。
由于以前自己开发板使用的是ATMEL公司的STC89C52,所以让然选择这个芯片作为控制核心部件。
STC89C52是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
其程序和数据存储是分开的。
3.1.2 传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。
阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。
方案二:使用光电传感器来采集路面信息。
循迹小车的实验报告

循迹小车的实验报告循迹小车的实验报告引言:循迹小车是一种基于光电传感器的智能机器人,能够通过感知地面上的黑线,实现自主导航。
本次实验旨在探索循迹小车的工作原理及其应用,并对其性能进行评估。
一、实验背景循迹小车作为一种智能机器人,广泛应用于工业自动化、仓储物流、智能家居等领域。
其基本原理是通过光电传感器感知地面上的黑线,根据传感器信号控制电机的转动,从而实现沿着黑线行进。
二、实验过程1. 实验器材准备本次实验所需器材有循迹小车、黑线地毯、计算机等。
通过连接计算机和循迹小车,可以实现对小车的控制和数据传输。
2. 实验步骤(1)将黑线地毯铺设在实验场地上,并保证地毯表面光滑清洁。
(2)将循迹小车放置在地毯上,确保其底部的光电传感器与黑线接触。
(3)通过计算机控制循迹小车的启动,观察小车是否能够准确跟踪黑线行进。
(4)记录小车在不同条件下的行进速度、转弯半径等数据,并进行分析。
三、实验结果1. 循迹性能评估通过实验观察和数据记录,我们发现循迹小车在较为平整、光线充足的黑线地毯上表现较好,能够准确跟踪黑线行进。
然而,在黑线不明显、光线较暗的情况下,小车的循迹性能会有所下降。
2. 行进速度与转弯半径根据实验数据分析,循迹小车的行进速度受到多种因素的影响,包括地面摩擦力、电机功率等。
在实验中,我们发现增加电机功率可以提高小车的行进速度,但同时也会增大转弯半径。
3. 应用前景循迹小车作为一种智能机器人,具有广泛的应用前景。
在工业自动化领域,循迹小车可以用于物料搬运、装配线操作等任务;在仓储物流领域,循迹小车可以实现货物的自动分拣、运输等功能;在智能家居领域,循迹小车可以作为家庭服务机器人,提供家居清洁、送餐等服务。
四、实验总结通过本次实验,我们深入了解了循迹小车的工作原理和应用前景。
循迹小车的循迹性能受到地面条件和光线影响,需要进一步优化。
在实际应用中,循迹小车可以广泛应用于工业自动化、仓储物流和智能家居等领域,为人们的生活和工作带来便利。
基于STM32的智能循迹避障小车

基于STM32的智能循迹避障小车1. 引言1.1 研究背景智能循迹避障小车是一种集成了智能控制算法和传感器技术的智能移动设备,能够自主地在复杂环境中进行循迹和避障操作。
随着人工智能和自动化技术的不断发展,智能循迹避障小车在工业生产、智能物流、军事侦察等领域有着广泛的应用前景。
研究智能循迹避障小车的背景在于,传统的遥控小车在面对复杂的环境时往往需要人工操作,存在操作难度大、效率低等问题。
而基于STM32的智能循迹避障小车则能够通过搭载多种传感器,如红外传感器、超声波传感器等,实现对周围环境的感知和智能决策,从而实现自主的运动控制,提高了小车在复杂环境中的适应能力和工作效率。
通过对基于STM32的智能循迹避障小车进行深入研究,可以推动智能移动设备技术的发展,提高智能设备在现实场景中的应用水平,具有重要的科研和应用价值。
本文将围绕硬件设计、智能循迹算法、避障算法等方面展开研究,旨在探讨如何实现智能循迹避障小车在复杂环境中的稳定、高效运行。
1.2 研究目的研究目的是为了设计一款基于STM32的智能循迹避障小车,通过引入先进的传感器技术和算法,实现小车在复杂环境下的自主导航和避障功能。
通过此项目,旨在提高智能车辆的运动控制性能和环境感知能力,促进智能驾驶技术的发展和应用。
通过对循迹和避障算法的研究与优化,进一步提升小车的自主性和可靠性,为智能车辆在工业、服务和军事领域的应用奠定技术基础。
对智能循迹避障小车性能的评估和优化,有助于了解其在实际应用中的表现和潜力,为未来智能交通系统的建设提供参考和支持。
通过本研究,旨在探索智能车辆技术的发展趋势,推动智能交通的普及和发展。
1.3 研究意义智能循迹避障小车是近年来智能机器人领域内的一项研究热点,其具有广泛的应用前景和重要的意义。
智能循迹避障小车可以在无人驾驶领域发挥重要作用,帮助人们在特定环境下实现自主导航和避障功能,提高行车安全性和效率。
智能循迹避障小车的研究不仅可以促进传感器技术、控制算法和嵌入式系统的发展,还可以推动人工智能与机器人技术的融合,促进人机交互的发展。
循迹、避障、寻光小车实验报告

简易智能小车摘要:本系统基于自动控制原理,以MSP430为控制核心,用红外传感器、光敏三极管、霍尔传感器、接近开关之间相互配合,实现了小车的智能化,小车完成了自动寻迹、避障、寻光入库、计时、铁片检测、行程测量的功能。
本系统采用液晶LCD12864显示数据,良好的人机交流界面,显示小车行程的时间、铁片中心线离起始线的距离和铁片的个数。
整个系统控制灵活,反应灵敏。
关键词:MSP430 传感器 LCD12864目录一、方案论证与比较 (3)1、题目任务要求及相关指标的分析 (3)2、方案的比较与选择 (3)(1)控制单元的选择 (3)(2)直流电机驱动电路的选择 (3)(3)轨迹探测模块选择 (3)(4)金属片的探测 (3)(5)路程测量方案的选择 (4)(6)避障方案的选择 (4)(7)小车寻光方案的选择 (4)(8)电源的选择 (4)(9)刹车机构功能方案比较 (5)二、系统总体设计方案及实现方框图 (5)1、系统总体设计方案 (5)2、系统实现框图 (5)三、理论分析与计算 (5)1、铁片中心线距离的测量 (5)2、小车行程时间的测量 (5)四、主要功能电路设计 (6)1、小车循迹模块 (6)2、小车检测铁片模块 (6)3、小车测距模块 (6)4、小车避障模块 (6)5、小车寻光模块 (6)6、直流电机驱动模块 (7)五、系统软件的设计 (8)六、测试量数据与分析 (8)1、测量数据 (8)2、数据分析 (8)参考文献 (8)一、方案论证与比较1.题目任务要求及相关指标的分析题目要求小车按照规定的跑道行驶,同时检测在跑道下的铁片,在检测到最后一块铁片时小车会有连续的声光显示;后又可以准确的避开障碍,而且不与障碍物接触;最后,在光源的引导下,进入车库。
智能小车有显示功能,可以显示检测到铁片的数量,金属片距起点的距离,行驶的总时间。
整个行驶过程中的总时间不大于90秒,小车在行驶90秒后会自动停车。
2. 方案的比较与选择(1)控制单元的选择方案一:利用单片机与FPGA配合使用。
智能避障小车报告

智能避障小车报告智能避障小车报告一、引言智能避障小车是一种具有自主导航和避障功能的智能机器人,它利用传感器和算法来感知周围环境并做出相应的动作,以避免与障碍物发生碰撞。
本报告旨在对智能避障小车的设计原理、工作原理以及应用领域进行介绍和分析。
二、设计原理智能避障小车的设计原理包括感知系统、决策系统和执行系统三个部分。
1. 感知系统:感知系统主要负责获取环境信息,常用的感知器件包括超声波传感器、红外线传感器、摄像头等。
超声波传感器可以测量小车与障碍物之间的距离,红外线传感器可以检测障碍物的存在与否,摄像头可以获取环境图像。
2. 决策系统:决策系统根据感知系统获取的信息,通过算法进行分析和处理,决定小车的行动。
常用的算法包括避障算法、路径规划算法等。
避障算法通常基于感知数据计算出避障方向和速度,路径规划算法则是根据目标位置和环境地图计算出最优路径。
3. 执行系统:执行系统根据决策系统的指令控制小车的运动,包括驱动电机、舵机等部件。
驱动电机控制小车的前进、后退和转向,舵机控制车头的转动。
三、工作原理智能避障小车的工作原理如下:1. 感知环境:小车利用传感器获取环境信息,例如超声波传感器测量距离,红外线传感器检测障碍物,摄像头获取图像。
2. 数据处理:小车的决策系统对感知到的数据进行处理和分析,计算出避障方向和速度,或者根据目标位置和环境地图计算出最优路径。
3. 控制执行:决策系统根据计算结果发出指令,控制执行系统驱动电机和舵机,控制小车的运动。
如果遇到障碍物,小车会自动避开,如果目标位置发生变化,小车会自动调整路径。
四、应用领域智能避障小车在许多领域都有广泛的应用。
1. 家庭服务机器人:智能避障小车可以在家庭环境中执行一些简单的任务,如送餐、打扫卫生等。
2. 仓储物流:智能避障小车可以在仓库中自主导航,收集和组织货物,减少人力成本和提高效率。
3. 自动驾驶汽车:智能避障小车的避障和导航算法可以应用于自动驾驶汽车,提高安全性和稳定性。
基于STM32的智能循迹避障小车

基于STM32的智能循迹避障小车【摘要】本文介绍了一款基于STM32的智能循迹避障小车。
在引言中,我们简要介绍了背景信息,并阐明了研究的意义和现状。
在我们详细讨论了STM32控制系统设计、循迹算法实现、避障算法设计、硬件设计和软件设计。
在结论中,我们分析了实验结果,讨论了该小车的优缺点,并展望了未来的发展方向。
通过本文的研究,我们验证了该智能小车在循迹和避障方面的性能,为智能移动机器人领域的研究提供了新的思路和方法。
【关键词】关键词:STM32、智能小车、循迹避障、控制系统、算法设计、硬件设计、实验结果、优缺点、未来展望1. 引言1.1 背景介绍智能循迹避障小车是一种基于STM32单片机的智能机器人,在现代社会中起着越来越重要的作用。
随着科技的发展,人们对智能机器人的需求也日益增长。
智能循迹避障小车不仅可以帮助人们完成一些重复性、繁琐的任务,还可以在一些特殊环境下代替人类进行工作,提高效率和安全性。
循迹功能使智能小车能够按照特定的路径行驶,可以应用于自动导航、自动驾驶等领域。
而避障功能则使智能小车具有避开障碍物的能力,适用于环境复杂、存在风险的场所。
通过将这两个功能结合起来,智能循迹避障小车可以更好地适应各种复杂环境,完成更多的任务。
本文旨在探讨基于STM32的智能循迹避障小车的设计与实现,通过研究其控制系统设计、循迹算法实现、避障算法设计、硬件设计和软件设计等方面,为智能机器人领域的发展做出一定的贡献。
1.2 研究意义智能循迹避障小车的研究旨在利用先进的STM32控制系统设计和算法实现,实现小车的智能循迹和避障功能,从而提高小车的自主导航能力和适应性。
研究意义主要包括以下几个方面:1. 提升科技水平:通过研究智能循迹避障小车,促进了在嵌入式系统领域的发展,推动了智能控制和算法设计的进步,增强了人工智能在实际应用中的影响力。
2. 提高生产效率:智能循迹避障小车可以应用于仓储物流、工业自动化等领域,可以替代人工完成重复、枯燥的任务,提高了生产效率和效益。
智能避障小车试验报告与总结

智能避障小车试验报告与总结专业班级:12自动化-3******学号:**********随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。
视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。
视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。
但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。
STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路速10位A/D转换(250K/S),针对电机控制,强干扰场合。
我们采用的就是STC12C5A60S2这种单片机。
避障系统可以采用反射式光电开关或者超声波传感器对前方的障碍物进行检测,前者结构简单,应用方便灵活,但不能获知障碍物与小车间的具体距离;后者结构复杂,但可以测得障碍物与小车间的直线距离。
本系统采用反射式光电开关E3F-DS10C4来检测障碍物。
E3F-DS10C4是漫反射式光电开关,NPN三线输出方式,三线分别为电源线、输出线、地线。
它的灵敏度也可以调节,检测距离比较远,可以达到20cm。
红外发射管,发射50hz调制的38k信号。
当遇到障碍物时,发生漫反射,红外接收头接收到这一信号时,输出端输出50hz的信号。
判断这一信号,即可判断,遇到了障碍物。
避障传感器基本原理,利用物体的反射性质。
在一定范围内,如果没有障碍物,发射出去红外线,因为传播距离越远而逐渐减弱,最后消失,或者反射回来的光很弱时,输出端呈低电平光电开关的检测不受外界干扰。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录摘要 (2)ABSTRACT (2)第一章绪论 (3)1.1智能小车的意义和作用 (3)1.2智能小车的现状 (3)第二章方案设计与论证 (4)2.1 主控系统 (4)2.2 电机驱动模块 (4)2.3 循迹模块 (6)2.4 避障模块 (7)2.5 机械系统 (7)2.6电源模块 (8)第三章硬件设计 (8)3.1总体设计 (8)3.2驱动电路 (9)3.3信号检测模块 (10)3.4主控电路 (11)第四章软件设计 (12)4.1主程序模块 (12)4.2电机驱动程序 (12)4.3循迹模块 (13)4.4避障模块 (15)第五章制作安装与调试 (18)结束语 (18)致谢 (19)参考文献 (19)智能循迹避障小车肖维物理与电子信息学院电子信息工程专业 2006级9班指导教师:刘汉奎摘要:利用红外对管检测黑线与障碍物,并以STC89C52单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。
其中小车驱动由L298N驱动电路完成,速度由单片机输出的PWM波控制。
关键词:智能小车;STC89C52单片机; L298N;红外对管Intelligent tracking and obstacle-avoid carXiao WeiSchool of Physics and Electronic Information,Grade 2006 Class 9 ,Instructor:Liu HankuiAbstract:Based infrared detection of black lines and the road obstacles, and use a STC89C52 MCU as the controlling core for the speed and direction, A electronic drived, which can automatic track and avoid the obstacle, 、Keywords: Smart Car; STC89C52 MCU; L298N; Infrared Emitting Diode第一章绪论1.1智能小车的意义和作用自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。
人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。
随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。
视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。
视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。
但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是一种实用有效的方法。
机器人要实现自动导引功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。
避障控制系统是基于自动导引小车(A VG—auto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。
使用传感器感知路线和障碍并作出判断和相应的执行动作。
该智能小车可以作为机器人的典型代表。
它可以分为三大组成部分:传感器检测部分、执行部分、CPU。
机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。
可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。
基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。
智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。
单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM 功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。
考虑到实际情况,本文选择第二种方案。
CPU使用STC89C52单片机,配合软件编程实现。
1.2智能小车的现状现智能小车发展很快,从智能玩具到其它各行业都有实质成果。
其基本可实现循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几节的电子设计大赛智能小车又在向声控系统发展。
比较出名的飞思卡尔智能小车更是走在前列。
我此次的设计主要实现循迹避障这两个功能。
第二章方案设计与论证根据要求,确定如下方案:在现有玩具电动车的基础上,加装光电检测器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。
这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。
2.1 主控系统根据设计要求,我认为此设计属于多输入量的复杂程序控制问题。
据此,拟定了以下两种方案并进行了综合的比较论证,具体如下:方案一:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。
CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。
但CPLD在控制上较单片机有较大的劣势。
同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。
若采用该方案,必将在控制上遇到许许多多不必要增加的难题。
为此,我们不采用该种方案,进而提出了第二种设想。
方案二:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。
充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。
这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。
因此,这种方案是一种较为理想的方案。
针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。
根据这些分析,我选定了P89C51RA单片机作为本设计的主控装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。
在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C52单片机的资源。
2.2 电机驱动模块方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。
方案二:采用电阻网络或数字电位器调节电动机的分压,从而达到分压的目的。
但电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。
更主要的问题在于一般的电动机电阻很小,但电流很大,分压不仅回降低效率,而且实现很困难。
方案三:采用功率三极管作为功率放大器的输出控制直流电机。
线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H型桥式电路(如图2.1)。
用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。
这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术。
现市面上有很多此种芯片,我选用了L298N(如图2.2)。
这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。
因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。
图2.1 H桥式电路图2.2 L298N2.3 循迹模块方案一:采用简易光电传感器结合外围电路探测,但实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响。
在使用过程极易出现问题,而且容易因为该部件造成整个系统的不稳定。
故最终未采用该方案。
方案二:采用两只红外对管(如图2.3),分别置于小车车身前轨道的两侧,根据两只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好两只光电开关的位置就可以很好的实现循迹的功能。
(参考文献[3])方案三:采用三只红外对管,一只置于轨道中间,两只置于轨道外侧,当小车脱离轨道时,即当置于中间的一只光电开关脱离轨道时,等待外面任一只检测到黑线后,做出相应的转向调整,直到中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶。
现场实测表明,小车在寻迹过程中有一定的左右摇摆不定,虽然可以正确的循迹但其成本与稳定性都次与第二种方案。
通过比较,我选取第二种方案来实现循迹。
图2.3 红外对管2.4 避障模块方案一:采用一只红外对管置于小车中央。
其安装简易,也可以检测到障碍物的存在,但难以确定小车在水平方向上是否会与障碍物相撞,也不易让小车做出精确的转向反应。
方案二:采用二只红外对管分别置于小车的前端两侧,方向与小车前进方向平行,对小车与障碍物相对距离和方位能作出较为准确的判别和及时反应。
但此方案过于依赖硬件、成本较高、缺乏创造性,而且置于小车左方的红外对管用到的几率很小,所以最终未采用。
方案三:采用一只红外对管置于小车右侧。
通过测试此种方案就能很好的实现小车避开障碍物,且充分的利用资源而不浪费。
(参考文献[3])通过比较我采用方案三。
2.5 机械系统本题目要求小车的机械系统稳定、灵活、简单,而三轮运动系统具备以上特点。
驱动部分:由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。
为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装了三级减速齿轮。
电池的安装:将电池放置在车体的电机前后位置,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。
简单,而三轮运动系统具备以上特点。
2.6电源模块方案一:采用实验室有线电源通过稳压芯片供电,其优点是可稳定的提供5V电压,但占用资源过大。
方案二:采用4支1.5V电池单电源供电,但6V的电压太小不能同时给单片机与与电机供电。
方案三:采用8支1.5V电池双电源分别给单片机与电机供电可解决方案二的问题且能让小车完成其功能。
所以,我选择了方案三来实现供电。