中国计量学院现代科技学院课程设计报告1中国计量学院现代科技学院课程设计报告课程设计名称:简易智能小车系(部):计测工程系学号:0930221111专业:测控技术与仪器姓名:黄雪琴班级:测控091指导老师:2012年4月28日中国计量学院现代科技学院课程设计报告2目录一、系统介绍1.1摘要………………………………………………………………………………31.2关键字……………………………………………………………………………3二、系统硬件总体设计2.1方案论证与比较……………………………………………………………………32.2方案确定……………………………………………………………………………42.2.1控制器模块……………………………………………………………………42.2.2电机驱动模块…………………………………………………………………42.2.3探光模块………………………………………………………………………42.2.4避障模块………………………………………………………………………52.2.5金属检测模块…………………………………………………………………52.2.6LM298PWN调车速部分…………………………………………………………5三、硬件电路设计与分析3.1控制器模块………………………………………………………………………53.2电机驱动模块……………………………………………………………………6四、系统软件设计4.1系统软件设计框图……………………………………………………………74.2PWN调速控制程序………………………………………………………………7五、讨论及进一步研究建议……………………………………………………………8六、设计心得与体会……………………………………………………………………8七、参考文献……………………………………………………………………………8中国计量学院现代科技学院课程设计报告3一、系统介绍智能车辆是一个运用计算机、传感、信息、通信、导航、人工智能及自动控制等技术来实现环境感知、规划决策和自动行驶为一体的高新技术综合体.它在军事、民用和科学研究等方面已获得了应用,对解决道路交通安全提供了一种新的途径。本文介绍的是一款采用两片AT89S52单片机和LM298N为驱动直流电机的控制器其性价高,体积小,易操作,稳定度高。以单片机为核心能按键调节直流电机速度为主,设计一基于单片机的直流小电机驱动系统;实现正反转控制;实现速度调节;启动,停止,正反转,调速,并且显示在“直道区”检测到的薄铁片数目。电动车在光源的引导下,通过障碍进入停车区并到达车库,统计时间。1.1摘要本文提供一种以AT89S52为核心、制作了一款智能小车,功能强大。小车具有以下几个功能:自动避障功能;寻迹功能(按路面的黑色轨道行驶);趋光功能(寻找前方的点光源并行驶到位);检测路面所放置的铁片的个数的功能;用霍尔传感器实现薄铁片的检测,用光敏电阻实现探测光源。计算并显示所走的路程和行走的时间,并可发声发光。作品可以作为高级智能玩具,也可以作为大学生学习嵌入式控制的强有力的应用实例。1.2关键字:智能小车传感器AT89S52循迹趋光二、系统硬件总体设计设计一个直流电机小车系统,用L298N驱动电机,可加减速调节;用红外发射和接收传感器控制小车在规定区域行走,用红外传感器实现壁障,用霍尔传感器实现薄铁片的检测,用光敏电阻实现探测光源。2.1方案论证和比较方案一:采用可编程逻辑器件CPLD作为控制器。采用步进电机控制的小车,利用H桥电路的电机驱动模块。采用6节5号干电池供电。用激光传感器进行避障。TS-D06N1型金属接近开关。采用红外发射接收管来探测黑线。光敏电阻探测光源。单片机进行声光报警和蜂鸣器进行声报警。使用LCD1602来显示。方案二:采用AT89S52单片机。采用直流电机控制的小车。用基于L298n的电机驱动模块。采用直流稳压电源。用E3F-DS5C2型红外光电开关进行避障。使用LJ30A3-15-Z/BX金属接近传感器。采用RPR-220红外光电传感器来探测黑线。光敏电阻探测光源。单片机进行声光报警和蜂鸣器进行声报警。使用LCD1602来显示。中国计量学院现代科技学院课程设计报告42.2确定方案经过比较方案二经济又易于实现,故采用。2.2.1控制器模块:AT89S52有8K字节在系统可编程Flash存储器、32个可编程I/O口线、三个16位定时器/计数器、八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符,适合小系统使用,因此我用AT59S52单片机作为控制器。2.2.2电机驱动模块方案一中:利用H桥电路的电机驱动模块。此种电路包含若干个三极管及外围电阻等器件,通用性强,功能强大。通过对相关端口的写入,能够实现两电机正反转和pwm调速。但是,由于三极管本身工作电流的限制,此电路不能够驱动大功率电机,并且电路暴露在外部导致稳定性不高,所以我们放弃使用该方案。方案二中:基于L298n的电机驱动模块。L298N是一款专门用于驱动电动机的芯片,具有高集成度、高功率的特点,其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,减速电机,伺服电机,电磁阀等,较少的外围电路(仅需要保护用的二极管和滤波电容)便可以很好地驱动大功率的电机。其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可以直接控制两路电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。而且模块体积小,稳定性高。综上所述,选择L298N及外围电路作为电机驱动模块。2.2.3探光模块寻找光源功能方案一:在小车前面装上几个光电开关,通过不同方向射来的光使光电开关工作,从而对小车行驶方向进行控制,根据光电开关特性,只有当光达到一定强度时才能够导通,因此带有一定的局限性。方案二:在小车前面装上参数一致的光敏二极管或者光敏电阻,再通过A/D转换红外光电避障加光敏电阻探测光源AT89S52单片机L298N电机驱动LCD1602显示直流稳压电源红外发射接收管探测黑线LJ30A3-15-Z/BX金属探测中国计量学院现代科技学院课程设计报告5电路转换成数字量送入单片机,单片机再对读入的几路数据进行存储、比较,然后发出命令对外围进操作。对方案一、二进行比较,方案二硬件稍为复杂,但能够对不同强度的光进行采集以及比较,操作灵活,所以采用方案二。2.2.4避障模块用红外光电开关进行避障。光电开关的工作原理:红外发射二极管发射红外线,如果遇到障碍物后,光线反射回来,接受的光感三极管导通,单片机接受到相应的电平信号。红外避障模块造价低,外围电路简单稳定。实际实验中,模块灵敏迅速,而且通过调节电路的可变电阻能够实现对感知距离的改变(0-30cm)。此方案的缺点是对额定电压要求比较高,必须在5v左右,但是通过对整体系统的改造(适量提高供电电压),我可以完全克服这个问题,通过LM393电压比较器即可实现。2.2.5金属检测模块:方案1中:采用TS-D06N1型金属接近开关。此模块工作在10-36V,在9V下虽然也能正常工作,但是距离大于4mm的金属就不能被检测到。所以我放弃这方案。方案2中:使用LJ30A3-15-Z/BX金属接近传感器。这种传感器工作在+6-+36V,在9V时在2cm左右,探测距离较大,所以我选用这方案。2.2.6LM298PWN调车速部分:PWM调速原理:PWM的原理:PWM(PulseWidthModulation)控制——脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。只要控制LM298N的两个使能端的脉冲宽度也就是高低电平的占空比,就可控制电机的转向和速度,且可以达到动态静止,有利于正反转死区的消除。占空比:就是输出的PWM中,高电平保持的时间与该PWM的时钟周期的时间之比如,一个PWM的频率是1000Hz,那么它的时钟周期就是1ms,就是1000us,如果高电平出现的时间是200us,那么低电平的时间肯定是800us,那么占空比就是200:1000,也就是说PWM的占空比就是1:5。软件实现PWN调节:本小车使用了单片机定时器1us产生一次中断,以10us为一个周期时间。可以很好的控制高低电平的时间,高电平可以在1,2,3,4,5,6,7,8,9,10毫秒之间任意按需要按键调节,从而调节了PWM的占空比。三、硬件电路设计与分析3.1控制器模块:我使用2片AT89S52单片机为核心制作单片机最小系统,可作为启动、停止等按键。各单片机使用单片机上的外部中断管脚进行通信。中国计量学院现代科技学院课程设计报告6P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0-RXD10P3.1-TXD11P3.2-INT012P3.3-INT113P3.4-T014P3.5-T115P2.021P2.122P2.223P2.324P2.425P2.526P2.627P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039P2.728P3.6-WR16P3.7-RD17ALE30EA31VCC40GND20RST989SXXXTAL118XTAL219PSEN29AT89S5124MHzC330pC430p+5C20.1uFR24.7KR147K+C110u+5R84.7kR94.7kR104.7kR114.7kR144.7kR124.7kR134.7kR154.7k+5S1F+S2F-S3F_stepS4Range+S5Range-DDS_Ctr0DDS_Ctr1DDS_Ctr2DDS_Ctr3DDS_Ctr4DDS_Ctr5DDS_Ctr6DDS_Ctr7DDS_Ctr_/INT074HC164_SDA74HC164_SCLD1LED_1HzD2LED_10HzD3LED_100HzD4LED_1KHzD5LED_10KHzR34.7kR44.7kR54.7kR64.7kR74.7k+5图1单片机最小系统3.2电机驱动模块:恒压恒流桥式2A驱动芯片L298NL298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。可以方便的驱动两个直流电机。L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。4脚VS接电源电压,VS电压范围VIH为+2.5~46V。输出电流可达2.5A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本次制作选用驱动小车左右两台直流电动机,供给+5V和+9V电压。图3L298N电机驱动模块四、系统软件设计:系统软件编程采用C语言实现了PWN调速功能和功能构架的实现,对功能实现和PWN波形控制,实现数据显示以及两机通信。为了方便系统管理和功能扩展,本系统软件采中国计量学院现代科技学院课程设计报告7用模块化结构设计,使程序间的逻辑层次更加简明。整个程序大部分的编译和调试都在KeiluVision3的集成开发环境下来完成。4.1系统软件设计框图:4.2PWN调速控制程序:voidpwmout(){TMOD|=0x01;//定时器设置1msin12McrystalTH0=(65536-1000)/256;TL0=(65536-1000)%256;//定时0.5mSIE=0x82;//打开中断TR0=1;CYCLE=10;//时间可以调整这个是10步调整周while(1){if(!KEY1)//加速键{delay(30000);if(!KEY1){PWM_Num++;dangwei(PWM_Num);}}if(!KEY2)//减速键{delay(30000)if(!KEY2){PWM_Num--;dangwei(PWM_Num);}