咨詢電話
ENGLISH0755-88840386咨詢電話
0755-88840386發(fā)布時(shí)間:2021-10-28 16:06:25 |來源:網(wǎng)絡(luò)轉(zhuǎn)載
此文章介紹了稱重給煤機(jī)控制儀表的基本結(jié)構(gòu)以及給煤機(jī)控制系統(tǒng)的硬/軟件設(shè)計(jì),并詳細(xì)分析了實(shí)時(shí)多任務(wù)操作系統(tǒng)mC/OS-II在Samsung公司32位ARM稱重控制器S3C44B0x上的移植。
給煤機(jī)控制儀表系統(tǒng)硬件的設(shè)計(jì)
該控制系統(tǒng)主要包括稱重傳感器信號(hào)的檢測(cè)、數(shù)字式速度傳感器信號(hào)的檢測(cè)、鍵盤輸入信號(hào)的掃描、液晶顯示屏的顯示,以及一些報(bào)警裝置等。由于本設(shè)計(jì)對(duì)主控制器的要求較高,所以最終采用了Samsung公司的基于ARM7TDMI-S內(nèi)核的低功耗ARM處理器S3C44B0x作為系統(tǒng)的主控制器。
稱重傳感器信號(hào)的采集是影響本系統(tǒng)控制精度的最重要因素之一,本設(shè)計(jì)中將傳感器橋路設(shè)計(jì)成4片應(yīng)變片都受力的形式。同時(shí)由于應(yīng)變片式傳感器的輸出信號(hào)非常小,因而要求橋路的電壓特別穩(wěn)定,所以此系統(tǒng)采用了對(duì)稱型、并有正負(fù)壓自跟蹤性能的電源。
傳感器的信號(hào)首先經(jīng)過放大、濾波處理,然后送到A/D控制器。S3C44B0x處理器內(nèi)部集成了8路10位的A/D控制器、零比較器和內(nèi)部產(chǎn)生的比較時(shí)鐘信號(hào),支持軟件使能休眠模式,所以可以很精確的測(cè)出傳感器的信號(hào)。并且通過使用該處理器使得本系統(tǒng)不需要再外擴(kuò)A/D轉(zhuǎn)換芯片,從而減少了系統(tǒng)的復(fù)雜性。
速度傳感器檢測(cè)的是皮帶的速度,由于電機(jī)旋轉(zhuǎn)的速度和皮帶的速度一般不同,有一個(gè)比例系數(shù),為了確保準(zhǔn)確性,本設(shè)計(jì)單獨(dú)采用了速度傳感器,速度傳感器的脈沖輸出正比于皮帶速度。通過將皮帶的速度信號(hào)和稱重傳感器的重量信號(hào)送入微處理器進(jìn)行處理,就得到了以噸/小時(shí)為單位的實(shí)際流量。
通過鍵盤輸入所需要的給煤量,將實(shí)際給煤量和所需給煤量進(jìn)行PID運(yùn)算,并把產(chǎn)生的控制信號(hào)用來控制變頻器,進(jìn)而來控制電機(jī)的轉(zhuǎn)速。本系統(tǒng)用的變頻器是西門子的MMV400,將此變頻器設(shè)置為4~20mA的電流控制,由稱重控制器比較用戶指令和現(xiàn)場(chǎng)的狀態(tài)反饋后發(fā)送4~20mA電流至變頻器的模擬量輸入口,然后變頻器將輸入的電流信號(hào)轉(zhuǎn)換為對(duì)應(yīng)的頻率后輸出來控制電機(jī)。
ARM處理器的控制數(shù)據(jù)首先經(jīng)過光電隔離送到D/A控制器(TLC5615),轉(zhuǎn)換成0~2V的電壓信號(hào),然后經(jīng)過V/I轉(zhuǎn)換器(AD694)產(chǎn)生4~20mA的電流信號(hào),用來精確的控制電機(jī)的轉(zhuǎn)速。
LCD顯示屏顯示的內(nèi)容包括電機(jī)的轉(zhuǎn)速、所需給煤量、實(shí)際的給煤量,以及皮帶的速度等。S3C44B0x中集成了LCD控制器,可以將顯示緩存中的數(shù)據(jù)傳送到外部的LCD驅(qū)動(dòng)電路中,并可以支持單色、4或16級(jí)灰度的LCD和256級(jí)的彩色LCD。大量的I/O口作為繼電器信號(hào)輸出。并且S3C44B0x還可以通過串口RS-232和上位機(jī)進(jìn)行通信。
儀表控制系統(tǒng)軟件的設(shè)計(jì)
稱重給煤機(jī)控制儀表軟件選用嵌入式實(shí)時(shí)多任務(wù)操作系統(tǒng)mC/OS-II。它是一個(gè)源代碼公開、可移植、可固化、可剪裁、占先式的實(shí)時(shí)多任務(wù)操作系統(tǒng)。其絕大部分源代碼是用ANSIC寫的,移植方便,并且運(yùn)行穩(wěn)定可靠。目前,它已經(jīng)在幾十種從8位到64位的微處理器,微控制器上實(shí)現(xiàn)了成功的移植。
mC/OS-II在S3C44B0x上的移植
移植mC/OS-II主要包括:聲明3個(gè)宏(開中斷,關(guān)中斷和任務(wù)切換);設(shè)置堆棧的增長(zhǎng)方向;聲明10個(gè)與編譯器相關(guān)的數(shù)據(jù)類型;用C語(yǔ)言編寫6個(gè)與操作系統(tǒng)有關(guān)的函數(shù)(OS-CPU-C.C任務(wù)堆棧初始化和5個(gè)鉤子函數(shù));用匯編語(yǔ)言編寫4個(gè)與處理器相關(guān)的函數(shù)(OS-CPU.ASM)。
用匯編語(yǔ)言編寫4個(gè)與處理器相關(guān)的函數(shù)如下。
mC/OS-II需要先禁止中斷再訪問代碼的臨界斷,并且在訪問結(jié)束后重新允許中斷,操作系統(tǒng)是通過OS_ENTER_CRITICAL(),OS_EXIT_CRITICAL()兩函數(shù)來實(shí)現(xiàn)開中斷和關(guān)中斷的。
在mC/OS-II中,使用OS-STK-GROWTH來指定堆棧的增長(zhǎng)方向,0表示從低地址向高地址增長(zhǎng),1則相反。但是所用的ADS編譯器僅支持高地址向低地址增長(zhǎng)的方式,所以O(shè)S-STK-GROWTH應(yīng)設(shè)置為1。
然后用匯編語(yǔ)言編寫4個(gè)與處理器相關(guān)的函數(shù),放到函數(shù)OS-CPU.ASM中,這就完成了OS-CPU.ASM文件的移植。上層任務(wù)調(diào)度部分不需要任何改動(dòng)。完成以上工作后,mC/OS-II就可以正常運(yùn)行在S3C44B0x處理器上了。
系統(tǒng)任務(wù)的劃分以及調(diào)度
嵌入式實(shí)時(shí)系統(tǒng)中的任務(wù)不同于前后臺(tái)系統(tǒng)中的子程序模塊,一般,一個(gè)任務(wù)對(duì)應(yīng)于一段獨(dú)立的主程序,它可以調(diào)用子程序,并使用如中斷等各種系統(tǒng)資源。嵌入式系統(tǒng)的任務(wù)劃分,是將系統(tǒng)中所要處理的事情劃分為一個(gè)個(gè)相對(duì)獨(dú)立的任務(wù)模塊,將其按順序建立一個(gè)個(gè)的任務(wù),并且分配不同的優(yōu)先級(jí)。在主程序中,所需要做的是建立這些模塊的任務(wù),然后每次執(zhí)行就緒任務(wù)隊(duì)列中優(yōu)先級(jí)最高的任務(wù)。根據(jù)本電子稱重儀表的特點(diǎn),可將任務(wù)劃分如下:鍵盤掃描、傳感器信號(hào)的檢測(cè)、電機(jī)速度減慢、電機(jī)速度變快,以及液晶顯示等任務(wù)。
mC/OS-II的任務(wù)調(diào)度是按優(yōu)先級(jí)進(jìn)行的,所以必須為每個(gè)任務(wù)分配不同的優(yōu)先級(jí),其中0,1,2,3,OS_LOWEST_PRIO-3,OS_LOWEST_PRIO-2,OS_LOWEST_PRIO-1,OS_LOWEST_PRIO,這幾個(gè)優(yōu)先級(jí)供系統(tǒng)使用,所以必須保留。
根據(jù)每個(gè)任務(wù)的實(shí)時(shí)性要求以及重要程度,分別將以上任務(wù)的優(yōu)先級(jí)分配為:12、6、7、8和13等。任務(wù)優(yōu)先級(jí)號(hào)越低,優(yōu)先級(jí)越高。
當(dāng)稱重給煤機(jī)控制儀表啟動(dòng)后,如果啟動(dòng)一切正常,則進(jìn)行送煤任務(wù),運(yùn)行時(shí),如果傳感器信號(hào)檢測(cè)到給煤量偏多,則發(fā)送信號(hào)給電機(jī)減慢的任務(wù),反之,就發(fā)送信號(hào)給電機(jī)加速任務(wù)。此外,當(dāng)有一些故障、危險(xiǎn)出現(xiàn)時(shí),則發(fā)送信號(hào)給停機(jī)任務(wù)??傊?在控制儀表中,信號(hào)、消息不斷傳遞,使得各任務(wù)不斷切換運(yùn)行,從而整個(gè)控制儀表得以正常的連續(xù)的工作。
結(jié)語(yǔ)
本文設(shè)計(jì)的稱重給煤機(jī)控制儀表主要用于火力發(fā)電廠的磨煤制粉系統(tǒng)中,它與磨煤機(jī)設(shè)備配合,承擔(dān)向系統(tǒng)定量均勻供煤的任務(wù),是火力發(fā)電廠重要的輔助設(shè)備。這種系統(tǒng)同樣可以應(yīng)用于冶金、化工等部門的散狀物料的計(jì)量輸送系統(tǒng),對(duì)于節(jié)約能源和提高經(jīng)濟(jì)效益及保證安全方面有重大意義。
本經(jīng)多次現(xiàn)場(chǎng)調(diào)試運(yùn)行,本控制儀表系統(tǒng)能很好的完成電廠的給煤任務(wù)。
本文源于網(wǎng)絡(luò)轉(zhuǎn)載,如有侵權(quán),請(qǐng)聯(lián)系刪除