谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > K8凯发大酒店天生赢家專題 > 專業技術專題 > 工業自動化稱重儀表>詳情頁

基於STM 32的車載動態稱重儀表設計

發布時間:2020-11-30 11:25:02 |來源:網絡轉載

傳統的汽車稱重方案主要是地磅、動態稱重即WlM(Weighting—in—Motion)技術、便攜式軸重儀。這些方案的缺點是不言而喻的,如安裝維護困難、費用昂貴,不能覆蓋全路段,稱重精度與車輛通行速度之間存在矛盾等。本文提出一種全新的方案— — 車載動態稱重,該係統能夠實時測量貨物重量,並通過GPS把重量數據傳回給遠方的監控平台並且安裝維護簡單、快速,對速度沒有限製,在全程對車輛進行監控真正實現動態稱重,從源頭上杜絕超載。

1 稱重原理的概述

本方案則對車輛車架用解析法及有限元CAD方法建立車架承載力學模型,並經對比、驗證理論計算與實測應力的準確性(誤差達5%以內)。以車架當秤架,選擇車架合適的測點的位置,進行應力測量,最終可按力學模型給出承載總重量數值。下麵以六軸車為例來說明該原理是如何應用的。六軸車的力學抽象示意圖如圖1所示。

六軸車的力學抽象示意圖

在圖中標注的測點位置上安裝應變傳感器,在靜態下進行標定,用來確定各個傳感器的輸出在總重中所占的權重。具體做法是:把後三軸傳感器的信號合並成1路,在磨盤兩側各安裝1路傳感器,總共三路信號,由下麵的式子來確定各路信號對總重的權重,即各個係數。

式中A0、B0、C0是傳感器在沒有加載標定砝碼時的初始輸出,Ɛ為誤差。Ai、Bi、Ci 為每次標定是各個傳感器輸出值,yi為每次標定所加的砝碼重量。通過多次標定得到多組A 、B 、C.、Y.值,根據最小二乘法擬合求出各個係數k。主要過程如下:

3)令上麵三個偏導數為O,聯立求解各個係數:k1,、k2,、k3 。在求出上麵的係數後,把係數置入儀表,當再次加裝貨物時,儀表就能根據表達式yj=k,△A+ △B+ △C,(AA、AB、AC為各路信號相對於零點的變化量)自動計算所加載貨物的重量。

2 車載動態稱重儀表的構成

車載動態稱重儀表由主處理器的最小係統, 直變傳感器模塊,模擬數字轉換模塊,人機交互模塊,UART轉RS232接口(為上位機GPS提供接El服務),停車辨識電路構成。其結構示意圖如圖2所示。

車載動態稱重儀表結構示意圖

整個係統的工作過程是:應變傳感器將檢測到的應力變化轉換成電信號,將該信號通過電纜傳到模擬數字轉換芯片中,在主處理器的控製下,把原先的電信號轉換成數字信號。通過上述原理處理後就能得到車上的貨物重量。該重量信息顯示在數碼管上,當主處理器收到上位機GPS發來的索要數據命令後,該重量信息進過處理後發送給GPS,再有GPS傳送到最終的監控平台上。

3 係統硬件設計

3.1主處理器的最小係統

STM32F103最小係統由STM32F103單片機,晶振電路,JTAG接口和複位電路組成。該係統的中選用的是STM32F103一VBT6的芯片,內置20KB SRAM 和128KB Flash,而且內部集成了lIC,SPI,CAN,USB等資源,功能十分強大。供電電壓2.0—3.6V, 有睡眠,停止, 待機這些低功耗模式可選擇。采用32.768kHz和8MHz晶振,分別提供精確時鍾和工作時鍾,複位采用按鍵和上電自動複位相結合的方式。S丁M32F103芯片的使用,提高了整個係統的執行效率,增強了係統的穩定性,降低功耗和成本。

3.2 電源模塊

卡車上的供電電壓24V,而本係統中各個模塊需要的電壓有5V和3.3V,因此,該係統中首先采用DC/DC轉換器,把24V的電壓轉換成5V,當把這個5V供給芯片時,還需要在電源引腳附近並聯1O4電容;在5V的基礎上再通過AS1117穩壓芯片,把5V轉換成3.3V供給主處理器使用,同樣要在AS1117的輸入和輸出引腳上並聯上電容,經過這樣的處理電源就能滿足係統的需要。

3.3 信息采集部分

這部分主要包括電阻應變式傳感器,24位模數轉換芯片HX710。這裏的應變片是專門製作的避免敏感柵應力集中的大焊點、耐疲勞專用應變片。基於惠斯頓電橋的應變電阻內阻350~1000n、工作溫度一40~+100~;,本身精度(0.05~0.1)%。

帶特種防水膠、膠/金屬箔/膠與外殼防護。HX710與同類相比具有抗幹擾性強,相應速度快,高達128的輸入放大器增益,滿足係統需求。該ADC僅僅需要兩個GPIO就能實現對ADC的控製,所有控製信號都由管腳驅動,無需對芯片編程,也無需外接任何器件,降低係統的成本並提高了穩定性。

把傳感器輸出的差分信號接到HX710的INF、INP引腳上,將芯片DOUT和PD_SCK接到單片機的兩個GPlO 上就能完成信號采集。為了把外界的幹擾降到最小,本部分的傳感器的供電,ADC電源以及它的參考電壓,還有STM32的供電都保持一致。圖3給出傳感器與HX710的連接以及HX710與STM32的GPIO連接方式。

信號采集部分電路圖

3.4 人機交互模塊

