基于MSP430单片机的位置检测系统的实现

2022-09-13 版权声明 我要投稿

1 核心控制器———MSP430 单片机

本位置测试系统的实现,以单片机为核心控制器,主要采用了MSP430系列单片机, 该系列单片机是一个16位单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式、简洁的27条内核指令以及大量的模拟指令 ; 大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。同时MSP430单片机有超低的功耗,是因为其在降低芯片的电源电压和可控的时钟方面:MSP430系列单片机的电源电压采用的是1.8-3.6V电压, 因而可使其在1MHz的时钟条件下运行时,芯片的电流最低会在165μA左右,RAM保持模式下的最低功耗只有0.1μA; 在MSP430系列中有三个不同的时钟系统:基本时钟系统、锁频环(FLL和FLL+)时钟系统和DCO数字振荡器时钟系统,通过软件配置可以进行设置,也可以方便打开和关闭时钟,从而实现对总体功耗的控制。

本系统的控制核心部件采用TI公司的MSP430F149单片机为系统 的主控芯 片 , 该芯片有60KB +256字节FLASH,2KBRAM,包括基本时钟模块、看门狗定时器、带2个捕获/比较寄存器和PWM输出的16位定时器、2个具有中断功能的8位并行端口、4个8位并行端口、模拟比较器、12位A/D转换器、2个串行通信接口等模块。

2 硬件系统的实现

2.1 坐标格的界定

从测试角度出发,位置系统的定位,是基于原点及坐标平面的界定和显示。具体做法是:首先,画出坐标格。每个坐标格呈正方形,边长15cm,从右至左,由下至上,每行7个,一共7列,标注出01—49的格子号数。其次,做好标记。通过测距传感器,测出横向和纵向的距离,通过简单的计算就可得出待测物品所在的位置,并将位置以坐标格背景亮显加以突出。

2.2 传感器的选择与安装

在方位标注的基础上,传感器的选择是测距的关键。目前较多采用超声波传感器测距。其优点明显:可识别透明、半透明及漫反射差的物体;纵向分辨率高;响应速度快 ;不受光线 影响;可工作于电磁干扰强恶劣环境中;由超声波传感器组成的检测系统容易实现小型化和集成化等。本系统具体采用HC-SR04超声波模块 , 该模块性能稳定 , 测度距离精确 , 模块高精度,盲区小。主要应用于机器人避障、物体测距、液位检测、公共安防、停车场检测等方面。该模块共有4个引脚:Vcc(+5v)、Triq(控制端)、Echo(接收端)、Gnd(地)。

同时,由于模块功能实现,需要同时检测横向和纵向两个方向的距离,故需要选择两块超声波传感器模块,且将两个模块垂直安装。为了便于超声波反射,在坐标板的两边必须配以挡板,见图1。

2.3 显示屏的选择

本系统采用2.6寸TFT液晶屏来实现显示功能。本显示屏与常规的LCD1602或12864相比, 其优势主要表现为内容更多、更细腻;不仅可以显示字符、汉字,还可以显示图形图表;其屏幕分辨率为320*240,色彩是26万色,可更直观的显示出检测结果。

2.4 硬件系统连线图

本硬件系统主要包含了三个部分:MSP430F149单片机最小系统、两个垂直放置的超声波传感器模块、一个2.6寸TFT显示屏,硬件系统连线图如图2所示。

3 软件系统的实现

3.1 超声波传感器的测距实现

为了实现超声波传感器测距,初始化时将trig和echo端口都置低电平,首先向给trig发送至少10us的高电平脉冲(模块自动向外发送8个40K的方波),然后等待,捕捉echo端输出上升沿,捕捉到上升沿的同时,打开定时器开始计时,再次等待捕捉echo的下降沿,当捕捉到下降沿,读出计时器的时间,这就是超声波在空气中运行的时间, 根据超声波的传播速度为340m/s可以算出 传感器探 头的位置 到障碍物 的距离。 使用MSP430F149单片机的定时器 ,首先需要进行时钟配置 (选择外部8M晶振),IO端口配置, 并且将echo引脚的外部中断开放,初始化为上升沿出发,当检测echo引脚上升沿来临,开启定时器,并将该端口的外部中断设置为下降沿出发,再次进入中断函数时就读出定时器的值并清零,等待下次测量。两个传感器模块分别是用TA和TB定时器分别计数,可以读出两个方向上的时间, 从而可以结合传输速度和系统时钟等参数算出具体的坐标位置。

3.2 显示屏位置显示的实现

TFT显示首先要对硬件进行初始化 , 初始化显示界面为坐标表格:屏幕显示界面分为320行、240列,根据表格的大小,计算好表格中行线和列线的起止点坐标, 每条行线和列线的间距为30个点,循环调用画点函数,分别画出8条行线和8条列线,用同样的方式确定好数字标号的坐标点, 循环调用写入数字字符函数,初始化界面完成。为了便于测试,同时显示出定时器TA和TB中所读出的值(可以表示距离远近的),可以判断出测试位置所在的行数和列数,但由于每一次测量间隔时间都很近,读数的最后一两位跳动比较明显, 所以在确定行列数的时候并不能用连续的值分区,尽量避开临界点的数据,多次实验后得到分界点的数据,用以提高测试的稳定性和可靠性。根据传感器所返回的数据可以判断出检测器所在的具体位置, 同时可修改该单元格的背景色进行标记。如图3所示。

4 总结

本系统可以实现坐标位置检测的功能,并且响应速度快、功耗低等优势明显,缺点是在3cm以内是测试盲区,所以在挡板设置上要选择合适距离。本系统所使用的单片机IO端口还有大量剩余,还可以扩展其它功能。

摘要:本文主要介绍了非接触式位置检测系统的实现。系统采用MSP430F149单片机作为核心控制器,通过两个垂直方向的超声波传感器进行测距,对距离数据进行分析即可得到检测器所在的位置,最后在TFT屏幕上显示出具体位置信息及坐标,并在图表中用不同颜色进行标记。

关键词:MSP430F149单片机,超声波传感器,位置检测

上一篇:基于因子分析的高职教育人才培养质量评价下一篇:民族地区物理实验教学及实验室有效管理策略初探