ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:366.96KB ,
资源ID:18936354      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/18936354.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(红外自动循迹小车Word格式.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

红外自动循迹小车Word格式.docx

1、红外探测器探测距离有限, 2.2控制系统总体设计自动循迹小车控制系统由主控制电路模块、稳压电源模块、红外检测模块、电机及驱动模块等部分组成,控制系统的结构框图如图2-1 所示。1、主控制电路模块:用AT89C51单片机、复位电路,时钟电路2、红外检测模块:光电传感器ST188,比较器LM3243、电机及驱动模块:电机驱动芯片L298N、两个直流电机4、电源模块:双路开关电源3.系统方案3.1 寻迹传感器模块ST系列反射式光电传感器是经常使用的传感器。这个系列的传感器种类齐全、价格便宜、体积小、使用方便、质量可靠、用途广泛。我们采用ST188作为红外检测传感器。在黑线检测的测试中,若检测到白色区

2、域,发射管发射的红外线没有反射到接收管,测量接收管的电压为48V ,若检测到黑色区域,接收管接受到发射管发射的红外线,电阻发生变化,所分得的电压也就随之发生变化,测的接收管的电压为05V,测试基本满足要求。判断有无黑线我们用的一块比较器LM324, 比较基准电压由30K的变阻器调节,各个接收管的参数都不一致,每个传感器的比较基准电压也不尽相同,我们为每个传感器配备了一个变阻器。3.1.1红外传感器ST188简介含一个反射模块(发光二极管)和一个接收模块(光敏三极管)。通过发射红外信号,看接收信号变化判断检测物体状态的变化。A、K之间接发光二极管,C、E之间接光敏三极管(二者在电路中均正接,但要

3、串联一定阻值的电阻)图 3-1 ST188实物图 图 3-2 ST188管脚图及内部电路3.1.2比较器LM324简介LM324为四运放集成电路,采用14脚双列直插塑料封装。内部有四个运算放大器,有相位补偿电路。电路功耗很小,工作电压范围宽,可用正电源330V,或正负双电源15V15V工作。在黑线检测电路中用来确定红外接收信号电平的高低,以电平高低判定黑线有无。在电路中,LM324的一个输入端需接滑动变阻器,通过改变滑动变阻器的阻值来提供合适的比较电压。图 3-3 LM324内部电路 图 3-4 集成运放的管脚图3.1.3具体电路通过ST188检测黑线,输出接收到的信号给LM324 ,接收电压

4、与比较电压比较后,输出信号变为高低电平,再输入到单片机中,用以判定是否检测到黑线。图3-5 传感器模块电路图3.1.4传感器安装 在小车具体的循迹行走过程中,为了能精确测定黑线位置并确定小车行走的方向,需要同时在底盘装设4个红外探测头,进行两级方向纠正控制,提高其循迹的可靠性。这4个红外探头的具体位置如图3-6所示。 图3-6 传感器安装图图中循迹传感器全部在一条直线上。其中X1与Y1为第一级方向控制传感器,X2与Y2为第二级方向控制传感器,并且黑线同一边的两个传感器之间的宽度不得大于黑线的宽度。小车前进时,始终保持(如图3-6中所示的行走轨迹黑线)在X1和Y1这两个第一级传感器之间,当小车偏

5、离黑线时,第一级传感器就能检测到黑线,把检测的信号送给小车的处理、控制系统,控制系统发出信号对小车轨迹予以纠正。若小车回到了轨道上,即4个探测器都只检测到白纸,则小车会继续行走;若小车由于惯性过大依旧偏离轨道,越出了第一级两个探测器的探测范围,这时第二级探测器动作,再次对小车的运动进行纠正,使之回到正确轨道上去。可以看出,第二级方向探测器实际是第一级的后备保护,从而提高了小车循迹的可靠性。3.2控制器模块采用Atmel 公司的AT89C51 单片机作为主控制器。它是一个低功耗,高性能的8 位单片机,片内含32k 空间的可反复擦写100,000 次Flash 只读存储器,具有4K 的随机存取数据

6、存储器(RAM),32 个I/O口,2个8位可编程定时计数器,且可在线编程、调试,方便地实现程序的下载与整机的调试。时钟电路和复位电路 如图3-7(与单片机构成最小系统)1)采用外部时钟,晶振频率为12MHZ2)采用按键复位图3-7 时钟电路和复位电路3.3电源模块 电源采用双路开关电源。明伟牌D-30W双路开关电源。输出(5V、12V)。实物图如图3-8所示。 图3-8双路开关电源该开关电源尺寸为129X98X38mm,交流输入转换由开关选择,具有过流短路保护功能,能自冷散热。低价位、高可靠。输入电压范围-85132VAC/175264VAC,4763Hz开关选择;冲击电流-冷起动电流15A

