《遙控窗簾的設(shè)計》word版_第1頁
《遙控窗簾的設(shè)計》word版_第2頁
《遙控窗簾的設(shè)計》word版_第3頁
《遙控窗簾的設(shè)計》word版_第4頁
《遙控窗簾的設(shè)計》word版_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、遙控窗簾的設(shè)計摘 要隨著電子技術(shù)和自動化技術(shù)的發(fā)展,人們對生活質(zhì)量的要求越來越高。本設(shè)計根據(jù)社會發(fā)展的需要,采用AT89C51單片機(jī)系統(tǒng)來控制窗扇,利用P1和P3口的特殊功能,根據(jù)其不同的控制模式,實現(xiàn)半制動控制,自動控制,定時控制的相互轉(zhuǎn)換,實現(xiàn)窗扇自動開關(guān)。關(guān)鍵詞: 單片機(jī),編碼, 定時控制,步進(jìn)電機(jī) Design of remote control curtainAbstractWith the development of electronic technology and automation technology, people on the quality of life of

2、the increasingly high demand. This design according to the needs of social development, using AT89C51 single-chip microcomputer system to control the window, using the special function of P1 and P3, according to its different mode of control, realize the brake control, automatic control, mutual conv

3、ersion timing control, automatic switch model.Key words: Single chip microcomputer,Coding, Timing control, Stepper motor目 錄第一章 緒論.11 1.1. 設(shè)計背景和意義以及主要任務(wù).11 1.2設(shè)計的要求.11方案設(shè)計.12 2.1 控制器智能項目.12 2.2 系統(tǒng)的總體架構(gòu)計劃.12硬件電路的設(shè)計.13 3.1 AT89C51單片機(jī)的介紹.13 3.2 本設(shè)計的相關(guān)電路的介紹.13 3.2.1 晶振電路.13 3.2.2 復(fù)位電路.13 3.2.3 時鐘電路.13 3.

4、2.4 電源電路.13 3.2.5 步進(jìn)電機(jī).13 3.3.6 鍵盤和顯示接口電路.13軟件程序設(shè)計.14 4.1 軟件開發(fā)環(huán)境選擇.14 4.2 主程序.14 4.3 主程序軟件的設(shè)計.14 4.4 其它功能程序的設(shè)計.14 4.4.1 鍵盤程序的設(shè)計.14 4.4.2 定時程序的設(shè)計.14 4.4.3 步進(jìn)電機(jī)的程序設(shè)計.14 4.4.4 定時程序的設(shè)計.14系統(tǒng)的調(diào)試和運(yùn)行.15 5.1 軟件調(diào)試.15 5.2 PCB圖.15小結(jié) .16致謝 .17參考文獻(xiàn).18第一章 緒論1.1設(shè)計背景和意義以及主要設(shè)計任務(wù) 隨著社會經(jīng)濟(jì)的發(fā)展和人們生活水平的改變,寬大窗戶的辦公和生活建筑越來越多。這

5、種建筑結(jié)構(gòu)美觀,采光良好。但是,窗戶的高度或者寬度超過4米以后手拉窗簾卻比較困難。而現(xiàn)在的放地產(chǎn)商幾乎卻都沒有為用戶考慮這個問題,使一些高檔住宅反而帶來了生活上的不便,解決這個問題的方法是使用窗簾機(jī)。 窗簾機(jī)是專門為高大的窗戶設(shè)計的窗簾控制裝置,根據(jù)功能不同可以分為智能、遙控、自動和智能等多種規(guī)格。智能窗簾機(jī)是通過窗簾機(jī)上的控制按鍵操作窗簾開合的一種最簡單的窗簾機(jī),僅僅解決了手動窗簾的問題,可還需要人來近距離操作,智能窗簾使一些超高、超寬窗簾的操作變得比較容易。但是因為這種窗簾技術(shù)含量低,基本沒有廠家作大規(guī)模工業(yè)化生產(chǎn);遙控窗簾機(jī)可以遠(yuǎn)距離操作窗簾的開合,使用更為方便,自動窗簾機(jī)具有自動控制功

