999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于STM32 的環境監測系統設計

2023-04-13 02:02:24夏長權單佳杰韓一帆錢香香
電子制作 2023年4期
關鍵詞:單片機

夏長權,單佳杰,韓一帆,錢香香

(揚州大學 物理科學與技術學院,江蘇揚州,225009)

0 引言

隨著物聯網和嵌入式技術的不斷進步,智能家居行業正在蓬勃發展,各種智能設備為人們的生活帶來了高效便捷。溫濕度計通常具備溫濕度監測和時鐘顯示兩項功能。傳統的過道燈需要手動打開開關,而在黑夜中,由于能見度低并且對裝修布局不熟悉,很難找到開關面板。此外,在黑暗中還容易發生絆倒等意外事件。因此,本文針對以上問題設計了一款環境監測系統。該系統可以實時監測并顯示當前環境的溫度和濕度,并且在光照條件不足時自動開啟LED 燈,提供必要的照明。

1 系統方案設計

1.1 總體方案設計

本設計整體方案包括:微處理器、顯示模塊、溫濕度和光照傳感器模塊、照明模塊。系統框圖如圖1 所示。

圖1 系統框圖

1.2 各模塊方案

1.2.1 微處理器方案選擇

微處理器是整個系統的核心,負責處理系統運行過程中所有的數據。主控制器的特性,決定了系統的工作效率和穩定性。目前主流的微處理器有Atmel 公司AT89/AT91 處理器,意法半導體(ST)公司STM32/STM8 系列,可編程邏輯器件(FPGA)等。

方案一:采用51 單片機作為MCU。STC89C51 單片機功耗較低、性價比高、抗干擾能力與加密能力較好,但是性能較弱,拓展性差,需要采用寄存器開發方式,開發效率不高。

方案二:采用STM32 微處理器作為主控制器。STM32具有能耗比高,成本低的特點。STM32 是意法半導體(ST)公司基于ARM 架構的精簡指令集處理器。本設計選用的是STM32F103C8T6 微處理器,主頻為72Mhz。STM32 芯片不同的命名代表了不同的微處理器性能,F 代表通用型,C代表具有48 個引腳,8 表示ROM 為64KB。6 表示工作溫度范圍-40℃~85℃。STM32F103x 系列性價比高,處理能力強,片上資源齊全,符合本設計所要求的條件,且成本較低,便于大規模地投入市場使用。

綜合經濟成本,芯片性能強弱,軟件開發難度等角度考慮,選擇了方案二的STM32F103C8T6 微處理器作為主控制器。

1.2.2 顯示模塊方案選擇

單片機系統中很多時候需要進行界面顯示,主流的顯示方案有8 段數碼管、LCD 液晶、OLED 屏幕顯示。

方案一:采用8 段數碼管顯示優點是簡單成本很低,但是顯示內容有限。無法顯示字符,不符合本設計需求。

方案二:采用OLED 屏顯示。OLED 顯示的優點是支持64 位字符顯示,而且具有良好的可視角度,刷新率較高,能夠符合本設計的使用需求,但是功耗和成本都高。

方案三:LCD1602 是一款字符型液晶顯示屏,可顯示字母數字符號。LCD1602 液晶工作溫度為0℃~+55℃,工作電壓為-4.5~+5.5V,能夠同時顯示16 字符2 行的字母或數字[1]。成本低廉,編程容易,符合本設計的需求。

由于本設計只需要顯示問候語,以及溫濕度數據,故采用方案三。

1.2.3 傳感器模塊方案選擇

方案一:傳感器模塊包括溫濕度采集模塊和光照傳感器模塊兩個部分。采用DHT11 溫濕度傳感器作為溫濕度采集模塊,采用光敏電阻傳感器作為光照檢測模塊。DHT11 溫濕度傳感器工作電壓為3.3 ~5V[2],采用4 針單排直插的封裝工藝,精度在±2℃,量程范圍是0℃~50℃。

