历史上的今天
今天是:2025年04月23日(星期三)
2021年04月23日 | 基于MSP430的流量检测仪设计
2021-04-23 来源:eepw
0 引言
对于传统流量检测系统而言,其多数选用的是电磁传感器,而电磁传感器易受外界磁场的影响而导致流量计量的不正确,MSP430单片机作为一种超低功耗的16位混合信号处理器,其在流量检测中的应用得到了越来越广泛的应用,因此,本文重点就基于MSP430单片机的流量检测仪的设计进行了研究。
1.以MSP430单片机为基础的流量检测仪的工作原理分析
考虑到流量检测仪低功耗等方面的特性,控制器选用的为MSP430F149,具体而言,此流量检测仪的工作原理如下:当液体经过流量检测仪的过程中,检测仪内部的旋转磁盘进行转动,因而旋转磁盘上所设置的磁钢会触发传感器,并使其发出极为微弱的电信号,通过将此信号进行逐级放大和滤波之后,信号通过输出进入到检测仪的CPU中,CPU计数器对其进行输入,而后系统周期对脉冲个数进行读取,并借助于相应的软件对流量进行计算,后经处理形成所谓的差动信号,此差动信号以脉冲的形式传送至显示器中进行显示,这样其参数及流量信息可通过MSP430F149的I/O接口进行输入/输出。
2.基于MSP430单片机的流量检测仪的设计分析
2.1 电路的设计
流量检测仪的控制器采用的是TI公司所生产的MSP430149单片机,通过对流量检测仪的几个主要功能模块进行设计,系统的具体结构如图1所示。