6、能,可以滿足用戶各種情況下的使用要求。隨著新科技和自動化的發(fā)展,傳感器的使用數(shù)量越來越大,功能越來越強(qiáng),各種傳感器都已經(jīng)標(biāo)準(zhǔn)化和模塊化,這為智能家居控制控制系統(tǒng)的設(shè)計提供極大的方便。智能家居是利用先進(jìn)的計算機(jī)技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、綜合布線技術(shù)、依照人體工程學(xué)原理,融合個性需求,將與家居生活有關(guān)的各個子系統(tǒng)如安防、燈光控制、窗簾控制、煤氣閥控制、信息家電、場景聯(lián)動、地板采暖等有機(jī)地結(jié)合在一起,通過網(wǎng)絡(luò)化綜合智能控制和管理,實現(xiàn)“以人為本”的全新家居生活體驗。在設(shè)計系統(tǒng)時,面對各種檢查對象和大量控制單元,需要利用各種標(biāo)準(zhǔn)和MCU進(jìn)行連接,在通過MCU進(jìn)行數(shù)據(jù)處理,實現(xiàn)實時監(jiān)控。而此時采用單片機(jī)來實現(xiàn)

7、智能家居控制系統(tǒng)不僅具有采集控制方便,簡單,靈活等優(yōu)點(diǎn),而且大幅度提高采各模塊和芯片的協(xié)調(diào)性,從而大大提高系統(tǒng)的利用性。此系統(tǒng)設(shè)計正是利用AT89C51單片機(jī)的優(yōu)點(diǎn),順利的完成了本設(shè)計的要求。并且實現(xiàn)了定時和自動控制功能,為控制家居設(shè)備提供了良好的基礎(chǔ)。隨著自動窗簾熱潮在世界范圍內(nèi)的日漸興起,隨著中國電子技術(shù)的飛速發(fā)展、人們生活水平的不斷提高以及智能電子技術(shù)在生活中的廣泛應(yīng)用,自動窗簾已經(jīng)成為未來家居裝飾潮流發(fā)展的最新方向,在不久的將來,沒有自動窗簾系統(tǒng)的住宅肯定不合潮流。從目前的發(fā)展趨勢來看,在未來的20年時間里,自動窗簾行業(yè)將成為中國的主流行業(yè)之一,其市場的發(fā)展前景是非常廣闊的。本設(shè)計的主

8、要任務(wù)主要是通過單片機(jī)實現(xiàn)窗扇的多項智能控制,完成單片機(jī)應(yīng)用系統(tǒng)其開發(fā)過的系統(tǒng)的總體設(shè)計,軟件設(shè)計和系統(tǒng)調(diào)試。1.2設(shè)計的要求(1) 進(jìn)一步熟悉和掌握單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理,了解單片機(jī)應(yīng)用系統(tǒng)設(shè)計的基本方法和步驟(2)掌握單片機(jī)仿真軟件Proteus,protel,keil的使用方法;(3)掌握鍵盤和顯示器在的單片機(jī)控制系統(tǒng)中的應(yīng)用。(4)掌握撰寫課程設(shè)計報告的方法。 第二章 方案設(shè)計智能窗簾控制器總體方案設(shè)計是確定能夠滿足設(shè)計要求的總體方案的環(huán)節(jié)。本章從系統(tǒng)功能需求出發(fā),規(guī)劃并確定了系統(tǒng)的總體結(jié)構(gòu),并在此基礎(chǔ)上考慮了系統(tǒng)的可擴(kuò)展性及可實現(xiàn)性。2.1 控制器智能項目隨著人民生活水平的不斷提

9、高,人們對家庭生活舒適性的需求越來越強(qiáng)烈,窗簾作為每個家庭生活中最必須的家居用品之一,自然也需要滿足人民更舒適性的需求。窗簾最基本的作用無非是保護(hù)業(yè)主的個人隱私以及遮陽擋塵等功能,但傳統(tǒng)的窗簾您必須手動去開關(guān),每天早開晚關(guān)也是挺麻煩的,特別是別墅或復(fù)式房的大窗簾,比較長,而且重,用時需要很大的力才能開關(guān)窗簾,特別不方便;于是智能窗簾應(yīng)運(yùn)而生?,F(xiàn)有的智能窗簾都可以自動開關(guān)閉窗簾,到了時間自動控制窗簾的開關(guān),可以根據(jù)光的但是他們也有些缺點(diǎn)。窗簾控制器的自動開關(guān)如何讓窗簾能夠開關(guān)自如,停機(jī)的時間是否到位。智能窗簾主要有以下幾大功能:(1)手動控制:該功能使智能窗簾具有手動正傳、手動反轉(zhuǎn) 和手動停止的