光敏電阻傳感器采用4 針單排直插封裝工藝,工作電壓是3.3~5V,主要用于檢測環境的亮度和光強,支持數字信號輸出和模擬量輸出??梢酝ㄟ^電位器調節檢測靈敏度。編程簡單,成本較低,適合本設計使用。

方案二:DS18B20 溫度傳感器采用單信號線通信,且可以雙向傳輸數據。能夠輸出精確的數字信號,具有體積小巧,抗干擾能力強等特點。但是無法采集濕度,不符合本設計的需求。

使用照度傳感器作為光照檢測模塊,照度傳感器測量范圍大,分布感應能力強,可以準確顯示光強信息,但是成本高昂,適合用在手機、電腦、紅外攝像機以及工業領域光照控制儀器上。

因為本設計傾向濕度信息的采集,不需要準確采集光照強度數值,所以出于成本和開發難度考慮,選擇了方案一。

1.2.4 照明模塊方案選擇

在光照不足時,需要打開LED 燈來照明。照明模塊選用的是白色高亮LED 燈,發光強度在10mcd 以上,且結構簡單,使用壽命長。高亮LED 燈在節約了電路板空間的前提下,最大程度地改善了光照條件,適合本設計使用。

2 電路設計

電路設計部分包括STM32 單片機最小系統電路、溫濕度傳感器電路、光照采集模塊電路、顯示模塊電路、光照模塊電路的設計與原理說明[3]。

2.1 STM32 單片機最小系統電路

STM32F103C8T6 的最小系統包括:STM32 芯片、時鐘電路、復位電路、電源管理電路[4]。

2.1.1 STM32 芯片電路原理圖

STM32 芯片電路原理圖如圖2 所示。

圖2 STM32 芯片電路原理圖

2.1.2 時鐘電路

時鐘電路原理圖如圖3 所示。

圖3 時鐘電路原理圖

PD0_OSC_IN 和PD1_OSC_OUT 引腳可接4MHz~16MHz 的外部晶振,但是隨著頻率的提高,功耗也會提升。本文的最小系統核心板采用外部8Mhz 高速晶體,振蕩產生脈沖信號,并聯20pF 的濾波電容,組成主時鐘電路。8MHz 的晶振經過鎖相環(PLL)進行9 倍頻到72MHz 主頻。

內 部RTC 電 路 同 理,OSC321 和OSC322 引腳接32.768kHz 的晶體,并聯20pF 的濾波電容。此處濾波電容一般在20~40pF,用來給直流電源濾波,讓單片機有一個穩定的、低噪聲的工作環境,提升了電路穩定性,減少諧波對電路影響。

這里對PLL 的工作原理做進一步說明。頻率的大小取決于晶振頻率,本設計采用的晶振是8MHz 但是時鐘頻率也就是主頻卻達到了72MHz。在STM32 單片機內部經過了PLL 的9 倍頻,外部晶振與處理器中間經過鎖相環(PLL)可實現這個功能?;A鎖相環系統如圖4 所示。

圖4 鎖相環系統示意圖

基礎鎖相環由鑒相器、低通濾波器、壓控振蕩器(VCO)組成,VCO 受電壓控制,可以根據電壓變化輸出不同的頻率。輸入頻率f1,可以是晶振的輸出頻率,輸出頻率f2,輸出頻率會反饋給鑒相器。VCO 雖然可以實現倍頻,但是依然需要鑒相器和低通濾波器,VCO 是由電壓控制的,輸入電壓有很小的波動,VCO 的輸出頻率都會受到極大影響,但是處理器工作是需要穩定頻率的,所以不能只用VCO 來實現倍頻。在PLL 系統中,VCO 的輸出有變化就會立刻反饋給鑒相器,鑒相器進行調整,使輸出保持在一個相對穩定的頻率,中間的低通濾波器讓鑒相器輸出的電平信號變得平滑。

2.1.3 復位電路

復位電路原理圖如圖5 所示。

圖5 復位電路原理圖

