chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

聚豐項(xiàng)目 > 基于STM32的高精度氣體傳感器的設(shè)計(jì)

基于STM32的高精度氣體傳感器的設(shè)計(jì)

本項(xiàng)目應(yīng)用電調(diào)制紅外光源,根據(jù)朗伯—比爾(Lambert-Beer)吸收定律,采用熱釋電紅外傳感器,主要設(shè)計(jì)了一款高精度的氣體傳感器,用于檢測(cè)煤炭經(jīng)過燃燒以后均勻氣體中CO2、CO、SO2、H2的濃度,從而達(dá)到檢測(cè)煤炭中含C和S的百分比。

h1654155909.0656 h1654155909.0656

分享
1 喜歡這個(gè)項(xiàng)目
團(tuán)隊(duì)介紹

h1654155909.0656 h1654155909.0656

團(tuán)隊(duì)成員

陳新喜 副教授

分享
項(xiàng)目簡(jiǎn)介
本項(xiàng)目應(yīng)用電調(diào)制紅外光源,根據(jù)朗伯—比爾(Lambert-Beer)吸收定律,采用熱釋電紅外傳感器,主要設(shè)計(jì)了一款高精度的氣體傳感器,用于檢測(cè)煤炭經(jīng)過燃燒以后均勻氣體中CO2、CO、SO2、H2的濃度,從而達(dá)到檢測(cè)煤炭中含C和S的百分比。
硬件說(shuō)明

一:熱釋電紅外傳感器的組成和工作原理

           0b3a1c086b03f4e963d98615

圖1雙探測(cè)元熱釋電紅外傳感器內(nèi)部結(jié)構(gòu)圖  圖2:雙探測(cè)元熱釋電紅外傳感器實(shí)物圖

熱釋電紅外傳感器和熱電偶都是基于熱電效應(yīng)原理的熱電型紅外傳感器。不同的是熱釋電紅外傳感器的熱電系數(shù)遠(yuǎn)遠(yuǎn)高于熱電偶,其內(nèi)部的熱電元由高熱電系數(shù)的鐵鈦酸鉛汞陶瓷以及鉭酸鋰、硫酸三甘鐵等配合濾光鏡片窗口組成,其極化隨溫度的變化而變化。為了抑制因自身溫度變化而產(chǎn)生的干擾 該傳感器在工藝上將兩個(gè)特征一致的熱電元反向串聯(lián)或接成差動(dòng)平衡電路方式,因而能以非接觸式檢測(cè)出物體放出的紅外線能量變化并將其轉(zhuǎn)換為電信號(hào)輸出。

熱釋電紅外傳感器在結(jié)構(gòu)上引入場(chǎng)效應(yīng)管的目的在于完成阻抗變換。由于熱電元輸出的是電荷信號(hào),并不能直接使用,因而需要用電阻將其轉(zhuǎn)換為電壓形式 該電阻阻抗高達(dá)104MΩ,故引入的N溝道結(jié)型場(chǎng)效應(yīng)管應(yīng)接成共漏形式 即源極跟隨器 來(lái)完成阻抗變換。熱釋電紅外傳感器由傳感探測(cè)元、干涉濾光片和場(chǎng)效應(yīng)管匹配器三部分組成。

1是一個(gè)雙探測(cè)元熱釋電紅外傳感器的結(jié)構(gòu)示意圖。使用時(shí)D端接電源正極,G端接電源負(fù)極,S端為信號(hào)輸出。該傳感器將兩個(gè)極性相反、特性一致的探測(cè)元串接在一起,目的是消除因環(huán)境和自身變化引起的干擾。

二:電調(diào)制非分光紅外傳感器氣體分析機(jī)理:

當(dāng)紅外光通過待測(cè)氣體時(shí),氣體分子對(duì)特定波長(zhǎng)的紅外光有吸收作用,其吸收關(guān)系服從朗伯—比爾(Lambert-Beer)吸收定律:設(shè)平行入射光的強(qiáng)度為I0,出射光的強(qiáng)度為I1,氣體介質(zhì)的厚度為L,氣體的濃度為c,氣體的吸收系數(shù)為,則其關(guān)系表達(dá)式為:

                                    --1

其中是表示不同氣體的吸收系數(shù),是表示不同氣體的濃度。

當(dāng)為多種混合氣體時(shí),為了分析特定特定的氣體組分,需要在傳感器或者紅外光源前安裝一個(gè)適合分析氣體吸收波長(zhǎng)的窄帶濾光片,使傳感器的信號(hào)變化只反映被測(cè)氣體的濃度變化。

  三:硬件電路設(shè)計(jì)

     根據(jù)系統(tǒng)的設(shè)計(jì)要求,本系統(tǒng)的主要由一下幾個(gè)模塊組成:

圖3:系統(tǒng)硬件框圖

3.1  STM32主控電路圖

 

         圖4:STM32主控電路及平臺(tái)硬件圖

3.2  A/D轉(zhuǎn)換電路

圖5:A/D轉(zhuǎn)換電路原理圖

3.3:信號(hào)處理電路

 

     圖6:信號(hào)處理電路圖


軟件說(shuō)明

4.1上位機(jī)監(jiān)控軟件

4.2 下位機(jī)控制程序

#include

#include "absacc.h"

#include "intrins.h"

//#include "string.h"

//#include "math.h"

#include

//#include

 

#define  sum    (2)   //108   (76)  (140)//(28)   (22)      (240)

#define  Average        (10)

#define  Full_Scale     (65000)   //TBD adjust volatile resistance to get the value

#define  Coefficient    (6500)    //TBD

#define  nCHANNEL       (2)

 

bit              sample_flag,sampling_enabled;

//uint xdata signal_buffer[10],temp_buffer[10];

uchar    data   count,channel,Txd_count;

uint     xdata   sample_value[3][sum],average[3],adjust_value ;  //signal_value[3],temp_value[3];

 

//uint     xdata   signal_average,temp_average;

uint     xdata   concentration;

//longint  xdata   signal_sum,temp_sum;

 

unsigned long int data sampling_buffer,sample_value24;

void data_processing(void)

