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