10k 的電阻R7,主要起限流保護電路作用,接VCC_3.3V, 串 聯100pF的電容C9,并聯按鍵開關SW1 組 成RC 復 位 電路,SW1 一端接地,一端接單片機NRST 引腳。SW1 沒按下時,NRST 引腳呈低電平,按下SW1后NRST 引腳呈高電平使單片機復位。

2.1.4 電源電路

數據線一端連接電腦USB 接口,另一端連接單片機,給單片機提供5V 直流電,單片機工作電壓是3.3V,因此需要電壓轉換。電壓轉換電路原理圖如圖6 所示。本文采用的是AMS1117-3 系列穩壓器,可以將5V 直流電轉化成3.3V[5],1 號引腳接GND,3 號引腳接5V 輸入,2 號與4 號引腳輸出3.3V 電壓給MCU。

圖6 電壓轉換電路原理圖

2.2 DHT11 溫濕度傳感器電路

DHT11 溫濕度傳感器電路原理圖如圖7 所示。

圖7 DHT11 溫濕度傳感器電路原理圖

在VCC 和DAT 引腳之間接入一個阻值4.7k 的電阻作為上拉電阻,如果不加上拉或者下拉電阻,DAT 引腳處于浮空狀態,輸出的數據將在0 和1 之間不斷跳變,加入上拉電阻R1 之后,可以將電位鉗制在高電平不會跳變,保證數據正確傳輸。DHT11 溫濕度傳感器的串行數據接口DAT 與PA0 引腳連接,電源引腳VCC 接5V 電源,接地引腳GND接地,3 號引腳不接。

2.3 光敏電阻模塊電路

光照傳感器采用光敏電阻模塊方案。光敏電阻模塊電路原理圖如圖8 所示。

圖8 光敏電阻模塊電路原理圖

4 號引腳VCC 為電源引腳,接5V 電壓,3 號引腳接地,1 號AO 引腳輸出模擬信號,本文中無需接單片機引腳,2號引腳DO 為數字量輸出接口,用于輸出經過內部比較器得到的0 或1 信號。DO 引腳與單片機PA3 引腳直接連接,通過輸出高低電平,來檢測光強變化。

2.4 LCD1602 液晶顯示模塊電路

顯示模塊由LCD1602 液晶和10k 的電阻組成。原理圖如圖9 所示。

圖9 顯示模塊電路原理圖

將一個10kΩ 的電阻PR1 連接LCD1602 的AO 引腳后接地,用來調節液晶顯示對比度,讓LCD1602 顯示更加清晰。LCD1602 液晶的工作電壓是4.5 ~5.5V。LCD1602 共有16 個引腳,顯示屏用來顯示溫濕度值和問候語。STM32單片機的PB5-PB15 與LCD1602 連接,VDD 和A 接5V 電壓,VSS 和K 接地。

2.5 LED 照明模塊電路

LED 照明模塊電路原理圖如圖10 所示。

圖10 照明模塊電路原理圖

該電路由白色高亮LED 燈、一個NPN 型三極管和3 個電阻組成。高亮LED 燈的正極接100Ω 電阻R5 后連接5V電源,電阻R5 主要起限流作用,保護LED 燈不被燒毀。負極接在NPN 型三極管Q1 的集電極,三極管基極通過100Ω 的電阻R3 連接單片機PA1 引腳,電阻R3 是限流電阻,用來保護三極管,發射極接地。電阻R4 是下拉電阻,在單片機復位以后,PA1引腳處于浮空狀態,跳變輸出0與1,會對三極管導通與截止造成影響,無法使用。加電阻R4 可以將PA1 引腳電位鉗制在低電平,此時三極管不會導通。當單片機PA1 引腳為高電平時,三極管導通,高亮LED 燈點亮。

3 程序設計

3.1 主程序設計

程序采用C 語言編寫。主程序需要通過使用while 循環來對各個模塊代碼進行不斷循環執行。主程序流程圖如圖11 所示。

圖11 主函數流程圖

程序開始運行,先對時鐘、I/O 口、定時器和USART串口進行初始化。初始化完成后,程序開始進入while 循環,單片機讀取溫濕度傳感器采集的數據,進行光照條件判斷,若環境光照低于程序設定閾值時,控制GPIO 引腳打開LED燈,通過LCD1602 顯示當前的溫濕度信息,程序進入下一次循環。

