当前位置:文档之家› 基于MSP430单片机循迹小车

基于MSP430单片机循迹小车

课程设计报告课程名称嵌入式系统原理与设计课题名称智能循迹小车专业通信工程班级1101班学号姓名指导老师2014 年 1 月 5 日1.系统总设计1.1 功能说明本课题是基于MSP430单片机循迹智能小车的设计与实现,小车系统以MSP430单片机为系统控制处理器,采用红外传感器对赛道进行道路检测,单片机根据检测到的信号的不同状态判断小车的当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车的控制。

1.2 任务分配情况参与此次项目制作的一共七人,分别是:张振凤,冯志成,肖新加,戴小敏,杨小林,谢鹏华和张莹任务分配情况如表1所示:1.3 使用说明书产品名称:智能循迹小车技术参数:L298N基本参数:类型:半桥输入类型:非反相输出数: 4电流输出/同道:2A 电流峰值输出:3A工作温度:-25~135°C 器件型号:L298N产品的使用方法:用六节干电池9V直流电压作为供电电源,接通电源,在有黑线的跑道上行走。

注意事项:1、所用电源不能超过9V,以免电压过大,把电机烧坏。

2、小孩使用时,应在大人的陪同下使用,以免被小车的尖锐部分弄伤。

3、轻拿轻放,以免损坏小车器件。

4、长期不使用时,应把电池取出。

生产日期:20xx年xx月xx日2.硬件设计此次项目中硬件部分的设计主要包含以下模块:电源模块,红外循迹模块,电机驱动模块和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 红外循迹模块原理图采用比较器对 5 个二极管的输出电压进行比较,光敏二极管引起的电压变化送到比较器的反相端与基准信号进行比较,将结果输入到单片机执行判断。

基于的寻光电压比较电路:二号管脚为基准电压输入端,将需要进行比较的电压输入到三号管脚,如果比基电压的值大,则一号管脚输出为高电平,反之为低电平。

其原理图为:图4 红外循迹模块原理图在板子的下面有五个循迹传感器,其实图为:图5 循迹传感器通过这五个传感器检测,没有检测到黑线,则H4发光到白纸光反射到H4接收端,H4接收端导通,导通则T1接地=0,指示灯不亮,则为高电平。

有检测到黑线,则H4发光到黑线光全部被吸收,H4接收端,没有收到任何信号,因为H4不导通(截止),则T1=VCC,指示灯亮,为低电平。

2.2.2 红外循迹模块构造红外循迹模块由循迹传感器,触碰传感器,测距距离调节器组成,其元件清单如下表所示:表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个电动机。

IN1IN2 IN3 IN4脚接输入控制电平,控制电机的正反转,ENA ,ENB 接控制使能端,控制电机的停转。

也利用单片机产生PWM 信号接到ENA ,ENB 端子,对电机的转速进行调节。

其实物图为:图6 电机驱动模块实物图2.3.1 L298N 原理图序号 名称 个数 作用 1 循迹传感器 5个 循迹作用 2 碰触传感器1个检查障碍物 3测距距离调节器 1个调节与地面的高度其OUT1、OUT2和OUT3、OUT4之间分别接2个电动机,IN1IN2 IN3 IN4脚接输入控制电平,控制电机的正反转,P4.0~4.3分别连接IN1~IN4。

2.3.2 L298N构造电机驱动芯片L298N包括LED发光二极管、续流二极管、极性电容、稳压器、散热片、接线端子、L298N、一般电容等元件组成,其作用如下表所示:表4 L298N元件清单序号名称个数作用1 LED发光二极管 4个信号指示2 续流二极管 8个芯片续流保护3 极性电容 2个滤波作用4 稳压器 1个稳压输出5 散热片 1个驱动芯片散热6 接线端子 3个7 L298N 1个电机驱动芯片8 一般电容 2个滤波作用2.3.3 直流电机驱动原理(1)其内部采用H桥驱动电路,如图所示:图8 H桥驱动电路H桥式电机驱动电路包括四个三极管和一个电机,其外形像大写字母H,故叫做H 桥驱动电路。

要使电机M运转,必须使对角线上的一对三极管导通,其驱动原理示意图如图所示:图9 驱动原理示意图H桥式电机驱动电路,利用PWM波对其转速。

