王洪霞
摘 要:本文采用單片機STC12C5A60S2,控制一個步進電動機,控制窗簾的拉開和關閉,利用了光敏電路以及按鍵電路等外圍電路,整個系統在各模塊的配合下可實現自動控制、手動控制等功能。該設計采用Protel軟件進行原理圖設計,并用PCB板做出了實物,模擬窗簾的開閉。
關鍵詞:單片機 自動控制 STC12C5A60S2 Protel
前言
目前,家庭居住環境的采光及避光問題主要采用的是手動開閉窗簾,手動開閉不僅費力而且很多方面不夠人性化,可能對用戶造成一定的困擾,窗簾控制系統可以解決這些問題。本設計正是把利用STC12C5A60S2單片機的優點以及簡單實用性,順利的完成了對智能控制的要求,并且為智能化的家居設備提供了良好的基礎。
一、總體方案設計
自動窗簾控制系統總體方案設計是基于滿足設計要求的前提并且根據理論上的可實現性和硬件上的經濟實用性,而進行設計的重要環節。本文從人們對系統功能需求出發,在綜合考慮各種因素的情況下,設計出自動控制系統的總體構架,并且在基本功能需求的基礎上盡可能考慮系統的可擴展性。
1.系統基本功能
本控制系統提出可以根據光照以及定時等開關窗簾,具體有以下幾大功能:(1)手動控制狀態:此功能使自動窗簾控制系統具有手動拉開、關閉和停止功能。(2)半自動控制狀態:此功能是在要打開或者關閉窗簾的時候,通過“開”或“關”按鍵,窗簾在電機的帶動下可以自動開閉。
2.系統總體結構設計
根據光照來開閉窗簾主要原理是用光敏電阻采集外界的光強度,從光傳感器采集的信號利用信號校正電路放大,濾波后輸入到A/D轉換器,由于A/D轉換器件的轉換需要一定時間,一旦在這段時間內信號發生變化,轉換結果將會出現偏差,所以在轉換期間應該采用采樣保持電路。傳入的信號由單片機來控制,并且做出響應,以實現電機的正轉、反轉與停止。顯示模塊是用來顯示自動窗簾控制器的各種狀態。通過不同按鍵來控制單片機進行各種運轉狀態。
二、硬件設計
采用STC12C5A60S2單片機作為控制核心,并且輔助以外圍電路,其中包括電源電路,定時電路,步進電機控制電路,鍵盤/顯示電路等一系列相關電路。
1.電源電路
單片機正常工作電壓為5V,因此設計的電源電路主要是提供單片機工作電壓[1][2]。
2.晶振電路
電路中的晶振即石英晶體震蕩器。由于石英晶體震蕩器具有非常好的頻率穩定性和抗外界干擾的能力,所以,石英晶體震蕩器是用來產生基準頻率的。通過基準頻率來控制電路中的頻率的準確性。同時,它還可以產生振蕩電流,向單片機發出時鐘信號。
片內電路與片外器件就構成一個時鐘產生電路,CPU的所有操作均在時鐘脈沖同步下進行。片內振蕩器的振蕩頻率非常接近晶振頻率,一般多在1.2MHz~24MHz之間選取。C1、C2是反饋電容,其值在20pF~100pF之間選取,典型值為30pF。本電路選用的電容為30pF,晶振頻率為12MHz[3]。
3.復位電路
主要功能是使單片機進行初始化,在初始化的過程中需要在復位引腳上加大于2個機器周期的高電平。復位后的單片機地址初始化為0000H,然后繼續從0000H單元開始執行程序。在復位電路中提供復位信號,等到系統電源穩定后,再撤銷復位信號。但是為了在復位按鍵穩定的前提下,電源穩定后還要經一定的延時才撤銷復位信號,以防在按鍵過程中引起的抖動而影響復位。
4.顯示電路
5.電壓比較部分
LM393是由兩個獨立的、高精度電壓比較器組成的集成電路,失調電壓低,最大為2.0mV。它專為獲得寬電壓范圍、單電源供電而設計,也可以以雙電源供電;而且無論電源電壓大小,電源消耗的電流都很低[4]。393被設計成能直接連接TTL和CMOS;當用雙電源供電時,它能兼容MOS邏輯電路——這是低功耗的393相較于標準比較器的獨特優勢[5]。
6.手動和自動轉化電路
按鍵K2表示手動開關窗,按鍵K3代表手/自動切換。
7.步進電機
步進電動機是一種將電脈沖信號轉換成角位移或線位移的機電元件。步進電動機的輸入量是脈沖序列,輸出量則為相應的增量位移或步進運動。步進控制器的作用是把輸入脈沖轉換成環型脈沖,以控制步進電機的轉向。在實際應用中由軟件代替步進控制器,其優點是使線路簡化,降低成本,可靠性提高。在窗簾控制系統中選用了型號為130HZ308-450的三相反應式步進電機,其優點是力矩大,精度高,其步進角度是1.2°。
8.總體設計圖
三、軟件設計
介紹各個功能模塊的設計流程以及設計思路。
1.主程序的設計
主程序主要完成系統初始化操作及各個子程序之間的聯系任務,主程序是無限循環,主要的功能是完成單片機初始化,開關中斷,對按鍵進行掃描,控制步進電機工作等。
主程序的作用主要是先初始化寄存器以及顯示內容;然后查詢按鍵操作,并且對按鍵進行分析以及處理,通過分析處理,控制步進電機工作。對于控制鍵,執行窗簾開閉的工作。如果經過分析后都不是,采取復位的操作。
2.主要子程序的設計
(1)紅外遙控程序設計
紅外遙控的發射電路是采用紅外發光二極管來發出經過調制的紅外光波;紅外接收電路由紅外接收二極管、三極管或硅光電池組成,它們將紅外發射器發射的紅外光轉換為相應的電信號,再送后置放大器。紅外遙控可實現手自動切換和開關窗動作。
(2)步進電機程序設計
步進電機是操控窗簾開閉的主要執行器件,其設計主要是按照單片機指令以及按鍵指令進行正轉或者反轉。
結語
本次設計系統地介紹了自動窗簾控制系統的硬件電路設計以及軟件設計。在總體方案設計中以光敏電阻作為傳送信號的傳感器,用步進電機作為信號輸出的執行元件,STC12C5A60S2單片機作為主要的控制元器件,光敏電阻接收外界光照信號,經過A\D轉換后,傳送給單片機一個電信號,單片機經過處理后,控制步進電機做出相應的動作,以控制窗簾的開閉。在實現一般應用的基礎上,又添加了定時元器件電路,使窗簾的自動化性能得到進一步提升。光敏電阻的良好感光性以及步進電機的結構簡單,控制方便的優點使窗簾控制開關更加穩定。雖然設計內容完成了基本的功能,但是其中還是存在一定欠缺,比如在設計中沒有考慮到窗簾工作方式的顯示以及沒有添加類似紅外遙控的設計等。
參考文獻
[1]王幸之.AT89系列單片機原理.北京:北京航空航天大學出版社 2004
[2]AT89C51 DATA SHEEP Philips Semiconductors 1999.dec
[3]胡漢才,單片機原理及接口技術.北京:清華大學出版社,2004.
[4]閻石.數字電子技術基礎.北京:高等教育出版社,1998.
[5]童詩白,華成英.模擬電子技術基礎.高等教育出版社,2003.