3.2 各個模塊程序設計

3.2.1 初始化程序設計程序開始執行后先對串口、時鐘、I/O 端口初始化。初始化函數如表1 所示。

表1 初始化函數

3.2.2 DHT11 溫濕度傳感器程序設計

DHT11 采集數據時,先將I/O 引腳定義為輸出,給總線18ms 的低電平信號,然后設置I/O 引腳為上拉輸入模式。如果傳感器工作正常,則拉低I/O 口80μs,將I/O 口拉高80μs。DHT11 程序流程如圖12 所示。

DHT11 數字濕溫度傳感器采用單總線數據格式,單個數據引腳端口完成輸入輸出雙向傳輸;其數據包由5Byte(40Bit)組成:數據分小數部分和整數部分,一次完整的數據傳輸為40bit,高位先出。DHT11 的數據格式為:8bit 濕度整數數據+8bit 濕度小數數據+8bit 溫度整數數據+8bit 溫度小數數據+8bit 校驗和,其中校驗和數據為前四個字節相加[6]。在單片機接收DHT11 發送的四個字節時,以每一個字節為單位,從高到低依次接收,由于“0”為50μs 的低電平加26~28μs 的高電平,“1”為50μs 的低電平加70μs 的高電平。

3.2.3 光敏電阻傳感器程序設計

本系統通過光敏電阻傳感器采集光照信息,并通過LM393 比較器輸出高低電平。因此定義如下函數,完成光照條件的判斷。光照判斷模塊函數如表2 所示。

表2 光照判斷函數

由電路原理圖可知,光敏電阻傳感器的2 號引腳DO與單片機的PA3 口連接,通過按鍵掃描函數和按鍵初始化函數可以檢查用來實時檢測PA3 引腳的高低電平狀態,當check_light PAin(3)為1 時,光照標志Light_flag 置為L,代表此時外界光照條件為暗,否則為H,代表光照條件為亮。

3.2.4 LCD1602 液晶顯示程序設計

驅動LCD1602 液晶需要定義函數,如表3 所示。

表3 LCD1602程序定義的函數

在main 函數中主要調用Lcd_Init()和Lcd_Puts()兩個函數。LCD1602 液晶初始化程序流程圖如圖13 所示。

圖13 LCD1602 液晶初始化流程圖

本系統的問候語、溫濕度和光照信息,在主函數中通過調用Lcd_Puts()函數進行顯示。當需要寫入字符進行顯示時,首先執行Lcd_Init() 函數進行初始化,其次調用Lcd_Puts() 函數寫入字符串。Lcd_Puts()函數調用寫入數據函數Lcd_Write_Data()和設置位置函數Lcd_SetXY()。根據LCD1602 時序可知,設定E 為高脈沖,RS 為高電平,RW為低電平,可進行寫數據操作。數據送至D0~D7,因此編寫寫入數據函數Lcd_Write_Data()。

3.2.5 LED 控制程序設計

當光照不足時,系統會根據程序打開LED 燈。由電路圖可知,單片機PA1 引腳連接高亮LED 燈電路。定義如表4 所示的函數,來實現以上功能。

表4 LED燈控制函數

通過BIT_ADDR(GPIOA_ODR_Addr,n)函數配置GPIO引腳地址。若為1 則LED 燈打開,否則關閉。

4 系統調試

4.1 硬件焊接

將各個元器件的位置預先擺放好,確保元器件之間距離合適,防止背面焊接時引腳間距過短,導致焊接過程中出現短接的情況。其次在焊接二極管和三極管時應注意焊接時應選用20~75W 電烙鐵,加熱到300℃~350℃,每個管腳焊接時間應小于4s,并保證焊接部分與管殼間散熱良好。二極管和三極管應安裝牢固,盡量避免靠近電路中的發熱元件。經過電壓測量后可知供電正常,通電后5V 供電測試結果為5.1056V,3.3V 供電測試結果為3.3022V,硬件電路制作完畢。電壓測量結果如圖14 和圖15 所示。