本係統設計6個按鍵以及兩排總共1O個數碼管組成簡易人機交互模塊。按鍵示意圖如圖4所示。共占用6個GPIO,數碼管顯示部分采用CS5817的專用數碼管驅動芯片,該芯片與STM32采用llC協議通信。使用通用IO 口模擬IIC協議與使用STM 的硬件lIC相比要容易很多,後者配置較複雜。

按鍵示意圖

3.5接口轉換

GPS的提供的接口是RS232, 因此需要使用STM32的一個USART端口,並通過MAX232進行電平轉換即可。

3.6 停車辨識模塊

在這裏使用一個反射式光電開關,把開關裝在手刹旁,在停車時手刹拉起來,光電開關輸出高電平;當車開動時,手刹拉下去,光電開關輸出低電平。把這個輸出信號接到單片機的一個外部中斷。

4 係統軟件設計

4.1軟件的總體設計

本設計在MDK編譯環境中編寫STM32F103的源程序,經過編譯後生產hex文件,用JLink V8將hex文件下載到單片機的片上Flash中。係統軟件采用前後台係統,USART的通信放在USART中斷中進行,采用一個定時器產生10ms的中斷,在這裏麵處理按鍵掃描。其餘的傳感器信號采集、處理、重量計算與顯示、菜單設置,均在後台中執行。儀表在上電初始化後,進行係統自檢,如果發現有通道沒有接入傳感器信號或者信號異常,儀表白動報警;自檢通過後,首先去讀存儲在Flash中的設置信息,讀到這些信息後進人大循環中采集傳感器數據,根據上麵的讀到信息進行處理、顯示。菜單設置也在大循環中執行,長按“設置鍵”3s,進入密碼輸入界麵,輸入正確的密碼後,就可以進行菜單設置,在退出菜單時,設置的參數被寫到Flash的特定位置。退出菜單後,在大循環中根據剛才設置的參數處理傳感器采集的數據。當有中斷到來時,程序到中斷服務程序執行相應任務。主函數設計如下:

Void main()

{

Syslnit();//係統初始化

While(!(SelfTest()))

{

DisplayErr0;//整機自檢沒有通過,這裏顯示出錯的地方

}

ReadFromFlash0;//讀取保存在flash中的設置信息

While(1)

{

CalaWeight();//計算重量

TraceZer0()://零點跟蹤

ShowDesk0;//最終顯示界麵,顯示重量,超載閾值

MenuDesign0;//菜單設置

l

}

下麵主要給出通信協議的設計以及菜單的設計細節。

4.2通信協議設計

該係統隻給GPS返回重量信息。信息幀9個字節。主要包含的內容有報文開始字節,符號位,重量數據整數部分和小數部分,校驗和,報文結束字節。具體內容如下:

開始字節:0x0e。

符號位:0xl0表示正數,0xld表示負數。

整數部分:兩個字節。把正數部分轉換成十六進製,把該十六進製數拆分成高四位,低四位,分別把他們轉換成ASCIl碼,

並用十六進製表示。

小數部分:與整數部分一致。

校驗和:兩個字節。首先把符號位,整數部分,小數部分三者進行異或運算,將得到的數據拆分成高四位,低四位,在分別轉換成十六進製表示的ASCll的形式。

結束字節:0xfe。

舉例說明:把24.34這個數據轉換成該幀格式為:

OxOe 0xl 0 0x31 0x38 0x32 0x32 0x32 0x41 Oxfe

4.3 菜單設計

菜單內容體現了係統功能的多樣性,該係統共有8個一級菜單,其中第五、六兩個有二級菜單。當輸入密碼正確後就可以進入該係統設置相關菜單項。密碼初始值12345,進入後可以修改密碼。菜單的示意圖如圖5所示。

菜單的示意圖

各個菜單項的簡要說明:

F0菜單:查看ADC的內碼值,即傳感器輸入的模擬值所對應的數字值。在該項就能查看各個傳感器轉換後的數字值,通過按鍵來切換ADC。

F1菜單:小數點位數。通過該項可以設置顯示數據的小數點位置。

F2菜單:顯示分度值。通過該項可以設置數據變化的最小單元。

F3菜單:零點跟蹤。通過該項設置零點跟蹤的範圍。

F4菜單:超載閾值。通過該項可以設置最大裝載噸位,超過此值,係統就會報警

F5菜單:各個ADC工作選擇。通過該項可以決定讓某個ADC工作與否。

F6菜單:係數設置。通過該項可以設置各個ADC轉換後的結果在總重中的權重。

F7菜單:回複出廠設置。

5 遇到的問題及解決方案

當卡車卸載貨物後,車軸不能完全回複到裝載前的狀態,所以即便是車上已沒有貨物了,但是係統還顯示有重量,如果不處理再次裝載貨物,那麽顯示的重量就會比實際的多,導致測量不準確。針對該問題,我們采用手動清零,即在裝貨前按下清零鍵,給係統一個準確的零點。

不同的路況,不同的行駛狀況如上坡、下坡、加速、刹車等也會使車軸發生較大的形變,那麽傳感器讀回來的信息就包含了貨物之外的因素造成的誤差,這將使測量不準確,具體表現在車子行駛過程中數據跳動很大。針對該問題,我們采用鎖機製,根據停車辨識電路輸出的高低電平信息,來做相應處理。處理的結果如圖6所示:

動態數據處理圖

圖中①線表示實際的傳感器輸出的數據,②線表示經過處理後的數據與皮重之和。

有時候會發生ADC損壞的硬件問題,於是我們在設計硬件時都多設計一個ADC模塊,當一個出現問題時,可以直接把傳感器接到備用模塊上繼續工作。

 

 

本文源於網絡轉載,如有侵權,請聯係刪除

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8