10、功能。而且增加了工作狀態(tài)指示,電機(jī)工作在正傳、反轉(zhuǎn)和停止?fàn)顟B(tài)的時候,數(shù)碼管均有不同工作狀態(tài)指示。(2)半自動手動控制:半自動手動控制是在需要關(guān)閉或打開窗簾的時候,只需要人工按一下“正轉(zhuǎn)”或“反轉(zhuǎn)”按鍵后,窗簾到位自動停止。(4)時間自動控制:根據(jù)設(shè)置輸入的開啟或關(guān)閉時間,來控制窗簾的關(guān)閉和打開。窗簾的正轉(zhuǎn)、反轉(zhuǎn)和停止功能可由單片機(jī)輸出信號來控制步進(jìn)電機(jī)的運(yùn)轉(zhuǎn)以實現(xiàn)。時間自動控制可以由定時器來控制。2.2 系統(tǒng)總體架構(gòu)計劃整個智能窗戶控制系統(tǒng)包括微處理器、電機(jī)驅(qū)動電路等模塊組成。整個系統(tǒng)框圖如圖2-1所示。STC89C51復(fù)位電路電機(jī)驅(qū)動電路按鍵LCD顯示電路時鐘顯示電路電源電路 圖2-1 系統(tǒng)

11、框圖智能窗簾控制器的總體結(jié)構(gòu)框圖如圖2-2所示。電源電路時鐘電路復(fù)位電路單片機(jī)顯示部件鍵盤步進(jìn)電機(jī)圖2-2 智能窗簾控制器結(jié)構(gòu)框圖首先給電路加上電源,在通過時鐘電路來定好時間,到了設(shè)定的時間自動的復(fù)位來開閉窗扇。在通過信號的傳輸?shù)絾纹瑱C(jī)控制器,來實現(xiàn)電機(jī)的運(yùn)行與停止。顯示部件用來顯示智能窗簾控制器的各種狀態(tài)信息。鍵盤是主要的輸入設(shè)備,控制單片機(jī)的各種參量。第三章 系統(tǒng)硬件設(shè)計整個系統(tǒng)的硬件接線圖如圖3-1所示。 圖3-1 系統(tǒng)總硬件接線圖總體硬件電路圖包括單片機(jī)外圍電路,鍵盤/顯示接口電路,步進(jìn)電機(jī)控制電路等模塊。單片機(jī)外圍電路提供各模塊所需的5V電源和時鐘模塊;單片機(jī)的P2口控制步進(jìn)電機(jī)的運(yùn)

12、行從而控制窗簾的升降。顯示和鍵盤讓人機(jī)交換變得更容易。以上各模塊組成了智能窗簾控制器的總體電路。3.1 AT89C51單片機(jī)的介紹AT89C51是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單

13、個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 圖3-2 AT89S51單片機(jī)引腳圖 AT89C51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)Flash 閃速存儲器,128字節(jié)內(nèi)部RAM,32 個I/O 口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)

14、容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FL

15、ASH編程和校驗時,P1口作為低八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸

16、出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(計時器0外部輸入)P3.5 T1(計時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持R

17、ST腳兩個機(jī)器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個

18、機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.2 本設(shè)計的相關(guān)電路的介紹3.2.1晶振電路電路中的晶振即石英晶體震蕩器。由于石英晶體震蕩器具有非常好的頻率穩(wěn)定性和抗外界干擾的能力,所以,石

19、英晶體震蕩器是用來產(chǎn)生基準(zhǔn)頻率的。通過基準(zhǔn)頻率來控制電路中的頻率的準(zhǔn)確性。同時,它還可以產(chǎn)生振蕩電流,向單片機(jī)發(fā)出時鐘信號。圖3-3是單片機(jī)的晶振電路。電路中的電容C1和C2的典型值通常選擇為30PF左右,該電容的大小會影響振蕩電路頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。晶體振蕩頻率的范圍通常在1.212MHz。晶體的頻率越高,系統(tǒng)的時鐘頻率越快,單片機(jī)的運(yùn)行速度越快。但反過來,運(yùn)行速度對于存儲器的速度要求就越高,對印刷電路板的工藝要求也就越高,即要求線間的寄生電容要小。晶體和電容應(yīng)該盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證振蕩器穩(wěn)定、可靠地工作。AT89C51常選擇振蕩頻率

20、12MHz的石英晶體。 圖3-3 單片機(jī)晶振電路圖3.2.2復(fù)位電路復(fù)位是單片機(jī)的初始化操作,只需要給AT89C51的復(fù)位引腳RST加上大于2個機(jī)器周期(即24個時鐘振蕩周期)的高電平就可以使AT89C51復(fù)位。復(fù)位時,單片機(jī)初始化為0000H,從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)程序運(yùn)行錯誤(如程序跑飛)或操作錯誤使系統(tǒng)處于鎖死狀態(tài)時,也需要復(fù)位鍵使RST腳為高電平,使AT89C51擺脫“跑飛”或“死鎖”狀態(tài)而重新啟動。圖3-4是復(fù)位電路圖。 圖3-4 復(fù)位電路圖3.2.3時鐘電路本設(shè)計需要窗簾在給定的時間自動開和關(guān),所以需要用到定時器,而為了保證單片機(jī)與外界時鐘一

