

摘 要:現針對家庭用戶設計了一種自動清潔外窗系統,該系統采用STM32F103C8T6微控制器對雨刮進行智能化控制。雨滴傳感器監測下雨量從而啟動舵機轉動,使得雨刮自動清潔外窗。本文詳細介紹了該系統的工作原理、機械結構的設計方法以及控制系統的設計。自動清潔外窗系統采用FreeROTS實時操作系統實現了軟件定時器任務和舵機控制任務,通過搭建窗戶功能模型,驗證了本設計的可行性。
關鍵詞:雨刮;微控制器;智能化控制;清潔外窗
中圖分類號:TP212 文獻標識碼:A 文章編號:2096-4706(2018)09-0173-04
Abstract:A self-cleaning outside window system is designed for family users. The system uses the STM32F103C8T6 microcontroller to intelligently control the wiper. The raindrop sensor monitors the amount of rain to start the steering gear rotation so that the wiper automatically cleans the outside window. This paper introduces the working principle of the system,the design method of the mechanical structure and the design of the control system in detail. The automatic window cleaning system uses FreeROTS real-time operating system to implement software timer tasks and servo control tasks. The feasibility of this design was verified by the built-in window function model.
Keywords:wiper;microcontroller;intelligently control;clean outside window
0 引 言
當下,人口基數越來越大,經濟高速增長,越來越多的人涌入大城市謀發展,部分城市的居住密度越來越大,城市住宅建筑開始向高處發展,特別是一線城市,住宅建筑越建越高。為了使密集的住宅有良好的采光效果,框架式的高層住宅常采用大面積的玻璃窗面。市場上的窗戶產品大部分僅僅是解決了簡單的開、關和通風換氣功能,而很少考慮手動清潔外窗任務繁重且危險。現急需設計一種簡單易行的外窗清潔系統。現有的玻璃清潔機器人結構龐大、價格昂貴、用水量大,清潔后污水處理也是個難以解決的問題[1]。因此,不太適合家居日常使用。研發一種低成本的智能家居清潔外窗系統可免去手動清潔外窗的麻煩,有著極強的實用性。智能家居清潔外窗系統的使用將大大降低高層外窗的清洗成本,改善家庭的生活環境,對當今社會和經濟有一定作用,且有一定的應用前景。
1 控制系統的硬件設計
1.1 雨刮器的機械結構
下雨天可以通過控制雨刮片在窗戶玻璃上的運動,將雨水掃去并自然地對窗體起到了清潔的作用。若在無雨水的情況下,可以以人工觸發的方式控制雨刮器。雨刮器的設計非常簡單,通過舵機的帶動使雨刮片產生圓弧運動,從而實現清潔外窗的功能,如圖1所示。
1.2 窗戶的整體結構
雨刮器在舵機的作用下產生圓弧運動,從而進行清潔工作。窗戶的形狀至關重要,如果窗戶是圓形的,雨刮器可以360°運作;但是窗戶普遍是正方形的,現采用兩個舵機分別控制兩個雨刮器以實現對整個窗戶清潔的目的,如圖2所示。
兩個雨刮器分時協作,它們運動產生的弧形會相互重疊,由于窗是正方形,這樣就實現窗戶區域的全覆蓋了。
1.3 嵌入式STM32硬件系統
1.3.1 電源模塊的設計
通過查閱數據手冊可知[2],STM32F103C8T6采用的3.3V供電方案,而常用的是TTL電平,因此需要設計5V轉3.3V的轉換電路。
AMS1117-3.3是一款5V轉3.3V的降壓、穩壓芯片,寬電壓輸入(4.75-15V),穩壓輸出(3.3V左右)。本設計采用這款芯片完成3.3V供電電路的設計,如圖3所示。
供電電路分析:C3、C6極性電容和C4、C5無極性電容均為濾波電容,作用是減小輸出電壓紋波并抑制AMS1117產生自激振蕩;其中有極性電容C3、C6還可以較好地對供電電路起到電壓補償作用;可以把有極性電容比作一個蓄水池,當河流量減小時,蓄水池可以充當臨時補充水源;在電路上來說,使得穩壓供電電路具備更好的抗干擾性能[3]。
1.3.2 復位電路的設計
STM32F103C8T6芯片復位有三種類型,分別是系統復位、電源復位和備份域復位。其中NRST引腳低電平復位是一種系統復位,又稱外部復位。其電路設計如圖4所示。
采用一個簡單的RC串聯電路來實現復位,時間常數τ=1ms。在復位開關沒有被按下的時候,由于電容的蓄電荷作用提供一個高電平信號給NRST引腳,使得芯片不被該引腳所復位。在復位開關被按下的時候,電容被復位開關短路,迅速放電,產生一個低電平信號使芯片復位[4]。
實際上RC串聯電路是一個典型的慣性環節,其從過渡態到穩態的時間為3T。也就是說復位按鍵使得NRST引腳上產生的低電平信號保持時間在3ms左右。一個階躍信號作用在NRST引腳上產生的仿真曲線如圖5所示。
1.3.3 晶振電路的設計
STM32F103C8T6上有兩個外部晶振電路,一個是32768KHz的RTC(Real Time Clock)時鐘振蕩電路和HSE(High Speed External)時鐘振蕩電路,本設計不使用RTC模塊,因此只需要設計HSE晶振電路[5]。如圖6所示。
其中,C13和C14為負載電容,R6為諧振電阻。
1.3.4 舵機接口設計
所有的舵機控制信號線均與芯片上帶PWM功能引腳相連,如圖7所示。
1.3.5 啟動模式電路設計
STM32F103C8T6芯片通過引腳BOOT0和BOOT1的電平組合來選擇不同的啟動模式。如表1所示。
一般地,用戶使用主Flash模式即可。
啟動模式電路設計如圖8所示。
1.3.6 雨滴模塊接口設計
芯片通過A/D接口采集雨滴模塊的信號,因此雨滴模塊的A/D接口要和芯片上具備A/D功能的引腳相連,如圖9所示。
1.4 硬件系統的整體框圖
2 控制系統的軟件設計
2.1 嵌入式實時操作系統的移植
FreeRTOS在ARM平臺上的移植非常簡單,Free RTOS團隊已經為多種平臺、內核架構提供移植支持,它在FreeRTOS源碼包中的portable文件夾。將相應的文件添加到工程中,然后修改stm32的啟動代碼即可[6]。
2.2 舵機
一般地,控制舵機的脈寬是0.5ms-2.5ms,可以在keil中通過觀察仿真波形以驗證代碼的正確性。keil仿真所得PWM波波形如圖11所示。
2.3 任務
FreeROTS實時操作系統一共運行兩個用戶任務,一個是軟件定時器任務(task1),另一個是舵機控制任務(task2)。task1周期性地產生定時器溢出信號從而執行回調函數,在回調函數中先采集雨滴傳感器的信號,然后通過消息隊列發送給task2。task2收到消息后判斷處理,決定是否啟動舵機以及控制舵機的轉速。
2.4 控制系統的流程圖
在整個系統運行的過程中,為了確保各個模塊的功能能夠準確和穩定地實現,主程序起到至關重要的作用。主程序首先進行單片機連接各個模塊的驅動端口的定義,由定義常量、變量聲明、函數聲明、主函數、子函數等部分組成[7,8]。
系統主程序流程圖如圖12所示。當設備啟動時,將進行初始化,然后依次創建消息列隊、定時器任務、舵機控制任務,最后開始任務調度。雨滴傳感器檢測到為下雨天時,雨刮將執行清潔外窗操作。
在智能清潔外窗系統設計中,設置了一個舵機控制雨刮系統,其工作流程圖如圖13所示。而該系統正常運作的關鍵是雨滴采集和舵機控制,再通過編寫算法,讓舵機工作。最終能實現下雨天自動關窗且自動執行清潔外窗功能,同時可根據雨量大小來調節雨刮工作的頻率。
3 結 論
本文詳細介紹了清潔外窗系統的工作原理、機械結構的設計方法以及控制系統的設計,該系統采用FreeROTS實時操作系統,實現了軟件定時器任務和舵機控制任務。通過搭建的窗戶功能模型,驗證了本設計簡單且可行,具有一定的應用前景。
參考文獻:
[1] 朱春佳.智能窗戶清潔機器人控制系統設計 [D].杭州:浙江大學,2015.
[2] 張洋,劉軍,嚴汗宇,等.原子教你玩STM32(庫函數版) [M].第2版.北京:北京航空大學出版社,2015:529-537.
[3] 李東,柏軍.大學計算機組成原理教程 [M].第2版.北京:電子工業出版社,2014:145-158.
[4] 廖惜春.高頻電子線路 [M].北京:人民郵電出版社,2014:27-30.
[5] 劉軍,張洋,嚴汗宇,等.精通STM32F4(寄存器版) [M].北京:北京航空航天大學出版社,2015:248-258.
[6] 王田苗.嵌入式系統設計與實例開發:基于ARM微處理器與μC/OS-II實時操作系統 [M].第2版.北京:清華大學出版社,2002:3-4.
[7] 周堅.單片機C語言輕松入門 [M].第2版.北京:北京航空大學出版社,2011:10-23.
[8] 李春葆.數據結構教程 [M].第4版.北京:清華大學出版社,2013:64-89.
作者簡介:劉詠梅(1989-),女,漢族,講師。研究方向:光電材料與器件;藍劍威(1997-),男,漢族,本科。研究方向:自動控制。