梅濤
1 前言
單片機靈活、價低的特點,非常適合在控制步進電機方面使用。步進電機的停止位置與轉速主要取決于脈沖數與脈沖信號頻率,然而卻對其負載的變化沒有影響。所以,對于步進電機來說,在額定負載的影響下,其不存在累計誤差。因而,也正是由于這個特點,單片機控制步進電機系統廣泛的應用于數控機床、機器人等領域。智能家居是當前比較前沿的科學概念。智能家居將成為未來人類起居生活的發展趨勢之一。使用步進電機對智能家居中的窗簾進行控制具有可行性、低成本以及便捷性等特點。本文將從控制系統的硬件電路設計和系統軟件調試兩方面進行研究,并最后通過ZigBee無線網絡、以太網技術實現窗簾控制系統與家庭網關相連,從而形成完整、可遠程操控的智能家居系統。
2 單片機控制步電系統的硬件設備
步電系統的運行機理。步電系統是通過轉化電子脈沖信號,使之成為線距差和角距差通過控制的關鍵控制元件。通常情況下,在負荷低于設定值的時候,步電系統的電子脈沖信息的速率以及數量控制了轉動的速度和停止運行的具體位置。換句話說,一個電子脈沖信息對于步電系統就相當于轉動了一個步的距離。這樣就意味著,可以通過精準的設定電子脈沖的數量來達到控制系統精準轉停位置的目的。通電換相來實現控制步進電機正轉和反轉的目的。單片機發動到步進電機中步進電機的速度與位移主要是取決于脈沖的頻率和個數。在這里,脈沖數愈大,這種情況下,那么位移相應的就愈大。同時頻率愈大。步進電機轉動的速度就越快。在實際的智能家居控制中,要選擇合適的位移和速度來對智能家居進行控制。
控制系統的設計。步進電機控制系統的關鍵在于單片控制和中斷的設置。整體的單片機控制步進電機設計。控制系統通過設備初始化,將控制信號是否達到作為判斷標志。當控制信號到來時候,決定步進電機的正轉或者反轉。外部中斷1則是強制命令步進電機正轉。最后,當步進電機轉到一定的程度后,就介紹,并告知用戶,已經窗簾已經到達預期位置。
單片機模塊。出于系統運轉的需要,將89C52單片機設計成整個系統的關鍵制控組件是十分必要的。89C52單片機是一種超強抗干擾、高速、低功耗的單片機,選擇89C52單片機可以降低設計成本,提高了操作性能。這個元件應用了存儲制造工藝加工而成,具有密度高不易損失的特點,尤其是與行業標準MCS-51命令組合和外輸管件相匹配。P1口八位作為與LCM1602的數據段相連接,P2.5,P2.6,P2.7與液晶屏的RS,RW,EN相連接,控制液晶顯示屏。P3口的高四位與四個獨立按鍵相連接,讀取獨立按鍵輸入的信號。P3.2口和與門74LS21相連接,使得四個獨立按鍵任一個按鍵按下都會產生中斷。P2.0,P2.1,P2.2分別與L297的EN,CW,CLOCK相連接,由單片機輸出的信號控制L297中A,B,C,D四個輸出端口的高低電頻,從而由L298的四個輸出端OUT1,OUT2,OUT3,OUT4的高低電頻控制步進電機的轉動。單片機的電路圖在protel中繪制如下。
步電系統運行實驗。在這個實驗中,步電系統的驅動設備應用了L297+L298的優秀電子線路技術,具有外觀簡潔,運轉性能優良穩定的特性。L297和L298組合模塊是為驅動步電系統而特別創制的,其中L298是雙H式驅動設備,其內在的功率輸出元件被密封在一個獨立的石英單片上,同時,由于使用的是一樣的制造技術,這就造成了它的性能指標具有驚人的同一性,運轉起來非常穩定。
電動機可由半階梯、正常和斬波驅動模式驅動,并且設于晶片內的PWM斬波線路準許通過開關對電流進行控制。該文原載于中國社會科學院文獻信息中心主辦的《環球市場信息導報》雜志http://www.ems86.com總第539期2014年第07期-----轉載須注名來源在這里,這一個器件僅僅需要輸入信號、模式、方向、時鐘等幾個部分即可。相位主要是來自于內部,所以能夠在很大程度上降低微處理機和程序設計的工作量。
LCD顯示模塊。液晶顯示器具有輕便、小體積、低能耗的優點,這使得它能廣泛的應用于微型顯示設備以及需要低耗能設備的系統當中。本設計顯示模塊采用是長沙太陽人電子有限公司生產的SMC1602 LCM。其中EN,RW和RS三個引腳分別于單片機的P2.5,P2.6,P2.7三個口相連接,八個數據口分別與單片機P1口得八個數據端口相連接。
3 軟件調試
通過使用proteus7進行仿真,可以看到將原理圖按照正確的順序連接在一起,和設計程序一并送人仿真軟件中,顧名思義,仿真就是用模擬的元器件代替實物進行實物器件所要執行的功能,通過正確的程序處理,我們希望得到的仿真結果是設計所需要的那樣。
利用Zigbee無線模塊與TTL/RS232電平轉換電路進行串口通信,最終接受家庭網關的指令,在此基礎上,并利用主控制器的調節完成開閉繼電器等相關工作。
4 Zigbee模塊與家庭網關的通信
本模塊采用51單片機為主控器,通過TTL/RS232電平轉換電路與Zigbee無線模塊進行串口通信,從而接受家庭網關的指令。進而通過主控制器的控制實現對繼電器開閉的操作。具體可以通過下面的步驟進行:SCON=0x50; /*模式 1,接收使能*/TMOD|=0x20; /*定時器 1,方式 2*/ TH1=0xFD; /*波特率 9600*/ TL1=0xFD; TR1=1; /*啟動定時器 */EA =1; /*打開總中斷*/ES =1; /*打開串口中斷*/ 初始化串口后,利用C51中的printf()函數將數據發至串口,在此基礎上,利用讀SBUF寄存器的方式自串口得到相應的信息。 利用串口通信可以完成遠程或局域網控制窗簾的開關。外部中斷中單片機的初始化如下:SCON =0x50; /*模式 1,接收使能*/TMOD |=0x20; /*定時器 1,方式 2*/ TH1 =0xFD; /*波特率設置為 9600*/ TR1 = 1; EA=1; /*全局中斷開*/ EX0=1; /*外部中斷 0 開*/IT0=0; /*電平觸發*/EX1=1; /*外部中斷 1 開*/IT1=0; /*電平觸發*/ES=1; /*打開串口中斷*/初始化結束,能夠依次利用2個外部中斷命令對其正反轉進行調節,利用這種方式,最終達到手動控制窗簾的目的。
綜上所述,本文通過對單片機控制步進電機的研究,分析了其在智能家居中窗簾中的應用。通過以智能家居控制系統為平臺,將單片機控制步進電機的子系統接入主系統中。從而實現用戶對家居窗簾的智能控制。雖然,在整體的設計上,已經實現了智能家居窗簾控制的基本功能,但是鑒于人力和時間等限制,不可否認該系統還有許多不完善的地方。下一步的工作重心在于測試系統的穩定性,從程序的魯棒性和硬件封裝等方面進行思考和改進。
(作者單位:華中科技大學文華學院)