孫善乾
(江蘇航運(yùn)職業(yè)技術(shù)學(xué)院,江蘇 南通 226010)
社會(huì)的進(jìn)步和經(jīng)濟(jì)的發(fā)展離不開(kāi)智能制造技術(shù)的進(jìn)步和提高。隨著“中國(guó)制造2025”戰(zhàn)略的實(shí)施以及物聯(lián)網(wǎng)、大數(shù)據(jù)和云計(jì)算等新一代信息技術(shù)在工業(yè)制造業(yè)轉(zhuǎn)型升級(jí)過(guò)程中的深化應(yīng)用,標(biāo)志著工業(yè)制造業(yè)的轉(zhuǎn)型升級(jí)正式成為經(jīng)濟(jì)提質(zhì)增效和產(chǎn)業(yè)結(jié)構(gòu)調(diào)整的生力軍。智能制造迎來(lái)了巨大的發(fā)展機(jī)遇。紅外通信具有抗干擾能力強(qiáng)、信息傳輸準(zhǔn)確、低功耗等優(yōu)點(diǎn),是一種無(wú)線非接觸串行通信方式。設(shè)計(jì)自設(shè)紅外無(wú)線通信標(biāo)準(zhǔn),用軟件構(gòu)建算法模型解決紅外無(wú)線通信數(shù)據(jù)傳輸過(guò)程中的調(diào)制和解調(diào)問(wèn)題。系統(tǒng)具有較高的創(chuàng)新性、可靠性和智能性。
本設(shè)計(jì)理念新穎獨(dú)特,智能化程度較高。系統(tǒng)樂(lè)譜數(shù)據(jù)通信傳輸采用紅外接收和發(fā)送方式,克服了紅外通信接收控制模塊單片機(jī)I/O輸入輸出口不足的設(shè)計(jì)瓶頸問(wèn)題。紅外數(shù)據(jù)發(fā)送和接收CPU控制主芯片采用質(zhì)優(yōu)價(jià)廉的8位增強(qiáng)性STC89C52RC單片機(jī)。該單片機(jī)共有32個(gè)輸入輸出引腳,技術(shù)成熟、成本低,自帶ADC,簡(jiǎn)化外圍器件設(shè)計(jì),提高可靠性[1]。系統(tǒng)采用模塊化設(shè)計(jì),由紅外無(wú)線信號(hào)調(diào)制發(fā)送模塊、紅外無(wú)線信號(hào)接收解調(diào)模塊、繼電器開(kāi)關(guān)驅(qū)動(dòng)模塊、電磁往返執(zhí)行(機(jī)械手)模塊等組成。系統(tǒng)通過(guò)程序把樂(lè)譜包含的曲調(diào)、音符、節(jié)拍等演奏信息轉(zhuǎn)變成十六進(jìn)制數(shù)字信息,方便簡(jiǎn)潔高效傳輸。自設(shè)定發(fā)送和接收紅外通信協(xié)議標(biāo)準(zhǔn)。紅外發(fā)送模塊調(diào)制、發(fā)射紅外信號(hào),接收模塊接收紅外信號(hào)同時(shí)對(duì)信號(hào)進(jìn)行放大、檢波、整形得到TTL電平的編碼信號(hào)。單片機(jī)解碼這些信號(hào),通過(guò)輸出口控制繼電器開(kāi)關(guān),驅(qū)動(dòng)機(jī)器手對(duì)鋼琴鍵盤(pán)執(zhí)行樂(lè)譜規(guī)定的時(shí)序升降動(dòng)作,精準(zhǔn)實(shí)現(xiàn)樂(lè)譜自動(dòng)彈奏。紅外無(wú)線傳輸下的鋼琴自動(dòng)演奏機(jī)器人工作原理架構(gòu)如圖1所示。