21、致,要用到一個實時時鐘電路。這里使用DS12887實時時鐘芯片來完成這項功能。DS12887是DALLAS公司生產(chǎn)的實時日歷時鐘芯片,其主要功能包括非易失性時日歷時鐘、報警器、百年歷、可編程中斷、方波發(fā)生器和114字節(jié)的非易失靜態(tài)RAM。使用DS12887時應(yīng)注意以下幾點(diǎn):Vcc正常情況下為5V,當(dāng)Vcc降至4.25V時,所有的輸入被忽略,輸出為高阻狀態(tài),Vcc降至3V時,外部電源被關(guān)斷,內(nèi)部鋰電池為實時時鐘和RAM供電,在斷電情況下,時鐘繼續(xù)運(yùn)行,其中的數(shù)據(jù)可保存十年以上不會丟失。DS12887有兩種工作時序,即MOTOROLA和INTEL時序,由MOT引腳的電平指定,當(dāng)MOT引腳為高電平時

22、選擇MOTOROLA時序,當(dāng)MOT引腳為低電平時選擇INTEL時序,圖中選為INTEL時序,這時芯片的DS引腳接系統(tǒng)的讀信號/RD,R/W引腳接系統(tǒng)的寫信號/WR。AS引腳用于分離數(shù)據(jù)地址總線AD7-AD0上的地址和數(shù)據(jù)信息,連接到MCU的ALE引腳。RESET引腳的信號對日歷時鐘和RAM沒有影響,但它影響DS12887的命令和狀態(tài)寄存器的內(nèi)容,在圖中直接將RESET連至Vcc,這樣可以保證DS12887在進(jìn)入或退出電源失效狀態(tài)時,其工作狀態(tài)不受RESET引腳的影響。DS12887有一個可編程輸出方波引腳SQW,從該引腳可以輸出頻率為2Hz-256Hz的方波,在系統(tǒng)中正是利用此引腳輸出周期為1

23、25MS的方波,作為MCU外部中斷/INT0的中斷源實現(xiàn)周期性中斷,每當(dāng)中斷發(fā)生時,MCU讀一二次輸入口,檢查電表是否轉(zhuǎn)過一圈,在整點(diǎn)時還要采一次三相電流和電壓。除此之外,DS12887內(nèi)部還有128字節(jié)的RAM的單元,其中前10個字節(jié)用于存放日歷時鐘信息,字節(jié)0為秒,字節(jié)2為分,字節(jié)4為時,字節(jié)6為星期,字節(jié)7為日,字節(jié)8為月,字節(jié)9為年,字節(jié)0AH-0DH用作控制和狀態(tài)寄存器,剩下的114字節(jié)為用戶RAM,所有的這128字節(jié)都是掉電非易失性的。 圖3-5 時鐘電路圖DS12887時鐘芯片和AT89C5l單片微機(jī)的接口電路如圖3-5所示。模式選擇腳MOT接地, DS12887時鐘芯片的AS端

24、口和AT89C51單片機(jī)的AIE端直接相聯(lián);而DS、RW 讀寫控制線與單片機(jī)的RD/WR控制線制線相連;DS12887的高位地址由AT89C51單片機(jī)的P27端口來片選,則DS12887的高8位地址定為7FH,而其低8位則由芯片內(nèi)部各單元的地址來決定(00H-3FH);DS12887的中斷輸出端IQR和AT89C51的外部中斷INT0端相聯(lián),給單片機(jī)提供中斷信號;DS12887的SQW端與89C5I的TO端相連。3.2.4 電源電路單片機(jī)工作需要使用5V電壓,因此需要給單片機(jī)設(shè)計電源電路。圖3-6是單片機(jī)的電源電路。它采用LM7805三端集成穩(wěn)壓器,可輸出+5V的直流電壓供電。 圖3-6 電源