7、/115V 30A/230V;直流电压可调范围-额定输出电压的10%;启动、上升、保持时间-200ms,100ms,30ms;耐压性-输入输出间;输入与外壳1.5KVAC,输出与外壳,0.5KVAC,历时一分钟;工作温度、湿度- -10+60,20%90%RH;安全标准-符合CE标准;EMC标准-符合CE标准;连接方法-7位9.5mm接线端子;质量/包装-0.41Kg,45PCS/19.5Kg/1.2CUFT表1型号输出差值范围效率D-30A5V,0.5V 4.04A2%50mV72%12V,0.1 1.0A3,-7%100mV3.4电机及驱动模块3.4.1电机 电机采用直流减速电机,直流减速

8、电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。可选用减速比为1:74 的直流电机,减速后电机的转速为100r/min。若车轮直径为6cm,则小车的最大速度可以达到V=2rv=2*3.14*0.03*100/60=0.314m/s能够较好的满足系统的要求。3.4.2驱动驱动模块采用专用芯片L298N 作为电机驱动芯片,L298N 是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一片L298N可以分别控制两个直流电机。以下为L298N的引脚图和输入输出关系表。图3-9 L298N外部引脚 表2 L298N输入输

9、出关系驱动电路的设计如图3-10 所示:图3-10 L298N电机驱动电路L298N 的5、7、10、12 四个引脚接到单片机上,通过对单片机的编程就可实现两个直流电机的PWM调速控制。3.5自动循迹小车总体设计3.5.1总体电路图图3-11 总体电路图3.5.2系统总体说明如图3-11所示,当光电传感器开始接受信号,通过比较器将信号传如单片机中。小车进入寻迹模式,即开始不停地扫描与探测器连接的单片I/O 口,一旦检测到某个I/O 口有信号变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的状态。单片机采用T0定时计数器,通过来产生PWM波,控制电机转速。4.软件设计4.1 PW

10、M控制本系统采用PWM来调节直流电机的速度。PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,如电机调速、温度控制、压力控制等。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。因此,PWM又被称为“开关驱动装置”。在脉冲作用下,当电机通电时,速度增加;电机断电时,速度逐渐减少。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。本系统中通过控制51单片机的定

11、时器T0的初值,从而可以实现P0.4和P0.5输出口输出不同占空比的脉冲波形。定时计数器若干时间(比如0.1ms)中断一次, 就使P0.4或P0.5产生一个高电平或低电平。 将直流电机的速度分为100个等级, 因此一个周期就有个100脉冲, 周期为100个脉冲的时间。速度等级对应一个周期的高电平脉冲的个数。占空比为高电平脉冲个数占一个周期总脉冲个数的百分数。一个周期加在电机两端的电压为脉冲高电压乘以占空比。占空比越大, 加在电机两端的电压越大, 电机转动越快。电机的平均速度等于在一定的占空比下电机的最大速度乘以占空比。当我们改变占空比时, 就可以得到不同的电机平均速度, 从而达到调速的目的。精

12、确地讲, 平均速度与占空比并不是严格的线性关系, 在一般的应用中, 可以将其近似地看成线性关系。4.2 总体软件流程图小车进入寻迹模式后,即开始不停地扫描与探测器连接的单片I/O 口,一旦检测到某个I/O 口有信号变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的状态。软件的主程序流程图如图4-1所示:4.3小车循迹流程图小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序,先确定4个探测器中的哪一个探测到了黑线,如果左面第一级传感器或者左面第二级传感器探测到黑线,即小车左半部分压到黑线,车身向右偏出,此时应使小车向

