谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

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

飼料生產中稱重儀表的設計與實現

發布時間:2020-11-03 11:27:44 |來源:網絡轉載

0引言
在以工控機控製的飼料生產中,計算機通過RS-232與稱重顯示器傳送數據,讀入當前稱重值.進而控製輸出原料倉門的開啟與關閉來完成配料過程。原先使用的稱重顯示器為其他J商的產品,成熟穩定,功能多樣,但價格十分昂貴。現在以AT89C52構成單片機係統,完成配料係統所需的功能:
①有校秤功能,可以設置增益因子;
②可設置顯示與通信的參數;
③通過串口接收計算機指令;也可顯示毛重皮重兩種狀態;
⑤可保留所設置的參數,以便下次開機時使用。
1硬件組成
儀表硬件組成如圖1所示

儀表硬件組成圖

係統主要由信號放大與模數轉換、看門狗與參數存儲、串口通信、鍵盤與顯示等4個模塊構成:
1.1信號放大與模數轉換
信號放大電路使用運算放大芯片7650,將稱量傳感器的4~20mA信號放大成ADC芯片所需的量程,在本係統中放大100倍。
模數轉換芯片使用Crystal的CS5524,該芯片為四路24位形式,片內包括1個檢測放大器,1個可編程增益放大器,1個多路轉換器,數字濾波器,以及自校準和係統校準電路匚該芯片設計為可自身提供負電源。工作在32kHz晶振的情況下,數字濾波器可提供1.88Hz,3.76Hz,7.51Hz,15Hz,30Hz.61,6Hz,84.5Hz和101.1Hz的輸出刷新頻率。對於選定的輸出速率.數字濾波器可以在一個轉換周期內達到完全的精確度。工作在15Hz或以下時,數字濾波器可以同時抑50Hz/60Hz(±3Hz)的線性幹擾。本係統采用單路差分輸入。
係統中,隻用其中的一路輸入,編程設定模數轉換芯片為0~2.5V量程,單極性電壓,7.51Hz的輸出刷新率。由於輸出給傳感器的激勵電壓本身不穩定和工業現場所帶來的幹擾,使得24位測量值中後8位不穩,所以實際係統中采用前16位,轉換成十進製數為65536,采用一位小數顯示,則最大能稱重6500多kg,符合各廠家的要求。另外在CS5524布板過程中,要注意模擬電源應比數字電源先供電,才能保證芯片的正常啟動。
1.2看門狗與參數存儲
看門狗與參數存儲采用Xicor公司X25O45,其中包括三部分:看門狗定時器、電壓監控和EEPROMc這種三個功能封裝在一起的組合降低了係統的成本並減少了對電路板空間的要求,同時隻占用單片機5位1/0資源。
看門狗定時器對係統提供了獨立的保護係統,配合軟件上的設置可以防止程序走飛;X25045低*檢測電路,可以保護係統使之免受低電壓狀態的影響.當*降到最小轉換點(4.5V)以下時,係統複位.複位一直保持到*返回旦穩定為止;EEPROM提供了4096位空間,內部按512x8來組織,本係統利用它來存儲與顯示和通信有關的參數以及校稱後確定的增益因子。
采用X25045之後,不僅提高了係統的抗幹擾性.同時可以保存用戶設置的參數,免除了用戶每一次上電都需設置參數的麻煩。
1.3串口通信
采用MAX232專用集成芯片,電路簡單。單片機通過串口與1台工控機相連,實時接收從工控機中傳來的數據,完成相應功能,其中包括向工控機發送稱量數據和設置毛重值。
1.4鍵盤與顯示
為節省單片機I/O,數碼顯示采用串行方式,使用MAX7219這是一塊高集成、串行輸入的共陰極顯示驅動器,它有8位LED數字7段碼接口,3線串行接口與AT89C52相連,本係統使用其中的6位,5位BCD編碼顯示稱重結果,另有1位獨立位尋址用來顯示狀態,分別指示毛重、淨重、動態和零位四種狀態。
鍵盤方麵用4個鍵完成各種功能,包括切換淨重、毛重狀態、設置各種參數和校秤。由於鍵盤數目的關係,有些功能隻能用組合鍵來完成,同時考慮到操作人員可能的誤操作,類似於校秤之類的功能也需要用組合鍵來完成。同時,利用單片機I/O中的一位設置跳線,在軟件中進行判斷,使能或禁止鍵盤操作,從根本上杜絕了誤操作的可能。
2軟件編程
軟件簡要流程如圖2所示。軟件設計中必須有與各個硬件模塊進行數據交互的底層函數,從而完成外圍芯片的各種功能。由於MAX232隻是進行電平轉換的芯片,所以它不需要底層函數的支持。而AD,e2prom,顯示芯片都有相應的底層函數。在主程序的設計中,先進行係統初始化,其中包括對單片機本身的設置,如堆棧指針,定時器,串行口和中斷優先級;另外通過底層函數初始化外圍芯片,從e2prom中讀入保存的數據。

