简介:
选择的是FastBond“智慧建筑”主题,做了一个配电箱电缆出线过载和烟雾预警监测器。这个模块的主要功能是用于配电箱的输出线过载监测,配电箱一般有很多条输出线,关键的动力线、照明线等等,现在做的是测量关键线的电流情况,及电缆皮的异常高温冒烟,并根据电流的阈值提前通过无线lora上报预警,也可以监测配电箱内的烟雾情况,如果有烟雾产生,则应为电流过大或设备短路造成电缆皮过热,进而如果两者同时发生,则预警的准确度就会很高。神舟七号出舱活动遇到的火情误报可能是靠单一的传感器检测的。监测的电流和烟雾状态实时在液晶屏上显示,电流过大超过阈值或有烟雾发生直接将预警信息上报发送到桌面管理电脑,供管理人员强烈关注并及时处理。
系统框图:
应用背景:
用电设备现在很多,电缆出线电缆皮,如果电流过大或设备短路则会使电缆出线电缆皮经过发热、持续高温、冒烟,融化电缆表皮,线间短路,对设备的危害很大,目前的电动车充电引起的火灾,屡见不鲜,工厂或小区配电室、居民家中的小配电箱都存在着电流过载的情况,如果没有预警的设备,还是存在一定的安全隐患,可以根据需要在一个配电箱里测量一组或多组电缆。如果都配备这种能够测量电流和烟雾预报警,准确性大大提高,能提高人民生活的安全感,用途十分得广泛,市场前景很大。
软件介绍:
主控芯片的开发环境是MDK Keil uVision5,Keil5是一款非常友好和强大的C语言软件开发系统。Keil5提供了清晰直观的操作界面,而且使用起来十分的轻松便捷,并具备编译器、编译器、安装包和调试跟踪,主要新增包管理器功能,支持LWIP,Keil5的SWD下载速度也是KEIL4的5倍,给用户带来了全新的感受和体验。
开发平台Windows 10、64位操作系统
PCB及原理图使用protel99se绘制,用得熟练了,一直没换其它得。现在的新器件都需要重新做封装,有点麻烦。唯一得好处就是程序占用内存小,运行方便。也准备换个画电路板得软件。
主要硬件:
1.主控芯片:N76E002
N76E003为带有flash的增强型8位8051内核微控制器(1T工作模式),指令集与标准的80C51完全兼容并具备更高效能。资源丰富。
宽电压工作范围2.4V至5.5V。
16 MHz高速内部振荡器
一组12位ADC,精度高
两组全双工串口,
工业级工作温度 -40℃ 至 +105℃
成本比较低,1元左右,封装很小,TSSOP20,
2.烟雾传感器:MQ-2
MQ2是MQ传感器系列中最常用的气体传感器之一。它是金属氧化物半导体(MOS)型气体传感器,也称为化学电阻器,因为检测是基于当气体与材料接触时感测材料的电阻变化。使用简单的分压器网络,可以检测气体浓度。
MQ2气体传感器可在5V DC上工作,功耗约800mW。它可以检测LPG(液化石油气,),烟,酒,丙烷,氢气,甲烷和碳 ,一氧化碳 浓度范围从200至10000PPM。
MQ2气体传感器的内部结构
传感器实际上被封闭在两层称为防爆网络的细不锈钢网中。它可以确保传感器内部的加热元件不会在我们检测可燃气体时引起爆炸。
它还为传感器提供保护,并过滤掉悬浮颗粒,以便只有气态元素才能通过室内。网格通过镀铜的夹紧环绑定到主体的其余部分。
3.全视角0.91寸OLED液晶显示屏:
OLED没有视角范围的限制,视角一般可达到160度,这样从侧面也不会失真。LCD需要背景灯光点亮,OLED只需要点亮的单元才加电,并且电压较低,所以更加省电。OLED通电之后就会自己发光,可以省掉灯管的重量体积及耗电量(灯管耗电量几乎占整个液晶屏幕的一半),让产品厚度做到很薄。
4.LoRA模块:E32-400T20S成都亿佰特
超低功耗,穿透能力强,传输距离远,最大传输距离达10km。具有良好的抗干扰能力。工作电压2.3~5.2V,全球免许可ISM 433/470MHz频段
5.电流穿芯CT互感器:
卧式穿芯,印刷线路板直接焊接安装;
体积小,精度高,外形美观;
全封闭,机械和耐环境性能好,电压隔离能力强;
根据负载选择合适的量程,此处用手边的5A/5mA。
原理图:
PCB图:
实物图:
7.本次活动使用的:
Maxim Integrated (VA) 芯片:
稳压器、线性:MAX8511EXK31
电压 - 输入(最大值)6V
电压 - 输出(最小值/固定)3.1V
电流 - 输出120mA
控制特性- 关机
工作温度- -40°C ~ 85°C(TA)
保护功能- 过流,超温
Analog Devices Inc芯片:
精密、微功耗、分流模式基准电压源:ADR5043ARTZ-REEL7
电压 - 输出(最小值/固定)3V
电流 - 输出15 mA
温度系数100ppm/°C
工作温度-40°C ~ 125°C(TA)
代码说明:
//电流采样点和烟雾浓度采样
//采样工频50Hz 的电流每20ms采样64点,定时中断采样
void ad(void)//20ms采样64点,启动定时器T2,结束停止定时中断
{
//Timer2_init();//
Enable_ADC_AIN5;//采样打开AD,电流过流值
clr_ADCHS3;
set_ADCHS2;
clr_ADCHS1;
set_ADCHS0;
set_EA; //enable global interrupt
set_TR2; // Timer2 run
Sample_end_flag =0;
do{;}
while(Sample_end_flag ==0);
}
void ad_smoke(void)//采样浓雾模拟量值和阈值状态
{
uint16_t Battery =0;
unsigned char i=0;
Enable_ADC_AIN6;//采样打开AD,烟雾浓度的值 .
clr_ADCHS3;
set_ADCHS2;
set_ADCHS1;
clr_ADCHS0;
for(i=0;i<6;i++)
{
clr_ADCF;
set_ADCS; // ADC start trig signal
while(ADCF == 0);
Battery = ADCRH <<4 ;
Battery += ADCRL;
smoke[i]=Battery;//采样浓雾模拟量值
if(P10==0)
smoke_STATE[i]=0;//阈值状态,浓度灯亮的值
else
smoke_STATE[i]=1;//阈值状态,浓度灯灭的值
}
}
void sample(void)
{
ad();//20ms采样64点,启动定时器T2,结束停止定时中断
Timer0_Delay1ms(100);
ad_smoke(); //采样浓雾模拟量值和阈值状态
}
//电缆电流交流采样64点的计算
void cal_i_value(void)
{
xdata float middle=0;
xdata long I0=0;
xdata long I0N=0,NI2=0;
xdata unsigned int i,*qtr=i_ad;
for (i=0;i<N_POINT;i++)
{
I0N=I0N+i_ad[i];
//I0N=I0N+*(++qtr);
}
I0=I0N/N_POINT;
for (i=0,NI2=0;i<N_POINT;i++)
{
NI2=NI2+pow(i_ad[i]-I0,2);//平方和
//NI2=NI2+pow(*++qtr-I0,2);//平方和
}
middle=sqrt(2*NI2/N_POINT);
middle*=Kia;
Ia_p =(xdata unsigned int)middle;
}
//定时中断服务
void Timer2_ISR (void) interrupt 5 //0.1秒定时器,6000为10分钟
{
uint16_t Battery =0;
Enable_ADC_AIN5;//采样打开AD,电流过流值
clr_TF2; //Clear Timer2 Interrupt Flag
if(counter>=N_POINT)
{
clr_TR2;
counter=0;
Sample_end_flag =1;
//Disable_ADC; // 关AD,节电
}
else
{
clr_ADCF;
set_ADCS; // ADC start trig signal
while(ADCF == 0);
Battery = ADCRH <<4 ;
Battery += ADCRL;
i_ad[counter++]=Battery;
}
}
功能演示:
项目中遇到的问题以及解决方案:
最初设想是做到完全的低功耗,锂电池供电。报警器的无线模块、主控MCU平时处于睡眠状态,最大限度的降低功耗。配电箱内产生烟雾时,烟雾模块DO唤醒MCU主控芯片,MCU启动AD、定时器定时采样20ms测完一个周波的电流,同时测量计算浓度值后,唤醒E32-400T20S的LoRa无线模块,启动发送数据到接收端PC。然后在实际的调试过程中,购买的烟雾模块灵敏度不高,调节电位器倒是灵,真正局部烟熏时,反应不灵敏,这种低功耗的方案不理想。方案后来就改成在线实时监测电缆电流,超负荷或烟雾浓度超标报警,电源取自配电箱的AC220V转DC5V,实际用手机充电器代替了。
心得体会:
第一次来到电子森林,第一次接触这个活动,还是挺开心的,既能提高一下整体思路,还能考虑市场是否应用前景,独立完成该项目时也发现一些不足,绘制电路板考虑不周,位置布局不合理,装配的不是很合适,新元件的封装设计尺寸给手工焊接添点麻烦,测试点忘了预留。调试板子费了一些不必要的时间。看来还是再学习一款绘图软件。
希望电子森林以后多次举办此类活动,能力的提高还是靠多看多锻炼。