25、電路圖3.2.5步進(jìn)電機(jī)步進(jìn)電機(jī)為一種數(shù)字伺服執(zhí)行元件,具有結(jié)構(gòu)簡單、運(yùn)行可靠、控制方便、控制性能好等優(yōu)點(diǎn),廣泛應(yīng)用在數(shù)控機(jī)床、機(jī)器人、自動化儀表等領(lǐng)域。為了實現(xiàn)步進(jìn)電機(jī)的簡易運(yùn)動控制,一般以單片機(jī)作為控制系統(tǒng)的微處理器,通過步進(jìn)電機(jī)專用驅(qū)動芯片實現(xiàn)步進(jìn)電機(jī)的速度和位置定位控制。單片機(jī)在本次試驗中對步進(jìn)電機(jī)的控制從而達(dá)到對轉(zhuǎn)角和位移的控制的方法。本次設(shè)計采用兩個型號為130HZ308-450的三相反應(yīng)式步進(jìn)電機(jī)對旋轉(zhuǎn)角度和位移進(jìn)行控制,該步進(jìn)電機(jī)力矩大、耐負(fù)載沖擊、精度高。其步距角為1.2,即=1.2,即本次設(shè)計的測控系統(tǒng)對回轉(zhuǎn)臺轉(zhuǎn)角的控制精度可以達(dá)到1.2。步進(jìn)電機(jī)的驅(qū)動電路是根據(jù)控制信號工

26、作的。而本次測控系統(tǒng)是以單片機(jī)位控制中心的,下面將介紹步進(jìn)電機(jī)控制系統(tǒng)。步進(jìn)電機(jī)控制系統(tǒng)主要由脈沖分配器,功率驅(qū)動電路,步進(jìn)電機(jī)幾部分構(gòu)成的。步進(jìn)電機(jī)控制系統(tǒng)的方框圖如圖3-8所示: 脈沖控制器 功率驅(qū)動電路 步進(jìn)電機(jī)負(fù)載脈沖信號 圖3-8 步進(jìn)電機(jī)控制系統(tǒng)方框圖 圖3-9 步進(jìn)電機(jī)控制系統(tǒng)電路圖如圖3-9所示,是步進(jìn)電機(jī)控制系統(tǒng)的電路圖。單片機(jī)輸出步進(jìn)脈沖后,再由脈沖分配電路按事先確定的順序控制各相的通斷。本設(shè)計由軟件完成脈沖分配工作,不僅使線路簡化,成本下降,而且可根據(jù)應(yīng)用系統(tǒng)的需要,靈活地改變步進(jìn)電機(jī)的控制方案。軟件控制脈沖將在軟件設(shè)計部分說明。步進(jìn)電機(jī)功率驅(qū)動電路工作在較大脈沖電流狀態(tài)

27、,采用光電耦合器將單片機(jī)與步機(jī)電機(jī)隔離可以避免單片機(jī)與步進(jìn)電機(jī)功率回路的共地干擾,防止強(qiáng)功率的干擾信號反串進(jìn)主控系統(tǒng)。此外,萬一驅(qū)動電路發(fā)生故障,也不致讓功放中較高的電壓串入單片機(jī)而使其損壞。步進(jìn)電機(jī)的驅(qū)動電路有很多種,但最為常見的就是用單電壓驅(qū)動,雙電壓驅(qū)動,斬波驅(qū)動,細(xì)分驅(qū)動等。但電壓驅(qū)動是步進(jìn)電機(jī)控制中最為簡單的一種驅(qū)動電路,它在本質(zhì)上是一個單間的反相器。它最大的特點(diǎn)是結(jié)構(gòu)簡單,工作效率低。而且它的外接電阻要消耗相當(dāng)一部分能量,這樣會影響電路的穩(wěn)定性。雙電壓驅(qū)動電路是采用兩種電源電壓,缺點(diǎn)在于在高低電壓連接處電流出現(xiàn)谷點(diǎn),這樣必然引起力矩在谷點(diǎn)處下降,不易于電機(jī)的正常運(yùn)行。對于斬波驅(qū)動則

28、可以克服這種缺點(diǎn),并且還可以提高步進(jìn)電機(jī)的效率。從提高效率的角度來看這是一個很好的驅(qū)動電路,它可以用較高的電源電壓,同時無需外接電阻來限定額定電流和減少時間常數(shù)。但由于其波形頂部呈現(xiàn)鋸齒形波動,所以產(chǎn)生較大的電磁噪聲。細(xì)分驅(qū)動是用脈沖電壓來供電的,對于一個電壓脈沖,轉(zhuǎn)子就可以轉(zhuǎn)動一步。本設(shè)計采用的是恒頻脈寬調(diào)制細(xì)分驅(qū)動電路,電路圖如3-10所示。 圖3-10 恒頻脈寬調(diào)制細(xì)分驅(qū)動電路3.2.6 鍵盤和顯示接口電路 鍵盤在單片機(jī)應(yīng)用系統(tǒng)中能實現(xiàn)向單片機(jī)輸入數(shù)據(jù),傳送命令等功能,是人工干預(yù)單片機(jī)的主要手段。本設(shè)計中的鍵盤采用44矩陣鍵盤。16個鍵分別為:0-9十個數(shù)字鍵,用于時間設(shè)定輸入;設(shè)定鍵,