1)温度检测模块,此模块主要包括了温度传感器与差动放大器,此模块通过温度传感器将信号传送至差送放大器中,信号经放大后输入至MSP430F149之中,经单片机的A/D转换口对信息及数据进行相应的处理及保存。本系统所采用的温度传感器其热电阻为PT100.
2)流量检测模块,此模块包括流量传感器与整形电路,当一定量的液体经过传感器时,传感器会产生脉冲,这样,通过所得脉冲数即可进行流量的计算。系统所采用的流量传感器为WG系列的韦根传感器,其原理如下:传感器中的合金材料具有磁性双稳态功能,这样受到外磁场激发后,其磁化方向会瞬间进行翻转,并在检测线圈中产生电信号,从而实现了磁电之间的转换。
3)通信模块,此模块主要包括了NRF-401无线通信电路以及RS485通信接口。对于RS485接口而言,其芯片采用的是TI公司生产的SN75LBC184,其使用的为单一电源VCC,3-5.5V电压范围之内均可正常进行工作,并能有效实现TTL到485间的转换。
对于无线串行接口电路而言,其采用的是NRF401无线通讯芯片,并应用了FSK调制解调技术,因此工作过程中的最高速率可达20kb/s.此外,还可对发射功率进行调整,发射过程中的最大功率为+10dBm.
4)对于液晶显示模块而言,其主要功能即对当前液体的流量进行显示。
2.2 软件的设计
2.2.1 模块的设计
对于流量检测仪而言,其设计过程某些程序的执行需要通过实际时间来进行调度。而此机制要想实现需要借助于MSP430单片机中所具有的TIMER-A及TIMER-B等实现。根据本系统的设计,需要定时器在32768Hz的条件下每秒进行一次中断,因此,需要对TIMER-B进行以下方面的设置:
将时钟源定义为ACLK;TBCTL=TBSSEL0+TBCLR
允许中断定时器;TBCCTL0=CCIE
将定时器的定时时间设为1s;TBCCR0=0X7FFF
在增计数模式进行定时器的工作;
TBCTL1=MC0
这样,即可实现定时器1s中1次的中断服务程序,在此程序中进行相应定时器的设计,以便进行计时相关操作。系统采用了热电阻PT100.由于MSP430单片机自带ADC12模块,因此可将所采集的温度通过A/D进行转换。为了对温度及其他模拟量进行即时处理,系统采用了序列通道多次转换模式。转换完成后结果会存放于ADC12MEM之中。
对于系统的软件而言,其包括上层及下层模块两部分软件,其中,上层收到中心命令后可借助于射频无线通信方式对下层进行命令的发送,并进行计时。若下层无数据返回,一旦超时上层会重新进行命令的发送。若3次以上仍无数据返回,则将被认为下层工作出现异常,并向中心提交异常信号。由于MSP430单片机仅存在一个串口,而上。下层模块需2个串口,而第2个串口需要借助于定时器A所具有的捕获/比较功能来实现。
2.2.2 无线通信协议
系统的通信协议包括3层:一是物理层,主要是通过NRF401模块实现的;二是数据链路层,此层主要负责进行无线数据传输的提供;三是应用层,进行数据的发送时,需将此层所传送来的较长数据帧进行拆分,并进行包头与校验和,而后再重新进行打包并发送。
由于NRF401灵敏度极高,因此,若无数据的传输时,其数据的输出脚将会存在杂波的输出,此类杂波将会受到MCU串口的接收和处理。四个字节的0×CC加上一个字节的0×F0可保证数据帧到达之前双方之间通讯的同步实现。系统协议采用的是两个字节的帧头,即两个0×55,其加上起始和停止位之后,实际过程中发送的将为0101010101,因此可有效保证数据获得确认。此外,由于十个字节数据后为校验和,因此采用16位的crc校验可确保数据传输过程的准确性。此时接收方会对crc及校验和进行比较,若不同说明传输过程发生错误,此时接收方会讲错误帧编号进行记录,待所有数据发送结束后,可返回错误编号,并要求重新进行发送。
若所有数据均接收正常,则会确认发送正确。
3.结语
MSP430单片机由于其功耗超低等特点,因而在流量检测中得到很好的应用。
通过基于MSP430单片机的流量检测仪的设计,根本上解决了传统流量检测过程中精度问题以及检测仪受液体影响而寿命降低等多方面弊端,因而在流量检测方面具有十分良好的发展前景。
史海拾趣
|
【砸分】昨天刚买的实验板,AVR第一个例子中延时程序的几个问题 厂里老大让俺捣鼓AVR,昨天刚买了个MEGA16的实验板。 俺以为以前搞软件的,程序啥的还算凑合。结果修改第一个例程时就卡住了。 /*延时函数*/ void delay_ms(unsigned char i) { unsigned char a, b, c;   ...… 查看全部问答> |
|
[Help!]tffs 的 FLASH_BASE_ADRS 怎么确定啊? 44b0x板,FLASH 是 AM29LV160DT 16Mbit/2Mbyte/1Mword 按照 http://www.lwsir.com/ligong/dianzi/200701/17467_3.html 对BSP作了修改。 执行tffsShow -> tffsShow amd29lvMTDIdentify Manufacturer unknown: 0x06 0: **** commu ...… 查看全部问答> |
|
今天做AVR定时器0的实验,写一个程序实现1s的定时,下载进去测一下时间还是蛮准的(ISP下载软件设置AVR使用的单片! 机是外部晶振8MHZ)。当修改ISP软件里面有关熔丝位设置时,设置成内部1MHZ时钟源,程序并没有改变,可是定时时间和使用8 ...… 查看全部问答> |
|
这一部分原来是由xu__changhua在调试,近来xu__changhua因故不能再继续做下去了。且也没有得到他的调试数据。所以需要从头开始。 用变压器驱动,电路简单,给电路设计带来很大方便。然而其驱动波形不好,也是最头疼的事。 本驱动变压器使 ...… 查看全部问答> |
|
【视频分享】震撼升级——KeyStone II多内核架构增强功能概览 简介:德州仪器的Ruwanga Dassanayake为你介绍TI KeyStone II多内核架构令人振奋的部分增强功能,为新一代高性能设备奠定基础。 $(\'swf_Ov7\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\ ...… 查看全部问答> |