圖14 5V 供電情況測試

圖15 3.3V 供電情況測試

4.2 調試結果

(1)液晶顯示模塊及DHT11 模塊調試:開機后,DHT11 溫濕度傳感器電源指示燈亮起,說明供電正常。系統進行初始化,初始化完畢后,LCD1602 能夠正確顯示問候語、當前溫濕度。如圖16 所示。

圖16 LCD1602 顯示界面

(2)光敏電阻及高亮LED 燈模塊調試:用瓶蓋遮住光敏電阻,可以看到LED 燈能夠根據程序設定自動打開。如圖17 所示。

圖17 高亮LED 燈打開

5 總結

經過調試,本系統實現了溫濕度監測并通過液晶顯示以及光控LED 燈開關功能。但也存在一些不足之處,在焊接過程中要注意元器件布局問題,本次焊接過程中由于元器件位置擺放不好,增加了焊接難度。由于供電引腳集中在一起,焊接的時候容錯率很低,VCC 焊接容易碰到GND,導致無法正常供電。DHT11 溫濕度傳感器模塊和光照傳感器模塊,都是采用插在單排座上的方式,容易掉落,在不影響正常供電情況下,可以使用適量膠水固定。洞洞板焊接方式較為原始,但證明了設計的可行性,后續可以改成PCB 以及貼片電阻的方式,有利于批量生產,且系統更加穩定。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 日韩成人免费网站| 国产精品流白浆在线观看| 国产成人h在线观看网站站| 精品少妇人妻av无码久久 | 99热最新在线| 精品国产自在在线在线观看| 久久性视频| 亚洲三级成人| 日韩123欧美字幕| 伊人久久婷婷| 91po国产在线精品免费观看| 激情乱人伦| 国产区网址| 成人一级免费视频| 激情无码视频在线看| 最新亚洲人成网站在线观看| 国产人成在线观看| 激情爆乳一区二区| 任我操在线视频| 亚洲二区视频| 麻豆国产在线观看一区二区| a在线亚洲男人的天堂试看| 免费精品一区二区h| 国产91无码福利在线| 欧美在线精品怡红院| 国产精品视屏| 亚洲国产成人久久77| 国产亚洲精久久久久久久91| 2019年国产精品自拍不卡| 99在线视频精品| 丁香婷婷久久| 国产成人久久777777| 国产一区二区三区在线观看视频 | 久久这里只有精品66| 99久久精品免费看国产电影| 久久婷婷国产综合尤物精品| 极品私人尤物在线精品首页| 成人福利在线观看| 国产微拍一区二区三区四区| 青草娱乐极品免费视频| 91原创视频在线| 中国精品久久| a级高清毛片| 伊人蕉久影院| 国产日韩AV高潮在线| 四虎影院国产| 国产在线专区| 丁香婷婷激情综合激情| 全部无卡免费的毛片在线看| 国产白丝av| 日本一区高清| 欧美人人干| 亚洲欧洲一区二区三区| 日韩视频免费| 亚洲中文字幕久久精品无码一区| 97狠狠操| 久久精品日日躁夜夜躁欧美| 亚洲成a人片77777在线播放| 日韩欧美中文字幕在线韩免费| 91欧美亚洲国产五月天| 97青草最新免费精品视频| 第一页亚洲| 99热这里只有精品在线观看| 国产乱子伦精品视频| 亚洲中文字幕av无码区| 又猛又黄又爽无遮挡的视频网站| 91在线精品免费免费播放| 国产精品网曝门免费视频| 中国一级特黄大片在线观看| 高清色本在线www| 色噜噜在线观看| 国产欧美另类| 亚洲区第一页| 中文字幕av无码不卡免费| 国产成人精品亚洲77美色| 国产大片黄在线观看| 91偷拍一区| 欧美精品三级在线| 欧美中文字幕在线播放| 色噜噜综合网| 91精品在线视频观看| 国产99在线观看|