29、設(shè)定自動窗簾開和關(guān)的時間;復(fù)位鍵,在程序出錯或者有誤操作的時候;正轉(zhuǎn)鍵,使步進(jìn)電機(jī)正轉(zhuǎn),窗簾打開;反轉(zhuǎn)鍵,使步進(jìn)電機(jī)反轉(zhuǎn),窗簾關(guān)閉;停止鍵,步進(jìn)電機(jī)停止運(yùn)轉(zhuǎn);確定鍵,時間設(shè)定完成后確定輸入。由于按鍵比較多,加上減少所戰(zhàn)占用的端口,可以將按鍵組成一個矩陣,如圖3-11所示。 圖3-11 鍵盤接口電路獲取鍵盤信息的方法有2種,我們經(jīng)常用到的是掃描法。在掃描法中,所有的行線固定為輸出端口,并依次輸出低電平;所有列線固定為輸入端口,用來檢測按鍵狀態(tài)。當(dāng)全部按鍵均松開時,從列線上檢測不到行線輸出的低電平。當(dāng)某個按鍵按下時,只有在對應(yīng)的行線輸出低電平時才能在對應(yīng)的列線端口檢測到低電平。按鍵的觸點(diǎn)在閉合和斷

30、開時均會產(chǎn)生抖動,這時觸點(diǎn)的邏輯電平是不穩(wěn)定的,如果不妥善處理,將會引起按鍵命令的錯誤執(zhí)行或重復(fù)執(zhí)行。一般消除抖動采用軟件方法來解決,將在軟件部分介紹這點(diǎn)。顯示部分則主要顯示時間,用于設(shè)置時間。采用LED數(shù)碼管進(jìn)行顯示是一種經(jīng)濟(jì)實用的方法。每位數(shù)碼管由7個筆畫加上小數(shù)點(diǎn)共8個發(fā)光二極管組成;有共陰極和共陽極兩種類型,公共端用來進(jìn)行位控制,筆畫端用來進(jìn)行字符控制;數(shù)碼管顯示有靜態(tài)顯示和動態(tài)顯示兩種方法。在數(shù)碼管顯示中,有2個技術(shù)問題需要解決,這就是整數(shù)高位和閃爍顯示問題。雖然某些新型LED驅(qū)動芯片本身具有閃爍控制和熄滅控制功能,但通過合理的軟件設(shè)計,采用廉價芯片組成的驅(qū)動電路同樣可以實現(xiàn)整數(shù)高位

31、滅零和閃爍顯示功能,達(dá)到降低系統(tǒng)硬件成本的目的。本設(shè)計采用的就是4位LED數(shù)碼管的串行驅(qū)動電路來達(dá)到顯示時間和消除閃爍顯示的目的。驅(qū)動器采用74LS164,由AT89C51的P3.0和P3.1來控制LED數(shù)碼管的顯示。顯示電路圖如3-12所示。 圖3-12 顯示電路第四章 系統(tǒng)軟件設(shè)計系統(tǒng)軟件設(shè)計主要包括顯示子程序,鍵盤子程序,時鐘程序,步進(jìn)電機(jī)控制程序設(shè)計及部分構(gòu)成。本章節(jié)系統(tǒng)的介紹了智能窗簾的主程序和各主要功能子程序的設(shè)計流程。 本論文所設(shè)計的程序主要完成以下功能: 按鍵+遙控控制窗簾開關(guān)(分為連續(xù)開關(guān)和步進(jìn)開關(guān)) 定時開關(guān)窗簾設(shè)置 人機(jī)交互信息+時間顯示是窗簾到位或按鍵按下步進(jìn)關(guān)窗步進(jìn)開

