基于MSP430 循迹小车报告 源程序分享

基于MSP430 循迹小车报告 源程序分享

ID:41209735

大小:317.05 KB

页数:10页

时间:2019-08-18

基于MSP430 循迹小车报告 源程序分享_第1页
基于MSP430 循迹小车报告 源程序分享_第2页
基于MSP430 循迹小车报告 源程序分享_第3页
基于MSP430 循迹小车报告 源程序分享_第4页
基于MSP430 循迹小车报告 源程序分享_第5页
资源描述:

《基于MSP430 循迹小车报告 源程序分享》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、智能循迹小车报告摘要:本设计由寻迹信息采集电路,电机驱动电路以及MCU控制模块四大部分构成。MCU控制模块是本设计的核心部分,该部分以一片TI公司的MSP430F149为控制中心,实现对各个模块的控制。寻迹信息采集部分以反射式光电传感器和比较器组成,将采集到的数据处理后送至单片机。电机由以L298N为核心部件的电路驱动。该小车具有自动寻迹起始点检测功能。基于稳定的硬件电路设计以及精确可靠的软件算法,小车能够实现预期功能。关键词:MSP430,L298N,寻迹。一、循迹信息采集模块小车在前进时,要实现寻迹功能,可以采用高灵敏度的反射式光电传感器对地面进行扫描,再将采集到

2、的数据经过比较器后输出高低电平,最后送入单片机处理。经过对一只ST188的测试,发现ST188接收管输出端的低电平输出大致为0.78V,高电平的输出大致为2.85V,经过比较器后输出低电平为0.03V,高电平为3.26V,能够被单片机所识别。小车在白色地面行驶时,红外发射管发出的红外信号被反射,接收管收到信号后,输出端为低电平。而当红外信号遇到黑色导轨时,红外信号被吸收,接收管不能接收到信号,输出端为高电平。单片机通过采集每个红外接收管的输出端电压,便可以检测出轨道的位置,从而控制小车的转向,使小车一直沿轨道前进。ST188采用高发射功率红外光电二极管和高灵敏度光电晶

3、体管组成。检测距离为4-13mm。本小车一共采用了5只ST188光电对管,一只位于黑线上方,两只位于黑线左右用于直走微调,最左最右端两只用于转弯。我们在光电对管的发射端串联的一个电位器来调节发射管的电压,以便在不同的环境下进行调节。循迹模块原理如图所示:注意:在实际制作中,光电对管应尽量靠近地面,以减少干扰。二、电压比较模块电压比较模块我们采用了3块LM393芯片,一块LM393芯片上有两个电压比较模块,我们只用到了其中的5个电压比较。我们在LM393的同向输入给定一个参考电压,与在端光电对管的接收端的电压进行比较,若接收端电压比参考电压大,则输出一个,反之输出一个。

4、三、电机驱动模块本次小车采用了由两个减速电机和一个万向轮制作的三轮移动平台,在电机驱动方面采用了L298来控制两个减速电机。MSP430F149为芯片提供驱动信号,传至PWM控制各个电机的转速,从而调整小车的前进速度和转向。L298模块的原理图如图所示。注意:制作L298模块时应注意在芯片后面留散热片的空间。四、电源模块采用了一块稳压芯片7805搭建的12V转5V的电路,如图:四、控制模块本次设计采用了一片MSP430F149为控制核心,主要用于循迹和电机PWM控制。五、程序部分程序开始运行便进入扫描状态,在直走时不断进行左右微调保证小车行走在线中间。走迷宫的程序必须

5、要有优先级,可左转优先或直走优先,在T字口,十字口一律左转或右转。以左转优先为例,程序优先级顺序为:左转>直走>右转>左微调>右微调>原地转圈。附录:程序:1初始化程序(具体PWM自己调):#include"main.h"/*******************************************函数名称:CLK_Init()功能:时钟设置参数:无返回值:无********************************************/voidClk_Init(void){uchari;BCSCTL1=0x00;//XT2振荡器、不分频BCSCT

6、L2=SELM_2+SELS;//选择MCLKSCLK的时钟源为高速时钟,不分频do{IFG1&=~OFIFG;//清除振荡失效标志for(i=0xff;i>0;i--);//等待}while((IFG1&OFIFG)!=0);//等待振荡器工作正常}/*******************************************函数名称:PWM_Init功能:初始化PWM参数:无返回值:无********************************************/voiddelay_us(uinttime){uchari=0;while(ti

7、me--){while((i++)!=8);i=0;}}//延时MSvoiddelay_ms(uchartime_1){while(time_1--)delay_us(1000);}voidPWM_Init(){P4DIR=0xff;//P4PWM输出P4SEL=BIT1+BIT2+BIT3+BIT5;P4DIR=BIT1+BIT2+BIT3+BIT5;TBCCTL1

8、=OUTMOD_7;//捕获/比较控制寄存器,输出为模式7TBCCTL2

9、=OUTMOD_7;//PWMRESET/SET模式TBCCTL3

10、=OUTMOD_7;//TBCCRn--复

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。