朱思羽 趙鑫喆 肖菁 邸國輝



摘要 本文設計了一種基于單片機的自動升降窗簾系統,以STC89C51單片機為主控芯片,通過無線數據控制步進電機,實現升降功能,并進行語音與LED提示。系統的主要部分有單片機電機模塊和語音模塊為主及其他硬件等幾個部分所組合而成。電機模塊采用芯片L298作為驅動的核心,語音電路所使用的是ISD400408芯片。整個系統的穩定性好,結構簡單操作方便。
關鍵詞: 自動升降;步進電機;指令信號
1. 引言
隨生活水平的逐漸提高,室內家居智能化也越來越普及,窗簾作為每家必備的生活設施,有遮蔽光線保護隱私和裝飾室內環境等方面的作用。也可以進行方便智能的改進,傳統的窗簾使用時需要進行手動操作,在水平方向或者上下方向上拉開,這種簡單重復性工作完全可以交給簡易的電路系統來完成。現如今,由單片機作為控制核心的各種家用電器已經走進了人們的生活當中,單片機所帶來的各種功能也慢慢的取代了人,成為了能夠在房間中承擔家務的勞動力,所以為了解決這樣的問題,單片機控制窗簾升降系統也就擁有了它存在的必要。
2. 方案設計
本設計以STC89C51單片機作為操作控制核心,通過電機驅動模塊操控步進電機,經過步進電機的正傳與反轉實現了窗簾上升與下降。通按鍵對單片機發出指令,然后單片機做出反應,分別對語音模塊以及電機驅動模塊發出信號,使語音模塊和由電機驅動模塊控制步進電機做出相應的動作。這個設計的主要模塊有步進電機的驅動模塊與語音模塊。整體的設計思路是,首先設置窗簾的上升高度為若干厘米,再通過遙控按鍵對單片機發送指令,然后單片機判斷接收到的信號發送程序設定好的指令給到步進電機驅動模塊,由電機驅動模塊根據接收到的信號給予步進電機正傳或者反轉的指令。當上升窗簾時按下上升按鈕,步進電機設備正轉,上升的LED指示信號燈亮,當下降窗簾時按下復位按鈕,復位的LED指示信號燈亮,步進電機設備反向轉動,步進電機反轉使得窗簾落到最底。圖1是總體的體系框架示意圖。
3系統硬件設計
主控芯片選擇STC89C52,單片機的供電電壓和USB接口提供的電壓都是5V。在本系統中單片機輔以基準時鐘電路和復位電路組成單片機最小應用系統;其原理結構如圖2左上部分所示。
圖2的左上部分帶有晶振的部分是系統的時鐘電路。晶體電路振動是石英振動器,因為晶體三極管具有高頻率穩定和抗外界干擾的能力,他們可以用來創建一個基頻。電路中的頻率精度是由參考頻率決定的。與此同時,它也能夠形成震動工作電流,并且發送數據信號。片內振蕩器設備的振蕩頻次十分靠近晶振頻次,本系統電路選擇的額定電容是30pF,晶振頻次是12.0兆赫茲。“振蕩工作周期=1/12微秒;機器設備工作周期1微秒指示工作周期1~4微秒,XTAL1接外界晶體的一個管腳,XTAL2接外晶體的另一終端。
圖2的左上部分帶有電容與按鍵的是系統的復位電路。當CPU啟動或復位時,控制CPU保持復位狀態。在此期間,CPU將處于復位狀態,以避免在安裝處理器和執行提高電磁兼容性的操作時發生錯誤。單片機設備RESET終端得外界自動復位工作電路有兩類模式:通電復位與人工手動復位。通電自動復位是使用額定電容儲電來完成的,通電瞬間,RC工作電路接通充電,RESET終端產生正信號脈沖,隨著充電電流的減少,RESET的電位逐漸下降。手動復位耗電平模式。按鈕工作電平自動復位是類似于RESET經過額定電阻接高壓電平。
3.1 按鍵與指示電路
在這套系統中設置有六個按鍵分別對應了窗簾的上升、下降、低空懸掛、超低空懸掛、暫停、復位,并且相對應的有四個指示燈對應的是上升、下降、低空懸掛、超低空懸掛來顯示當下整體設備所處在什么樣的狀態。“當操作使用人員按下上升的按鈕的時候,上升的指示信號燈就會亮起,當操作使用人員按下降下降的按鈕的時候,下降的指示信號燈就會亮起”。圖2左下部分是按鈕LED指示信號燈工作電路。
3.2 電機控制電路
為了使窗簾升降,需要借助步進電機,為了在確定的速率下準確地到達指定的具體位置,需要設定步數與延遲作用時間,前者應用在操作控制步進電機設備的準確度,后者應用在操作控制步進電機設備的步進速率。本設計里運用四相步進電機設備,因此ULN滿足設計需要,ULN的每一對達林頓構件都串聯一個2.7K的基極額定電阻,在5伏的任務工作電壓下它可以和TTL與厘米OS工作電路直接相互連接,能夠直接全面處理之前要求參考標準邏輯思維緩沖控制器來全面處理的數據信息。其工作電路原理示意圖,如圖2右上部分所示。
3.3 語音模塊設計
這個模塊的主要功能是在窗簾升降的過程中播放用戶提前設置好的提示音,選用芯片ISD400408,因為其完全符合本設計的需要,需要實現把指定音樂提前以MP4的格式存儲到芯片,在升降窗簾的過程中就可以將指提示音通過揚聲器播放。其電路原理圖如圖2右下部分所示。
4系統軟件設計
軟件程序主要包括:主程序、窗簾下降子程序、窗簾上升子程序。再按下相應的指令按鍵之后,由按鍵傳輸一個信號給到單片機芯片,再由單片機進行判斷,然后傳輸脈沖信號到每一個模塊,由步進電機驅動模塊驅動步進電機進行窗簾的升降控制,語音模塊播報提示音,以及液晶顯示器實時顯示窗簾所處位置從而方便判斷。
當接收到上升命令后應該按下上升按鈕,這個時候步進電機接收到了脈沖信號開始正傳,語音模塊也接收到了單片機傳來的信號后開始播報提示音,表示上升的指示燈亮起。但如上升時按下復位按鈕,此時步進電機接收到單片機傳來的脈沖信號開始進行反轉,窗簾下降。
結論
本設計是以STC89C52單片機為核心,通過進步電動機控制窗簾進行升降,在窗簾升降過程中播放提示音并用LED指示燈進行提示。設計通過按鍵傳導信號到單片機,由單片機發出上升或者下降指令,然后傳導脈沖信號到步進電機,步進電機判斷升降執行程序完成動作。本設計同時具備結構簡單、體積小、功耗小、性能穩定等優點。
參考文獻:
[1]趙文博 劉文濤. 單片機語言C51程序設計 [M]. 人民郵電出版社, 2007.
[2]張義和 陳敵北. 例說8051——單片機程序設計案例教程 [M]. 人民郵電出版社, 2014.
[3]何立民. 單片機高級教程:應用與設計[M]. 北京航空航天大學出版社, 2007.
通訊作者:邸國輝(1979-)男,黑龍江大慶人,副教授,研究方向:農業信息處理