32、窗連續(xù)關(guān)窗連續(xù)開窗窗簾未完全開啟未完全開啟未完全關(guān)閉窗簾位置檢測窗簾控制按下開始按鍵檢測功能鍵按下否功能設(shè)置(定時時間設(shè)置、定時延時后窗簾狀態(tài)設(shè)置)確認(rèn)鍵按下是定時時間不為零啟動定時器時間到程序流程圖如下:未完全關(guān)閉是 圖4-1 遙控窗簾總流程圖4.1 軟件開發(fā)環(huán)境選擇 本論文所選擇的軟件開發(fā)環(huán)境為KEIL uVISION4。 Keil公司是一家業(yè)界領(lǐng)先的微控制器(MCU)軟件開發(fā)工具的獨(dú)立供應(yīng)商。Keil公司由兩家私人公司聯(lián)合運(yùn)營,分別是德國慕尼黑的Keil Elektronik GmbH和美國德克薩斯的Keil Software Inc。Keil公司制造和銷售種類廣泛的開發(fā)工具,包括ANS

33、I C編譯器、宏匯編程序、調(diào)試器、連接器、庫管理器、固件和實時操作系統(tǒng)核心(real-time kernel)。有超過10萬名微控制器開發(fā)人員在使用這種得到業(yè)界認(rèn)可的解決方案。其Keil C51編譯器自1988年引入市場以來成為事實上的行業(yè)標(biāo)準(zhǔn),并支持超過500種8051變種。Keil公司在2007年被ARM公司收購。其兩家公司分別更名為ARM Germany GmbH和ARM Inc和。Keil公司首席執(zhí)行官Reinhard Keil表示:“作為ARM Connected Community中的一員,Keil和ARM保持著長期的良好關(guān)系。通過這次收購,我們將能更好地向高速發(fā)展的32位微控制器

34、市場提供完整的解決方案,同時繼續(xù)在uVision環(huán)境下支持我們的8051和C16x編譯器?!?009年2月發(fā)布Keil Vision4,Keil Vision4引入靈活的窗口管理系統(tǒng),使開發(fā)人員能夠使用多臺監(jiān)視器,并提供了視覺上的表面對窗口位置的完全控制的任何地方。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個窗口,提供一個整潔,高效的環(huán)境來開發(fā)應(yīng)用程序。新版本支持更多最新的ARM芯片,還添加了一些其他新功能。2011年3月ARM公司發(fā)布最新集成開發(fā)環(huán)境RealView MDK開發(fā)工具中集成了最新版本的Keil uVision4,其編譯器、調(diào)試工具實現(xiàn)與ARM器件的最完美匹配。 圖4-2

35、 Keil Vision4啟動畫面 圖4-3 編程界面4.2 主程序4.3 主程序軟件設(shè)計主程序構(gòu)成無限循環(huán),主要完成單片機(jī)初始化,關(guān)中斷,菜單顯示內(nèi)容初始化,按鍵掃描,電機(jī)運(yùn)行,計時等功能。主程序的流程圖如圖4-4所示。 圖4-4 主程序流程圖啟動主程序,先關(guān)中斷并且設(shè)置堆棧,接著初始化寄存器,初始化顯示內(nèi)容;然后執(zhí)行按鍵查詢,執(zhí)行相應(yīng)的操作。如果是設(shè)定鍵,則設(shè)定時間,開始計時;到時間后步進(jìn)電機(jī)開始相應(yīng)的工作,工作完成后停機(jī)。如果是電機(jī)控制鍵,則也執(zhí)行相應(yīng)的工作。如果都不是,則是復(fù)位鍵,采取復(fù)位操作。4.4 主要功能子程序設(shè)計4.4.1 步進(jìn)電機(jī)程序設(shè)計步進(jìn)電機(jī)程序設(shè)計的主要任務(wù)是: 1).

36、判斷旋轉(zhuǎn)方向;2).按順序傳送控制脈沖;3). 判斷所要求的控制步數(shù)是否傳送完畢。圖4-5 步進(jìn)電機(jī)工作流程圖4.4.2 顯示程序顯示程序開始后,起始地址60H發(fā)送到R0,01H發(fā)送至顯示位代碼R2,再將位代碼發(fā)送到單片機(jī)A口,單片機(jī)取顯示數(shù)據(jù)查表轉(zhuǎn)換成顯示代碼發(fā)送至單片機(jī)B口,延時2ms,指針R0加1,然后判斷6顯示是否完成。如果完成則返回,沒完成則位代碼R2左移一位,繼續(xù)顯示查表,一直到6位顯示完成后返回。顯示子程序流程圖如圖4-6所示 圖4-6 顯示部分流程圖4.4.3 鍵盤程序設(shè)計按鍵的觸點(diǎn)在閉合和斷開時均會產(chǎn)生抖動,這時觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會引起按鍵命令的錯誤執(zhí)

