课程设计报告课程名称嵌入式系统原理与设计课题名称智能循迹小车专业通信工程班级1101班学号姓名指导老师2014年1月5日1/252/251.系统总设计1.1功能说明本课题是基于MSP430单片机循迹智能小车的设计与实现,小车系统以MSP430单片机为系统控制处理器,采用红外传感器对赛道进行道路检测,单片机根据检测到的信号的不同状态判断小车的当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车的控制。文档来自于网络搜索1.2任务分配情况参与此次项目制作的一共七人,分别是:张振凤,冯志成,肖新加,戴小敏,杨小林,谢鹏华和张莹任务分配情况如表1所示:文档来自于网络搜索表1任务分配情况冯志成张莹红外循迹模块肖新加,代小敏,杨小林电机驱动模块张振凤谢鹏华写程序,各接口的连接,数据的收集及小车的调试1.3使用说明书产品名称:智能循迹小车技术参数:L298N基本参数:类型:半桥输入类型:非反相输出数:4电流输出/同道:2A电流峰值输出:3A工作温度:-25~135°C器件型号:L298N产品的使用方法:用六节干电池9V直流电压作为供电电源,接通电源,在有黑线的跑道上行走。注意事项:1、所用电源不能超过9V,以免电压过大,把电机烧坏。2、小孩使用时,应在大人的陪同下使用,以免被小车的尖锐部分弄伤。3、轻拿轻放,以免损坏小车器件。4、长期不使用时,应把电池取出。生产日期:20xx年xx月xx日2.硬件设计此次项目中硬件部分的设计主要包含以下模块:电源模块,红外循迹模块,电机驱3/25动模块和MSP430f149单片机。文档来自于网络搜索2.1电源模块模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。在本设计中,在本设计中,msp430单片机使用5V电源,电机使用5V电源。用了6节1.5V的电池,为单片机和电机供电。如图所示:文档来自于网络搜索图1电源实物图其红线接电机驱动模块上的VDD接口,绿线连接GND接口。2.2红外循迹模块采用光敏二极管作为光源探测模块的传感器,由于光敏二极管感光后,内阻有较大的变化,通过一定的电路转化为电压的变化。其实物图为:文档来自于网络搜索图2红外循迹模块实物图图中的SSI至SS5分别连接单片机I/O接口的P3.0到P3.4。分别控制五个光敏二极管,当没有检测到黑线,则指示灯不亮,则为高电平。有检测到黑线,则指示灯亮,为低电平。从而判断出小车是否能够循迹走。文档来自于网络搜索2.2.1红外循迹模块原理图4/25采用比较器对5个二极管的输出电压进行比较,光敏二极管引起的电压变化送到比较器的反相端与基准信号进行比较,将结果输入到单片机执行判断。基于的寻光电压比较电路:二号管脚为基准电压输入端,将需要进行比较的电压输入到三号管脚,如果比基电压的值大,则一号管脚输出为高电平,反之为低电平。其原理图为:文档来自于网络搜索图4红外循迹模块原理图在板子的下面有五个循迹传感器,其实图为:图5循迹传感器通过这五个传感器检测,没有检测到黑线,则H4发光到白纸光反射到H4接收端,H4接收端导通,导通则T1接地=0,指示灯不亮,则为高电平。有检测到黑线,则H4发光到黑线光全部被吸收,H4接收端,没有收到任何信号,因为H4不导通(截止),则T1=VCC,指示灯亮,为低电平。文档来自于网络搜索2.2.2红外循迹模块构造红外循迹模块由循迹传感器,触碰传感器,测距距离调节器组成,其元件清单如下表5/25所示:表2红外循迹模块元件清单SSI至SS5分别连接单片机I/O接口的P3.0到P3.4。2.3电机驱动模块电机驱动芯片L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。IN1IN2IN3IN4脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。也利用单片机产生PWM信号接到ENA,ENB端子,对电机的转速进行调节。其实物图为:文档来自于网络搜索图6电机驱动模块实物图2.3.1L298N原理图序号名称个数作用1循迹传感器5个循迹作用2碰触传感器1个检查障碍物3测距距离调节器1个调节与地面的高度6/25123456ABCD654321DCBATitleNumberRevisionSizeBDate:27-Nov-2008SheetofFile:C:\DocumentsandSettings\Administrator\桌面\报告\灭火机器人硬件设计.DdbDrawnBy:IN15IN27IN310IN412ENA6ENB11GND1GND15GND8VSS4VCC9OUT12OUT23OUT313OUT414U1L298NA-+MG1MOTORRIGHTA-+MG2MOTORLEFTD14007D54007D34007D44007D24007D74007D84007D64007123456J1单片机引脚P3.1P3.3P3.5P3.7P4.2P4.4IN15IN27IN310IN412ENA6ENB11GND1GND15GND8VSS4VCC9OUT12OUT23OUT313OUT414U2L298N+12V+12V+12V+12V+5V+5V小车电机驱动IN15IN27IN310IN412ENA6ENB11GND1GND15GND8VSS4VCC9OUT12OUT23OUT313OUT414U3L298NA-+灭火风扇灭火风扇驱动123J2CON3P5.7GND+5V图7L298N原理图L298可驱动2个电机,OUT1、OUT2和OUT3、OUT4之间分别接2个电动机。IN1IN2IN3IN4脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。也利用单片机产生PWM信号接到ENA,ENB端子,对电机的转速进行调节。其L298N逻辑功能图为:文档来自于网络搜索表3L298N的逻辑功能图其OUT1、OUT2和OUT3、OUT4之间分别接2个电动机,IN1IN2IN3IN4脚接输入控制电平,控制电机的正反转,P4.0~4.3分别连接IN1~IN4。文档来自于网络搜索2.3.2L298N构造电机驱动芯片L298N包括LED发光二极管、续流二极管、极性电容、稳压器、散热片、IN1(IN3)IN2(IN4)ENA电机状态011正转101反转000停止111停止7/25接线端子、L298N、一般电容等元件组成,其作用如下表所示:文档来自于网络搜索表4L298N元件清单2.3.3直流电机驱动原理(1)其内部采用H桥驱动电路,如图所示:图8H桥驱动电路H桥式电机驱动电路包括四个三极管和一个电机,其外形像大写字母H,故叫做H桥驱动电路。要使电机M运转,必须使对角线上的一对三极管导通,其驱动原理示意图如图所示:序号名称个数作用1LED发光二极管4个信号指示2续流二极管8个芯片续流保护3极性电容2个滤波作用4稳压器1个稳压输出5散热片1个驱动芯片散热6接线端子3个7L298N1个电机驱动芯片8一般电容2个滤波作用8/25图9驱动原理示意图H桥式电机驱动电路,利用PWM波对其转速。(2)功能对于单项的电机驱动,只要用一个大功率的三极管带动电机即可,当电机需要双向转动时,则需要四个三极管的’H’桥电路,如果需要调速,则需要三极管和场效应管等开关元件实现PWM波调速。文档来自于网络搜索(3)性能1.输出电流和电压的范围,它决定电路能驱动多大功率电机。2.效率。3.对控制输入端的影响。4.对电源的影响。5.可靠性。2.4主控制模块本项目的控制芯片均采用MSP430F149芯片,这是一款TI生产的以低功耗著称的16位单片机。其在1MHz的时钟条件下运行时,芯片的电流最低会在165μA左右,RAM保持模式下的最低功耗只有0.1μA。座位显示屏最靠电力工作,采用这款芯片降低了功耗,增强了其使用的周期时间,节约了能源。实物图如图所示:文档来自于网络搜索9/25图10MSP430F149单片机实物图小车采用MSP430F149单片机作为控制芯片,系统硬件组成共包括九个模块,分别为MSP430F149单片机最小系统模块,4路A/D转换模块,D/A转换模块,键盘数码管显示模块,温度传感器模块,实时时钟模块,非易失性存储器模块,液晶显示模块,2路串口通信接口模块。系统软件组成为各个功能模块程序设计,包括七个部分,分别为A/D转换程序,温度传感器显示当前环境中的温度,用液晶来显示实时时钟,通过串口向单片机发送字符,单片机又发回字符给电脑,D/A输出方波,非易失性存储器的读写。文档来自于网络搜索10/25MSP430F149单片机最小系统A/D转换模块D/A转换模块温度传感器模块实时时钟模块非易性存储器模块键盘数码管显示模块液晶显示模块电平转换上位机图11MSP430F149单片机最小系统MSP430系列单片机提供三个时钟信号以供给片内各部分电路使用,这三个时钟源分别是:辅助时钟信号(ACLK),来自32.768kHz晶振或者另一个外接高频晶振,一般用于低速外设;主时钟信号(MCLK),CPU正常运行时使用的主时钟,一般由8MHz外接晶振提供;子系统时钟(SMCLK),主要用于高速外围模块。在本实验中我们采用了主时钟信号(MCLK)。文档来自于网络搜索图12msp430f149单片机的I/O引脚图在单片机的I/O接口中,P1.2和P1.3连接两个PWM波的输出,P3.0~3.4分别连接红外循迹模块上的控制五个红外对管的五个引脚,P4.0~4.3分别连接IN1~IN4.文档收集自网络,仅用于个人学习11/25图13MSP430F149单片机原理图将PWM波植入单片机中,然后通过单片机控制电机,PWM波控制速度,在转弯的时候,通过改变PWM波中的占空比而达到转弯,转弯有两种方案:一种是一边不转,另一边转动而达到转弯的效果;另一方案则为一边转的快一边转的慢,从而达到转弯的效果。文档收集自网络,仅用于个人学习3.软件设计PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。文档收集自网络,仅用于个人学习在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。也正因为如此,PWM又被称为“开关驱动装置”。文档收集自网络,仅用于个人学习小车利用PWM波控制速度,在转弯的时候,通过改变PWM波中的占空比而达到转弯,转弯有两种方案:一种是一边不转,另一边转动而达到转弯的效果;另一方案则为一边转的快一边转的慢,从而达到转弯的效果。在本实验中,我们采用了第二个方案。文档收集自网络,仅用于个人学习12/25图14PWM波在这我们用了模式7,复位/置位模式。我们利用两个PWM波分别控制两个电机,利用PWM波中的占空比不同而达到转弯的效果。其程序为:voidInit_PWM(void){TACTL=TASSEL1+MC0+TACLR;//TimerA选择MCLK时钟,不分频,增计数模式,CCTL1=OUTMOD2+OUTMOD1+OUTMOD0+CCIE;P1DIR|=0X0C;P1SEL|=0X0C;//捕获,比较模块1选定为输出比较模式,输出模式7,禁止比较中断CCTL2=OUTMOD2+OUTMOD1+OUTMOD0+CCIE;//捕获,比较模块2选定为输出比较模式,输出模式7,禁止比较中断CCR0=8000;}/*******设置PWM1的占空比*******/13/25voidSet_PWM1_Duty(ucharduty){