基于單片機的智能風(fēng)扇DIY總結(jié)【2020.06每月一練活動】
掃描二維碼
隨時隨地手機看文章
功能梳理
-
PCB線路板采用核心板+底板實現(xiàn)
核心板:排針引腳間距為2.54mm,2排,雙排間距為2.54mm的倍數(shù)(方便與面包板聯(lián)用),未使用引腳全部引出,核心板上的主芯片為STM32F103RET6。
目的:
- 方便與面包板配合使用;
- 核心板上預(yù)留兩個2.54mm間距,4腳座和5腳座,部分傳感器模塊只需要這兩個底座既可以實現(xiàn)模塊功能。
- 核心板上的主芯片相對較貴,做成核心板之后,可以重復(fù)利用,方便大家一起跟著做,以后我們只需要修改底板的設(shè)計即可。
上圖中各個模塊簡要說明:
- 標(biāo)號1為ESP8266 WiFi模塊,用于實現(xiàn)與阿里云物聯(lián)網(wǎng)平臺連接,實現(xiàn)風(fēng)扇的遠程控制功能;
- 標(biāo)號2為使用三極管實現(xiàn)風(fēng)扇的控制;
- 標(biāo)號3為使用光耦+mos管的方式實現(xiàn)風(fēng)扇的控制;
- 標(biāo)號4為電源座;
- 標(biāo)號5為底板上的5個按鍵,從下到上,按鍵功能分別為:風(fēng)速+、風(fēng)速-、風(fēng)扇開關(guān)、風(fēng)扇開及風(fēng)扇關(guān);
- 標(biāo)號6為核心板上預(yù)留的按鍵,用于實現(xiàn)模式的切換,本系統(tǒng)分為三個模式,默認為模式0,底板上的按鍵功能為上面的描述;模式1為修改系統(tǒng)時間功能,底板上的前三個按鍵用于調(diào)節(jié)實時時間的時分秒;模式2為修改定時時間功能,底板上的前三個按鍵用于調(diào)節(jié)定時時間的時分秒;
- 標(biāo)號7為JATG下載STM32程序接口,SW模式,只需要三個引腳即可;
- 標(biāo)號8為Micro USB底座,通過CH340C芯片與STM32的串口1相連,串口1一般用于系統(tǒng)調(diào)試信息的打??;
- 標(biāo)號9為電源選擇方式跳線,當(dāng)使用跳線帽短接時,系統(tǒng)供電來自于Micro USB接口;當(dāng)跳線帽拔掉后,系統(tǒng)供電來源于標(biāo)號4的電源座;
- 標(biāo)號10為紅外接收頭;
- 標(biāo)號11為OLED屏;
- 標(biāo)號12為DS18B20溫度傳感器模塊,預(yù)留了兩種接口,直插和防水線式DS18B20溫度傳感器都可以與底板連接。
后臺回復(fù)關(guān)鍵詞“每月一練”可以獲得PCB工程文件,將下圖框選的文件發(fā)給線路板加工廠家,可以直接打樣。兩個板子在嘉立創(chuàng)十元錢就可以搞定。

參考閱讀:
STM32單片機最小系統(tǒng)詳解
- 風(fēng)扇調(diào)速功能
采用PWM調(diào)速的原理來實現(xiàn)風(fēng)扇速度的控制,四擋風(fēng)速的占空比分別為:15%、30%、60%和100%。
當(dāng)風(fēng)速選擇0時,進入自動模式,溫度分為22℃以下、22到25℃、25到28℃及28℃以上四個區(qū)間,對應(yīng)風(fēng)速的四個檔位;
為了控制簡單,大家可以安全操作,我們本次選用一個DC5V的風(fēng)扇作為演示使用。
風(fēng)扇調(diào)速原理,參考閱讀:
利用PWM原理,實現(xiàn)呼吸燈功能
- 溫度傳感器 DS18B20
用來測量環(huán)境溫度,實現(xiàn)自動功能。
STM32驅(qū)動DS18B20溫度傳感器,參考閱讀:
DS18B20溫度傳感器時序圖解析(STM32)
- WiFi模塊
選用ESP8266 WiFi模塊,連接阿里云物聯(lián)網(wǎng)平臺。
功能:手機APP控制風(fēng)扇的開啟和關(guān)閉,風(fēng)扇檔位及實時室溫顯示。
ESP8266 WiFi模塊的使用及連接阿里云物聯(lián)網(wǎng)平臺,參考閱讀:
mini D1 WiFi模塊Arduino開發(fā)簡介
七步快速開啟產(chǎn)品智能化
ESP8266連接阿里云物聯(lián)網(wǎng)平臺(Arduino方式)
Windows下AliOS Things環(huán)境搭建及ESP8266 固件下載
快速接入阿里云物聯(lián)網(wǎng)平臺技術(shù)方案分享
- 串口通信STM32的串口1作為Debug串口;串口5與ESP8266進行數(shù)據(jù)通信。
STM32串口通信的使用方法,參考閱讀:
物聯(lián)網(wǎng)模塊ESP8266返回的數(shù)據(jù)格式為JSON字符串,對此字符串進行解析,參考閱讀:
Keil環(huán)境下STM32工程加入cJSON
用cJSON解析心知天氣返回的數(shù)據(jù)包
- 按鍵
實現(xiàn)切換手動或者自動模式;調(diào)節(jié)檔位,檔位加、檔位減、切換(手動模式和自動模式切換)。
按鍵功能實現(xiàn),參考閱讀:
- LCD顯示
選用0.96寸 OLED屏 顯示內(nèi)容:當(dāng)前溫度、工作模式和檔位模式。
參考閱讀:
- RTC
STM32自帶RTC功能,選用此功能為了實現(xiàn)定時模式。
此部分文章暫未介紹
- 紅外遙控
功能:實現(xiàn)紅外遙控功能;
參考閱讀:
- LED
作用:
- 電源指示燈
- 系統(tǒng)調(diào)試使用
LED驅(qū)動功能實現(xiàn),參考閱讀:
完成了本設(shè)計之后,考慮一下實現(xiàn)的功能,其實這個設(shè)計完全可以改成“智能霧化器”,功能跟本設(shè)計基本相同,只需要將DS18B20溫度傳感器更換為溫濕度傳感器即可,使用PWM功能可以實現(xiàn)霧化量的控制。
溫濕度傳感器的使用,參考閱讀:
DHT11及DHT21溫濕度傳感器時序圖解析(STM32)
成果展示