37、行或者重復(fù)執(zhí)行?,F(xiàn)在用軟件延時的方法來避開抖動階段。在判斷是否有鍵閉合后都延時5ms,按下鍵后再延時12ms就可以避免鍵盤的抖動。然后鍵碼分析,執(zhí)行相應(yīng)的模塊,顯示后返回。鍵盤子程序如圖4-7所示。 圖4-7 鍵盤程序流程圖4.4.4 定時程序設(shè)計定時的主要功能是在設(shè)定時間單片機(jī)能夠得到中斷信號,從而控制窗簾的開關(guān)。時鐘發(fā)出50ms的信號給單片機(jī),計數(shù)器計數(shù),當(dāng)計數(shù)到20,則過了1秒,秒單元數(shù)值加1,當(dāng)秒單元到達(dá)60,分單元數(shù)值加1,秒單元清零。當(dāng)時單元到達(dá)24,時單元清零。標(biāo)志1天時間計滿,把他們的值放到存儲單元的指定單元。圖4-8是定時功能流程圖。圖4-8 定時功能流程圖第五章 系統(tǒng)的調(diào)試

38、和運(yùn)行5.1軟件調(diào)試當(dāng)硬件制作完成后,軟件制作也是不可輕視的部分,是實現(xiàn)電路的功能的關(guān)鍵部分,通過本次畢業(yè)設(shè)計,總結(jié)經(jīng)驗如下:(1)先進(jìn)行人工檢查。寫好程序后,不要立刻燒入單片機(jī),先對紙面上的程序進(jìn)行人工檢查。由于采用C語言編程,所以要特別小心地檢查語法錯誤,如括號不配對,漏寫分號等,通過仔細(xì)的檢查,發(fā)現(xiàn)并排除這些錯誤。(2)人工檢查無誤后,上機(jī)調(diào)試。在編譯時給出的語法錯誤的信息,根據(jù)提示的信息具體找出程序中錯誤之處并改之,從上至下逐一改正。應(yīng)當(dāng)注意的是:有的提示出錯行并不是真正出錯的行,如果在提示出錯的行上找不到錯誤的話,則應(yīng)該到上行再找。(3) 當(dāng)確認(rèn)程序無語法錯誤和邏輯錯誤時,通過直接下

39、載到單片機(jī)來調(diào)試。采用的是自下到上的調(diào)試方法,即單獨(dú)調(diào)好每一個模塊,然后再連接成一個完整的系統(tǒng)調(diào)試。(4) 程序燒入單片機(jī)后,觀察各個部件的工作是否正常,功能是否實現(xiàn)。如不能正常工作,則繼續(xù)檢查程序中的相應(yīng)模塊,必要時從上到下重新檢查程序。 5.2 PCB圖小結(jié)本次設(shè)計系統(tǒng)地介紹了自動窗簾控制系統(tǒng)的硬件電路設(shè)計以及軟件設(shè)計。經(jīng)過幾個月的資料查找和設(shè)計,我已完成了畢業(yè)設(shè)計的任務(wù)。本文設(shè)計了電動窗簾控制器的智能項目,系統(tǒng)的介紹了電動窗簾控制器的硬件電路設(shè)計到軟件設(shè)計的以系列步驟。本設(shè)計采用步進(jìn)電機(jī)作為執(zhí)行元件,以AT89C51單片機(jī)作為控制芯片,輔助鍵盤和顯示,實現(xiàn)了電動窗簾控制器的多項智能項目。本次畢業(yè)設(shè)計的整個研究與設(shè)計過程包括選題、設(shè)計以及完善等。首先,在選題方面查閱了很多與題目有關(guān)的資料和課題并且制定設(shè)計方案,進(jìn)行設(shè)計的總體規(guī)劃,然后將這些方案落實到設(shè)計環(huán)節(jié)中。其次,在制定的方案基礎(chǔ)上運(yùn)用所學(xué)的知識對硬件以及軟件進(jìn)行設(shè)計,并用相關(guān)軟件進(jìn)行仿真設(shè)計。最后,對設(shè)計內(nèi)容進(jìn)一步修繕,以求達(dá)到最佳設(shè)計結(jié)果??v觀整個設(shè)計系統(tǒng),單片機(jī)使用了熟悉的AT89C51單片機(jī),從而使整個控制芯片設(shè)計起來也是得心應(yīng)手。所用芯片簡單實用,減少了開發(fā)和硬件開銷。本設(shè)計的步進(jìn)電機(jī)可以很好的執(zhí)行單片機(jī)的命令。步進(jìn)電機(jī)為一種數(shù)字伺服執(zhí)行元件,具有結(jié)構(gòu)簡單、運(yùn)行可靠、控制方便、控制性能好

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論