孫善乾
(江蘇航運職業(yè)技術(shù)學院,江蘇 南通 226010)
社會的進步和經(jīng)濟的發(fā)展離不開智能制造技術(shù)的進步和提高。隨著“中國制造2025”戰(zhàn)略的實施以及物聯(lián)網(wǎng)、大數(shù)據(jù)和云計算等新一代信息技術(shù)在工業(yè)制造業(yè)轉(zhuǎn)型升級過程中的深化應用,標志著工業(yè)制造業(yè)的轉(zhuǎn)型升級正式成為經(jīng)濟提質(zhì)增效和產(chǎn)業(yè)結(jié)構(gòu)調(diào)整的生力軍。智能制造迎來了巨大的發(fā)展機遇。紅外通信具有抗干擾能力強、信息傳輸準確、低功耗等優(yōu)點,是一種無線非接觸串行通信方式。設(shè)計自設(shè)紅外無線通信標準,用軟件構(gòu)建算法模型解決紅外無線通信數(shù)據(jù)傳輸過程中的調(diào)制和解調(diào)問題。系統(tǒng)具有較高的創(chuàng)新性、可靠性和智能性。
本設(shè)計理念新穎獨特,智能化程度較高。系統(tǒng)樂譜數(shù)據(jù)通信傳輸采用紅外接收和發(fā)送方式,克服了紅外通信接收控制模塊單片機I/O輸入輸出口不足的設(shè)計瓶頸問題。紅外數(shù)據(jù)發(fā)送和接收CPU控制主芯片采用質(zhì)優(yōu)價廉的8位增強性STC89C52RC單片機。該單片機共有32個輸入輸出引腳,技術(shù)成熟、成本低,自帶ADC,簡化外圍器件設(shè)計,提高可靠性[1]。系統(tǒng)采用模塊化設(shè)計,由紅外無線信號調(diào)制發(fā)送模塊、紅外無線信號接收解調(diào)模塊、繼電器開關(guān)驅(qū)動模塊、電磁往返執(zhí)行(機械手)模塊等組成。系統(tǒng)通過程序把樂譜包含的曲調(diào)、音符、節(jié)拍等演奏信息轉(zhuǎn)變成十六進制數(shù)字信息,方便簡潔高效傳輸。自設(shè)定發(fā)送和接收紅外通信協(xié)議標準。紅外發(fā)送模塊調(diào)制、發(fā)射紅外信號,接收模塊接收紅外信號同時對信號進行放大、檢波、整形得到TTL電平的編碼信號。單片機解碼這些信號,通過輸出口控制繼電器開關(guān),驅(qū)動機器手對鋼琴鍵盤執(zhí)行樂譜規(guī)定的時序升降動作,精準實現(xiàn)樂譜自動彈奏。紅外無線傳輸下的鋼琴自動演奏機器人工作原理架構(gòu)如圖1所示。
圖1 紅外無線傳輸下的鋼琴自動演奏機器人工作原理架構(gòu)
一般通信領(lǐng)域,發(fā)出來的基帶信號頻譜較寬,不適合直接在信道中傳輸。為了便于傳輸、提高抗干擾能力和有效地利用帶寬,需要將信號調(diào)制到適合信道和噪聲特性的頻率范圍內(nèi)進行傳輸,這叫信號調(diào)制。調(diào)制是用待傳送信號控制某個高頻信號的幅度、相位、頻率等參量變化的過程,即用一個信號去裝載另一個信號。紅外通信具有抗干擾能力強、信息傳輸可靠、成本低、易實現(xiàn)等優(yōu)點[2]。系統(tǒng)中樂譜紅外信號發(fā)送使用脈沖頻率為39.1 k進行調(diào)制。載波信號加載到調(diào)制后的樂譜數(shù)據(jù)信號中,紅外信號數(shù)據(jù)傳輸?shù)臏蚀_性和抗干擾性得到提升。樂譜紅外無線信號調(diào)制發(fā)送原理如圖2所示。
圖2 樂譜紅外無線信號調(diào)制發(fā)送原理
紅外發(fā)送模塊將鋼琴樂譜轉(zhuǎn)換成二進制信號編碼,通過軟件算法編程調(diào)制成連續(xù)的載波脈沖信號,如圖3所示。單片機通過P3^3引腳控制紅外發(fā)射三極管發(fā)射樂譜數(shù)據(jù)紅外信號。發(fā)送的樂譜紅外調(diào)制信號加載單片機一定時器編程產(chǎn)生的PWM載波。樂譜紅外發(fā)射原理如圖4所示。當P3^3引腳輸出高電平信號時,Q2三極管截止,左側(cè)39.1 k調(diào)制信號無論高低電平輸出到Q1三極管,右側(cè)Q1-Q2-L1方向的電流支路都不導通,L1紅外二極管不會發(fā)送紅外樂譜數(shù)據(jù)信息。當P3^3引腳輸出低電平信號,Q2三極管導通,左側(cè)39.1 k調(diào)制信號將通過三極管Q1釋放,二極管L1發(fā)出39.1 k調(diào)制信號。
圖4 樂譜紅外發(fā)射原理
載波脈沖信號發(fā)射程序如下:
void TT0 (bit BIT1, uint x)
{ TH1 = x>>8; TL1 = x; TF1=0;
if (BIT1 == 0) while (!TF1) ;
else while (1)
{ IR = 0;
if (TF1) break; if (TF1) break;
if (TF1) break; if (TF1) break;
IR = 1;
if (TF1) break; if (TF1) break; if (TF1) break; if (TF1) break;
if (TF1) break; if (TF1) break; if (TF1) break; if
(TF1)
信號顯示周期為20 μs/Div時,NI Multisim軟件模擬輸出放大的調(diào)制載波信號如圖5所示。
圖5 NI Multisim 模擬輸出放大的調(diào)制載波信號
根據(jù)模擬圖形顯示數(shù)據(jù)分析:上述程序代碼生成的脈沖PWM載波調(diào)制信號占空比為:8.828/(25.57-8.828)=0.527,調(diào)制脈沖信號頻率為1/25.570 μs=39.1 kHz。由此推論,信號發(fā)射單片機一產(chǎn)生的脈沖載波是頻率為39.1 k占空比為0.527的方波。紅外樂譜數(shù)據(jù)發(fā)送二進制“0”或“1”控制脈沖頻率為39.1 k的載波發(fā)送。39.1 k載波控制數(shù)據(jù)為“0”時會發(fā)送紅外載波信號,數(shù)據(jù)為“1”時不發(fā)送紅外載波信號。調(diào)制后,計算機邏輯“0”或“1”的信號如圖6所示。
圖6 紅外無線調(diào)制后計算機邏輯“0”或“1”信號
系統(tǒng)軟件代碼中設(shè)定了樂譜中的do、re、mi、fa、sol、la、xi以及高、中、低音對應的十六進制編碼,用以高效地傳輸和接收紅外信號數(shù)據(jù)。紅外發(fā)射信號鋼琴樂譜部分自定義十六進制鍵值碼標準如表1所示。
表1 自定義十六進制樂譜鍵值碼標準
下為樂曲部分片段簡譜:
這段簡譜程序數(shù)據(jù)代碼示例如下:
ucharcodejianpu[]=
{CL,0x05,2,L,0x03,2,CL,0x05,4,M,0x03,4,AMM,0x02,4,M,0x02,2,M,0x01,2, GL,0x05,12}
其中,樂譜數(shù)據(jù)代碼{CL,0x05,4}含義如下:
CL表示C和旋、低音符;0x05表示音符5/sol;數(shù)字4表示停頓4個音樂節(jié)拍時序。
單個字節(jié)樂譜紅外發(fā)射程序示例:
void Z0 (uchar temp) /*單幀十六進制發(fā)送程序,括號內(nèi)表示要發(fā)射的字節(jié)數(shù)據(jù)。*/
{ uchar v;
for (v=0;v<8;v++)
{ TT0 (1,ms_0);
if (temp&0x01) TT0 (0,ms_11);
else TT0(0,ms_00);
temp >>= 1; }}
NI Multisim軟件模擬輸出的樂譜調(diào)制后發(fā)射的紅外數(shù)據(jù)信號如圖6所示。
通過對圖形顯示數(shù)據(jù)分析,調(diào)制信號與短高電平空閑信號表示輸出邏輯數(shù)據(jù)為“0”,其調(diào)制發(fā)出的紅外信號時長1.145 ms;調(diào)制信號與長高電平空閑信號表示輸出邏輯數(shù)據(jù)為“1”,其調(diào)制發(fā)出的紅外信號時長2.258 ms。邏輯數(shù)據(jù)“0”和“1”時長受單片機指令機器周期制約。在系統(tǒng)程序軟件中,這2個時長決定機器人彈奏音樂的最快節(jié)奏。
單片機二的P3^3輸入引腳接收發(fā)送模塊發(fā)送的樂譜紅外數(shù)據(jù)信息,通過算法程序?qū)邮盏降募t外信號進行反向解調(diào),恢復回調(diào)之前的樂譜數(shù)據(jù)信息。紅外接收解調(diào)信號和紅外發(fā)生調(diào)制信號正好相反,紅外調(diào)制信號解碼變成常規(guī)的高、低電平數(shù)據(jù)信號。電平信號通過單片機輸出到接口控制繼電器開關(guān)對機器手執(zhí)行精準周期動作。紅外無線信號傳輸解調(diào)原理如圖7所示。圖中加載的載波信號經(jīng)過解調(diào)后變成常規(guī)的高、低電平數(shù)據(jù)信號,用于計算機對數(shù)據(jù)信號進行傳輸控制[3]。
圖7 紅外無線信號傳輸解調(diào)原理
紅外數(shù)據(jù)接收模塊通常先處理數(shù)據(jù)信號,進行信息確定、濾波整形、信號放大、軟件解調(diào)等,從而再輸出基礎(chǔ)的高低電平數(shù)據(jù)信號。本設(shè)計紅外數(shù)據(jù)接收模塊采用集成了上述功能的HS0038B紅外通信接收模塊,直接接收到所要的紅外簡譜基帶信號,并且還有較高的可靠性和信號接收穩(wěn)定性。紅外接收端內(nèi)部放大器的增益很大,容易引起干擾。在接收端,供電引腳上加上10 μF濾波電容,在供電引腳和電源之間串聯(lián)100的電阻,進一步降低干擾[4]。
HS0038B紅外接收模塊感應到脈沖頻率為39.1 k紅外調(diào)制的信號,OUT引腳輸出低電平信號,無39.1 k紅外調(diào)制信號OUT引腳輸出高電平信號。把HS0038B紅外接收模塊OUT引腳接到單片機二P3^3引腳上,編程獲取紅外通信發(fā)送過來的數(shù)據(jù),進行解調(diào)并發(fā)送到繼電器執(zhí)行處理。紅外接收原理如圖8所示。
圖8 紅外接收原理
樂譜紅外解碼程序如下:
void ex0it (void) interrupt 0 using 0
{ unsigned char cod,val ; static unsigned char i1;
static bit sttf; unsigned char i, j, k;
EX0 = 0;
while (remotein) {} K1=!K1; i1=0;
while
while (remotein) { remd++; K1=!K1;
if (remd>160) {goto endok;} }
irdata[i1]=remd+2; i1++; remd=0; }
endok: remd=0; k=1;
for (i=0; i<2; i++)
{ for (j=1; j<=8; j++)
{ cord= irdata[k];
if(cord>75) { val=val∣0x80;}
else { val=val;} k++; } IRcord[i]=val; val=0; }
K1=!K1; Ir_down(); K1=!K1; IE0=0; EX0 = 1; studykey=1;}[3]
在程序中,單片機二P3^3引腳接收信號對樂譜信號進行紅外解調(diào),單片機二的相應輸出口輸出數(shù)據(jù)信號驅(qū)動繼電器開關(guān),實現(xiàn)機器手對鋼琴鍵盤執(zhí)行樂譜規(guī)定的時序升降動作,實現(xiàn)基于紅外無線傳輸下的鋼琴自動演奏機器人的設(shè)計及實現(xiàn)。
本設(shè)計思維目前國內(nèi)尚無相關(guān)案例,具有創(chuàng)新意義。系統(tǒng)創(chuàng)造性地利用軟件自定義紅外無線通信標準,實現(xiàn)無線紅外信號的調(diào)制解調(diào)。采用紅外無線信號接收和傳送樂譜內(nèi)容創(chuàng)新性思維,有效地解決了單片機I/O(輸入/輸出)口不足的硬件設(shè)計瓶頸難題。采用無線傳輸和接收樂譜模式,理論上可以實現(xiàn)無數(shù)臺鋼琴同時演奏同一首歌曲。具有相當震撼的視覺、聽覺效果,在現(xiàn)實實踐中也有很多應用場景。
設(shè)計經(jīng)過精密硬件電路、配套軟件設(shè)計及軟硬件協(xié)調(diào)調(diào)試的過程,成功測試組裝了基于紅外無線傳輸下鋼琴自動演奏機器人系統(tǒng)。系統(tǒng)軟件簡潔高效,硬件構(gòu)成簡單、價格低廉且穩(wěn)定可靠,利于推廣應用。設(shè)計不足之處在音樂演奏感情色彩方面,需要對機器手彈奏鍵盤的力度大小等方面進行智能化改進。紅外無線傳輸下鋼琴自動演奏機器人系統(tǒng)測試效果如圖9所示。
圖9 紅外無線傳輸下鋼琴自動演奏機器人系統(tǒng)測試
計算機及智能制造技術(shù)的飛速發(fā)展帶動日常各類電氣設(shè)備趨向智能化與自動化。本系統(tǒng)集成了計算機、自動控制、機械設(shè)計制造及自動化等多門學科,是智能化制造在家庭或公共領(lǐng)域應用的典型案例。對智能化制造領(lǐng)域的應用拓展具有較強的現(xiàn)實指導意義。產(chǎn)品可以廣泛應用于各類產(chǎn)品展銷會場,增加現(xiàn)場科技氛圍。應用于中小學科普教育,激發(fā)中小學生科技創(chuàng)新夢想。系統(tǒng)改進完善后進一步應用推廣,實現(xiàn)產(chǎn)品生產(chǎn)與銷售產(chǎn)生經(jīng)濟效益。