基于CAN总线和MSP430的CO红外检测系1
- 格式:pdf
- 大小:606.39 KB
- 文档页数:5
/*红外遥控解码*///将遥控器的码值送至595驱动的数码管显示//P2_0为1838输入//595的驱动没有附上,大家可以自己想办法显示出来#include <msp430f2272.h>#include "hc595.h"#define uchar unsigned char#define uint unsigned int#define c(x) (x*120000/120000)uchartable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xC6,0xA1, 0x86,0x8E};//共阳数码管uchar table2[]={0x01,0x02,0x04,0x08};uchar Led_Buf[4];//数码显示缓冲区uchar Ir_Buf[4];//储存解码结果uchar Led_index=0;//中断函数内显示之用void delay1(){uint x,y;for(x=100;x>0;x--)for(y=100;y>0;y--);}/*获取低电平时间函数*///////////////////////unsigned int Ir_Get_Low(){uint temp0;TACTL=TASSEL_2+MC_1+ID_3;//时钟来源为SMCLK,8分频,1M,增加模式TACCR0=65500;while(!(P2IN&0X01));//条件是:低电平TACTL&=~MC_3;temp0=TAR;//读取低电平时间TACTL|=TACLR;//TACCR0清零return temp0;}/*获取高电平时间函数*///////////////////////1unsigned int Ir_Get_High(){uint temp1;TACTL=TASSEL_2+MC_1+ID_3;//时钟来源为SMCLK,8分频,1M,增加模式TACCR0=65500;while(P2IN&0X01);//条件是:高电平TACTL&=~MC_3;temp1=TAR;//读取低电平时间TACTL|=TACLR;//TACCR0清零return temp1;}/*系统时钟初始化函数*///////////////////void clock_init(){uchar i;WDTCTL=WDTPW+WDTHOLD;/* BCSCTL1&=~XT2OFF;BCSCTL2|=SELM_2+SELS;//MCLK为8M,SMCLK不分频,8M WDTCTL=WDTPW+WDTHOLD;//关闭看门狗*/BCSCTL1|=XTS;BCSCTL2|=SELM_3+SELS+DIVS_1+DIVM_1;//MCLK为16M,SMCLK8M BCSCTL3|=LFXT1S_2;do{IFG1&=~OFIFG;//清除振荡错误标志for(i=0;i<100;i++)_NOP();}while((IFG1&OFIFG)!=0);IFG1&=~OFIFG;}/*主函数*//////////////////void main(){uchar j,k;uint temp;clock_init(); //时钟初始化hc595_init();//595初始化TBCTL|=TBSSEL_2+MC_1+ID_3+TBCLR;TBCCR0=5000;TBCTL|=TBIE;//P2DIR&=0XFE;//P2_0输入//P2IE|=BIT0;//允许中断//P2IES|=BIT0;//下降沿触发中断_EINT();hc595(0XC0,0x01);while(1){restart:while(P2IN&0X01);temp=Ir_Get_Low();if(temp<c(8000) || temp>c(10000)) continue;//引导脉冲低电平9000temp=Ir_Get_High();if(temp<c(4000) || temp>c(5000)) continue;//引导脉冲高电平4500for(k=0;k<4;k++) //4个字节for(j=0;j<8;j++) //每个字节8位{temp=Ir_Get_Low();if(temp<c(200) || temp>c(800)) goto restart;temp=Ir_Get_High();if(temp<c(200) || temp>c(2000)) goto restart;Ir_Buf[k]>>=1;//高电平时间大于1120us,就认为是1,小于则是0if(temp>c(1120)) Ir_Buf[k]|=0x80;}Led_Buf[0]=Ir_Buf[2]&0xf;//显示结果Led_Buf[1]=(Ir_Buf[2]/16)&0xf;Led_Buf[2]=Ir_Buf[3]&0xf;Led_Buf[3]=(Ir_Buf[3]/16)&0xf;}}3//管脚中断函数#pragma vector=PORT2_VECTOR__interrupt void Port_2(void){P2IFG&=~BIT0;}//定时器A溢出中断函数#pragma vector=TIMERA0_VECTOR__interrupt void Timer_A(void){TACTL&=~TAIFG;}//定时器B溢出中断函数#pragma vector=TIMERB1_VECTOR__interrupt void Timer_B(void){hc595(table[Led_Buf[Led_index]],table2[Led_index]); Led_index++;if(Led_index==4)Led_index=0;TBCTL&=~TBIFG;}。
2020年9期研究视界科技创新与应用Technology Innovation and Application基于MSP430单片机的红外光通信系统研究潘佳琪,高韵淇,黄膺达,王哲然,李大宇(东北大学计算机科学与工程学院国家级计算机实验教学示范中心,辽宁沈阳110819)引言光通信是以光波为载波的通信方式。
它采用红外线传输信息,不易被发现,因此其具有保密性强的优点。
近些年来,光通信领域发展迅速,在许多高等院校里,也出现了对红外通信专业学生的实践培养。
光通信位于通信领域发展的前段,整个通信系统的性能对于通信的质量极为重要。
因此,对于传统装置的改进与创新变得更加必要。
本文中设计了一套结合MSP430F5529单片机以及AM 调制技术的光通信系统,可以实时完成语音信号的传输,且效果良好。
1系统总体方案本系统采用TI 公司的MSP430F5529单片机为载体,对采集的语音信号做出处理,结合了AM 调制方法,通过红外发射管进行发送。
红外接收端通过I-V 转换电路实现对信号的放大,经过解调器进行解调处理,再将其通过自适应比较器进行波形整形,之后结合单片机进行DA 处理并滤波,最后通过音箱实时播放传输过来的语音信号。
本系统主要分为发射和接收两个主要部分,红外发射管和红外接收管均采用高带宽的二极管,以光为载体,对电流的变化和感应作为传输信号进行通信。
通过MSP430F5529单片机和模拟电路模块作为工具对语音信号进行数字、模拟的处理。
模拟硬件电路模块均采用Al -tium Designer 软件进行PCB 板设计,实践效果良好。
光通信系统总体模块包括:语音放大滤波、乘法器、振荡器、I-V 转换电路、解调器、自适应比较器、300-3400Hz 滤波电路,DA 转换模块等。
整体系统框图如图1所示。
图1系统总体方案2系统硬件设计根据系统总体设计要求,对几个主要功能模块的设计方案进行介绍。
2.1语音放大及滤波电路麦克风将语音信号转化成电信号,此电信号通过放大以及滤波电路进行电信号的初步信号处理。
基于单片机的CO监测系统的设计The Design Of CO monitoring alarm systemBased On SCM学生:指导老师:摘要文中设计了一种基于MSP430系列单片机的一氧化碳监测报警系统。
针对市场上成本高,功能华而不实,缺乏针对性的一氧化碳检测仪,本文提出了一套能够解决以上问题的基于MSP430系列单片机的一氧化碳监测报警系统。
考虑到成本,本人对各个硬件模块做了详细的比对,最终系统采用MSP439f169单片机作为处理器,选用使用寿命较长的MQ-9传感器作为一氧化碳的感应器;同时,在数据的处理除了进行采样量化之外,还对温度和湿度进行了补偿,保证了数据的准确性,基本上完成了传统的检测仪的监测功能。
此外,本人针对市场上检测仪的使用状况,加入了无线传输的功能,可以将与一氧化碳相对应的数据发送出来进行异地显示,能够达到远程实时监控的效果,大大提高了该系统的可用性,符合现实使用中的需要。
关键词MSP439f169;MQ-9一氧化碳气体传感器;一氧化碳监测AbstractIn this paper, I design a kind of carbon monoxide monitoring alarm system based on MSP430 series SCM.In view of the high cost , rhetorical function, lack of corresponding carbon monoxide detector on the market, this paper puts forward a set of scheme that can solve the above problem of carbon monoxide monitoring alarm system based on MSP430 series SCM.Considering the cost, I made a detailed comparison of various hardware module,and the system adopts MSP439f169 single-chip microcomputer as the processor, choose a longer service life of MQ - 9 sensors as carbon monoxide sensor;At the same time, in addition to the processing of data sampling quantization, has also made compensation for temperature and humidity, ensures the accuracy of the data, basically completed the traditional monitoring function of the detector.In addition, I based on the using status of machines on the market, joined the wireless transmission function to the system, and carbon monoxide corresponding data can be sent out to carry on the different display,it can achieve remote real-time monitor,that has greatly increased the availability of the system, in accordance with the needs in real use.Key wordsMSP439f169ingle-chip microcomputer;MQ - 9 carbon monoxide gas sensor;Carbon monoxide monitor目录第1章绪论 (1)1.1一氧化碳的危害 (1)1.2一氧化碳检测仪的种类 (2)1.3课题的背景和意义 (3)第2章监测系统总体设计 (5)第3章一氧化碳检测系统硬件选择设计 (6)3.1传感器的选择及其结构设计 (6)3.2处理芯片的选择 (11)3.3无线传输模块的选择 (12)3.4液晶显示的选择 (14)3.5报警电路的选择 (15)3.6电源电路的设计 (16)第4章软件设计 (17)4.1软件设计结构的设计 (17)4.2时钟模块的设计 (18)4.3模数转换模块的设计 (18)4.4无线传输模块的设计 (19)4.5按键模块的设计 (21)第5章结论与展望 (23)5.1结论 (23)5.2前景展望 (24)参考文献 (25)致谢 (26)附录 (27)第1章 绪论1.1一氧化碳的特性及危害一氧化碳是一种无味、无色、无臭的有毒气体。
基于MSP430单片机的非接触式红外测温仪设计作者:尹大禹李冶来源:《科技视界》2014年第08期【摘要】红外测温是目前最主要的非接触式测温方式之一,被广泛应用于各行各业。
本文设计了一种基于MSP430单片机的非接触型红外测温仪,其工作原理是红外能量聚焦在TPS434传感上并转化为相应的电信号,该信号经AD623仪用放大器高倍放大送至AD转换器,然后单片机按照仪器内部的算法计算和温度补偿校正后变为被测目标的温度值,最后通过LED显示出测量温度值。
【关键词】非接触;MSP430单片机;红外测温;温度补偿0 引言本设计利用TPS434红外测温模组,采用超低功耗的MSP430单片机[4],实现了非接触式红外测温仪。
它体积小巧,能够很方便地测量近距离物体的表面温度,完全可以满足常温领域的测量。
1 测量原理从上图中曲线可以看出黑体辐射具有几个特征:1)在任何温度下,黑体的光谱辐射度都随着波长连续变化,每条曲线只有一个极大值;2)随着温度的升高,与光谱辐射度极大值对应的波长减小,这表明随着温度的升高,黑体辐射中的短波长辐射所占比例增加;3)随着温度的升高,黑体辐射曲线全面提高,即在任一指定波长处,与较高温度相应的光谱辐射度也较大,反之亦然。
2 测温系统总体设计红外测温仪的系统,主要由光学系统、光电转换、信号处理、显示输出等部分组成。
光学系统完成视场大小的确定,热电堆红外传感器用将聚焦在探测器上的红外能量转换成电信号,经过放大、滤波后进行模/数转换,并送至单片机进行信号处理,最后在LED显示单元中显示出被测目标的温度值。
3 系统硬件电路结构及工作原理3.1 红外采集电路红外测温仪器使用的是TPS434热电堆红外传感器。
热电堆红外传感器的原理是将多个热电偶[6]串联起来,使其具有较高灵敏度。
光学系统起到收集红外辐射并将其聚焦到红外探头上的作用,由于红外信号相对来说比较微弱,因此要实现测温仪精确测温必须设计一个光路简单、红外辐射损失小的光学系统。
绿色质量观察基于MSP430单片机的便携式CO检测仪的设计Design of CO M easurement Based on M SP430Processor张志伟(陕西理工学院电信工程系,陕西汉中723000)Zhang Zhi-w ei(Department of Engineering Information,Shanxi University of Technology,Shanxi Hanzhong723000)摘要:本文介绍了一种用单片机M SP430F149为控制核心的CO浓度实时监测设计方案。
该设计主要由CO电化学传感器、中心处理器M SP430F149和液晶显示器组成,可实现空气中CO浓度的实时采集显示、键盘设置报警阈值以及CO浓度超标报警等功能。
具有应用范围广、便携、超低功耗、实时性好等优点。
关键词:M SP430;便携;CO检测;设计中图分类号:TH744.5文献标识码:A文章编号:1003-0107(2010)09-0030-03Abstract:This thesis puts forward the concentration of CO real-time monitoring design based on the MSP430F149MCU.The system iscomposed of electrochemical CO sensor,the center processor MSP430F149and LCD monitor,which can realize the collection of COconcentration in the air,keyboard sets alarm threshold,alarm for the exceeded CO concentration.The system has the advantages ofwidely application,portable used,ultra-low power and real-time measured.Key w ords:MSP430;Portable;CO measurement;DesignCLC num ber:TH744.5Docum ent code:A Article ID:1003-0107(2010)09-0030-031引言一氧化碳(CO)俗称煤气,在通常状况下是无色、无味、无臭、无刺激性的有毒气体。
Computer Knowledge and Technology 电脑知识与技术第8卷第22期(2012年8月)基于MSP430和CAN 总线的I/O 模块设计曹学岩1,张博1,王海瑞2(1.中北大学机械工程与自动化学院,山西太原030051;2.中国人民解放军驻617厂军事代表室,内蒙古包头014032)摘要:基于MSP430单片机的低功耗和CAN 总线抗干扰能力扰强的特点,该文设计了一种以MSP430超低功耗单片机为现场节点控制中心的输入输出系统。
利用CAN 总线接口实现同上位机的数据远程传输。
该系统能够很好的完成模拟量和数字量的采集和输出、实时的显示、数据的远程通讯要求。
该系统对于应用在现场设备中的有一定的参考价值。
关键词:MSP430;CAN 总线;I/O 模块;通讯接口中图分类号:TP332.3文献标识码:A 文章编号:1009-3044(2012)22-5470-04Design of Input and Output Modules Based on MSP430and CAN BusCAO Xue-yan 1,ZHANG Bo 1,WANG Hai-rui 2(1.School of Mechanical Engineering and Automation,North University of China,Taiyuan 030051,China;2.Chinese People`s Liberation Army Military Represent Office Residenting in 617Factory,Baotou 014032,China)Abstract:This paper designes a input and output system of field node controlling center with MSP430ultra-low-power microcontroller based on the low power operation of MSP430and powerful anti-interference performance of CAN ing CAN bus interface achieves the long-distance data transitance with upper machince .The system performances well in acquiring and outputing of analog and digital sig ⁃nals,displaying real-time and long distance communication of data .Therefore ,the system provides a reference to the application of field devices .Key words:MSP430;CAN bus;I/O modules;communication interface随着工业化的快速发展,许多工业现场设备控制逐渐向集成化方向发展。
基于CAN总线和MSP430的CO红外检测系统
摘要:提出一种基于CAN总线接口的红外检测系统的设计思路。
该检测系统以MSP430超低功耗单片机为核心,采用SM-CO H/M红外线CO气体探测器,结合数字滤波和温度补
偿等算法,达到精确测量CO浓度的目的,利用CAN总线接口实现数据的远程传输,同时进行现场和远程监控。
关键词:MSP430;CAN总线;数字滤波;温度补偿;Delphi
1 引言
一氧化碳(CO)是剧毒性气体,人体吸人后造成人体组织和细胞缺氧,导致引起中毒窒息。
在煤矿井下,CO也是引起瓦斯爆炸的主要气体之一。
CO无论是对工业生产还是人类都造
成巨大的损害,因此,CO检测尤为重要,特别在煤矿井下,《煤矿安全规程》规定,井下作业场所的CO浓度应控制在0.002 4%以下。
因此,实时、准确地测出井下CO气体度,对保障煤矿工业安全生产具有重要意义。
目前检测CO的方法主要有化学法、电化学法、气相色谱法等。
这些方法普遍存在价格高、普适性差等问题,且测量精度较低。
这里设计一种新的检测系统,选用红外CO传感
器和MSP430单片机作为核心信号处理电路,结合数字滤波、温度补偿运算.具有检测浓
度范围宽、使用寿命长等优点。
CAN总线通信距离长、可靠性高等特点,通过扩展CAN总线接口使检测仪具有远程通信能力,可方便地与监控中心进行对接联络,有效降低事故发
生率,具有推广和应用价值。
2 系统组成及硬件设计
该系统由红外CO气体传感器、MSP430单片机、CAN总线接口及远程监控系统组成。
该系统在检测现场通过单片机处理检测的数据、控制LCD显示、声光报警,同时还配备CAN总线控制器,可以轻松获取浓度、温度以及报警记录等相关信息,实现了智能化的工
业现场、远程同时监控功能。
系统的组成框图如图1所示。
2.1 传感器的原理及选择
每种物质都有特定的吸收光谱(如CO气体在光波波长4.5μm处有一个极强的吸收峰),该特性可用于测量。
可根据各种气体光谱曲线上某些特定波长处吸收峰值的变化判断气体
的浓度。
当红外光通过待测气体时,这些气体分子对特定波长红外光有吸收作用,吸收规
律遵循朗泊-比尔定律
式中,I为透射光的能量,L/mol・cm;Io为红外辐射被气体吸收的能量,L/mol.cm;K
为与气体及辐射波长有关的常数,L/mol・cm:C为被测气体的浓度.mol/L;L为辐射通
过气体层的厚度,cm。
由式(1)可知,通过检测红外辐射经气体吸收后的辐射强度,就可计算出被测气体的浓度。
采用SM-C0 H/M传感器,该系列模拟输出型CO采用双光束非分光红外线(NDIR)检测技术.具有抗其他气体干扰、保养维护简便、稳定性好、自带温度补偿、Modbus ASCII协议
数字输出和模拟输出等优点。
适用于泄漏报警、现场施工防护、简单气体分析气体、在线
监测、工业过程分析等场合。
2.2 MSP430单片机工作原理及数据处理
MSP430单片机是德州仪器(TI)公司生产的超低功耗Flash型16位单片机。
根据系统功
能及外围电路接口要求,选用MSP430F449型单片机,该单片机具有丰富的内部硬件资源;内置的温度传感器用于检测环境温度,补偿红外传感器检测的数据;其内置A/D转换器
用于将传感器输出的模拟量转换为数字量;通过硬件乘法器,实现对被测量的A/D采样
数据进行高速数字滤波和温度补偿等运算。
数字滤波法采用去极值平均滤波法。
在脉冲干
扰较严重的场合,如采用一般的平均值法,则干扰将会平均到结果中去,不易消除由干扰
引起的误差。
首先把Ⅳ次采样值按大小顺序排成一列,采用“冒泡排序法”,可去掉N个数
据中的最大值和最小值,再计算(N-2)个数据的平均值,即为去极值平均滤波法。
温度补偿
的处理方法;传感器的静态特性为线性时,则温度补偿前的特性可表示为:
式中,x为传感器的输入量,y为输出量,Y为特性曲线在y轴上的截距(即环境温度引起
的输出增益),k为比例系数。
温度补偿公式法的步骤如下:
(1)给定(m+1)个温度值:T0,T1,T2,…,Tn,…,Tm,测出每一温度下传感器静态特
性曲线在y轴上的截距Y0,Y1,Y2,…,Yn,…Ym;
(2)将Y表示成以温度T为自变量的n次代数多项式(nm)
用最小二乘曲线拟合法确定a0,a1,a2,…an。
(3)在测得每一个y值及相应T值时,首先计算出Y值,然后再求出x值
采用数字滤波和温度补偿算法可使测量更精确,受环境温度影响减少到最小。
2.3 按键、LCD显示及报警系统
按键用于设定系统时间、声光报警值以及对应的CAN总线通信地址等参数,如果按键
较少采用一端口对应一按键,使用捕获中断。
如果按键较多,则可采用行列式键盘以节省
端口资源。
LCD显示采用LSD12864CT显示模块,该模块由一组行驱动信号IC3及两组列
驱动信号IC2(控制左半屏)和IC1(控制右半屏)组成,其显示点阵是128x64,可显示图形或汉字。
其内部集成行、列驱动及显示器缓冲区RAM的接口,同时硬件可设置显示屏的结构、数据传输方式、显示窗口的长宽等。
MSP430F449内部自带60 KB Flash用于记录红外测量数据超限时刻和对应的设置值,保存CAN接口相关参数。
当CO浓度超出设定范围时,由
声光报警装置提醒井下工作人员。
2.4 CAN总线接口设计
该系统CAN接口由独立的CAN总线控制器SJA1000、CAN数据收发器TJA1050组成。
SJA1000是独立CAN控制器,主要用于移动目标和一般工业环境中区域网络控制。
SJA1000的AD0-AD7接MSP430的P2端口,P3.4和P3.5分别控制SJA1000的读写操作。
MSP430初始化SJA1000,通过控制SJA1000实现数据的收发。
TJA1050是控制器区
域网络(CAN)协议控制器和物理总线之间的接口,是一种标准的高速CAN收发器。
TJA1050可为总线提供差动发送功能,为CAN控制器SJA1000提供差动接收功能。
TJA1050提供CAN节点接口,实现CAN总线数据的传输。
其中CANH和CANL接到外部CAN总线网络上。
MSP430、SJA1000与TJA1050的连接电路如图2所示。
3 系统软件设计
系统上电复位后首先初始化,主要包括系统硬件初始化及从MSP430 Flash中读取CAN相
关参数,并进行设置;然后系统进行按键扫描:如有键按下则进行相应的操作,如设置时
间和CO报警浓度值、修改CAN参数、查阅报警记录等;若无键按下,则采集CO浓度并
进行软件处理,软件处理包括数字滤波和温度补偿,用以校准浓度数据。
若CO浓度超限,则声光报警通知井下工作人员并记录报警时刻和报警值到存储器中,若浓度正常则循环检
测并显示。
系统软件流程如图3所示。
气体浓度数据的远程传输由CAN总线接口完成。
当上位机给该站发送报文时,即要求本站传送数据时,系统才向上位机传送数据,这样可减
轻单片机的负担,降低功耗。
因此,CAN通信程序流程大致为:当检测仪接收到有效的报
文时产生接收中断,在中断服务子程序中,以CAN报文形式发送C0浓度数据,采用非中
断方式发送报文,具体工作流程如图4所示。
上位机采用Delphi编写的Windows下的可视化操作界面。
Delphi是一种采用事件驱动
方式、面向对象的可视化高级编程语言,该系统的通讯软件设计采用Delphi7.0。
在Del-phi可利用的众多串行通信控件中,SPComm控件是最简单、功能比较强大的一种。
该控
件具有丰富的与串口通信密切相关的属性及事件,提供对串口的各种操作。
通过Delphi的
设计可在上位机中直观显示当前时间、气体浓度。
通过串口通讯还可执行远程操作。
采用
采样定时器可每隔一段时间刷新显示的数据,从而及时检测数据变化。
4 结束语
采用红外光学传感器件取代传统的传感器.安全性大大提高;结合CAN总线技术,取
代传统的RS232、RS485,大大降低系统开发难度,缩短开发周期。
与其他现场总线比较
而言,CAN总线具有通信速率高、易实现、性价比高等特点。
采用TI的MSP430单片机,有较多的集成外设,降低了开发难度,且具有超低功耗。
有利于节约能源。
所设计的红外CO检测系统,检测气体浓度范围宽、设备维护性好。
利用MSP430F449
的低功耗特性及其内部集成的A/D转换器、乘法器、温度传感器等硬件资源,测量精密
度大大提高。
通过CAN总线接口,系统既可在现场显示实时数据,又可实现仪器的远距离、高可靠性地通信功能和远程监控。
因此,该系统具有很好的应用前景。