(2)功能对于单项的电机驱动,只要用一个大功率的三极管带动电机即可,当电机需要双向转动时,则需要四个三极管的’H’桥电路,如果需要调速,则需要三极管和场效应管等开关元件实现PWM波调速。

(3)性能1.输出电流和电压的范围,它决定电路能驱动多大功率电机。

2.效率。

3.对控制输入端的影响。

4.对电源的影响。

5.可靠性。

2.4 主控制模块本项目的控制芯片均采用MSP430F149芯片,这是一款TI生产的以低功耗著称的16位单片机。

其在1MHz 的时钟条件下运行时,芯片的电流最低会在165μA左右,RAM 保持模式下的最低功耗只有0.1μA。

座位显示屏最靠电力工作,采用这款芯片降低了功耗,增强了其使用的周期时间,节约了能源。

实物图如图所示:图10 MSP430F149单片机实物图小车采用MSP430F149单片机作为控制芯片 ,系统硬件组成共包括九个模块,分别为MSP430F149单片机最小系统模块,4路A/D 转换模块,D/A 转换模块,键盘数码管显示模块,温度传感器模块,实时时钟模块,非易失性存储器模块,液晶显示模块,2路串口通信接口模块。

系统软件组成为各个功能模块程序设计,包括七个部分,分别为A/D 转换程序,温度传感器显示当前环境中的温度,用液晶来显示实时时钟,通过串口向单片机发送字符,单片机又发回字符给电脑,D/A 输出方波,非易失性存储器的读写。

MSP430F149单片机最小系统A/D 转换模块D/A 转换模块温度传感器模块实时时钟模块非易性存储器模块键盘数码管显示模块液晶显示模块电平转换上位机图11 MSP430F149单片机最小系统MSP430系列单片机提供三个时钟信号以供给片内各部分电路使用,这三个时钟源分别是:辅助时钟信号(ACLK),来自32.768kHz 晶振或者另一个外接高频晶振,一般用于低速外设;主时钟信号(MCLK),CPU 正常运行时使用的主时钟,一般由8MHz 外接晶振提供;子系统时钟(SMCLK),主要用于高速外围模块。

在本实验中我们采用了主时钟信号(MCLK) 。

图12 msp430f149单片机的I/O 引脚图在单片机的I/O接口中,P1.2和P1.3连接两个PWM波的输出,P3.0~3.4分别连接红外循迹模块上的控制五个红外对管的五个引脚,P4.0~4.3分别连接IN1~IN4.图13 MSP430F149单片机原理图将PWM波植入单片机中,然后通过单片机控制电机,PWM波控制速度,在转弯的时候,通过改变PWM波中的占空比而达到转弯,转弯有两种方案:一种是一边不转,另一边转动而达到转弯的效果;另一方案则为一边转的快一边转的慢,从而达到转弯的效果。

3.软件设计PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。

PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。

在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。

通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。

也正因为如此,PWM 又被称为“开关驱动装置”。

小车利用PWM波控制速度,在转弯的时候,通过改变PWM波中的占空比而达到转弯,转弯有两种方案:一种是一边不转,另一边转动而达到转弯的效果;另一方案则为一边转的快一边转的慢,从而达到转弯的效果。

在本实验中,我们采用了第二个方案。

图14 PWM波在这我们用了模式7,复位/置位模式。

我们利用两个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 <= 95)) //将占空比限制在5% ~ 95%之间{CCR1 = 8000 / 100 * duty;}else //否则将占空比强制设置为50%{CCR1 = 4000;}}/*******设置PWM2的占空比*******/void Set_PWM2_Duty(uchar duty){if((duty >= 5) && (duty <= 95)) //将占空比限制在5% ~ 95%之间{CCR2 = 8000 / 100 * duty;}else //否则将占空比强制设置为50%{CCR2 = 4000;}}程序设计流程图为:图15 程序设计流程图4.实验结果循迹小车整体实物图如图所示:图 16 循迹小车整体图小车在直道行走图如图所示:图 17 小车在直道上行走图小车在弯道上行走图:图 18 小车在弯道上行走图5.调试过程1 在最开始的时候,最开始认为遇到黑线时为高电平,然后指示灯亮,而在实际走的时候就导致完全不按自己预想的走。

相关主题