13、左转;如果是右面第一级传感器或右面第二级传感器探测到了黑线,即车身右半部压住黑线,小车向左偏出了轨迹,则应使小车向右转。在经过了方向调整后,小车再继续向前行走,并继续探测黑线重复上述动作。循迹流程图如图4-2所示由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。第二级通常是在超出第一级的控制范围的情况下发生作用,它也是最后一层保护,所以它必须要保证小车回到正确轨迹上来,则通常使第二级转向力度大于第一级,即Turn_left2 Turn_left1,Turn_right2 Turn_right1 (其中Turn_left2,Turn_left1, Turn_right2 ,

14、Turn_right1为小车转向力度,其大小通过改变单片机输出的占空比的大小来改变),具体数值在实地实验中得到。4.4中断程序流程图这里利用的是51单片机的T0定时计数器,从而让单片机P0口的P0.4和P0.5引脚输出占空比不同的方波, 然后经驱动芯片放大后控制直流电机。定时计数器若干时间(比如0.1ms)比如中断一次, 就使P0.4或P0.5产生一个高电平或低电平。中断程序流程图如图4-3所示4.5单片机测序#include#define uchar unsigned char#define uint unsigned intunsigned char zkb1=0 ; /*左边电机的占空比

15、*/unsigned char zkb2=0 ; /*右边电机的占空比*/unsigned char t=0; /*定时器中断计数器*/sbit RSEN1=P10;sbit RSEN2=P11;sbit LSEN1=P12;sbit LSEN2=P13;sbit IN1=P00;sbit IN2=P01;sbit IN3=P02;sbit IN4=P03;sbit ENA=P04;sbit ENB=P05;/*延时函数*/void delay(int z) while (z-); /*初始化定时器,中断*/void init() TMOD=0x01; TH0=(65536-100)/256;

16、 TL0=(65536-100)%256; EA=1; ET0=1; TR0=1;/*中断函数+脉宽调制*/void timer0() interrupt 1 if(tzkb1) ENA=1; else ENA=0; if(t=100) t=0;/*直行*/void qianjin() zkb1=30; zkb2=30;/*左转函数1*/void turn_left1() zkb1=0; zkb2=50;/*左转函数2*/void turn_left2() zkb2=60;/*右转函数1*/void turn_right1() zkb1=50; zkb2=0;/*右转函数2*/void tur

17、n_right2() zkb1=60; zkb2=0;/*循迹函数*/void xunji() uchar flag; if(RSEN1=1)&(RSEN2=1)&(LSEN1=1)&(LSEN2=1) flag=0; /*直行*/ else if(RSEN1=0)& flag=1; /*左偏1,右转1*/(RSEN2=0)& flag=2; /*左偏2,右转2*/ else if(RSEN1=1)&(LSEN1=0)& flag=3; /*右偏1,左转1*/(LSEN2=0) flag=4; /*右偏2,左转2*/ switch (flag) case 0:qianjin(); break;

18、 case 1:turn_right1(); case 2:turn_right2(); case 3:turn_left1(); case 4:turn_left2(); default:/*主程序*/void main() init(); zkb1=30; zkb2=30; while(1) IN1=1; /*给电机加电启动*/ IN2=0; IN3=1; IN4=0; xunji(); /*寻迹*/5参考资料1 宋健,姜军生,赵文亮. 基于单片机的直流电动机PWM 调速系统J . 农机化研究,2006 , (1) :102 - 103.2 边春元 李文涛 江杰 杜平等;C51单片机典型模块设计与应用;机械工业出版社;2008.43 李华. MCS- 51 系列单片机实用接口技术M.北京:航空航天大学出版社, 20034 楼然苗.51 单片机设计实例M.北京:航空航天大学出版社,2005.85 王晶,翁显耀,梁业宗 自动寻迹小车的传感器模块设计.武汉理工大学自动化学院湖北武汉6 刘迎春. 传感器原理设计与应用M . 长沙:国防科技大学出版社,1992.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1