日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 大型貨車超載超速實時檢測系統(tǒng)

          大型貨車超載超速實時檢測系統(tǒng)

          作者: 時間:2014-04-18 來源:網絡 收藏

          本文引用地址:http://yuyingmama.com.cn/article/259120.htm

          第四章 模塊設計與實現

          4.1稱重模塊設計

          側重模塊有硬件和軟件部分,硬件部分負責采集貨車重量數據、車體傾斜角數據,軟件部分負責對數據進行預處理和處理,硬件部分這里不多介紹,主要說軟件部分,對預處理數據的處理流程如下:

          圖4.1 數據處理流程

          (1)預處理程序:

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

          2010.6.28定。測重程序:weight.c。

          IOA0為串行讀入數據位,IAO1為脈沖發(fā)送位。

          精度:16位,一位符號位。一次連續(xù)讀出五組轉換的數據放在weight[5]中,經觀察,前兩個數據無效。

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

          #include SPCE061A.h

          void main()

          {

          long count[4],weight[4][8],weightA[4];//weightA測量的3到8哥數據的平均值

          unsigned int n,k=0,i;

          long weightS=0;

          *P_IOA_Dir=0x0010;//A1口輸出脈沖,A0口輸入數據

          *P_IOA_Attrib=0x001F;

          *P_IOA_Data=0x0000; //設置PD_SCK為低,啟動HX711的A/DC和和壓力傳感器

          for(i=0;i4;i++)

          for(n=0;n8;n++) //初始化weight[]

          weight[i][n]=0;

          for(n=0;n4;n++)

          weightA[n]=0;

          for(i=0;i4;i++)

          count[i]=0;

          while(k=8) //只讀取五個數據,放在weight數組中

          {

          /等待P_IOA0收到DOUT的第一個低電平,轉換完成

          while(*P_IOA_Data0x0002) *P_Watchdog_Clear = C_WDTCLR;

          for(n=1;n=25;n++) //25個脈沖

          {

          *P_IOA_Data=0x0010; //上升沿

          *P_Watchdog_Clear = C_WDTCLR;

          *P_IOA_Data=0x0000; //下降沿

          if(n=16) //接收16位

          {

          for(i=0;i4;i++)

          {

          count[i]=count[i]1; //左移1位

          count[i]=count[i]|((*P_IOA_Data(0x0001i))>>i); //串行接收一位

          if(n==1count[i]) //若第一位數據為1,則以負數處理

          count[i]=0xffffffff;

          }

          }

          }//for(n=1;n=25;n++) //25個脈沖

          for(i=0;i4;i++)

          weight[i][k]=count[i];

          k++;

          for(i=0;i4;i++)

          count[i]=0;

          *P_Watchdog_Clear = C_WDTCLR;

          }//while(k=4),只讀取五個數據,放在weight數組中

          for(n=0;n4;n++)

          {

          for(i=2;i8;i++)

          weightA[n]=weight[n][i]+weightA[n];

          weightA[n]=weightA[n]/7-198;

          }

          for(n=0;n4;n++)

          weightS=weightS+weightA[n];

          weightS=weightS/sin(A);//用傾角傳感器測量角度

          *P_IOA_Data=0x0002; //設置PD_SCK為高,60um,HX711和和壓力傳感器進入斷電狀態(tài)

          return weightA;

          }

          (2)主程序相關程序流程圖

          運動前超載處理流程圖如圖4.2:

          相關說明:

          標志K

          K= -1 靜止且不超載

          K=0 初次靜止超載

          K=1 運動超載

          K=2 停車后超載

          countR 取數據次數

          countW, 超載次數

          v 車速度

          m 車載重量

          tR 車啟動時間

          tS 停車時間

          圖4.2 運動前超載處理流程圖

          運動停車后超載處理程序圖如圖4.3:

          運動中超載處理流程圖如圖4.4:

          相關說明:

          標志K

          K= -1 靜止且不超載

          K=0 初次靜止超載

          K=1 運動超載

          K=2 停車后超載

          countR 取數據次數

          countW, 超載次數

          v 車速度

          m 車載重量

          tR 車啟動時間

          tS 停車時間

          圖4.3 運動后停車超載處理程序圖

          圖4.4 運動中超載處理流程圖小車運動前超載處理程序如下[25]

          稱重傳感器相關文章:稱重傳感器原理
          傾角傳感器相關文章:傾角傳感器原理


          評論


          相關推薦

          技術專區(qū)

          關閉