新聞中心

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

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

作者: 時間:2014-04-18 來源:網(wǎng)絡(luò) 收藏

本文引用地址:http://www.butianyuan.cn/article/259120.htm

第四章 模塊設(shè)計與實現(xiàn)

4.1稱重模塊設(shè)計

側(cè)重模塊有硬件和軟件部分,硬件部分負(fù)責(zé)采集貨車重量數(shù)據(jù)、車體傾斜角數(shù)據(jù),軟件部分負(fù)責(zé)對數(shù)據(jù)進(jìn)行預(yù)處理和處理,硬件部分這里不多介紹,主要說軟件部分,對預(yù)處理數(shù)據(jù)的處理流程如下:

圖4.1 數(shù)據(jù)處理流程

(1)預(yù)處理程序:

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

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

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

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

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

#include SPCE061A.h

void main()

{

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

unsigned int n,k=0,i;

long weightS=0;

*P_IOA_Dir=0x0010;//A1口輸出脈沖,A0口輸入數(shù)據(jù)

*P_IOA_Attrib=0x001F;

*P_IOA_Data=0x0000; //設(shè)置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) //只讀取五個數(shù)據(jù),放在weight數(shù)組中

{

/等待P_IOA0收到DOUT的第一個低電平,轉(zhuǎn)換完成

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]) //若第一位數(shù)據(jù)為1,則以負(fù)數(shù)處理

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),只讀取五個數(shù)據(jù),放在weight數(shù)組中

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; //設(shè)置PD_SCK為高,60um,HX711和和壓力傳感器進(jìn)入斷電狀態(tài)

return weightA;

}

(2)主程序相關(guān)程序流程圖

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

相關(guān)說明:

標(biāo)志K

K= -1 靜止且不超載

K=0 初次靜止超載

K=1 運動超載

K=2 停車后超載

countR 取數(shù)據(jù)次數(shù)

countW, 超載次數(shù)

v 車速度

m 車載重量

tR 車啟動時間

tS 停車時間

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

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

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

相關(guān)說明:

標(biāo)志K

K= -1 靜止且不超載

K=0 初次靜止超載

K=1 運動超載

K=2 停車后超載

countR 取數(shù)據(jù)次數(shù)

countW, 超載次數(shù)

v 車速度

m 車載重量

tR 車啟動時間

tS 停車時間

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

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

稱重傳感器相關(guān)文章:稱重傳感器原理
傾角傳感器相關(guān)文章:傾角傳感器原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