基于單片機(jī)的自動(dòng)門(mén)控制系統(tǒng)設(shè)計(jì).doc
《基于單片機(jī)的自動(dòng)門(mén)控制系統(tǒng)設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于單片機(jī)的自動(dòng)門(mén)控制系統(tǒng)設(shè)計(jì).doc(19頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
第一章 緒論 1.1課題研究的背景 社會(huì)的進(jìn)步、科技的前進(jìn)將人們的生活投入了一個(gè)急劇發(fā)展的數(shù)字化的21世紀(jì)。人們生活水平也隨之逐漸升高,讓人們對(duì)美好生活環(huán)境追求的欲望也愈來(lái)愈強(qiáng)烈,因而各類方便于生活的單片機(jī)自動(dòng)控制系統(tǒng)開(kāi)始進(jìn)入了人們的生活。以單片機(jī)為核心的自動(dòng)門(mén)系統(tǒng)就是其中之一。因自動(dòng)門(mén)之中使用的芯片和傳感器技術(shù)的日漸先進(jìn),使它的實(shí)用性變的更好,功能也愈來(lái)愈多,從而讓它的應(yīng)用范圍也越來(lái)越廣泛。使用自動(dòng)門(mén)會(huì)給人們帶來(lái)人員出入方便、節(jié)約能源、減少噪音等好處,也令人們的建筑更加的現(xiàn)代化。 1.2國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展趨勢(shì) 自動(dòng)門(mén)是上個(gè)世紀(jì)中期在建筑物上得到利用。在上個(gè)世紀(jì)二十年代之后,自動(dòng)門(mén)開(kāi)始造美國(guó)的超級(jí)市場(chǎng)上初次使用。當(dāng)時(shí)使用的是油壓式自動(dòng)門(mén),這是世界上第一跨自動(dòng)門(mén),根據(jù)它的使用原理,氣動(dòng)式自動(dòng)門(mén)也開(kāi)始得到發(fā)明。到1962年電氣化的進(jìn)步,電氣式自動(dòng)門(mén)得以發(fā)展,因它較于油壓式和氣動(dòng)式維護(hù)更加方便,電氣式自動(dòng)門(mén)隨著城市化的推進(jìn),使用它的用戶也隨之增加。但在上世紀(jì)六十年代電氣設(shè)備的發(fā)展還處于低級(jí)階段,電機(jī)轉(zhuǎn)速難以控制,故此當(dāng)時(shí)的電氣式自動(dòng)門(mén)的性能還是差強(qiáng)人意,能源利用率低下,維護(hù)的成本還是相對(duì)較高。在進(jìn)入計(jì)算機(jī)時(shí)代之后,計(jì)算機(jī)技術(shù)的不斷發(fā)展,電子控制技術(shù)開(kāi)始成熟,直接控制電動(dòng)機(jī)的電氣式自動(dòng)門(mén)得到急劇的發(fā)展,使其逐步成為自動(dòng)門(mén)的主流。 在中國(guó)自動(dòng)門(mén)現(xiàn)在隨著城市化推進(jìn)的浪潮在社會(huì)中得到廣泛的應(yīng)用,現(xiàn)在在每個(gè)城市都可以見(jiàn)到自動(dòng)門(mén)的身影。但在國(guó)內(nèi)因其研發(fā)起步較晚,自主研發(fā)的程度比較低,大部分的專利都在外國(guó)人的手中。在進(jìn)入新世紀(jì)之后,國(guó)內(nèi)的計(jì)算機(jī)發(fā)展進(jìn)入快車道,追趕上國(guó)際上的先進(jìn)水平。利用計(jì)算機(jī)技術(shù)的自動(dòng)門(mén)技術(shù)在國(guó)內(nèi)也在飛速發(fā)展。 自動(dòng)平移門(mén)是現(xiàn)在最常見(jiàn)的自動(dòng)門(mén)。工作的方式是將兩個(gè)人體紅外感應(yīng)器安裝在門(mén)內(nèi)外兩側(cè)。當(dāng)人走近自動(dòng)門(mén)時(shí),任意一個(gè)人體紅外感應(yīng)器感應(yīng)到人體紅外的存在,就控制步進(jìn)電機(jī)打開(kāi)門(mén)。當(dāng)人通過(guò)門(mén)之后,再將門(mén)關(guān)閉。因?yàn)樽詣?dòng)平移門(mén)可以在進(jìn)入自動(dòng)模式后能夠完成自動(dòng)控制,可以讓建筑物層次得以提升又方便美觀。因此迅速在國(guó)內(nèi)外建筑市場(chǎng)得到廣泛的普及。 1.3課題研究意義和目的 21世紀(jì)是電子科技不斷發(fā)展的時(shí)代, 各種智能控制系統(tǒng)逐漸的進(jìn)入人們的生活之中。自動(dòng)門(mén)控制系統(tǒng)因它能夠出色的完成疏導(dǎo)人流,降低人員密度,防止再次發(fā)人員踩踏的慘劇,已成為商場(chǎng)、超市、旅店、寫(xiě)字樓等人流集中地的首選。 為了使自動(dòng)門(mén)更好的為人們服務(wù)。為了 獲得一種簡(jiǎn)單電路,功能完善,維護(hù)方便和性價(jià)高等優(yōu)點(diǎn)的自動(dòng)門(mén)系統(tǒng),本文中,研究了一種平開(kāi)式的自動(dòng)門(mén)控制系統(tǒng)。 實(shí)現(xiàn)了自動(dòng)識(shí)別人體紅外識(shí)和防擠壓等功能。該系統(tǒng)以STC89C52作為控制核心,以步進(jìn)電機(jī)、紅外傳感器和光電開(kāi)關(guān)結(jié)合的簡(jiǎn)易單片機(jī)系統(tǒng),充分發(fā)揮核心控制系統(tǒng)的性能。具有一定的使用和參考價(jià)值。 1.4課題主要研究?jī)?nèi)容 閱讀單片機(jī)以及自動(dòng)控制相關(guān)知識(shí)。通過(guò)去圖書(shū)館下載往年有關(guān)的論文進(jìn)行參考,查閱資料,瀏覽圖書(shū)館相關(guān)文獻(xiàn),使用網(wǎng)絡(luò)參考網(wǎng)絡(luò)上的論文。在此基礎(chǔ)上利用單片機(jī)實(shí)現(xiàn)自動(dòng)門(mén)控制系統(tǒng)的設(shè)計(jì)。本次設(shè)計(jì)總體結(jié)構(gòu)大致分為電源模塊、動(dòng)力模塊、報(bào)警模塊、人體感應(yīng)模塊、門(mén)行程檢測(cè)模塊、障礙物檢測(cè)模塊共六大模塊組成,通過(guò)Keil軟件編寫(xiě)設(shè)計(jì)所需要的程序并對(duì)程序進(jìn)行檢查分析,Altium designer進(jìn)行原理圖設(shè)計(jì)和PCB板的布線,最后使用Proteus軟件進(jìn)行仿真。本控制系統(tǒng)基本框圖如圖1.1所示 圖1.1紅外檢測(cè)框圖 第二章 系統(tǒng)硬件設(shè)計(jì) 為了滿足生活中日益增長(zhǎng)的自動(dòng)門(mén)需求,本設(shè)計(jì)是完成一種基于89C52單片機(jī)的自動(dòng)門(mén)控制系統(tǒng),該系統(tǒng)包括報(bào)警電路,HC-SR501人體感應(yīng)模塊,復(fù)位電路,動(dòng)力模塊,控制方式切電路換等。當(dāng)有人經(jīng)過(guò)人體感應(yīng)模塊時(shí),人體感應(yīng)模塊會(huì)感應(yīng)到人體的溫度,之后會(huì)將紅外線信號(hào)轉(zhuǎn)化為電壓信號(hào),從而該系統(tǒng)會(huì)自動(dòng)打開(kāi)門(mén),讓行人通過(guò)。當(dāng)人通過(guò)后,人體感應(yīng)模塊感應(yīng)不到人體的溫度,之后輸出低電壓信號(hào),從而該系統(tǒng)會(huì)自動(dòng)打關(guān)門(mén)。該系統(tǒng)操作簡(jiǎn)單,可靠性強(qiáng),靈敏度高,檢測(cè)范圍廣,便于安裝,非常適代替原始的手動(dòng)門(mén),從而達(dá)到出入方便的目的。 2.1硬件整體設(shè)計(jì)思路 根據(jù)需要實(shí)現(xiàn)的功能選取基本硬件: (1) 主控芯片:STC89C52; (2) 人體感應(yīng)模塊:HC-SR501; (3) 報(bào)警模塊:蜂鳴器: (4) 動(dòng)力模塊:步進(jìn)電機(jī); (5) 障礙檢測(cè)模塊:E18-D50NK; (6) 門(mén)行程檢測(cè)模塊:ITR-9608光電開(kāi)關(guān) 系統(tǒng)整體硬件框圖如圖2.1所示 圖2.1系統(tǒng)硬件框圖 2.2單片機(jī)介紹 單片機(jī)是微型計(jì)算機(jī)系統(tǒng)。雖然它小,但具備一臺(tái)計(jì)算機(jī)的大部分部件:運(yùn)算器、控制器、內(nèi)存、內(nèi)部和外部總線系統(tǒng)。相當(dāng)于一塊芯片成為了一臺(tái)體積小、質(zhì)量輕、價(jià)格便宜的計(jì)算機(jī)。這為它的廣泛應(yīng)用提供了便利的條件。 根據(jù)系統(tǒng)需求,需要控制芯片能在5V~7V電壓下工作,低功耗響應(yīng)速度快,具備定時(shí)器,UART串口通信,外部中斷,至少具備8個(gè)I/O口,能夠驅(qū)動(dòng)小電流設(shè)備。根據(jù)以上功能需要,綜合考慮選取在市場(chǎng)上應(yīng)用比較廣泛且性價(jià)比高的Atmel 公司的STC89C52單片機(jī),作為主控芯片,并選取11.0592MHz的晶振外接在主控芯片上圖2.2為STC89C52單片機(jī)的最小系統(tǒng)圖。 圖2.2 STC89C52單片機(jī)最小系統(tǒng) 2.2.1STC89C52單片機(jī)引腳說(shuō)明 STC89C52單片機(jī)擁有40個(gè)引腳。表1按照引腳功能可分4個(gè)部分。 表2.1單片機(jī)引腳說(shuō)明 單片機(jī)引腳 引腳功能 主電源引腳 VCC(40) 電源輸入,接+5V電源 GND(20) 接地線 外接晶振引腳 XTAL1(19) 片內(nèi)振蕩電路的輸入端 XTAL2(18) 片內(nèi)振蕩電路的輸出端 控制引腳 RST/VPP(9) 復(fù)位信號(hào)輸入端 ALE/PROG(30) 地址鎖存允許信號(hào) PSEN(29) 外部存儲(chǔ)器讀選通信號(hào) EA/VPP(31) 程序存儲(chǔ)器的內(nèi)外部選通,接低電平從外部程序存儲(chǔ)器讀指令,如果接高電平則從內(nèi)部程序存儲(chǔ)器讀指令 可編程輸入/輸出引腳 P0口(32~39) 準(zhǔn)雙向8位三態(tài)I/O口 P1口(1~8) 準(zhǔn)雙向8位三態(tài)I/O口 P2(21~28) 準(zhǔn)雙向8位三態(tài)I/O口 P3(10~17) 準(zhǔn)雙向8位三態(tài)I/O口 值得注意的是,P3口的每一個(gè)引腳都可以單獨(dú)作為第一功能的輸入輸出或第二功能。P3口第二功能如表2.2所示 表2.2 P3口第二功能 P 3.0 PXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入 P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) 2.2.2復(fù)位及復(fù)位電路 復(fù)位是單片機(jī)的初始化操作。其主要功能是讓單片機(jī)初始化為0000H并從0000H單元開(kāi)始執(zhí)行程序??梢栽趩纹瑱C(jī)程序運(yùn)轉(zhuǎn)出錯(cuò)或操作失誤使系統(tǒng)處于死鎖狀況時(shí),擺脫困境。復(fù)位電路原理圖如圖2.3所示。 圖2.3復(fù)位電路原理圖 2.3人體感應(yīng)模塊設(shè)計(jì) HC-SR501是利用紅外線的技術(shù)從而來(lái)實(shí)現(xiàn)自動(dòng)控制的功能。當(dāng)有人經(jīng)過(guò)該系統(tǒng)時(shí),該模塊感應(yīng)到人體的溫度,人體所輻射出來(lái)的紅外線被人體感應(yīng)模塊吸收之后,該人體感應(yīng)模塊經(jīng)過(guò)一系列的處理之后,紅外線就會(huì)轉(zhuǎn)變成電壓信號(hào),該系統(tǒng)就會(huì)發(fā)出報(bào)警的信號(hào)。該人體模塊靈敏度高,廣泛地被應(yīng)用在自動(dòng)感應(yīng)產(chǎn)品之中。它的發(fā)明使好多自動(dòng)感應(yīng)產(chǎn)品的制作變得更加的方便快捷,更加的可靠。 2.4步進(jìn)電機(jī) 步進(jìn)電動(dòng)機(jī)是一種的數(shù)字控制電動(dòng)機(jī)。它是將收到的電脈沖信號(hào)轉(zhuǎn)變成角位移或者線性位移。即給一個(gè)脈沖信號(hào),步進(jìn)電動(dòng)機(jī)就轉(zhuǎn)動(dòng)一個(gè)角度。步進(jìn)電機(jī)在負(fù)載范圍內(nèi)的開(kāi)啟/停止,轉(zhuǎn)動(dòng)頻率,只與控制核心傳輸給它的信號(hào)相關(guān),而不受負(fù)載大小的影響。由于這特點(diǎn)的存在,所以作常適合于單片機(jī)控制。近30年來(lái),數(shù)字技術(shù)、計(jì)算機(jī)技術(shù)迅速發(fā)展推動(dòng)步進(jìn)電動(dòng)機(jī)的進(jìn)步,使步進(jìn)電動(dòng)機(jī)的使用愈來(lái)愈廣泛。 2.5 驅(qū)動(dòng)控制系統(tǒng) 在利用步進(jìn)電機(jī)時(shí)必需要有由環(huán)形脈沖,功率放大等構(gòu)成的控制系統(tǒng),其方框圖如圖2.3所示。 圖2.3驅(qū)動(dòng)控制系統(tǒng)框圖 脈沖信號(hào)由單片機(jī)產(chǎn)生,經(jīng)ULN2003芯片對(duì)脈沖信號(hào)進(jìn)行放大,步進(jìn)電動(dòng)機(jī)根據(jù)脈沖電流進(jìn)行相應(yīng)的工作狀態(tài)。在步進(jìn)電動(dòng)機(jī)的控制中,基本控制如下: (1)反應(yīng)式步進(jìn)電動(dòng)機(jī)控制換相順序 步進(jìn)電動(dòng)機(jī)的工作方時(shí),按照通電換相次序嚴(yán)格執(zhí)行。我們把通電換相過(guò)程稱為脈沖分配。四相五線步進(jìn)電機(jī)工作方式通電換相的正序:是A-AB-B-BC-C-CD-D-DA-A;反序?yàn)锳-DA-D-CD-C-BC-B-AB-A。共有八個(gè)通電狀態(tài)。其驅(qū)動(dòng)方式邏輯時(shí)序如表2.4示。 表2.4邏輯時(shí)序 步進(jìn) 01 02 03 04 真值表 通電 0 ON OFF ON OFF 1010 AC 1 ON OFF OFF OFF 1000 A 2 ON OFF OFF ON 1001 AD 3 OFF OFF OFF ON 0001 D 4 OFF ON OFF ON 0101 BD 5 OFF ON OFF OFF 0100 B 6 OFF ON ON OFF 0110 BC 7 OFF OFF ON OFF 0010 C 8 ON OFF ON OFF 1010 AC ULN2003芯片是高壓大電流達(dá)林頓晶體管陣列,它是使用七個(gè)硅NPN達(dá)林頓管組成成。具有電流增益高、工作電流大、帶負(fù)載能力強(qiáng)等特性。本設(shè)計(jì)采用該芯片將信號(hào)從微處理器中放大,構(gòu)成一個(gè)功率放大電路,以便于對(duì)步進(jìn)電機(jī)驅(qū)動(dòng)。其方框圖如圖2.5所示。 圖2.5ULN2003芯片框圖 2.6檢測(cè)模塊 本設(shè)計(jì)利用E18-D50NK紅外避障器和ITR-9608光電開(kāi)關(guān)組成自動(dòng)門(mén)的檢測(cè)系統(tǒng)。 2.6.1E18-D50NK紅外避障器 E18-D50NK是一種集發(fā)射與接收于一體的主動(dòng)式光電傳感器。E18-D50NK傳感器傳感器具有抗干擾能力強(qiáng)、安裝方便、使用簡(jiǎn)單等特點(diǎn)。并且探測(cè)距離是可以通過(guò)電位器進(jìn)行調(diào)節(jié)的。廣泛應(yīng)用在防盜報(bào)警、自動(dòng)門(mén)、機(jī)器人避障、流水線記數(shù)等方面。 該傳感器主動(dòng)發(fā)射的光線經(jīng)過(guò)調(diào)制后調(diào)制成一定波長(zhǎng)的光線在進(jìn)行發(fā)射,在工作中可以避免被自然光線和各種燈光的干擾具有較大精度。當(dāng)發(fā)射的光線被擋住,接收器根據(jù)發(fā)射回來(lái)的光線進(jìn)行調(diào)節(jié)輸出信號(hào)。單片機(jī)處理此信號(hào),最終報(bào)警器報(bào)警,步進(jìn)電機(jī)停止轉(zhuǎn)動(dòng),以達(dá)到放夾功能。保護(hù)了行人的安全和防止夾到異物損壞自動(dòng)門(mén)。 2.6.2ITR-9608光電開(kāi)關(guān) ITR-9608光電開(kāi)關(guān)為槽型光電傳感器。其工作原理是:通過(guò)檢查自身發(fā)射器發(fā)射的光線是否被另一端的接收器接收到,接收到光線表示沒(méi)有物體通過(guò)檢測(cè)器,沒(méi)有接收到光線表示有物體經(jīng)過(guò),光電開(kāi)關(guān)據(jù)此產(chǎn)生信號(hào)。對(duì)射式光電開(kāi)關(guān)的特點(diǎn)在于:檢測(cè)的物體不限于是不是金屬物體,只要此物體不是不透明的,工作時(shí)不易受干擾,感應(yīng)靈敏度高,工作所需能量小,工作壽命長(zhǎng)。主要應(yīng)用在測(cè)速、計(jì)數(shù)器、打印機(jī)等自動(dòng)設(shè)備上。 在本次設(shè)計(jì)中利用此傳感器檢測(cè)門(mén)打開(kāi)或關(guān)閉的位置。在自動(dòng)門(mén)關(guān)閉的過(guò)程中,當(dāng)自動(dòng)門(mén)遮擋住JP1時(shí),系統(tǒng)認(rèn)為自動(dòng)門(mén)已經(jīng)完全關(guān)閉,電動(dòng)機(jī)停止關(guān)門(mén)。在門(mén)打開(kāi)的過(guò)程中,當(dāng)自動(dòng)門(mén)不能繼續(xù)遮擋JP2時(shí),系統(tǒng)認(rèn)為自動(dòng)門(mén)已經(jīng)完全打開(kāi),電動(dòng)機(jī)停止轉(zhuǎn)動(dòng),等待關(guān)門(mén)指令進(jìn)行再進(jìn)行關(guān)門(mén)動(dòng)作。門(mén)行程檢測(cè)電路如圖2.5所示。 圖2.5門(mén)行程檢測(cè)電路 第三章 課題的軟件設(shè)計(jì) 3.1系統(tǒng)軟件結(jié)構(gòu) 本設(shè)計(jì)利用C語(yǔ)言進(jìn)行程序編寫(xiě),整個(gè)系統(tǒng)的程序主要由端口設(shè)置,標(biāo)志位設(shè)置,延時(shí)子函數(shù),報(bào)警子函數(shù),順時(shí)針/逆時(shí)針轉(zhuǎn)動(dòng)子函數(shù),門(mén)行程檢測(cè)子函數(shù),主程序等組成。程序依次正常運(yùn)行帶動(dòng)硬件完成設(shè)計(jì)所需要的功能。全部程序見(jiàn)附錄。 3.2程序流程圖設(shè)計(jì) 自動(dòng)門(mén)在自動(dòng)狀態(tài)下首先檢測(cè)門(mén)的狀態(tài),根據(jù)接收到檢測(cè)器的信號(hào)判斷自動(dòng)門(mén)上次停機(jī)所處的位置。在根據(jù)紅外探測(cè)器所接收到的信號(hào),判斷是否有人,是否進(jìn)入開(kāi)門(mén)狀態(tài)。在開(kāi)門(mén)過(guò)程中門(mén)限位檢測(cè)開(kāi)關(guān),檢測(cè)門(mén)的位置,到達(dá)預(yù)定位置,停止開(kāi)門(mén)。在紅外檢測(cè)開(kāi)關(guān)檢測(cè)到?jīng)]有人時(shí)進(jìn)入關(guān)門(mén)程序,在關(guān)門(mén)過(guò)程中,紅外傳感器繼續(xù)檢測(cè)是否有人,有人則停止關(guān)門(mén),進(jìn)入開(kāi)門(mén)程序,無(wú)人則繼續(xù)關(guān)門(mén),同時(shí)障礙檢測(cè)器在關(guān)門(mén)過(guò)程中檢測(cè)是否有障礙無(wú),若檢測(cè)到有障礙物,停止關(guān)門(mén)、報(bào)警,直到障礙物消失。若無(wú)障礙物繼續(xù)關(guān)門(mén),直到右側(cè)限位開(kāi)關(guān)檢測(cè)到門(mén)處于預(yù)定位置,停止關(guān)門(mén)。等待下次紅外檢測(cè)器檢測(cè)到有人在次循環(huán)。流程圖如圖3.1所示。 3.1系統(tǒng)流程圖 3.3關(guān)門(mén)/開(kāi)門(mén)子函數(shù) uchar code FFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};//順時(shí)針?lè)较蜣D(zhuǎn)動(dòng)編碼 uchar code REV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};//逆時(shí)針?lè)较蜣D(zhuǎn)動(dòng)編碼 //順時(shí)鐘轉(zhuǎn)動(dòng)子函數(shù) void motor_ffw() { uchar i; for (i=0; i<8; i++) { P0=FFW[i]; delay(2); } } ///逆時(shí)針轉(zhuǎn)動(dòng)子函數(shù) void motor_rev() { uchar j; for (j=0; j<8; j++) { P0=REV[j]; delay(2); } } 利用用C語(yǔ)言談的For循環(huán)程序,使步進(jìn)電機(jī)在合適的時(shí)機(jī)進(jìn)行正確的正反轉(zhuǎn)。單片機(jī)需要開(kāi)門(mén)或者關(guān)門(mén)自行調(diào)動(dòng)相關(guān)程序,使自動(dòng)門(mén)能夠正確的工作。是設(shè)計(jì)的主要程序,如果沒(méi)有這個(gè)程序,單片機(jī)無(wú)法使電動(dòng)機(jī)轉(zhuǎn)動(dòng)。 3.4報(bào)警子函數(shù) void alarm1() //報(bào)警子函數(shù) { uchar i; for(i=0;i<200;i++) { alarm= ~alarm;//報(bào)警 delay(20); } alarm=1;//報(bào)警完關(guān)閉 } 此程序是蜂鳴器啟動(dòng)程序,在i在小于200時(shí),輸出高低電平脈沖。利用延時(shí)程序使脈沖的頻率進(jìn)行降低,蜂鳴器發(fā)出的聲音頻率降低,延長(zhǎng)蜂鳴器的使用壽命。 3.5自動(dòng)模式子程序 //****************自動(dòng)模式************************************// if(ZD==0)//如果自動(dòng)模式按鍵按下 { LS=1; //手動(dòng)模式指示燈滅 for(t=0;t<50;t++) //自動(dòng)模式燈閃爍約5秒鐘 { LZ=~LZ; delay(200); } delay(5); zdms=0; //自動(dòng)模式標(biāo)志置零,進(jìn)入自動(dòng)模式 sdms=1; //手動(dòng)模式標(biāo)志置1,退出手動(dòng)模式 LZ=0; //自動(dòng)模式指示燈亮 } //-------------向右邊平移開(kāi)門(mén)(步進(jìn)機(jī)順時(shí)針轉(zhuǎn)動(dòng))-------------------------------// if((zdms==0)&&(zt3==1)&&(hw_temp==1))//同時(shí)被擋住 { motor_ffw();//調(diào)用順時(shí)針轉(zhuǎn)動(dòng)子函數(shù) } if((zdms==0)&&(zt1==1)&&(hw_temp==1))//右邊被擋住 { motor_ffw();//調(diào)用順時(shí)針轉(zhuǎn)動(dòng)子函數(shù) } //-------------向左平移關(guān)門(mén)(步進(jìn)機(jī)逆時(shí)針轉(zhuǎn)動(dòng))-------------------------------// if((bz_temp==1)&&(zdms==0)&&(zt3==0)&&(hw_temp==0))//同時(shí)沒(méi)有被擋住 { motor_rev();//調(diào)用逆時(shí)針轉(zhuǎn)動(dòng)子函數(shù) } if((bz_temp==1)&&(zdms==0)&&(zt2==0)&&(hw_temp==0))//左邊沒(méi)被擋住 { motor_rev();//調(diào)用逆時(shí)針轉(zhuǎn)動(dòng)子函數(shù) } 自動(dòng)模式下開(kāi)門(mén):需要同時(shí)滿足以下3個(gè)條件。 (1) zdms==0:自動(dòng)模式按鈕按下。 (2) zt3==1:門(mén)行程檢測(cè)按鈕感應(yīng)到門(mén)沒(méi)有打開(kāi),處于關(guān)閉或半開(kāi)啟狀態(tài)。 (3) hw_temp==1:任意一個(gè)人體紅外感應(yīng)器感應(yīng)到人。 滿足3個(gè)條件后,調(diào)動(dòng)電動(dòng)機(jī)順時(shí)針轉(zhuǎn)動(dòng)程序,步進(jìn)電機(jī)轉(zhuǎn)動(dòng)使門(mén)打開(kāi)。直到門(mén)達(dá)到預(yù)定狀態(tài),步進(jìn)電機(jī)停止轉(zhuǎn)動(dòng)。 自動(dòng)模式下關(guān)門(mén):需要同時(shí)滿足以下4個(gè)條件。 (1) bz_temp==1:障礙檢測(cè)器未感應(yīng)到有障礙物。 (2) zdms==0:自動(dòng)模式按鈕按下。 (3) zt3==0:門(mén)行程檢測(cè)按鈕感應(yīng)到門(mén)處于打開(kāi)狀態(tài)。 (4) hw_temp==0:所有紅外人體感應(yīng)器感應(yīng)不到到人體紅外。 3.6障礙物檢測(cè)程序 //************如果檢測(cè)到障礙物,馬上停止轉(zhuǎn)動(dòng),進(jìn)入制動(dòng)報(bào)警狀態(tài) if((bz_temp==0)&&(K2==0)&&(sdms==0)) { P0=0x00;//步進(jìn)電機(jī)停止轉(zhuǎn)動(dòng) alarm1(); } if((bz_temp==0)&&(zdms==0)&&(hw_temp==0)) { P0=0x00;//步進(jìn)電機(jī)停止轉(zhuǎn)動(dòng) alarm1(); } 障礙檢測(cè)程序的調(diào)用無(wú)論是自動(dòng)模式還是手動(dòng)模式,只要滿足關(guān)門(mén)時(shí)障礙檢測(cè)器檢測(cè)到有人,馬上停止電動(dòng)機(jī)的轉(zhuǎn)動(dòng)。進(jìn)入報(bào)警模式,蜂鳴器響起。 3.7電路圖與PCB板的設(shè)計(jì) 在Altiun上畫(huà)出電路的原理圖,并據(jù)此繪制出PCB板的接線圖。在繪制PCB板接線圖時(shí)根據(jù)元器件的大小,本著結(jié)構(gòu)緊湊,布局合理,減少跳線的原則圍進(jìn)行布局排版。原理圖如圖3.2所示,PCB接線圖如圖3.3所示。 3.2原理圖 圖3.3PCB接線 第四章 系統(tǒng)的仿真與調(diào)試 4.1系統(tǒng)仿真 在首先是進(jìn)行系統(tǒng)仿真。此次仿真利用Proteus軟件,,它的功能很強(qiáng)大,能夠仿真單片機(jī)及其外圍電路,并且能將所設(shè)計(jì)的程序?qū)氲絾纹瑱C(jī)內(nèi)。仿真的目的是排除明顯的硬件故障和軟件問(wèn)題,檢測(cè)硬件軟件是否兼容,能否實(shí)現(xiàn)所預(yù)設(shè)的功能。根據(jù)之前所設(shè)計(jì)的原理圖和系統(tǒng)程序,并使用原來(lái)學(xué)過(guò)的仿真軟件繪畫(huà)仿真圖,測(cè)試整體設(shè)計(jì)。 4.2軟件的調(diào)試 在設(shè)計(jì)中所用 程序并不是直接燒錄進(jìn)單片機(jī),而是在進(jìn)行過(guò)各種調(diào)試仿真后,把沒(méi)有錯(cuò)誤,能夠完美實(shí)現(xiàn)設(shè)計(jì)要求的程序燒錄至單片機(jī),使單片機(jī)能夠協(xié)調(diào)指揮各個(gè)硬件,達(dá)到設(shè)計(jì)的目標(biāo)。 本次程序調(diào)試使用的是Keil uVision4編碼器進(jìn)行調(diào)試,在是用Keil uVision4編碼器時(shí),對(duì)工程成功的進(jìn)行編譯后、連接以后,在“主菜單”中打開(kāi)“調(diào)試”欄,點(diǎn)金“開(kāi)始/停止調(diào)試”即可進(jìn)入軟件仿真調(diào)試狀態(tài)。此過(guò)程可以檢查程序中存在的錯(cuò)誤。以便于修改程序。在KeiluVision4軟件調(diào)試過(guò)程中可以進(jìn)行單步調(diào)試,這一步可以使用戶清晰的看到程序執(zhí)行到哪一步,錯(cuò)誤出現(xiàn)在哪里,減少檢查錯(cuò)誤的時(shí)間,減少工作強(qiáng)度。在檢查程序的過(guò)程中,不出現(xiàn)邏輯錯(cuò)誤,并不代表程序完全沒(méi)有錯(cuò)誤??梢栽O(shè)置端口和斷點(diǎn),并查看標(biāo)志位和個(gè)寄存器的狀態(tài)。如果出現(xiàn)邏輯錯(cuò)誤,更正邏輯錯(cuò)誤,直到程序上完全沒(méi)有錯(cuò)誤。軟件調(diào)試結(jié)果如圖4.1所示。 圖4-1程序調(diào)試結(jié)果 4.3硬件的調(diào)試 在單片機(jī)的焊接過(guò)程中繞單片機(jī)為中心,從簡(jiǎn)單,線路少的元器件開(kāi)始進(jìn)行焊接,焊接結(jié)束后再進(jìn)行下一步的調(diào)試。 仔細(xì)檢查電路板是否有元器件方向反向、虛焊、漏焊、斷線等現(xiàn)象。檢查完畢后,進(jìn)行通電檢查電路板是否有異常,一般是檢查是否有因線路接錯(cuò)而產(chǎn)生短路而引起的電路異常發(fā)熱,發(fā)熱溫度過(guò)高有可能使電路板燒毀。如出現(xiàn)此現(xiàn)象,要立即關(guān)閉電源,用萬(wàn)用表檢查電路板,排除故障后,再次對(duì)電路板進(jìn)行功能調(diào)試,直到電路板達(dá)到完整運(yùn)行使用的狀態(tài)。 實(shí)物檢測(cè)手動(dòng)模式:按下手動(dòng)模式開(kāi)關(guān),手動(dòng)模式指示燈亮起,按下開(kāi)門(mén)按鈕,步進(jìn)電機(jī)順時(shí)針轉(zhuǎn)動(dòng)帶動(dòng)自動(dòng)門(mén)開(kāi)啟,直到左側(cè)限位開(kāi)關(guān)檢測(cè)不到門(mén),步進(jìn)電機(jī)停止轉(zhuǎn)動(dòng)。按下關(guān)門(mén)按鈕,步進(jìn)電機(jī)逆時(shí)針轉(zhuǎn)動(dòng)帶動(dòng)門(mén)關(guān)閉,直到右側(cè)限位開(kāi)關(guān)檢測(cè)到門(mén)。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 基于 單片機(jī) 自動(dòng)門(mén) 控制系統(tǒng) 設(shè)計(jì)
鏈接地址:http://m.jqnhouse.com/p-6682623.html