圖1 紅外無(wú)線傳輸下的鋼琴自動(dòng)演奏機(jī)器人工作原理架構(gòu)
一般通信領(lǐng)域,發(fā)出來(lái)的基帶信號(hào)頻譜較寬,不適合直接在信道中傳輸。為了便于傳輸、提高抗干擾能力和有效地利用帶寬,需要將信號(hào)調(diào)制到適合信道和噪聲特性的頻率范圍內(nèi)進(jìn)行傳輸,這叫信號(hào)調(diào)制。調(diào)制是用待傳送信號(hào)控制某個(gè)高頻信號(hào)的幅度、相位、頻率等參量變化的過(guò)程,即用一個(gè)信號(hào)去裝載另一個(gè)信號(hào)。紅外通信具有抗干擾能力強(qiáng)、信息傳輸可靠、成本低、易實(shí)現(xiàn)等優(yōu)點(diǎn)[2]。系統(tǒng)中樂(lè)譜紅外信號(hào)發(fā)送使用脈沖頻率為39.1 k進(jìn)行調(diào)制。載波信號(hào)加載到調(diào)制后的樂(lè)譜數(shù)據(jù)信號(hào)中,紅外信號(hào)數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和抗干擾性得到提升。樂(lè)譜紅外無(wú)線信號(hào)調(diào)制發(fā)送原理如圖2所示。

圖2 樂(lè)譜紅外無(wú)線信號(hào)調(diào)制發(fā)送原理
紅外發(fā)送模塊將鋼琴樂(lè)譜轉(zhuǎn)換成二進(jìn)制信號(hào)編碼,通過(guò)軟件算法編程調(diào)制成連續(xù)的載波脈沖信號(hào),如圖3所示。單片機(jī)通過(guò)P3^3引腳控制紅外發(fā)射三極管發(fā)射樂(lè)譜數(shù)據(jù)紅外信號(hào)。發(fā)送的樂(lè)譜紅外調(diào)制信號(hào)加載單片機(jī)一定時(shí)器編程產(chǎn)生的PWM載波。樂(lè)譜紅外發(fā)射原理如圖4所示。當(dāng)P3^3引腳輸出高電平信號(hào)時(shí),Q2三極管截止,左側(cè)39.1 k調(diào)制信號(hào)無(wú)論高低電平輸出到Q1三極管,右側(cè)Q1-Q2-L1方向的電流支路都不導(dǎo)通,L1紅外二極管不會(huì)發(fā)送紅外樂(lè)譜數(shù)據(jù)信息。當(dāng)P3^3引腳輸出低電平信號(hào),Q2三極管導(dǎo)通,左側(cè)39.1 k調(diào)制信號(hào)將通過(guò)三極管Q1釋放,二極管L1發(fā)出39.1 k調(diào)制信號(hào)。

圖4 樂(lè)譜紅外發(fā)射原理
載波脈沖信號(hào)發(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)
信號(hào)顯示周期為20 μs/Div時(shí),NI Multisim軟件模擬輸出放大的調(diào)制載波信號(hào)如圖5所示。

圖5 NI Multisim 模擬輸出放大的調(diào)制載波信號(hào)
根據(jù)模擬圖形顯示數(shù)據(jù)分析:上述程序代碼生成的脈沖PWM載波調(diào)制信號(hào)占空比為:8.828/(25.57-8.828)=0.527,調(diào)制脈沖信號(hào)頻率為1/25.570 μs=39.1 kHz。由此推論,信號(hào)發(fā)射單片機(jī)一產(chǎn)生的脈沖載波是頻率為39.1 k占空比為0.527的方波。紅外樂(lè)譜數(shù)據(jù)發(fā)送二進(jìn)制“0”或“1”控制脈沖頻率為39.1 k的載波發(fā)送。39.1 k載波控制數(shù)據(jù)為“0”時(shí)會(huì)發(fā)送紅外載波信號(hào),數(shù)據(jù)為“1”時(shí)不發(fā)送紅外載波信號(hào)。調(diào)制后,計(jì)算機(jī)邏輯“0”或“1”的信號(hào)如圖6所示。

圖6 紅外無(wú)線調(diào)制后計(jì)算機(jī)邏輯“0”或“1”信號(hào)
系統(tǒng)軟件代碼中設(shè)定了樂(lè)譜中的do、re、mi、fa、sol、la、xi以及高、中、低音對(duì)應(yīng)的十六進(jìn)制編碼,用以高效地傳輸和接收紅外信號(hào)數(shù)據(jù)。紅外發(fā)射信號(hào)鋼琴樂(lè)譜部分自定義十六進(jìn)制鍵值碼標(biāo)準(zhǔn)如表1所示。

