要實(shí)現(xiàn)空調(diào)控制,就是要發(fā)送紅外信號(hào),所以要有紅外發(fā)送功能。市面上空調(diào)種類繁多,肯定要適用多種品牌和機(jī)型,所以要有紅外學(xué)習(xí)功能。要支持場(chǎng)景聯(lián)動(dòng),就要有環(huán)境感知傳感器。要支持手機(jī)控制,就要有云端和模組。綜上,設(shè)計(jì)功能有:1、紅外發(fā)送(紅外發(fā)射管);2、紅外學(xué)習(xí)(一體化接收頭);3、室內(nèi)溫度檢測(cè)(DHT11);4、手機(jī)控制(通過涂鴉云模組實(shí)現(xiàn))。
在實(shí)際場(chǎng)景中,空調(diào)的安裝位置一般都不固定,所以,紅外控制器不能近距離控制。參考其他大品牌紅外控制器設(shè)計(jì),采用壁掛式設(shè)計(jì),可以掛在天花板或墻壁上。控制板全部用立創(chuàng)EDA繪制,自己手工貼片,涂鴉云模組上面的文字是被清洗劑洗掉了,操作時(shí)大意了。
硬件設(shè)計(jì)
1.電源
電源部分采用Micro USB接口,直接提供5V電源,經(jīng)過內(nèi)部分壓得到3.3V電壓,為MCU、涂鴉云模組和外圍電路供電。降壓采用TI的TLV62569DBVR電源芯片,外圍器件少,功率大,紋波小。
2.云模組
采用涂鴉智能提供的WBR1D-IPEX云模組,WBR1D是雙頻雙模模組,支持WI-FI和藍(lán)牙,采用MCU接入方案,通過串口與MCU連接。
3.MCU
MCU采用ST的STM32F103C8T6,64K的Flash。
4.紅外發(fā)射
紅外發(fā)射采用紅外管,因?yàn)槭潜趻焓桨惭b方式,所以對(duì)控制范圍有要求,本設(shè)計(jì)中采用8顆紅外發(fā)射管并聯(lián),每科管子由一顆大功率三極管驅(qū)動(dòng),所有三極管由一個(gè)控制端驅(qū)動(dòng)。以提高發(fā)射功率,提高發(fā)射功率后,紅外控制范圍會(huì)明顯擴(kuò)大。(多顆紅外管最好并聯(lián)控制,不要為畫PCB方便或者節(jié)省器件而選擇串聯(lián),串聯(lián)的管子都不會(huì)正常工作,發(fā)射功率會(huì)大幅度下降。)
5.紅外接收
紅外接收比較簡單,直接采用一體化接收頭。
6.附加電路
按鍵
按鍵用于配網(wǎng)使用,但是在實(shí)際調(diào)試時(shí),模組會(huì)自動(dòng)配網(wǎng),所以按鍵改為清除紅外預(yù)存的數(shù)據(jù)。
LED用于指示配網(wǎng)狀態(tài)和進(jìn)入紅外學(xué)習(xí)模式,以及故障閃爍。
DHT11
DHT11用于檢測(cè)室內(nèi)溫濕度,在本設(shè)計(jì)中,紅外遙控器作為單品使用,DHT11可以向云端上報(bào)室內(nèi)溫度、濕度,可實(shí)現(xiàn)智能場(chǎng)景聯(lián)動(dòng)。
PCB設(shè)計(jì)時(shí),因?yàn)槭潜趻焓剑赃x了一個(gè)公模外殼。在設(shè)計(jì)時(shí)器件布局和PCB外形要符合外殼尺寸。
軟件設(shè)計(jì)
1.紅外接收實(shí)現(xiàn)
紅外接收比較簡單,如果是易于解析的NEC格式編碼,直接用定時(shí)器捕獲外部輸入電平時(shí)間長度即可,對(duì)于不易解析的編碼(廠家自定義的編碼)采用外部中斷和定時(shí)器方式測(cè)電平時(shí)間長度。對(duì)于NEC格式編碼,按照NEC編碼格式的規(guī)范,先判斷低電平時(shí)間,通過長度區(qū)分起始碼、數(shù)據(jù)碼和結(jié)束碼。網(wǎng)上例程比較多,這里就不贅述了,要注意的是:有的廠家空調(diào)雖然是NEC編碼,但是他們的編碼中高低電平長度一般都不同,所以在中斷中判斷電平長度時(shí),要注意設(shè)置范圍。
2.紅外發(fā)射實(shí)現(xiàn)
紅外發(fā)射是紅外管完成,注意:紅外管不發(fā)射紅外在接收端輸出1,發(fā)射紅外在接收端輸出是0,這里要注意區(qū)分。
實(shí)現(xiàn)方式用定時(shí)器輸出一個(gè)38K的方波,控制方波輸出的時(shí)間長度即可實(shí)現(xiàn)發(fā)送不同的數(shù)據(jù)和編碼。本項(xiàng)目采用兩個(gè)定時(shí)器來實(shí)現(xiàn)發(fā)送紅外,TIM1輸出38K載波,TIM3定時(shí),由TIM3計(jì)時(shí),控制TIM1輸出/關(guān)閉PWM,這樣可以實(shí)現(xiàn)任意時(shí)間長度發(fā)送。但是這樣比較耗費(fèi)MCU資源,對(duì)于STM32來說,影響不大,對(duì)于小型MCU就要考慮資源了。
3.紅外學(xué)習(xí)功能
本項(xiàng)目中只實(shí)現(xiàn)NEC編碼紅外學(xué)習(xí),當(dāng)按下手機(jī)端空間時(shí),如果沒有指令,會(huì)自動(dòng)進(jìn)入學(xué)習(xí)狀態(tài),等待發(fā)送紅外指令。紅外指令接收到以后,會(huì)自動(dòng)保存。
4.云功能實(shí)現(xiàn)
因?yàn)槭褂猛盔f的MCU接入方案,云端只做功能和APP界面的配置,并下載MCU的SDK,將SDK移植到代碼中即可
云端功能配置:
APP界面配置:
5.防跑飛
在實(shí)際測(cè)試過程中遇到了,設(shè)備掉線和控制無反應(yīng)問題,起初以為是網(wǎng)絡(luò)問題,更換網(wǎng)絡(luò)以后,問題依舊存在。拆下板子發(fā)現(xiàn)整個(gè)PCB發(fā)燙,測(cè)量MCU供電只有接近2V左右,照理說可以正常工作。拔掉電源,重插,MCU供電恢復(fù)。等待問題再次出現(xiàn)時(shí),測(cè)得紅外管驅(qū)動(dòng)三極管控制端一直是低電平,問題發(fā)現(xiàn)了:8顆紅外發(fā)射管的發(fā)射功率比較大,在關(guān)閉輸出時(shí)可能是被中斷打斷,導(dǎo)致關(guān)斷不成功,紅外管一直處于發(fā)送狀態(tài),時(shí)間一長,8顆紅外管總電流增大,提供給MCU的電流減小,出現(xiàn)假死現(xiàn)象。
為了解決這個(gè)問題,增加了三道防線,一是每次發(fā)送完成后將輸出和定時(shí)器一起關(guān)閉,這樣可以減少中斷沖突的機(jī)率。二是增加STM32內(nèi)部測(cè)溫,一旦檢測(cè)到溫度超過允許值,再關(guān)定時(shí)器和PWM輸出1次,如果超過警報(bào)值,直接復(fù)位MCU。三是增加看門狗,定時(shí)喂狗,防止假死和程序跑飛。加上這三道防線后,實(shí)測(cè)問題不再發(fā)生。
關(guān)鍵點(diǎn)分析
1.MCU_SDK 移植
涂鴉提供配套的MCU SDK,具體使用方式涂鴉也提供很多的文檔,b站也有很多案例。我們只需要移植到MCU中即可,通過串口通訊,實(shí)現(xiàn)MCU接入。注意接涂鴉模組串口的波特率,一般默認(rèn)是9600,也可以修改為115200,具體在云端控制臺(tái)的硬件開發(fā)->模組固件中修改。
2.空調(diào)控制
以上工作完成后,重點(diǎn)來了,代碼寫得再漂亮,電路設(shè)計(jì)再完美,控制不了空調(diào)都等于0。大家都知道空調(diào)是紅外遙控控制,所以本項(xiàng)目就是發(fā)射空調(diào)遙控器發(fā)射的紅外編碼,代替遙控器控制空調(diào)。這里的難點(diǎn)在于如何獲得空調(diào)的紅外編碼,目前市面上銷售的空調(diào),紅外編碼都是廠家自定義的。售后或者說明書里面也不會(huì)提供具體的編碼協(xié)議,所以只能自己去解析。下面簡述解析過程,解析篇幅較多,詳細(xì)內(nèi)容請(qǐng)移步“閱讀原文”。
首先要獲得紅外的編碼,我的方式是用邏輯分析儀和紅外接收頭,按遙控器的一個(gè)鍵,查看分析儀捕獲的波形,通過波形解析出數(shù)據(jù),這個(gè)過程不難,但是很繁瑣。
3.App功能配置
App界面除了默認(rèn)功能外,加了部分功能,因?yàn)槭褂玫墓鍭PP界面,所以界面UI和功能自定義的范圍有限,后期會(huì)改成面板SDK開發(fā),現(xiàn)階段時(shí)間不多,做不了開發(fā)。以強(qiáng)勁功能為例,本項(xiàng)目設(shè)計(jì)時(shí),沒有添加強(qiáng)勁功能。現(xiàn)在要添加,首先進(jìn)入涂鴉IoT開發(fā)平臺(tái),找到項(xiàng)目,進(jìn)入APP面板配置頁面,在頁面點(diǎn)擊“編輯”,配置好屬性和關(guān)聯(lián)功能以后,點(diǎn)擊發(fā)布,涂鴉會(huì)自動(dòng)打包,打包好了以后,會(huì)提供測(cè)試二維碼,掃二維碼可以測(cè)試這個(gè)面板,如果測(cè)試通過點(diǎn)正式發(fā)布,發(fā)布以后,手機(jī)端退出“涂鴉智能”APP,重新進(jìn)入,添加的功能就生效。
總結(jié)
這次使用涂鴉智能,不管是整體開發(fā)流程,還是技術(shù)服務(wù),涂鴉做得非常好。涂鴉模組提供MCU SDK,用戶只需要移植到MCU OS中,即可完成上云操作,節(jié)省研發(fā)和調(diào)試周期。涂鴉提供的穩(wěn)定MCU接入模組SDK,減少用戶程序邏輯架構(gòu)不嚴(yán)謹(jǐn)造成的錯(cuò)誤,減輕用戶底層代碼量。涂鴉技術(shù)支持服務(wù)也非常周到,不定期詢問開發(fā)者是否有問題需要解決,這點(diǎn)比某科模組做的好。
fqj
-
mcu
+關(guān)注
關(guān)注
146文章
17932瀏覽量
363168 -
遙控器
+關(guān)注
關(guān)注
18文章
854瀏覽量
68040
發(fā)布評(píng)論請(qǐng)先 登錄
滲壓計(jì)‘喝飽水’有多重要?透水板浸飽和的具體操作步驟

定位器氣密性檢測(cè)儀的具體操作流程

我的DIY遙控器——小擺件遠(yuǎn)程控
ADS1115在配置和轉(zhuǎn)換時(shí)的具體操作步驟,每一步的寄存器配置是怎樣的?
紅外線測(cè)溫儀使用方法
溫度越高輻射的紅外線越怎么樣
紅外線的溫度高還是紫外線的溫度高
紅外線與紫外線有什么區(qū)別與功能
紅外線紫外線的特點(diǎn)及應(yīng)用有哪些
紅外線和紫外線哪個(gè)熱效應(yīng)更顯著
紅外線最顯著的特點(diǎn)是它的什么效應(yīng)
紅外線有哪些特點(diǎn)和作用
Cortex R52內(nèi)核Cache的具體操作(2)

CortexR52內(nèi)核Cache的具體操作

評(píng)論