料斗秤控制系統的研究:
卸料機料斗稱(chēng)量測控儀,是適用于卸料機運行過(guò)程中的料斗稱(chēng)量給料、放料控制;料斗動(dòng)態(tài)載重傾斜控制;振動(dòng)給料器起振點(diǎn)設定控制;存余量停振點(diǎn)控制;料位裝載預警、報警點(diǎn)設定控制的裝置。該裝置在日本大和CFC100、CFW技術(shù)基礎上,以Atmega128CPU為核心,具有處理多路稱(chēng)重信號能力,并針對多路輸入信號實(shí)時(shí)作出相應的智能動(dòng)態(tài)控制。
ATMEL*新推出的AT90系列AVR單片機是很引人注目的*款微處理器。這種芯片基于新的RISC(ReducedInstructi0nSetC0mputer)結構,在設計上采用了流水線(xiàn)的結構,在執行前*條指令的時(shí)候,同時(shí)取出下*條指令,它的FLASH以及強大的外圍接口能力使它成為目前zui流行的單片機*。
本文采用的*性能微處理器芯片Atmega128,利用結構化、模塊化程序設計的思想,實(shí)時(shí)地對三路重量信號進(jìn)行采樣,計算并顯示出各路重量及狀態(tài),根據計算值及狀態(tài)作相應的控制,以9600bps的速率和上位PC機進(jìn)行串行數據傳輸。
1硬件設計
1.1微處理器及其特點(diǎn)
Atmega128是ATMEL*推出的*檔系列產(chǎn)品,是基于AVRRISC的低功耗CM0S8位單片機。在外部晶振為8MHz時(shí),*條指令的執行時(shí)間*為125ns,這種AVR單片機的結構有利于用C語(yǔ)言編程,從而能*地開(kāi)發(fā)出目標產(chǎn)品。為了對目標代碼大小進(jìn)行優(yōu)化,AVR單片機采用了大型快速存取寄存器文件和快速單周期指令。通過(guò)在*個(gè)時(shí)鐘周期內執行*條指令,Atmega128可以取得接近1MIPS/MHz的性能。它將32個(gè)工作寄存器和豐富的指令集聯(lián)結在*起,使*有的工作寄存器都和ALU(ArithmeticL0gicUnit,計算機CPU中的算術(shù)邏輯單元)直接相連,允許在1個(gè)時(shí)鐘周期內執行的單條指令同時(shí)訪(fǎng)問(wèn)2個(gè)獨立的寄存器。Atmega128具有128K字節的Flash存儲器,4K字節在線(xiàn)可編程EEPR0M,4K字節SRAM,外圍有2個(gè)全雙工UART串行通訊接口。
1.2.1 DC輸入單元
把DC信號經(jīng)光偶隔離轉化為TTL電平,送主控單元。
1.2.2模擬輸入單元(見(jiàn)圖2)
A路、B路及CD路信號分別由稱(chēng)重傳感器信號經(jīng)前置預處理、信號放大后送主控單元,由主控單元A/D轉換,得到三路采樣的重量信號。
1.2.3人機界面單元
由8只按健和點(diǎn)陣式顯示屏組成,按健輸入控制的參數及調整量,顯示屏顯示重量信號狀態(tài)信息。
1.2.4 DC輸出單元
由11只控制繼電器組成,分別控制A路偏載、預警、報警,B路偏載、預警、報警,CD路偏載,總量的起振、停振、預警和報警。
1.2.5模擬輸出單元
由4路D/A輸出,經(jīng)電流放大,產(chǎn)生4~20mA的電流控制信號,分別代表A路、B路、CD路和總路的重量狀態(tài)。
1.2.6串行通信單元</b>
串行通信單元由*個(gè)RS-485驅動(dòng)器和*個(gè)RS-232驅動(dòng)器組成,分別對應主控單元的兩個(gè)獨立的UART接口。
1.2.7主控制單元
由Atmega128CPU可編程邏輯控制器、實(shí)時(shí)時(shí)鐘電路、黑匣子存儲器和外部看門(mén)狗組成(見(jiàn)圖3)。
2軟件設計
軟件部分采用模塊化、結構化程序設計方法,利用C語(yǔ)言編寫(xiě)。軟件流程圖如圖4*示。
2.1初始化
設置SP初值;把程序用到的內部RAM區清0;DC輸出繼電器賦初值;串行口0(RS-232)初始化(設置波特率為9600),串行口1(RS-485)初始化(設置波特率為9600,接收狀態(tài));讀EER0M指針(黑匣子數據存儲指針);點(diǎn)陣液晶初始化,顯示初始幅面(顯示儀器型號,生產(chǎn)廠(chǎng)家,聯(lián)系電話(huà));實(shí)時(shí)時(shí)鐘(DS1302)初始化;看門(mén)狗(X5043)初始化,打開(kāi)看門(mén)狗;中斷初始化,打開(kāi)中斷。
2.2輸入/輸出處理:
輸入/輸出處理軟件流程圖如圖5*示。
2.2.1模擬信號采樣(A/D):
分別對A路,B路和CD路采樣各64個(gè)信號點(diǎn),根據大數定理,去掉奇異點(diǎn),剩下的作平滑處理,得到A路采樣值,B路采樣值,CD路采樣值。
2.2.2計算A、B、CD路的重量:
A路重量=A路采樣值*A路重量系數-A路皮重
B路重量=B路采樣值*B路重量系數-B路皮重
C路重量=C路采樣值*C路重量系數-C路皮重
總重量=A路重量+B路重量+C路重量
2.2.3模擬輸出控制
A路D/A輸出值=204*A路重量/A路zui大重量+51
B路D/A輸出值=204*B路重量/B路zui大重量+51
CD路D/A輸出值=204*CD路重量/CD路zui大重量+51
總路D/A輸出值=204*總重量/總路zui大重量+51
A路D/A輸出值送D/A通道0,B路D/A輸出值送D/A通道1,CD路D/A輸出值送D/A通道2,總路D/A輸出值送D/A通道3。
2.2.4DC輸出控制
根據A路重量判別是否偏載、安全、預警、報警,對相應的繼電器作出控制,根據B路重量判別是否偏載、安全、預警、報警,對相應的繼電器作出控制,根據CD路重量判別是否偏載、安全、預警、報警,對相應的繼電器作出控制,根據總重量判別是否停振、起振、預警、報警,對相應的繼電器作出控制。在報警狀態(tài)作黑匣子數據存儲。
2.2.5黑匣子數據存儲
黑匣子數據存儲在串口EEPR0M(24C256)中,每組數據有12個(gè)字節組成(見(jiàn)表1)
由上位機(PC機)串口發(fā)讀命令,則黑匣子數據通過(guò)串口送PC機,清除命令則清除*有黑匣子數據。
2.3中文顯示
中文顯示由*組顯示驅動(dòng)函數據組成:
Printstr8X16以8*16點(diǎn)陣組成的字符顯示字符串(包括中文)(函數原碼見(jiàn)附錄)
Printstr16X16以16*16點(diǎn)陣組成的字符顯示字符串(包括中文)
Printl0ng8X16以8*16點(diǎn)陣組成的字符顯示數字
Printl0ng16X16以16*16點(diǎn)陣組成的字符顯示數字
程序中調用以上函數,很方便地把中文字符或數字顯示到顯示屏的任意位置。
2.4鍵處理函數
2.4.1校0鍵:
對A路、B路、CD路重量信號A/D采樣,乘相應的系數,作為皮重存儲在EEPR0M中。
2.4.2設置鍵:
屏幕提示密碼輸入
1) 輸入密碼1
實(shí)時(shí)時(shí)鐘設置,顯示當時(shí)時(shí)鐘,在光標位置下,修改相應數字,移動(dòng)光標,保存修正后的時(shí)鐘。
2) 輸入密碼2
輸入參數,每*屏顯示*個(gè)參數,修改后轉入下*屏顯示下*個(gè)參數或退出返回到正常工作狀態(tài)。修改的參數依次如下:A路偏載重量、A路預警重量、A路報警重量、B路偏載重量、B路預警重量、B路報警重量、C路偏載重量、總量起振重量、總量停振重量、總量預警重量、總量報警重量、A路重量系數、B路重量系數、CD路重量系數。
2.5串行通信處理
本系統采用被動(dòng)式查詢(xún)通訊,串口接收采用中斷方式,發(fā)送采用查詢(xún)方式。
串口命令:
當串口收到0AH、41H、0DH命令時(shí),把當前數據(由ASCII碼)傳送上位機,數據構成見(jiàn)表3:
2.5.2讀黑匣子數據命令(3字節)見(jiàn)表4
當串口收到0AH、42H、0DH命令時(shí),把*存儲的黑匣子數據送上位機,傳送數據構成見(jiàn)表5:
注:每組數據格式參數1命令(讀當前數據)
2.5.3清黑匣子數據見(jiàn)表6
當串口收到0AH、43H、0DH命令時(shí),把黑匣子指針指向初始位置,組數據值清0,并向上位機應答。
料斗秤控制系統的研究