軟件簡要流程圖

圖2軟件簡要流程圖
初始化之後,使能三個中斷:
①AD中斷,通過5524的SDO接入89C52的INT。腳,由於在5524每次A/D轉換之後,SDO都會變為低電平,這樣可以在INT。的中斷處理程序中讀入轉換的值。
②串行口中斷,負責接收和發送數據。
③定時器中斷,負責讀入輸入和輸岀顯示的刷新,在具體實現中采用了基於有限狀態機的方法,狀態機入口代碼示意如下:
MOVA,SYS_STATOS;SYS_STATUS存放現在係統所處的狀態
RLA
ADDA,SYS_STATOS;因為LIMP編碼占3個字節,所以SYS_STATUS*3->A
MOVDFTR,#STATUSENTRY
JMP@A+DPTR
STATUSENTRY:LJMPSTATUSOO
LJMPSTATUS01
LJMPSTATUS02
一般係統處於顯示淨重狀態(01),但是如果有鍵按下將使得係統狀態發生改變,進入顯示毛重狀態(00),或參數設置狀態(02及以後)。所以在各狀態的處理程序中,有兩項任務:第一,刷新輸岀,根據現在的狀態,輸岀相應的顯示;第二,處理輸入,對於引起狀態改變的按鍵,將SYS_STATUS的值相應改變,使得下次定時中斷發生時,能進入新的狀態處理程序。
軟件中幾點要注意的問題;
①在串口傳輸稱量結果時按一定格式要傳送18個字節,其中包括以ASCH碼表示的6位稱量結果(5位數字,1位小數點)。由於89C52的串口隻有一個字節大小的緩衝區,所以需要經過18次的發送中斷服務程序才能將一次稱量結果發送岀去,在這期間新的A/D轉換的值已經讀人。但往串口緩衝區送的時候應該注意,如果完整的18個字節的傳送已經結束,則允許傳送,否則不能改變還在傳送過程中的緩衝區的值,無論是校秤過程中的確定增益還是釆集A/D後的乘以增益因子都需要用到多字節的乘除法,在本係統中統一用四字節除以二字節的除法來加以完成。設讀入的原始變化值為a=ABCD(雙字節)h,校秤中對應用戶的變化值為b=EFGH(雙字節)h由用戶通過麵板輸入,增益因子由下式得岀
c=a*1000h/d=AB CDOOOh/EF GHh
對於校秤之後任意讀入的數值d,用戶所需的數據也可以通過d*lOOOH/c得岀。顯然,由於這一類似於定點數的運算,必將引入一定的誤差,每一次校秤時所引入的誤差最大為E/ABCD,取分子分母同為最大估算得岀:15/65535=0.024%。這一引人的誤差在係統誤差的許可範圍之內。
3結束語
該稱重顯示器取代原先使用的稱量儀表,結合計算機端配料控製係統,已在多個飼料生產廠運行達二年多,達到了在穩定運行的基礎上降低係統成本的效果。
 

 

文章來源於網絡轉載,侵刪

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