图5-3可燃气体及烟雾传感器电路功能的测试演示图
5.2.3 报警电路功能的测试
将测试报警电路功能的相应程序烧进其所在的单片机上,主要程序如下:
if((tempint>30)&(tempint<85)) //温度报警设置
{ fm=0; delay(5); fm=1;
}
此时观察电路,当温度超过30度的时候,蜂鸣器开始工作,发出报警声,表明报警电路功能正常,本模块到此测试成功。
5.2.4 灭火装置功能的测试
灭火装置功能的测试,主要是测试当火灾发出警报的时候,灭火装置是否可以顺利而又及时的执行,即步进电机是否及时工作。现将步进电机所需要的程序烧进其所在的单片机开发模板上,然后进行测试,主要程序如下:
while(Flag==0) {
P0=0x71;//显示 F 标示正转 for(i=0;i<4;i++) //4相 {
P1=F_Rotation[i]; //输出对应的相 可以自行换成反转表格
Delay(500); //改变这个参数可以调整电机转速 ,数字越小,转速越大
} }
此时观察,当报警器开始工作的时候,步进电机开始工作,表明灭火执行装置工作正常,本模块到此测试成功。
下图是灭火装置,包括L298N电机驱动模块,步进电机,51单片机的测试连接图,
图5-4 灭火装置功能的测试
5.3 CAN模块通信功能的测试
CAN模块通信在整个系统中起到了关键性的作用,它是主节点和从节点之间信息传递的桥梁。首先将“发”程序烧到单片机A,再将“收”程序烧到单片机B,实现两个单片机之间信息的传输,下面进行温度实时传输测试。
以下是“发”的主要程序:
if((canstatus&0x0c)==0x0c)//判断是否可以发送 {
// Write_SJA1000(REG_CAN_CMR,0x10);//使能发送请求,发送数据。自收发 Write_SJA1000(REG_CAN_CMR,0x01);//使能发送请求,发送数据 对发 while((canstatus&0x08) ==0)
{canstatus = Read_SJA1000(REG_CAN_SR);} }
以下是“收”的主要程序: IO_Init();
SJA100HardWareRest();
SJA1000_Config_Normal(); //SJA1000进入正常模式配置
Write_SJA1000(REG_CAN_IER,0x01); //使能SJA1000接收中断位 WriteSJARegBlock(16,Send_CAN_Info_ID,5); //扩展帧,向发送缓冲区写入
5个数据
WriteSJARegBlock(21,Send_CAN_Data,8);//扩展帧,向发送缓冲区写入8个数据
UartSendByte(1);
此时观察单片机,A和B单片机上的LCD同步显示温度,由此可见,CAN模块通信正常,本模块到此此时成功。
图5-5温度实时传输测试图
5.4 火灾报警系统的综合测试
通过以上主节点上的各模板功能、从节点的各模板功能、CAN模块通信功能都进行了成功的测试之后,接下来就对此设计的基于CAN总线的火灾报警系统的一个综合的测试,以下就进行火灾现场的模拟。
模拟所需要的材料:香烟一根,打火机一只,笔记本电脑一台等一些相关材料。 模拟火灾现场的具体步骤以及模拟过程中的现象如下:
第一步:将已经调试好的收、发程序分别烧进主、从节点的单片机内,并保持通电状态。此时观察到,主节点单片机开发板上的液晶显示屏第一行显示:Yanwu(烟雾以及气体浓度的综合数值),数值为02;第二行显示temp(温度)25.36℃。 第二步:用打火机将香烟点燃,将其放在从节点MQ-2传感器的下方,香烟飘出的烟,接触到传感器,传感器将收集到的相关模拟信号转化为数字信号,通过CAN
模块传输给主节点,主节点通过显示屏显示出来。此时观察到,显示屏第一行的数值有了明显的变化,当超过数值15(事先设置好的阀值)的时候,蜂鸣器开始发出报警的声音。与此同时,从节点上的步进电机开始工作。
第三步:将打火机对着从节点MQ-2传感器,然后释放打火机内部的可燃性气体(丁烷),此时观察到的现象与第二步观察到的现象一样。
第四步:将温度传感器放在,笔记本电脑的散热口处。此时观察到,主节点上的显示屏显示温度在慢慢的上升,当超过30℃的时候,发出报警现象与第二步所描述的现象一样。
第五步:将第二步、第三步、第四步的模拟的烟雾,可燃性气体,温度同时进行测试。此时观察到,与第二步所描述的现象一样。
图5-6火灾报警系统的整体测试图
相关推荐: