麻銀金
(銅仁學(xué)院 大數(shù)據(jù)學(xué)院,貴州 銅仁 554300)
?
基于μC/OS-II的下刻機(jī)云母槽檢測(cè)定位系統(tǒng)設(shè)計(jì)
麻銀金
(銅仁學(xué)院 大數(shù)據(jù)學(xué)院,貴州 銅仁 554300)
針對(duì)傳統(tǒng)云母槽下刻機(jī)前后臺(tái)控制系統(tǒng)落后,無法實(shí)現(xiàn)多進(jìn)程運(yùn)行,且實(shí)時(shí)性差的特點(diǎn),提出了一種基于嵌入式技術(shù)的下刻機(jī)云母槽檢測(cè)定位系統(tǒng)。進(jìn)行了硬件結(jié)構(gòu)設(shè)計(jì),說明了它的工作原理及控制過程;在軟件設(shè)計(jì)部分引入了嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II并進(jìn)行任務(wù)劃分,完成相應(yīng)的程序代碼編寫,使各任務(wù)協(xié)同工作完成系統(tǒng)功能。經(jīng)調(diào)試及試驗(yàn),下刻機(jī)能正常工作,能實(shí)現(xiàn)云母槽檢測(cè)定位,其性能優(yōu)于前后臺(tái)系統(tǒng)的下刻機(jī)。
下刻機(jī),檢測(cè)定位,μC/OS-II,任務(wù)劃分
下刻機(jī)云母槽自動(dòng)刻削的關(guān)鍵是對(duì)云母槽進(jìn)行檢測(cè)定位,準(zhǔn)確識(shí)別出云母槽、銅片之間分隔邊界,計(jì)算云母槽的中心線坐標(biāo)位置,完成對(duì)刀操作,為后面的精準(zhǔn)下刻做準(zhǔn)備[1-2]。而傳統(tǒng)下刻機(jī)云母槽檢測(cè)定位系統(tǒng)仍采用前后臺(tái)程序控制,其工作機(jī)理及控制方式存在著不足,如實(shí)時(shí)性差、程序任務(wù)優(yōu)先級(jí)設(shè)定困難、可靠性不高等。因而,積極開展?fàn)恳绷麟姍C(jī)整流子云母槽中心線定位技術(shù)研究,在下刻機(jī)中引入高性能微控制器及嵌入式操作系統(tǒng)技術(shù),對(duì)系統(tǒng)功能進(jìn)行任務(wù)模塊劃分并設(shè)定程序優(yōu)先級(jí)別,使整個(gè)任務(wù)并行執(zhí)行,增強(qiáng)系統(tǒng)的實(shí)時(shí)性和可靠性,進(jìn)而提高下刻機(jī)工作效率,具有現(xiàn)實(shí)意義[3]。
云母槽檢測(cè)定位系統(tǒng)的結(jié)構(gòu)原理框圖如圖1所示。欲加工整流子的云母槽視頻圖像由CCD圖像傳感器拍攝,采集的視頻信號(hào)由LM1881視頻同步信號(hào)分離電路對(duì)視頻信號(hào)進(jìn)行處理,分離出行、場(chǎng)同步脈沖作為STM32微控制器的輸入控制信號(hào)對(duì)采集云母槽圖像信息并進(jìn)一步處理,驅(qū)動(dòng)伺服電機(jī)完成云母槽中心位置的定位。
圖1 下刻機(jī)云母槽自動(dòng)檢測(cè)定位系統(tǒng)框圖
系統(tǒng)主要由CCD圖像傳感器、微控制器MCU、視頻信號(hào)處理LM1881、人機(jī)接口、伺服驅(qū)動(dòng)及伺服電機(jī)、監(jiān)視器、串口通信、電源以及控制軟件系統(tǒng)和機(jī)械部分等組成。由CCD傳感器采集整流子表面信息,輸出的圖像信號(hào)經(jīng)過處理,分離出行、場(chǎng)同步脈沖作為MCU控制信號(hào),圖像信號(hào)同時(shí)也經(jīng)閾值比較后輸入MCU,經(jīng)過MCU比較計(jì)算后輸出得到伺服控制信號(hào),控制伺服電機(jī)驅(qū)動(dòng)加工整流子旋轉(zhuǎn)到欲刻削的位置,使云母槽中心精確對(duì)準(zhǔn)刀具位置,為后續(xù)的刻槽工作做準(zhǔn)備。CCD攝像頭同時(shí)還輸出一路信號(hào)給視頻監(jiān)視器,以便輔助工作人員觀察對(duì)刀情況。人機(jī)接口主要提供人機(jī)界面,有關(guān)參數(shù)和控制指令由工作人員輸入給系統(tǒng),比如云母槽數(shù)量、整流子型號(hào)、開機(jī)或關(guān)機(jī),刻槽、停止等,系統(tǒng)按照指令要求工作,以此同時(shí),把工作狀態(tài)通過顯示屏反饋給操作人員。MCU與PC的信息交換由通串行通信部分提供,它可把云母槽原始信息或處理后的信息傳輸給上位機(jī)PC,以供調(diào)試人員觀察分析。電源部分則把220 V交流電轉(zhuǎn)換為系統(tǒng)的所需要的各路工作電壓。
采集云母槽視頻圖像,計(jì)算云母槽中心位置坐標(biāo),控制伺服電機(jī)轉(zhuǎn)動(dòng)進(jìn)行云母槽中心線對(duì)準(zhǔn),其終止條件是云母槽中心位置對(duì)準(zhǔn)。整個(gè)循環(huán)過程一旦停止,就說明云母槽中心已對(duì)準(zhǔn)下刻刀位置,于是停止伺服電機(jī)轉(zhuǎn)動(dòng),可以進(jìn)行云母槽刻削,否則繼續(xù)循環(huán)找中心位置坐標(biāo),直到對(duì)準(zhǔn)。云母槽中心位置對(duì)準(zhǔn)的流程如圖2所示。
圖2 云母槽中心線對(duì)準(zhǔn)流程圖
2.1 引入μC/OS-II
μC/OS-II的含義就是“微控制器操作系統(tǒng)版本2”,其作者是由美國(guó)的Jean Labrosse嵌入式系統(tǒng)專家。這個(gè)實(shí)時(shí)操作系統(tǒng)內(nèi)核,是他在1992年完成的μC/OS第1版基礎(chǔ)上,于1998年升級(jí)為第二版的,美國(guó)航空管理局于2000年對(duì)其進(jìn)行了符合RTCA DO-178B標(biāo)準(zhǔn)、用于商業(yè)用飛機(jī)的認(rèn)證。醫(yī)療儀器設(shè)備、家用電器、通信設(shè)備、發(fā)動(dòng)機(jī)設(shè)備、銀行提款機(jī)等,對(duì)μC/OS-II都有廣泛的應(yīng)用[4]。
2.2 μC/OS-II的主要特點(diǎn)
μC/OS-II是一款可剝奪內(nèi)核、多任務(wù)、可裁剪的實(shí)時(shí)操作系統(tǒng)內(nèi)核,其代碼開源、結(jié)構(gòu)非常精巧,屬于嵌入式系統(tǒng)專用。它的絕大部分代碼由C語言編寫的,只有一小部分是用匯編語言編寫且與處理器緊密相關(guān)的程序代碼。大約有5 500行左右的源代碼總量,僅有200多行匯編語言代碼部分。在μC/OS-II系統(tǒng)中,系統(tǒng)總是調(diào)度運(yùn)行就緒隊(duì)列中優(yōu)先級(jí)別最高的任務(wù),能夠管理的任務(wù)數(shù)最多64個(gè),其中有56個(gè)可由用戶使用。用戶編寫的應(yīng)用程序同μC/OS-II一起固化到的產(chǎn)品中。根據(jù)實(shí)際情況,用戶還可以對(duì)μC/OS-II進(jìn)行裁剪,僅保留需要的服務(wù)功能,刪除冗余的服務(wù)功能,節(jié)約系統(tǒng)資源又滿足實(shí)際應(yīng)用。
2.3 云母槽檢測(cè)定位系統(tǒng)的μC/OS-II任務(wù)劃分
把μC/OS-II嵌入式實(shí)時(shí)操作系統(tǒng)引入到云母槽檢測(cè)定位系統(tǒng),其應(yīng)用程序設(shè)計(jì)風(fēng)格完全不同于無操作系統(tǒng)的“前后臺(tái)”系統(tǒng)。在μC/OS-II操作系統(tǒng)下進(jìn)行系統(tǒng)功能設(shè)計(jì),劃分功能模塊,設(shè)計(jì)出各個(gè)程序任務(wù)。在μC/OS-II的多任務(wù)調(diào)度器下,各任務(wù)有條不紊地執(zhí)行[4]。
應(yīng)用程序設(shè)計(jì)的關(guān)鍵,是劃分云母槽檢測(cè)定位系統(tǒng)的功能模塊任務(wù),劃分合理與否將直接影響到系統(tǒng)軟件設(shè)計(jì)。在進(jìn)行任務(wù)模塊劃分時(shí),如下的幾個(gè)要點(diǎn)需要注意[5-6]:
① 要滿足實(shí)時(shí)性指標(biāo)。最壞情形下,系統(tǒng)中所有的實(shí)時(shí)性功能任務(wù),都能照常運(yùn)行。
② 劃分任務(wù)的數(shù)目要合理。任務(wù)數(shù)目多,則每個(gè)任務(wù)的具體功能就相對(duì)簡(jiǎn)單些,任務(wù)設(shè)計(jì)也簡(jiǎn)單,但任務(wù)調(diào)度負(fù)擔(dān)較重,任務(wù)通信頻繁,系統(tǒng)效率不高,資源消耗增大。任務(wù)數(shù)目少時(shí),則每個(gè)任務(wù)功能實(shí)現(xiàn)復(fù)雜,但各任務(wù)之間通信量小,共享資源不多,從而可以使系統(tǒng)開銷少。所以適當(dāng)合并一些任務(wù),使任務(wù)數(shù)目不多,對(duì)整個(gè)系統(tǒng)來說比較有利。
③ 使軟件系統(tǒng)得到簡(jiǎn)化。通過對(duì)任務(wù)合理劃分,剪裁操作系統(tǒng)的冗余功能,降低軟件復(fù)雜度,減小程序代碼規(guī)模。
④ 減少資源需求。使任務(wù)間的同步與通信簡(jiǎn)化,達(dá)到減少對(duì)相關(guān)數(shù)據(jù)結(jié)構(gòu)內(nèi)存占用規(guī)模的目的,進(jìn)而降低系統(tǒng)資源需求。
根據(jù)上述要點(diǎn),分析下刻機(jī)云母槽檢測(cè)定位系統(tǒng),將其劃分成下面七個(gè)任務(wù):顯示屏任務(wù)、觸摸屏任務(wù)、數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)輸出、伺服電機(jī)驅(qū)動(dòng)和系統(tǒng)開始任務(wù)。系統(tǒng)開始任務(wù)是一次性臨時(shí)執(zhí)行任務(wù),在μC/OS-II系統(tǒng)運(yùn)行時(shí),由其創(chuàng)建顯示屏任務(wù)、觸摸屏任務(wù)、數(shù)據(jù)處理、數(shù)據(jù)輸出、伺服電機(jī)驅(qū)動(dòng)任務(wù)等,執(zhí)行完畢后調(diào)用系統(tǒng)函數(shù)OSTaskDel()刪除自身,從而節(jié)約系統(tǒng)資源。由觸屏任務(wù)根據(jù)需要?jiǎng)?chuàng)建數(shù)據(jù)采集任務(wù)。這些任務(wù)通過信號(hào)量和消息郵箱通信等協(xié)同進(jìn)行工作。系統(tǒng)的各個(gè)任務(wù)模塊關(guān)聯(lián)圖如圖3所示。
圖3 各任務(wù)模塊關(guān)聯(lián)圖
這幾個(gè)任務(wù)當(dāng)中,開始任務(wù)、數(shù)據(jù)采集及觸摸屏任務(wù)的實(shí)時(shí)性相對(duì)較高。因此,各個(gè)任務(wù)的優(yōu)先級(jí)是如下安排的:開始任務(wù)的優(yōu)先級(jí)是4,觸摸屏任務(wù)的優(yōu)先級(jí)是7,采集任務(wù)的優(yōu)先級(jí)是9,數(shù)據(jù)處理任務(wù)的優(yōu)先級(jí)是11,電機(jī)驅(qū)動(dòng)任務(wù)的優(yōu)先級(jí)是13,顯示屏任務(wù)的優(yōu)先級(jí)是15,數(shù)據(jù)輸出任務(wù)的優(yōu)先級(jí)是17。相對(duì)寬松的優(yōu)先級(jí)安排相對(duì)寬松,方便了以后新任務(wù)的擴(kuò)展,比較容易找到合適優(yōu)先級(jí)數(shù)目而不用改變?cè)袃?yōu)先等級(jí)[7]。
在下刻機(jī)云母槽檢測(cè)定位系統(tǒng)中應(yīng)用高性能微控制器STM32,引入μC/OS-II實(shí)時(shí)操作系統(tǒng),劃分任務(wù)模塊。各個(gè)任務(wù)運(yùn)行是依靠CPU在它們之間來回調(diào)度而實(shí)現(xiàn),各任務(wù)都認(rèn)為自己完全擁有CPU資源。然而每個(gè)程序任務(wù)模塊只是整個(gè)應(yīng)用系統(tǒng)的組成部分之一,其優(yōu)先級(jí)在任務(wù)創(chuàng)建時(shí)被確定,它們都有屬于自己的寄存器組和堆棧存儲(chǔ)空間。μC/OS-II內(nèi)核首先調(diào)度優(yōu)先級(jí)最高的任務(wù)運(yùn)行。多任務(wù)系統(tǒng)最大限度提高了CPU利用率,利于應(yīng)用系統(tǒng)程序的模塊化設(shè)計(jì)。經(jīng)調(diào)試及實(shí)驗(yàn),云母槽檢測(cè)定位系統(tǒng)能正常運(yùn)行,其實(shí)時(shí)性、并行性、響應(yīng)時(shí)間均優(yōu)于采用前后臺(tái)系統(tǒng)的傳統(tǒng)下刻機(jī),可以實(shí)現(xiàn)云母槽檢測(cè)定位,達(dá)到預(yù)定設(shè)計(jì)目標(biāo)。
【REFERENCES】
[1] 陳春俊,伍川輝,寧靜.電機(jī)云母槽自動(dòng)下刻機(jī)測(cè)控系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2004,12(8):738-740.
CHEN C J,WU C H,NING J.Design of measurement and control system for electromotor mica-slot chiseling machine[J].Computer Measurement & Control,2004,12(8):738-740.
[2] 喻凌宇,朱衡君,景文軍.基于面陣CCD的云母槽自動(dòng)下刻機(jī)檢測(cè)定位系統(tǒng)[J].儀器儀表學(xué)報(bào),2000,21(6):617-622.
YU L Y,ZHU H J,JING W J.A detecting and positioning system of the automatic mica undercutter based on array CCD[J].Chinese Journal of Scientific Instrument,2000,21(6):617-622.
[3] 張占軍.直流牽引電動(dòng)機(jī)下刻機(jī)自動(dòng)定位系統(tǒng)的研究[D].北京:北京交通大學(xué),2005.
ZHANG Z J.A Study on the undercutter automatic positioning system of the D.C.traction motor[D].Beijing:Beijing Jiaotong University,2005.
[4] 陳志旺.STM32嵌入式微控制器快速上手:第二版[M].北京:電子工業(yè)出版社,2014.
[5] 戴慶炎.前入式系統(tǒng)開發(fā)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)春:吉林大學(xué),2014.
DAI Q Y.The design and realization of the embedded system development platform[D].Changchun:Jilin University,2014.
[6] 周航慈.基于嵌入式實(shí)時(shí)操作系統(tǒng)的程序設(shè)計(jì)技術(shù):第二版[M].北京:北京航空航天大學(xué)出版社,2011.
[7] 任哲,房紅征,曲靖.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ原理及應(yīng):第三版[M].北京:北京航空航天大學(xué)出版社,2014.
Design of a mica-slot detecting and positioning system for under-cutter based on μC/OS-II
MA Yinjin
(Big-DataInstitute,TongrenUniversity,Tongren554300,China)
Targeting at the outdated foreground-background control system of the traditional mica-slot under-cutter which has poor multi-process and real-time performance,we proposed a mica-slot detecting and positioning system based on embedded technology.We designed its hardware,and described its working principle and control process.The embedded real-time operating system μC/OS-II was introduced,the tasks of the system were divided,and the code of the program was completed to enable all tasks to work collaboratively.After debugging and experimenting,the system worked well and could realize the detection and position of the mica-slot.The new system has superior performance to the traditional under-cutter with foreground-background control system.
under-cutter,detecting and positioning,μC/OS-II,task division
TP
A
2016-08-20;
2016-09-15
麻銀金(1974-),男,苗族,湖南省鳳凰縣人,助教,碩士,研究方向:儀器儀表。