龍秀光 吳震宇
摘? 要: 針對傳統(tǒng)電子式斷紗檢測傳感器智能化程度低的問題,提出優(yōu)化探頭結(jié)構(gòu)以滿足嵌入式系統(tǒng)控制需求的解決方案。優(yōu)化后的探頭結(jié)構(gòu)搭載兩組紅外發(fā)射器與接收器分別用于紗線檢測和系統(tǒng)操作模式切換,再將接收器的動作信號處理后送入MCU進行邏輯運算,最后賦給硬件功能模塊相應(yīng)指令進行終端操作。使用C語言開發(fā)并利用MCU的定時器、外部中斷等資源,可實現(xiàn)紗線的實時檢測、斷紗報警、斷紗干預(yù)停機、系統(tǒng)自啟及操作模式切換功能。
關(guān)鍵詞: 斷紗檢測; C語言; MCU; 定時器; 外部中斷
中圖分類號:TP23? ? ? ? ? 文獻標(biāo)識碼:A? ? ? 文章編號:1006-8228(2023)05-91-03
Design and research of intelligent yarn breaking detection system based on C language
Long Xiuguang1,2, Wu Zhenyu1,2
(1. School of Mechanical Engineering, Zhejiang Sci-Tech University, Hangzhou, Zhejiang 310018, China;
2. Xinchang Zhejiang Sci-Tech University Technology Innovation Research Institute Co. LTD)
Abstract: Aiming at the problem of low intelligence of traditional electronic yarn breaking detection sensors, a solution to optimize the probe structure to meet the control requirements of embedded systems is proposed. The optimized probe structure is equipped with two sets of infrared transmitters and receivers for yarn detection and system operation mode switching, and then the receiver's action signal is processed and sent to the MCU for logic calculation, and finally the corresponding instructions are assigned to the hardware function module for terminal operation. Developed in C language and utilizing resources such as MCU timers and external interrupts, it can realize real-time yarn detection, yarn breaking alarm, yarn breaking intervention shutdown, system self-start and operation mode switching functions.
Key words: yarn breaking detection; C language; MCU; timer; external interrupt
0 引言
上世紀(jì)七十年代,人們在數(shù)據(jù)傳輸、通訊和檢測技術(shù)上對計算機提出了新的要求,但由于通用計算機主要面對控制對象,若要凸顯它的控制功能、體積小、應(yīng)用靈活的優(yōu)勢,通用計算機沒有辦法滿足這個要求,一種全新的嵌入式系統(tǒng)由此產(chǎn)生[2]。如今隨著科技的進步,嵌入式系統(tǒng)已大量應(yīng)用于制造工業(yè)、過程控制、機器人、通訊、儀器儀表、汽車、船舶、航空航天、軍事裝備、消費類產(chǎn)品等國民經(jīng)濟的主要行業(yè)[1-3]。就傳統(tǒng)的工業(yè)控制產(chǎn)品而言,如數(shù)控機床、電網(wǎng)檢查設(shè)備、工業(yè)控制等低端型工業(yè)設(shè)備常采用的是八位單片機[4]。紡織工業(yè)是我國的重點支撐產(chǎn)業(yè),有著非常廣闊的發(fā)展前景。紗線斷裂實時檢測在整個紡織作業(yè)過程中有著舉足輕重的作用。隨著嵌入式的發(fā)展,斷紗檢測技術(shù)從機械式發(fā)展到如今的電子式,并逐步向檢測精度更高的圖像檢測發(fā)展。電子式中的光電式具有非接觸、反應(yīng)速度快、結(jié)構(gòu)袖珍等特點廣泛應(yīng)用于紡織設(shè)備中的斷紗檢測。嵌入式的廣泛應(yīng)用,極大推動了智能制造的進步,但在科技不斷發(fā)展的今天,對嵌入式系統(tǒng)也提出了更高的要求。
1 項目任務(wù)
本研究基于光電原理設(shè)計了智能斷紗檢測系統(tǒng),主要用于實時檢測紡織紗線的通斷狀態(tài)并進行干預(yù)停機,其結(jié)構(gòu)示意圖如圖1所示;其中T和R組成操作模式選擇器,代替?zhèn)鹘y(tǒng)機械開關(guān),通過手勢遮擋光路一段時間來切換系統(tǒng)操作模式(自由模式和干預(yù)模式);T1、T2和R12組成紗線檢測探頭,紗線通過遮擋部分光量而引起接收器R12內(nèi)部光電流變化,在反向電壓的作用下將得到一個變化的電壓信號。正常工況下,當(dāng)紗線Y斷裂時,系統(tǒng)報警并及時干預(yù)紡織設(shè)備停機,減少卷筒對殘余紗線的抽取量,降低后續(xù)紗線重接難度,節(jié)約能源;此外,系統(tǒng)還設(shè)置了工作模式記憶存儲功能和自啟功能,節(jié)約人為調(diào)試時間。
2 項目設(shè)計
2.1 硬件設(shè)計
本系統(tǒng)所搭載的硬件模塊如圖2所示,紗線信號采集模塊負(fù)責(zé)采集紗線的動作信號;數(shù)據(jù)處理模塊將以上紗線信號作濾波、隔直、運算放大、AD轉(zhuǎn)換處理后送入MCU操作。MCU對所送入數(shù)據(jù)進行邏輯判斷后賦給狀態(tài)指示模塊或干預(yù)輸出模塊相應(yīng)指令,用于紗線檢測狀態(tài)提示以及對紡織設(shè)備停機干預(yù)操作。其中電源模塊為各個模塊供電。
2.2 軟件設(shè)計
系統(tǒng)設(shè)置了自由和干預(yù)兩種操作模式。在自由模式下,系統(tǒng)的紗線信號采集模塊仍能檢測到紗線,并點亮綠燈提示。當(dāng)在系統(tǒng)設(shè)定時間t2內(nèi)檢測到的紗線次數(shù)n1大于系統(tǒng)設(shè)定的次數(shù)N1時,即n1>N1,系統(tǒng)從自由模式自動切換到干預(yù)模式;當(dāng)不滿足切換條件時,系統(tǒng)不會發(fā)出斷紗停機指令和亮紅燈報警。在干預(yù)模式下,當(dāng)在系統(tǒng)設(shè)定時間t3內(nèi)未檢測到的紗線次數(shù)n2大于系統(tǒng)設(shè)定的次數(shù)N2時,即n2>N2;此時系統(tǒng)判定為斷紗狀態(tài),MCU立即給干預(yù)輸出模塊相應(yīng)指令來對紡織設(shè)備進行干預(yù)停機操作,并點亮紅燈用于斷紗報警。此外,系統(tǒng)也可通過操作模式選擇器判斷手指遮擋光束的時間t1來切換操作模式,具體流程如圖3所示。
3 程序設(shè)計及分析
嵌入式系統(tǒng)性能強大,技術(shù)復(fù)雜,須有良好的系統(tǒng)層次。本研究將嵌入式系統(tǒng)中編程軟件部分規(guī)劃為功能需求分析、硬件環(huán)境分析、層次架構(gòu)間調(diào)用關(guān)系、功能優(yōu)化及融合[5]。在代碼管理和模塊管理中,全局變量和局部變量的定義依據(jù)變量在程序中的調(diào)用范圍確定,例如該變量只在子程序中出現(xiàn),應(yīng)該定義為局部變量。
3.1 主函數(shù)
主函數(shù)是程序的入口,有且僅有一個,位于主函數(shù)后面的子函數(shù)需在主函數(shù)前聲明。在主函數(shù)的while循環(huán)中,系統(tǒng)往復(fù)讀取紗線輸入信號的AD轉(zhuǎn)換結(jié)果,等待外部中斷和定時器中斷的發(fā)生。
void main()
{? int n1=0; //全局變量,存放自由模式下檢測到紗線的次數(shù)
int n2=0; //全局變量,存放干預(yù)模式下檢測到紗線的次數(shù)
TMOD=0x01; //設(shè)置定時器0工作方式為16位定時器
TMOD=0x10; //設(shè)置定時器1工作方式為16位定時器
TH0=(65536-45872)/256; //定時器0高位裝初值
TL0=(65536-45872)%256; //定時器0低位裝初值
TH1=(65536-45872)/256;
TL1=(65536-45872)%256;
EA=1; //打開總中斷
ET0=1; //開啟定時器0中斷
ET1=1;
EX0=1; //開啟外部中斷0
TR0=1; //啟動定時器0
TR1=1;
IT0=0; //設(shè)置外部中斷0為低電平觸發(fā),觸發(fā)源為操作模式選擇器的R
while(1)
{? Init();
}
}
3.2 初始化函數(shù)Init()
初始化函數(shù)中根據(jù)ADC的時序圖對其進行啟動轉(zhuǎn)換和數(shù)據(jù)讀取操作,并將轉(zhuǎn)換結(jié)果根據(jù)實際項目需要做進一步處理。本研究所用的為12位的逐次比較型ADC,其在一定程度上兼有并行ADC轉(zhuǎn)換速度快和雙積分ADC精度高的優(yōu)點。ADC對輸入信號的分辨能力取決于其分辨率,系統(tǒng)中ADC的參考電壓VREF為3.3V,則能區(qū)分的最小輸入信號電壓約為3.3V/212≈0.81mV。
void Init()
{? ucharnum=0; //局部變量
ucharAD_data=0;
adcs=0; //ADC片選置低
adwr=0; //啟動ADC采集數(shù)據(jù)
_nop_(); //延時一個機器周期
adwr=1;
while(INTR); //轉(zhuǎn)換完成,INTR=0
adcs=0;
adrd=0; //讀取ADC轉(zhuǎn)換結(jié)果
_nop_();
AD_data=P1; //結(jié)果賦給變量AD_data
adrd=1;
num=AD_data*(3.3/4096); //轉(zhuǎn)換結(jié)果賦給變量num
if(CZMS==1) //系統(tǒng)為干預(yù)模式
{? if(num 真則檢測到紗線 n2++; } if(CZMS==0) //系統(tǒng)為自由模式 {? if(num n1++; } } 3.3 中斷服務(wù)函數(shù) 中斷是為使單片機具有對外部或內(nèi)部隨機發(fā)生的事件實時處理而設(shè)置的,很大程度上提高了單片機處理外部或內(nèi)部事件的能力[6]。當(dāng)中斷發(fā)生時,系統(tǒng)收到中斷請求后,將會按照中斷優(yōu)先級前往相應(yīng)的中斷服務(wù)函數(shù)中執(zhí)行中斷處理程序。 3.3.1 定時器0中斷服務(wù)函數(shù) void timer0() interrupt 1 {? TH0=(65536-45872)/256; TL0=(65536-45872)%256; num1++; if(num1==10) {? if(n1>5&&CZMS==0) //檢測到紗線次數(shù)n1>5,且為自 由模式(CZMS==0) {? CZMS=~CZMS; //操作模式取反 Green LED=1; //點亮綠燈 n1=0; //存放檢測到紗線次數(shù)的變量n1清零 } Green LED=0; if(n1<5&&CZMS==0) {? Green LED=1; n1=0; } Green LED=0; } } 3.3.2 定時器1中斷服務(wù)函數(shù) void timer1() interrupt 1 {? TH1=(65536-45872)/256; TL1=(65536-45872)%256; num2++; if(num2==10) {? if(n2>3&&CZMS==1) //系統(tǒng)檢測到紗線次數(shù)n2>3, 且為干預(yù)模式 {? Green LED=1; n2=0; } Green LED=0; if(n2<3&&CZMS==1) {? Stop flag=1; //向紡織設(shè)備主控板發(fā)送停機指令 Red LED=1; //點亮紅燈報警 n2=0; } } } 3.3.3 外部中斷0服務(wù)函數(shù) void ex0_intr() interrupt 0 {? CZMS=~CZMS; //操作模式取反 } 4 結(jié)束語 本文基于光電原理等硬件條件,利用C語言對MCU開發(fā)出用于紡織設(shè)備紗線斷裂實時檢測的智能斷紗檢測系統(tǒng),并給出了程序流程圖及參考代碼。所使用的芯片,ADC的參考電壓、分辨率、轉(zhuǎn)換速度等可根據(jù)實際項目的需求做出更換。嵌入式系統(tǒng)的廣泛應(yīng)用極大提高了工業(yè)體系的生產(chǎn)效率,希望本研究能為紡織工業(yè)的實際應(yīng)用提供一定的參考價值。 參考文獻(References): [1] 馬志剛.嵌入式系統(tǒng)的現(xiàn)狀及發(fā)展趨勢[J].中國設(shè)備工程,2020(21):145-147 [2] 王龍飛.嵌入式系統(tǒng)的應(yīng)用現(xiàn)狀及發(fā)展趨勢[J].中國新通信,2018(23):95-96 [3] 王海波,湯東陽,趙德明.嵌入式技術(shù)發(fā)展綜述[J].數(shù)字技術(shù)與應(yīng)用,2014(6):117-118 [4] 任宏宇.淺談嵌入式系統(tǒng)的應(yīng)用[J].農(nóng)家參謀,2019(7):238 [5] 劉林芳.嵌入式系統(tǒng)中C語言編程軟件設(shè)計[J].電子技術(shù)與軟件工程,2021(1):24-25 [6] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業(yè)出版社,2009:1-524