{

     uchar idata         i,j,checkout;

//  uint xdata          tmp;

//  longint  xdata         signal_sum;

//  float idata         tmp_val;

    EA=false;

    EX0=false;       

//  SCLK=true;  //reset the a/d chip       

 

 /*    for ( i=0;i<sum-1;i++ )

        {       

               for ( j=i+1;j<sum;j++ )

                      {

                             if ( sample_value[i]<sample_value[j] )

                                   {

                                          tmp=sample_value[i];

                                             sample_value[i]=sample_value[j];

                                             sample_value[j]=tmp;

                                      }

                         }              

           }    */

 

   // signal_sum=0;

/*        for ( i=6;i<sum-6;i++ )

        {

               signal_sum+=sample_value[i];

           }

 

 

    average[!channel]=signal_sum/(sum-12);      */

//////////////////////////////////////////////////

  /*   for ( i=0;i<sum;i++ )

        {

               signal_sum+=sample_value[0][i];

           }

 

 

    average[0]=signal_sum/sum;                                    //use

   */

//  sample_value24=sample_value24/sum;             

    //average[0]=average[0]*2;  //test

 

/*        signal_sum=0;  

    for ( i=0;i<sum;i++ )

        {

               signal_sum+=sample_value[1][i];

           }

 

 

    average[1]=signal_sum/sum;           */

    //average[1]=average[1]*2;  //test                       

  ////////////////////////////////////////////

   /*  if ( sample_value[0][0]>0x7000 )

        {

            adjust_value=sample_value[0][0]-0x7000; 

           

            sample_value[2][0]=sample_value[1][0]+adjust_value;

        } */

 

  ////////////////////////////////////////////

 

    sample_flag=false;

        

 

    //if ( !channel )

       {

             Txd_count++;

 

               Send_Disp(0x55);

 

            i=0;

            j=0;

                  checkout=0;//i^j;

 

                  i=sample_value[0][0]>>8;     

                  j=sample_value[0][0]&0x00ff;

             checkout=i^j;

 

            Send_Disp(i);

            Send_Disp(j);    //       so2

 

                  i=sample_value[1][0]>>8;     

                  j=sample_value[1][0]&0x00ff;

             checkout=checkout^i^j;

 

            Send_Disp(i);

            Send_Disp(j);    //co2         h2o

 

             Send_Disp(Txd_count);

            Send_Disp(0);

 

             checkout=checkout^Txd_count^0;

            

          /*     i=sample_value[2][0]>>8;     

                  j=sample_value[2][0]&0x00ff;

             checkout=checkout^i^j;

 

            Send_Disp(i);

            Send_Disp(j);    //H2O         check   temp

         */   

            Send_Disp(checkout);       

          }

 

 

 

    //SCLK=false;

    _nop_();

    LED_Green=Txd_count/128;  //!LED_Green;

    EA=true;

    //EX0=true;

    

 

    /*

    maximal=sample_value[0];

    minimal=sample_value[0];

 

    for ( i=1;i<Filter_times;i++ )

        {

               if ( maximal<sample_value[i] )   

                     {

                               serial_number[0]=i;

                               maximal=sample_value[i];

                        }

                  else if ( minimal>sample_value[i] )

                     {

                            serial_number[0]=i;

                               minimal=sample_value[i];

                        }

                  

           }     */

    /* float idata nVoltage;

 

     sample_flag=false;

     count++;

    if ( count>Filter_times )   

       {

                 //signal_sum += adjust_signal();  //sample_value[0];      

                       

            nVoltage=signal_sum/Average;               

                 nVoltage=Full_Scale/nVoltage;

                 nVoltage=log(nVoltage);

                 concentration=nVoltage*Coefficient;

                

                 //ES=false;

                 Send_Disp(concentration&0x00ff);

                 Send_Disp(concentration>>8);

            //ES=true;

 

                 signal_sum=0;

                 temp_sum=0;

                 count=0;

          }

    else

       {

              ;//signal_sum += adjust_signal();  //sample_value[0];

                 //temp_sum   += adjust_signal(1);  //sample_value[1];

          }

          */

    

}

/*

uchar rec_len;

/*********************************************/

void Main(void)

{

   _nop_();

   _nop_();

   _nop_();

   Mcu_Init();

   Variable_Init();

   delay(1000);       //for a/d chip reset

   SCLK=false;

   EA=true;

   //EX0=true;

 

   while(1)

     {

       Watch_Dog=!Watch_Dog;

      scout();

      if ( sample_flag ) data_processing();

     }

}


演示效果

 經(jīng)過軟硬件的設(shè)計(jì),將測(cè)試到的信號(hào)上傳到上位機(jī)監(jiān)控窗口,監(jiān)測(cè)到的信號(hào)如圖8和圖9所示。

常溫放箱體里(10HZ)

                   圖8:信號(hào)波形(箱體內(nèi)常溫)

海綿隔熱恒溫

              圖9:圖8:信號(hào)波形(48度恒溫箱體內(nèi)檢測(cè))

由上面的測(cè)試數(shù)據(jù)可以看出,信號(hào)變化大概在130uV;測(cè)試精度高。


評(píng)論區(qū)(2 )
  • 動(dòng)心忍性1234: 您好我是無(wú)線電雜志的編輯,我們對(duì)您的項(xiàng)目十分感興趣,請(qǐng)問您有興趣投稿嗎?成為我們的作者除稿費(fèi)外還有其他優(yōu)厚條件。敬請(qǐng)參與。投稿請(qǐng)聯(lián)系QQ260534978.

    回復(fù)

  • 可樂_47480004: 看不見圖片

    回復(fù)