表1 自定義十六進(jìn)制樂(lè)譜鍵值碼標(biāo)準(zhǔn)
下為樂(lè)曲部分片段簡(jiǎn)譜:

這段簡(jiǎn)譜程序數(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}
其中,樂(lè)譜數(shù)據(jù)代碼{CL,0x05,4}含義如下:
CL表示C和旋、低音符;0x05表示音符5/sol;數(shù)字4表示停頓4個(gè)音樂(lè)節(jié)拍時(shí)序。
單個(gè)字節(jié)樂(lè)譜紅外發(fā)射程序示例:
void Z0 (uchar temp) /*單幀十六進(jìn)制發(fā)送程序,括號(hào)內(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軟件模擬輸出的樂(lè)譜調(diào)制后發(fā)射的紅外數(shù)據(jù)信號(hào)如圖6所示。
通過(guò)對(duì)圖形顯示數(shù)據(jù)分析,調(diào)制信號(hào)與短高電平空閑信號(hào)表示輸出邏輯數(shù)據(jù)為“0”,其調(diào)制發(fā)出的紅外信號(hào)時(shí)長(zhǎng)1.145 ms;調(diào)制信號(hào)與長(zhǎng)高電平空閑信號(hào)表示輸出邏輯數(shù)據(jù)為“1”,其調(diào)制發(fā)出的紅外信號(hào)時(shí)長(zhǎng)2.258 ms。邏輯數(shù)據(jù)“0”和“1”時(shí)長(zhǎng)受單片機(jī)指令機(jī)器周期制約。在系統(tǒng)程序軟件中,這2個(gè)時(shí)長(zhǎng)決定機(jī)器人彈奏音樂(lè)的最快節(jié)奏。
單片機(jī)二的P3^3輸入引腳接收發(fā)送模塊發(fā)送的樂(lè)譜紅外數(shù)據(jù)信息,通過(guò)算法程序?qū)邮盏降募t外信號(hào)進(jìn)行反向解調(diào),恢復(fù)回調(diào)之前的樂(lè)譜數(shù)據(jù)信息。紅外接收解調(diào)信號(hào)和紅外發(fā)生調(diào)制信號(hào)正好相反,紅外調(diào)制信號(hào)解碼變成常規(guī)的高、低電平數(shù)據(jù)信號(hào)。電平信號(hào)通過(guò)單片機(jī)輸出到接口控制繼電器開(kāi)關(guān)對(duì)機(jī)器手執(zhí)行精準(zhǔn)周期動(dòng)作。紅外無(wú)線信號(hào)傳輸解調(diào)原理如圖7所示。圖中加載的載波信號(hào)經(jīng)過(guò)解調(diào)后變成常規(guī)的高、低電平數(shù)據(jù)信號(hào),用于計(jì)算機(jī)對(duì)數(shù)據(jù)信號(hào)進(jìn)行傳輸控制[3]。

圖7 紅外無(wú)線信號(hào)傳輸解調(diào)原理
紅外數(shù)據(jù)接收模塊通常先處理數(shù)據(jù)信號(hào),進(jìn)行信息確定、濾波整形、信號(hào)放大、軟件解調(diào)等,從而再輸出基礎(chǔ)的高低電平數(shù)據(jù)信號(hào)。本設(shè)計(jì)紅外數(shù)據(jù)接收模塊采用集成了上述功能的HS0038B紅外通信接收模塊,直接接收到所要的紅外簡(jiǎn)譜基帶信號(hào),并且還有較高的可靠性和信號(hào)接收穩(wěn)定性。紅外接收端內(nèi)部放大器的增益很大,容易引起干擾。在接收端,供電引腳上加上10 μF濾波電容,在供電引腳和電源之間串聯(lián)100的電阻,進(jìn)一步降低干擾[4]。
HS0038B紅外接收模塊感應(yīng)到脈沖頻率為39.1 k紅外調(diào)制的信號(hào),OUT引腳輸出低電平信號(hào),無(wú)39.1 k紅外調(diào)制信號(hào)OUT引腳輸出高電平信號(hào)。把HS0038B紅外接收模塊OUT引腳接到單片機(jī)二P3^3引腳上,編程獲取紅外通信發(fā)送過(guò)來(lái)的數(shù)據(jù),進(jìn)行解調(diào)并發(fā)送到繼電器執(zhí)行處理。紅外接收原理如圖8所示。

圖8 紅外接收原理
樂(lè)譜紅外解碼程序如下:
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]
在程序中,單片機(jī)二P3^3引腳接收信號(hào)對(duì)樂(lè)譜信號(hào)進(jìn)行紅外解調(diào),單片機(jī)二的相應(yīng)輸出口輸出數(shù)據(jù)信號(hào)驅(qū)動(dòng)繼電器開(kāi)關(guān),實(shí)現(xiàn)機(jī)器手對(duì)鋼琴鍵盤(pán)執(zhí)行樂(lè)譜規(guī)定的時(shí)序升降動(dòng)作,實(shí)現(xiàn)基于紅外無(wú)線傳輸下的鋼琴自動(dòng)演奏機(jī)器人的設(shè)計(jì)及實(shí)現(xiàn)。
本設(shè)計(jì)思維目前國(guó)內(nèi)尚無(wú)相關(guān)案例,具有創(chuàng)新意義。系統(tǒng)創(chuàng)造性地利用軟件自定義紅外無(wú)線通信標(biāo)準(zhǔn),實(shí)現(xiàn)無(wú)線紅外信號(hào)的調(diào)制解調(diào)。采用紅外無(wú)線信號(hào)接收和傳送樂(lè)譜內(nèi)容創(chuàng)新性思維,有效地解決了單片機(jī)I/O(輸入/輸出)口不足的硬件設(shè)計(jì)瓶頸難題。采用無(wú)線傳輸和接收樂(lè)譜模式,理論上可以實(shí)現(xiàn)無(wú)數(shù)臺(tái)鋼琴同時(shí)演奏同一首歌曲。具有相當(dāng)震撼的視覺(jué)、聽(tīng)覺(jué)效果,在現(xiàn)實(shí)實(shí)踐中也有很多應(yīng)用場(chǎng)景。
設(shè)計(jì)經(jīng)過(guò)精密硬件電路、配套軟件設(shè)計(jì)及軟硬件協(xié)調(diào)調(diào)試的過(guò)程,成功測(cè)試組裝了基于紅外無(wú)線傳輸下鋼琴自動(dòng)演奏機(jī)器人系統(tǒng)。系統(tǒng)軟件簡(jiǎn)潔高效,硬件構(gòu)成簡(jiǎn)單、價(jià)格低廉且穩(wěn)定可靠,利于推廣應(yīng)用。設(shè)計(jì)不足之處在音樂(lè)演奏感情色彩方面,需要對(duì)機(jī)器手彈奏鍵盤(pán)的力度大小等方面進(jìn)行智能化改進(jìn)。紅外無(wú)線傳輸下鋼琴自動(dòng)演奏機(jī)器人系統(tǒng)測(cè)試效果如圖9所示。

圖9 紅外無(wú)線傳輸下鋼琴自動(dòng)演奏機(jī)器人系統(tǒng)測(cè)試
計(jì)算機(jī)及智能制造技術(shù)的飛速發(fā)展帶動(dòng)日常各類(lèi)電氣設(shè)備趨向智能化與自動(dòng)化。本系統(tǒng)集成了計(jì)算機(jī)、自動(dòng)控制、機(jī)械設(shè)計(jì)制造及自動(dòng)化等多門(mén)學(xué)科,是智能化制造在家庭或公共領(lǐng)域應(yīng)用的典型案例。對(duì)智能化制造領(lǐng)域的應(yīng)用拓展具有較強(qiáng)的現(xiàn)實(shí)指導(dǎo)意義。產(chǎn)品可以廣泛應(yīng)用于各類(lèi)產(chǎn)品展銷(xiāo)會(huì)場(chǎng),增加現(xiàn)場(chǎng)科技氛圍。應(yīng)用于中小學(xué)科普教育,激發(fā)中小學(xué)生科技創(chuàng)新夢(mèng)想。系統(tǒng)改進(jìn)完善后進(jìn)一步應(yīng)用推廣,實(shí)現(xiàn)產(chǎn)品生產(chǎn)與銷(xiāo)售產(chǎn)生經(jīng)濟(jì)效益。