陳鋒 胡春雷 李明才
摘要: 步進(jìn)電機作為控制裝置中的一種執(zhí)行元件,被廣泛使用在控制領(lǐng)域。紅外遙控則是一種常見的近距離無線通信手段。文章分析了步進(jìn)電機原理和紅外遙控的編解碼技術(shù)。最后在此基礎(chǔ)上,闡述了以單片機開發(fā)平臺,利用紅外遙控控制步進(jìn)電機的實現(xiàn)方法。
關(guān)鍵詞:步進(jìn)電機 紅外無線遙控 單片機
一、引言
步進(jìn)電機是將電脈沖信號轉(zhuǎn)變成角位移或線位移的開環(huán)控制元步進(jìn)電機件,當(dāng)步進(jìn)驅(qū)動器接收到一個脈沖信號,就會驅(qū)動步進(jìn)電機按設(shè)定的方向轉(zhuǎn)動一個固定的角度,成為“步距角”,可以通過脈沖信號個數(shù)來控制角位移量,通過脈沖頻率來控制電機轉(zhuǎn)動的速度和加速度,從而達(dá)到調(diào)速的目的,目前已被廣泛應(yīng)用于自動化控制等領(lǐng)域。紅外遙控是一種短距離無線、非接觸控制技術(shù),具有抗干擾能力強,傳輸可靠,功耗成本,以被用于越來越多的控制領(lǐng)域。在某些較為惡劣或者可能會對人體產(chǎn)生傷害的環(huán)境中,需要對步進(jìn)電機進(jìn)行無線控制,則可以通過紅外遙控技術(shù),實現(xiàn)對步進(jìn)電機的實時操作。紅外遙控技術(shù)不需要再設(shè)備間布線,僅僅利用紅外遙控就可以對步進(jìn)電機進(jìn)行無線控制。因此該技術(shù)在一些特殊領(lǐng)域應(yīng)用前景廣闊。
二、方案工作原理
(一)、總體方案說明
在系統(tǒng)的硬件設(shè)計中,建議單片機硬件盡可能采用功能強的芯片,一方面可以簡化電路,另一方面方便后期的擴展,本文采用AT89S51單片機作為主處理器,主要器件包括步進(jìn)電機、紅外遙控器兩部分組成,紅外控制的功能主要有正轉(zhuǎn),反轉(zhuǎn),加速,減速,暫停五個按鍵組成。
(二)、 具體結(jié)構(gòu)設(shè)計
1、紅外接收解碼處理及接口電路
不同公司的遙控芯片,采用的遙控碼格式也不一樣。較普遍的有兩種,一種是NEC標(biāo)準(zhǔn),一種是PHILIPS標(biāo)準(zhǔn),本文采用的是NEC標(biāo)準(zhǔn)的WD6122芯片遙控器。一個完整的全碼=引導(dǎo)碼+用戶碼+用戶碼+數(shù)據(jù)碼+數(shù)據(jù)反碼。其中引導(dǎo)碼高電平4.5ms,低電平4.5ms;系統(tǒng)碼8位,數(shù)據(jù)碼8位,共32位,如圖1所示。用戶碼用來區(qū)分不同的紅外遙控設(shè)備,防止不同遙控設(shè)備相互干擾。后16位為8位操作碼和操作反碼,用來對接收數(shù)據(jù)進(jìn)行二次驗證。接收端根據(jù)接收到的數(shù)據(jù)碼,通過單片機發(fā)出動作指令,控制步進(jìn)電機的工作方式(加速、減速、正轉(zhuǎn)、反轉(zhuǎn)等)。
根據(jù)上面的編碼脈沖,程序等待9ms的起始碼和4.5ms的結(jié)果碼完成后才能讀碼,解碼的關(guān)鍵是如何識別0和1,這里通過編碼脈沖高電平的寬度開區(qū)別0,1。0為窄脈沖0.56ms,1為寬脈沖1.685ms。所以在接收端根據(jù)接收到的脈沖寬度或者高電平持續(xù)時間進(jìn)行解碼。
一體化紅外接收只有三個引腳:VCC、GND和一個脈沖信號輸出引腳OUT,如圖2所示,與單片機的接口連接簡單方便。VCC接電源+5V并經(jīng)電容進(jìn)行濾波,以避免電源干擾; GND接系統(tǒng)的地線(0V);脈沖信號輸出接單片機的中斷輸入引腳。使用這種連接方法,軟件解碼可以工作于查詢方式,也可以工作于中斷方式。當(dāng)有紅外信號時,觸發(fā)中斷查詢中斷時間,并和起始碼,“0”、“1”的時間進(jìn)行比較,從而完成紅外解碼。
2、步進(jìn)電機原理及控制電路
步進(jìn)電機通過單片機發(fā)送的脈沖信號數(shù)決定轉(zhuǎn)動角度,轉(zhuǎn)速有脈沖信號頻率決定。本文中的步進(jìn)電機采用的是減速比1/64的五線4相電機,單極性直流電源供電,工作原理圖如圖3所示。四相步進(jìn)電機驅(qū)動方式可以采用單四拍,雙四拍和八拍等方式,這里采用的單四拍的工作,時序波形圖如圖4所示。
三、 單片機接口部分及軟件實現(xiàn)
(一)、 程序流程說明
本文中單片機選用AT89S51單片機作為主處理器,單片機正常工作運行后,啟動定時器和外部中斷的初始化,當(dāng)檢測到外部紅外信號的高電平脈沖后,會觸發(fā)外部中斷,同時定時器中斷計數(shù)清零并重新計數(shù),統(tǒng)計高電平持續(xù)時間,用于后期的解碼。當(dāng)接收完全部32位脈沖后,進(jìn)行解碼,根據(jù)解碼結(jié)果,單片機控制步進(jìn)電機的工作方式和轉(zhuǎn)動速度。
四、結(jié)束語
本文提出的利用紅外無線控制步進(jìn)電機。采用AT89S51單片機作為主處理器,對接收到的紅外信號進(jìn)行解碼后控制步進(jìn)電機工作,設(shè)備成本低,結(jié)構(gòu)簡單,能夠?qū)崿F(xiàn)對步進(jìn)電機的無線控制,從而避免在惡劣環(huán)境下人員直接操作所帶來的潛在危險,完成一些復(fù)雜危險的任務(wù)。同時可以根據(jù)設(shè)備現(xiàn)場的場景變化,實時調(diào)整步進(jìn)電機的運行狀態(tài)。從而提高對步進(jìn)電機的自動化控制程度。
備注:項目類型: 2013年度省級質(zhì)量工程項目 卓越人才培養(yǎng)計劃
項目名稱: LTE通信工程技能型卓越人才培養(yǎng)計劃
項目編號: 2013zjjh055
作者簡介:
陳鋒(1987.09-),男,安徽淮南,工作單位:安徽職業(yè)技術(shù)學(xué)院,助教,碩士研究生學(xué)歷,研究方向:嵌入式,軟件算法。