目錄 摘要 1.緒論 1.1 自動門發展歷史 1.2 單片機的發展及89C51系列的運用 1.3 紅外探測技術的發展 2.系統總體方案 2.1 系統總體規劃 2.2器件介紹 2.2.1 單片機 3.硬件設計 3.1 基本單片機系統 3.2 紅外檢測電路 3.2.1 放大信號電路 3.3 電動機電路 4.控制系統軟件設計 4.1 主程序設計 4.1.1 主程序流程圖 4.1.2 主程序 4.2調試 4.2.1 硬件調試 4.2.2 軟件調試 4.2.3 調試中出現的問題 5.總結與展望 致謝 參考文獻 附錄I 總電路圖 附錄II 程序
摘要隨著社會的發展、科技的進步以及人們生活水平的逐步提高,自動門開始進入人們的日常生活,成為賓館、超市、銀行等現代建筑所必備之物,是建筑智能化水平的重要指標之一。它具有美觀大方、防風、防塵、降低噪音等優點,同時方便了人們出入,也方便了管理,增強了安全。它實用性強,功能齊全,技術先進,使人們相信這是科技進步的成果。它更讓人類懂得,數字時代的發展將改變人類的生活,將加快科學技術的發展。控制系統是自動門的心臟,也是衡量其設計制造水平的重要指標,同時自動門控制系統逐漸向大型化、復雜化和智能化的方向發展。 本設計主要應用單片機8051作為控制核心,直流電機、熱釋電型紅外傳感器等相結合的系統。它充分發揮了單片機的性能,其優點硬件電路簡單,軟件功能完善,控制系統可靠,性價比較高等特點,具有一定的使用和參考價值。
1.緒論
1.1 自動門發展歷史自動門從理論上理解應該是門的概念的延伸,是門的功能根據人的需要所進行的發展和完善。自動門是指:可以將人接近門的動作(或將某種入門授權)識別為開門信號的控制單元,通過驅動系統將門開啟,在人離開后再將門自動關閉,并對開啟和關閉的過程實現控制的系統。 自動門開始在建筑物上使用,是在二十世紀年以后。二十年代后期,美國的超級市場的開放,自動門開始被使用,受此影響,世界第一自動門品牌多瑪在1945年開發出油壓式、空氣式自動門,新建大樓的正門也開始使用了。到了1962年,電氣式己開始出現,之后伴隨著城市的建設,自動門技術的領域每年都在增加。當初,用供給建筑物用電源進行電動機的速度控制很難,只好進行油壓、空壓速度控制,轉換但因能源利用效率很低,然而伴隨著電氣控制的技術發展,現在電氣控制技術已經成熟,直接控制電動機的電氣式自動門逐漸成為主流。例如:各種用可識別控制的自動專用門,如:感應自動門(紅外感應,微波感應,觸摸感應,腳踏感應)、刷卡自動門等。 21世紀的今天,門更加突出了安全理念,強調了有效性:有效地防范、通行、疏散,同時還突出了建筑藝術的理念,強調門與建筑以及周圍環境整體的協調、和諧。門大規模專業化生產始于150年前,在不斷發展和完善的過程中,涌現出大批獨具規模的專業制造商。門的高級形式--自動門起源在歐美,迅速發展至今天,已經形成了種類齊全、功能完善、造工精細的自動門家族。 1.2 單片機的發展及89C51系列的運用擔任本設計處理部分的是89c52單片機(89C51系列).目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械以及各種智能機械了。 隨著半導體集成工藝的不斷發展,單片機的集成度將更高、體積將更小、功能將列強。在單片機家族中,80C51系列是其中的佼佼者,加之Intel公司將其MCS –51系列中的80C51內核使用權以專利互換或出售形式轉讓給全世界許多著名IC制造廠商,如Philips、NEC、Atmel、AMD、華邦等,這些公司都在保持與80C51單片機兼容的基礎上改善了80C51的許多特性。這樣,80C51就變成有眾多制造廠商支持的、發展出上百品種的大家族,現統稱為80C51系列。80C51單片機已成為單片機發展的主流。專家認為,雖然世界上的MCU品種繁多,功能各異,開發裝置也互不兼容,但是客觀發展表明,80C51可能最終形成事實上的標準MCU芯片。 STC89C51RC系列單片機是宏晶科技出的新一代高速/低功耗/超強抗干擾的單片機,指令代碼完全兼容傳統8051單片機,12時鐘/機器和6時鐘/機器可選,HD版本和90C版本內部集成MAX810專用復位電路。89C52與89C51的區別在于51的程序空間為4K字節,而52程序空間為8K字節,其余性能與結構相同。本論文以89C51RC系列來講述。 1.3 紅外探測技術的發展紅外探測技術在軍事技術、工業控制、安全保衛、家用電器以及人們的日常生活等諸多領域中都有著非常廣泛的應用,而一些教學實驗的測控系統也在教學中發揮了很大的作用。紅外探測技術利用紅外光波(又稱紅外線)作為載波來傳送測量信號或者控制指令,例如紅外遙控電視開關、紅外報警器、自動玻璃門等。之所以采用紅外光波作為測控光源,是由于紅外發射器件與紅外接收器件的發光與受光峰值波長一般為0.88μm~0.94μm,落在近紅外波段內,而且二者的光譜恰好重和能夠很好地匹配,可獲得較高的傳輸效率及較高的可靠性。紅外測控系統一般包括發射、接收以及處理部分。在本設計中,紅外線探測器中的熱電元件檢測人體的存在或移動,并把熱電元件的輸出信號轉換成電壓信號。然后,對電壓信號進行波形分析。于是,只有當通過波形分析檢測到由人體產生的波形時,才輸出檢測信號。例如,在兩個不同的頻率范圍內放大電壓信號,且將被放大的信號用于鑒別由人體引起的信號。 2.系統總體方案本章圍繞系統的總體設計,介紹系統組成框圖、主控芯片單片機的內部硬件資源及其接口技術、整個自動門系統所用到的其它IC的介紹。 2.1 系統總體規劃本系統主要由單片機及其外圍電路、紅外檢測電路、直流電機控制電路等組成。正常工作時,單片機循環檢測紅外檢測電路輸出信號,據此產生直流電機控制信號,電動機帶動門運行,當系統檢測到控制方式發生改變時,系統進入相應式。如門在的控制方關門過程中遇到人或其他障礙物時門無條件朝相反方向打開。其原理方框圖如2-1所示。 
圖2-1 原理方框
2.2器件介紹2.2.1 單片機單片機處理模塊部分選用的芯片為89C52RC,屬于89C51RC系列。選用STC單片機的理由:降低成本,提升性能,原有程序直接使用,硬件無需改動。使產品更小,更輕,功耗更低用STC提供的專用工具可很容易的將2進制代碼、16進制代碼下載進STC相關的單片機。 
圖2-2 89C52RC引腳
1 時鐘電路 STC89C52內部有一個用于構成振蕩器的高增益反相放大器,引腳RXD和TXD分別是此放大器的輸入端和輸出端。時鐘可以由內部方式產生或外部方式產生。內部方式的時鐘電路如圖2-3(a) 所示,在RXD和TXD引腳上外接定時元件,內部振蕩器就產生自激振蕩。定時元件通常采用石英晶體和電容組成的并聯諧振回路。晶體振蕩頻率可以在1.2~12MHz之間選擇,電容值在5~30pF之間選擇,電容值的大小可對頻率起微調的作用。 外部方式的時鐘電路如圖2-3(b)所示,RXD接地,TXD接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率低于12MHz的方波信號。片內時鐘發生器把振蕩頻率兩分頻,產生一個兩相時鐘P1和P2,供單片機使用。
(a)內部方式時鐘電路 (b)外部方式時鐘電路
圖2-3時鐘電路
2 復位及復位電路 A 復位操作 復位是單片機的初始化操作。其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執行程序。除了進入系統的正常初始化之外,當由于程序運行出錯或操作錯誤使系統處于死鎖狀態時,為擺脫困境,也需按復位鍵重新啟動。 除PC之外,復位操作還對其他一些寄存器有影響,它們的復位狀態如表2-2所示。
表2-2 一些寄存器的復位狀態
B 復位信號及其產生 RST引腳是復位信號的輸入端。復位信號是高電平有效,其有效時間應持續24個振蕩周期(即二個機器周期)以上。若使用頗率為6MHz的晶振,則復位信號持續時間應超過4us才能完成復位操作。產生復位信號的電路邏輯如圖2-4所示 
圖2-4復位信號的電路邏輯圖
整個復位電路包括芯片內、外兩部分。外部電路產生的復位信號(RST)送至施密特觸發器,再由片內復位電路在每個機器周期的S5P2時刻對施密特觸發器的輸出進行采樣,然后才得到內部復位操作所需要的信號。 復位操作有上電自動復位相按鍵手動復位兩種方式。 上電自動復位是通過外部復位電路的電容充電來實現的,其電路如圖2-5(a)所示。這佯,只要電源Vcc的上升時間不超過1ms,就可以實現自動上電復位,即接通電源就成了系統的復位初始化。 按鍵手動復位有電平方式和脈沖方式兩種。其中,按鍵電平復位是通過使復位端經電阻與Vcc電源接通而實現的,其電路如圖2-5(b)所示;而按鍵脈沖復位則是利用RC微分電路產生的正脈沖來實現的。 其電路如圖2-5(c)所示: 
圖2-5復位電路 1 (a)上電復位 (b)按鍵電平復位 (c)按鍵脈沖復位
上述電路圖中的電阻、電容參數適用于6MHz晶振,能保證復位信號高電平持續時間大于2個機器周期。本系統的復位電路采用圖2-5(b)上電復位方式。 2.2.2熱釋電紅外傳感器 熱釋電紅外傳感器和熱電偶都是基于熱電效應原理的熱電型紅外傳感器。不同的是熱釋電紅外傳感器的熱電系數遠遠高于熱電偶,其內部的熱電元由高熱電系數的鐵鈦酸鉛汞陶瓷以及鉭酸鋰、硫酸三甘鐵等配合濾光鏡片窗口組成,其極化隨溫度的變化而變化。為了抑制因自身溫度變化而產生的干擾 該傳感器在工藝上將兩個特征一致的熱電元反向串聯或接成差動平衡電路方式,因而能以非接觸式檢測出物體放出的紅外線能量變化 并將其轉換為電信號輸出。熱釋電紅外傳感器在結構上引入場效應管的目的在于完成阻抗變換。由于熱電元輸出的是電荷信號,并不能直接使用 因而需要用電阻將其轉換為電壓形式 該電阻阻抗高達104MΩ,故引入的N溝道結型場效應管應接成共漏形式 即源極跟隨器 來完成阻抗變換。熱釋電紅外傳感器由傳感探測元、干涉濾光片和場效應管匹配器三部分組成。設計時應將高熱電材料制成一定厚度的薄片,并在它的兩面鍍上金屬電極,然后加電對其進行極化,這樣便制成了熱釋電探測元。由于加電極化的電壓是有極性的,因此極化后的探測元也是有正、負極性的。 人體都有恒定的體溫,一般在37度,所以會發出特定波長10UM左右的紅外線,被動式紅外探頭就是靠探測人體發射的10UM左右的紅外線而進行工作的。人體發射的10UM左右的紅外線通過菲泥爾濾光片增強后聚集到紅外感應源上。紅外感應源通常采用熱釋電元件,這種元件在接收到人體紅外輻射溫度發生變化時就會失去電荷平衡,向外釋放電荷,后續電路經檢測處理后就能產生信號。
1——D腳 2——S腳 3——G腳
圖2-6熱釋電紅外傳感器內部結構
圖2-6是一個雙探測元熱釋電紅外傳感器的結構示意圖。使用時D端接電源正極,G端接電源負極,S端為信號輸出。該傳感器將兩個極性相反、特性一致的探測元串接在一起,目的是消除因環境和自身變化引起的干擾。它利用兩個極性相反、大小相等的干擾信號在內部相互抵消的原理來使傳感器得到補償。對于輻射至傳感器的紅外輻射,熱釋電傳感器通過安裝在傳感器前面的菲涅爾透鏡將其聚焦后加至兩個探測元上,從而使傳感器輸出電壓信號。 制造熱釋電紅外探測元的高熱電材料是一種廣譜材料,它的探測波長范圍為0.2~20μm。為了對某一波長范圍的紅外輻射有較高的敏感度,該傳感器在窗口上加裝了一塊干涉濾波片。這種濾波片除了允許某些波長范圍的紅外輻射通過外,還能將燈光、陽光和其它紅外輻射拒之門外。 3.硬件設計3.1 基本單片機系統這是自動門系統的控制核心, 一般情況下以單片機片內的基本硬件資源為主,,有必要時再擴展部分外部器件.。在本設計中需要完成的控制比較簡單,以單片機片內的基本硬件資源完全可以實現, 因此不需擴展。其單片機電路圖如圖3-1。
圖3-1 單片機電路圖
3.2 紅外檢測電路紅外檢測電路主要由熱釋電紅外傳感器和檢測放大電路組成, 核心元件是熱釋電紅外傳感器, 它能以非接觸形式檢測人體輻射出的紅外線能量變化,并將此變化轉化為電壓信號輸出。不需要紅外線和電磁波發射源以及各種主動接觸開關由于敏感元件的輸出電壓極微弱且其阻抗很高, 故在傳感器內部設有場效應管及偏置厚膜電阻, 從而構成信號放大及阻抗變換電路, 一般熱釋電紅外傳感器自身的接收靈敏度較低, 檢測距離僅2m 左右。當有人靠近自動門時,被熱釋電紅外傳感器接收下來, 并將其轉換成信號, 經檢測放大電路內部放大等處理后輸出給單片機。其熱電釋紅外檢測電路如圖3-2所示。
圖3-2熱電釋紅外檢測電路
3.2.1 放大信號電路LM324是四運放集成電路,它采用14腳雙列直插塑料封裝,lm324原理圖如圖3-3所示。它的內部包含四組形式完全相同的運算放大器,除電源共用外,四組運放相互獨立。 每一組運算放大器可用圖3-3(1)所示的符號來表示,它有5個引出腳,其中“+”、“-”為兩個信號輸入端,“V+”、“V-”為正、負電源端,“Vo”為輸出端。兩個信號輸入端中,Vi-(-)為反相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相反;Vi+(+)為同相輸入端,表示運放輸出端Vo的信號與該輸入端的相位相同。lm324引腳圖見圖3-3(2)。
當去掉運放的反饋電阻時,或者說反饋電阻趨于無窮大時(即開環狀態),理論上認為運放的開環放大倍數也為無窮大(實際上是很大,如LM324運放開環放大倍數為100dB,既10萬倍)。此時運放便形成一個電壓比較器,其輸出如不是高電平(V+),就是低電平(V-或接地)。當正輸入端電壓高于負輸入端電壓時,運放輸出低電平。 圖3-4中使用兩個運放組成一個電壓上下限比較器,電阻R1、R1ˊ組成分壓電路,為運放A1設定比較電平U1;電阻R2、R2ˊ組成分壓電路,為運放A2設定比較電平U2。輸入電壓U1同時加到A1的正輸入端和A2的負輸入端之間,當Ui >U1時,運放A1輸出高電平;當Ui <U2時,運放A2輸出高電平。運放A1、A2只要有一個輸出高電平,晶體管BG1就會導通,發光二極管LED就會點亮。 若選擇U1>U2,則當輸入電壓Ui越出[U2,U1]區間范圍時,LED點亮,這便是一個電壓雙限指示器。若選擇U2 > U1,則當輸入電壓在[U2,U1]區間范圍時,LED點亮,這是一個“窗口”電壓指示器。
此電路與各類傳感器配合使用,稍加變通,便可用于各種物理量的雙限檢測、短路、斷路報警等。
3.3 電動機電路所選用的電動機為普通的直流電機,在單片機的控制下,可接一個電機驅動芯片或者通過其他的一些原件可使電機轉動。本文為了設計簡單,采用其他方式代替了電路驅動芯片。電動機電路圖如圖3-5所示。 圖3-5 電動機電路
4.控制系統軟件設計本系統的軟件設計面向硬件,選用C語言編程。最主要部分是單片機控制電機轉動(包括正轉反轉)和時間的延遲。 4.1 主程序設計4.1.1 主程序流程圖圖4-1主程序流程圖
4.1.2 主程序
- #include<reg52.h>
- sbit L=P1^0; //接受傳感器信號
- bit Flag; //標志位
- sbit R=P1^3; //正轉
- sbit D=P1^4; //反轉
- sbit LED=P1^7; //指示燈
- void Delay_1ms(unsigned int DATA) //1ms延時函數
- {
- unsigned int x,y;
- for(x=DATA;x>0;x--)
- for(y=110;y>0;y--);
- }
- void Ld_Display() //顯示L函數
- {
- if(L==1)
- {
- Delay_1ms(700);
- if(L==1)
- {
- Flag=1;
- }
- }
- if(Flag==1)
- {
- R=1;
- D=0;
- Delay_1ms(3000);
- Delay_1ms(4000);
- R=0;
- D=0;
- Delay_1ms(2000);
- R=0;
- D=1;
- Delay_1ms(3000);
- Delay_1ms(4000);
- R=0;
- D=0;
- Flag=0;
- }
- }
- void main() //主函數
- {
- L=D=R=0; LED=1;
- Delay_1ms(6000); //延時,減少傳感器誤差;
- Delay_1ms(6000);
- Delay_1ms(5000);
- Delay_1ms(5000);
- L=D=R=0; LED=0;
- while(1)
- {
- L=D=R=0; LED=0;
- Ld_Display();
- L=D=R=0; LED=0;
- }
- }
復制代碼
4.2調試
4.2.1 硬件調試首先,在Protel中畫出電路的原理圖,并繪制出PCB板接線圖。接著根據PCB板接線圖實物的制作。在制作的過程中,事先根據元件的大小排版布局,以單片機為中心,從簡單.線路少的元件開始著手,圍繞單片機把所有元件焊接完畢.最后,焊接完畢之后需要檢查調試。 首先通電觀察電路板是否有異常,一般觀察的是有無因接錯產生短路而使電路冒煙,發熱過高而使電路發燙甚至燒毀電路。 如果出現異常現象,應立即關斷電源,待排除故障后再通電重新檢測。在第一步檢測完畢無異常后,再輸入信號,用萬用表進行數據的檢測。再與原始數據的對比,通過比較檢查出出現錯誤的部分,再進行修改調試,直到未發現漏洞。通過調試,確保硬件接線合理安全,電路完整能夠達到運行的標準。 4.2.2 軟件調試首先,并不是把編號的程序直接燒進單片機,而先用Keil C51編譯器進行調試。在使用Keil C51編譯器時,對工程成功地進行編譯(匯編)、連接以后,在主菜單中打開“調試”欄,點擊“開始/停止調試模式”,即可進入軟件模擬仿真調試狀態,Keil C51內建了一個仿真CPU用來模擬執行程序,該仿真CPU功能非常強大,可以在沒有硬件和仿真器的情況下進行程序的調試,但是在時序上,軟件模擬仿真是達不到硬件的時序的。進入調試狀態后,“調試”欄菜單項中原來不能用的命令現在已經可以使用了。調試程序看是否能仿真,如果運行正常再將在Keil C51編譯器中調試好的程序燒寫至單片機。 在接上電源時,觀察整體電路是否按照預計設計的運作,電機是否正轉,電機是否反轉等。可根據電路的運行情況推測出程序出錯的部分,修改程序后再經過Keil C51編譯器調試后燒到單片機,反復檢測直到能工作完全正常。 4.2.3 調試中出現的問題在調試的過程中,曾出現各種錯誤,包括硬件設備和軟件程序。起初發現電路焊接未焊接牢固,出現過因接線口松動而反應不靈敏的情況,軟件程序也修改了很多次才成功,最終在不斷多次的調試后,電路板工作正常了。 5.總結與展望本次設計斷斷續續經歷了2個星期,我從中學到了許多。從最開始的資料的收集,購買元器件,中間的電路板的焊接,程序的設計,到最好的調試和再調試。這些都使我學到了好多,成長了好多。通過查找各種資料,我更加熟練的運用所學過的信息檢索方法。也懂得了耐心的重要性,焊接電路培養了我的細心,調試過程挑戰了我的堅持能力,打磨了我的性格。這次經歷不僅僅擴充了我的知識面,培養了動手能力,還教會了我怎樣做好一件事的方法。畢業設計的過程帶給我的是對所學知識的復習,是對新知識的拓展.是對遇到各種困難的堅持,也是對堅持就是勝利這種信仰的肯定。 雖然在這中間走過許多歪路,遇到很多失敗,但是最終帶給我是成功,是勝利的微笑。在大學畢業走向社會的這個過度過程,它使我受益匪淺。 本次設計為單片機的自動門控制系統,主要應用單片機8052作為控制核心,直流電機、熱釋電型紅外傳感器等相結合的系統。這個系統軟硬件設計簡單,易于開發,嚴格控制各種元件的采購成本,所以價格低廉,安全可靠,操作方便。 隨著生活水平的提高,人民生活方便,施工安全,環保成為一個更加關注改善。自動門系列產品只是為了滿足這種需求,從一定程度上的用戶。所以在未來的日子里,自動門產品將更加的普及,家家戶戶使用自動門的景象將為時不遠。
附錄I 總電路圖
附錄II 程序
- #include<reg52.h>
- sbit L=P1^0; //接受傳感器信號
- bit Flag; //標志位
- sbit R=P1^3; //正轉
- sbit D=P1^4; //反轉
- sbit LED=P1^7; //指示燈
- void Delay_1ms(unsigned int DATA) //1ms延時函數
- {
- unsigned int x,y;
- for(x=DATA;x>0;x--)
- for(y=110;y>0;y--);
- }
- void Ld_Display() //顯示L函數
- {
- if(L==1)
- {
- Delay_1ms(700);
- if(L==1)
- {
- Flag=1;
- }
- }
- if(Flag==1)
- {
- R=1;
- D=0;
- Delay_1ms(3000);
- Delay_1ms(4000);
- R=0;
- D=0;
- Delay_1ms(2000);
- R=0;
- D=1;
- Delay_1ms(3000);
- Delay_1ms(4000);
- R=0;
- D=0;
- Flag=0;
- }
- }
- void main() //主函數
- {
- L=D=R=0; LED=1;
- Delay_1ms(6000); //延時,減少傳感器誤差;
- Delay_1ms(6000);
- Delay_1ms(5000);
- Delay_1ms(5000);
- L=D=R=0; LED=0;
- while(1)
- {
- L=D=R=0; LED=0;
- Ld_Display();
- L=D=R=0; LED=0;
- }
- }
復制代碼
完整的Word格式文檔51黑下載地址:
基于單片機的自動門控制系統.doc
(642.74 KB, 下載次數: 242)
2018-11-7 10:34 上傳
點擊文件名下載附件
|