91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于RT-Thread的簡(jiǎn)單物聯(lián)網(wǎng)溫控箱 | 技術(shù)集結(jié)

RT-Thread官方賬號(hào) ? 2025-12-26 18:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目錄

項(xiàng)目概述


RT-Thread使用情況概述


硬件框架


軟件框架說明


演示效果


改進(jìn)方向


代碼地址

1 項(xiàng)目概述

本項(xiàng)目是一個(gè)簡(jiǎn)易的、較高精度的、易于擴(kuò)展的桌面級(jí)溫控系統(tǒng)。實(shí)現(xiàn)對(duì)箱內(nèi)溫度的精確控制,并通過Wi-Fi接入網(wǎng)絡(luò),配套了功能完善的Web可視化監(jiān)控和調(diào)參Dashboard,實(shí)現(xiàn)了完整的物聯(lián)網(wǎng)閉環(huán)。整個(gè)項(xiàng)目充分利用了RT-Thread多線程、設(shè)備驅(qū)動(dòng)框架和網(wǎng)絡(luò)組件的能力,實(shí)現(xiàn)了一個(gè)軟硬件結(jié)合的完整解決方案。

硬件平臺(tái):NXP FRDM-MCXA156

RT-Thread版本:5.2.1

核心功能:

整機(jī)最大功耗24W

溫控范圍常溫~70°C(接入制冷片/更高溫的PTC可以拓展范圍)

較高精度的恒溫控制(最大波動(dòng)范圍3°C,穩(wěn)態(tài)波動(dòng)范圍1°C)

傳感器數(shù)據(jù)融合

OLED本地顯示

Web遠(yuǎn)程監(jiān)控與在線調(diào)參

項(xiàng)目亮點(diǎn):級(jí)聯(lián)PID+前饋復(fù)合控制算法、三態(tài)控制狀態(tài)機(jī)、TCP-WebSocket橋接的Web可視化方案。

2RT-Thread使用情況概述

RT-Thread作為項(xiàng)目的核心操作系統(tǒng),為功能的實(shí)現(xiàn)提供了堅(jiān)實(shí)的基礎(chǔ)。其穩(wěn)定可靠的內(nèi)核、豐富的組件和簡(jiǎn)潔的API,讓整個(gè)開發(fā)過程事半功倍。

內(nèi)核與調(diào)度器:項(xiàng)目創(chuàng)建了多個(gè)線程來處理不同任務(wù),包括主控線程、PID控制線程、OLED刷新線程、網(wǎng)絡(luò)服務(wù)線程和LED指示線程。利用RT-Thread的搶占式調(diào)度器,確保了溫度控制等高優(yōu)先級(jí)任務(wù)的實(shí)時(shí)性。

設(shè)備驅(qū)動(dòng)框架:通過RT-Thread統(tǒng)一的設(shè)備模型,輕松地操作了多個(gè)硬件外設(shè):

Pin設(shè)備:用于控制LED指示燈和加熱/散熱模式切換的繼電器。

ADC設(shè)備:用于讀取NTC熱敏電阻的電壓值,進(jìn)而計(jì)算PTC加熱片的實(shí)時(shí)溫度。

PWM設(shè)備:用于精確控制PTC加熱片和散熱風(fēng)扇的功率輸出。

I2C設(shè)備:用于驅(qū)動(dòng)OLED顯示屏(基于u8g2軟件包)和讀取板載P3T1755環(huán)境溫度傳感器。

Sensor框架:用于讀取DHT11、P3T1755傳感器數(shù)據(jù)。

網(wǎng)絡(luò)協(xié)議棧:使用了內(nèi)置的lwIP協(xié)議棧和SAL套接字抽象層,快速實(shí)現(xiàn)了穩(wěn)定可靠的TCP服務(wù)器,為遠(yuǎn)程監(jiān)控提供了數(shù)據(jù)通道。

WLAN無線框架:通過rt_wlan_connect接口,便捷地實(shí)現(xiàn)了Wi-Fi網(wǎng)絡(luò)連接功能。

FinSH/MSH命令行:通過自定義的get_status和tune命令,所有關(guān)鍵參數(shù)都可以在運(yùn)行時(shí)通過串口動(dòng)態(tài)調(diào)整。

軟件包生態(tài):

u8g2:本地UI圖形庫(kù)。

dhtxx:DHT11溫濕度傳感器軟件包。

p3t1755: 板載I2C溫度傳感器軟件包。

3 硬件框架

系統(tǒng)硬件由核心控制、傳感器、執(zhí)行器和人機(jī)交互四部分組成

2e7f895a-e244-11f0-8ce9-92fbcf53809c.png

核心控制器:NXP FRDM-MCXA156開發(fā)板。

傳感器模塊:

箱內(nèi)溫濕度:DHT11傳感器,通過RT-Thread Sensor框架讀取。

PTC表面溫度:NTC熱敏電阻,通過ADC采樣并使用Steinhart-Hart模型計(jì)算,用于內(nèi)環(huán)控制和過溫保護(hù)。

環(huán)境溫度:開發(fā)板板載的P3T1755 I2C傳感器。

執(zhí)行器模塊:

加熱:LR7843 MOSFET驅(qū)動(dòng)PTC陶瓷發(fā)熱片,通過PWM信號(hào)調(diào)節(jié)功率。

散熱:12V直流風(fēng)扇,同樣由PWM信號(hào)驅(qū)動(dòng)。

模式切換:通過一個(gè)繼電器切換PWM輸出信號(hào)到MOSFET或風(fēng)扇,實(shí)現(xiàn)加熱/散熱模式的自動(dòng)切換。

人機(jī)交互模塊:

本地:SSD1306 OLED顯示屏,實(shí)時(shí)顯示系統(tǒng)狀態(tài)、當(dāng)前溫度、目標(biāo)溫度等關(guān)鍵信息。

遠(yuǎn)程:通過Wi-Fi連接,在PC或手機(jī)瀏覽器上訪問可視化Dashboard。

硬件連線圖

2e912b88-e244-11f0-8ce9-92fbcf53809c.png2ea78d4c-e244-11f0-8ce9-92fbcf53809c.png2ebe4ed8-e244-11f0-8ce9-92fbcf53809c.png

4 軟件框架說明

軟件的核心是一個(gè)基于main.c中的三態(tài)狀態(tài)機(jī)和pid_entry線程中的級(jí)聯(lián)PID控制算法。

2ed26e9a-e244-11f0-8ce9-92fbcf53809c.png

軟件模塊說明

主控與狀態(tài)機(jī) (main.c)

main函數(shù)負(fù)責(zé)初始化所有設(shè)備(傳感器、PWM、ADC、Wi-Fi),并創(chuàng)建各個(gè)應(yīng)用線程。

main函數(shù)內(nèi)的while(1)循環(huán)是系統(tǒng)的主狀態(tài)機(jī)。它周期性地讀取箱內(nèi)溫度,并與目標(biāo)溫度和遲滯范圍(hysteresis_band)比較,自動(dòng)在HEATING(加熱)、WARMING(保溫)、COOLING(散熱)三種狀態(tài)間切換。

狀態(tài)切換時(shí),會(huì)通過STATE_PIN控制繼電器,將PWM信號(hào)通路切換到對(duì)應(yīng)的執(zhí)行器(PTC或風(fēng)扇),并重置PID積分項(xiàng),防止?fàn)顟B(tài)突變。

核心控制算法 (pid_entry線程)

這是一個(gè)獨(dú)立的線程,以更高的頻率(CONTROL_PERIOD_MS)運(yùn)行,負(fù)責(zé)核心的溫度控制算法。

級(jí)聯(lián)PID+前饋(加熱/保溫模式):

外環(huán)PID (pid_box): 根據(jù)箱內(nèi)溫度與目標(biāo)溫度的差值,計(jì)算出一個(gè)期望的PTC目標(biāo)溫度 (ptc_target_temp)。這使得PTC的加熱速率能根據(jù)箱內(nèi)離目標(biāo)的遠(yuǎn)近動(dòng)態(tài)調(diào)整。

內(nèi)環(huán)PID (pid_ptc): 根據(jù)PTC實(shí)際溫度與外環(huán)給出的ptc_target_temp的差值,計(jì)算出PWM的調(diào)節(jié)量。這可以快速響應(yīng)PTC自身的溫度波動(dòng),實(shí)現(xiàn)更穩(wěn)定的熱量輸出。

前饋控制: 建立了一個(gè)ptc_target_temp到base_pwm的映射表 (ff_table)。PID的輸出是疊加在這個(gè)PWM基礎(chǔ)值之上的微調(diào),這大大加快了系統(tǒng)收斂速度,減少了PID積分飽和的風(fēng)險(xiǎn)。

PI控制(散熱模式):

切換到散熱模式后,算法切換為簡(jiǎn)單的pid_cool PI控制器,根據(jù)箱內(nèi)溫度與目標(biāo)溫度的差值直接控制風(fēng)扇的轉(zhuǎn)速。

過溫保護(hù): 算法實(shí)時(shí)監(jiān)測(cè)PTC溫度,一旦超過設(shè)定的安全閾值(PTC_MAX_SAFE_TEMP),立即將PWM輸出置零,確保系統(tǒng)安全。

遠(yuǎn)程控制服務(wù) (remote.c)

在remote_server_thread_entry線程中,創(chuàng)建了一個(gè)TCP服務(wù)器,監(jiān)聽5000端口。

服務(wù)器接收兩種文本命令:

get_status: 將系統(tǒng)中所有關(guān)鍵的實(shí)時(shí)變量(各處溫度、濕度、PID參數(shù)、控制狀態(tài)、PWM占空比等)打包成一個(gè)JSON字符串返回。

tune ...: 將收到的參數(shù)直接傳遞給main.c中的tune()函數(shù),實(shí)現(xiàn)了對(duì)目標(biāo)溫度、PID增益、前饋表等所有關(guān)鍵參數(shù)的運(yùn)行時(shí)修改。

OLED顯示 (screen.c)

screen_on線程負(fù)責(zé)驅(qū)動(dòng)OLED屏幕。

UI界面清晰地展示了當(dāng)前的工作模式(HEATING/COOLING/WARMING)、4個(gè)溫度值(當(dāng)前、目標(biāo)、環(huán)境溫度、PTC當(dāng)前溫度),以及一個(gè)直觀的溫差指示條。

5 演示效果

本地OLED顯示

2ee7957c-e244-11f0-8ce9-92fbcf53809c.png

OLED實(shí)時(shí)顯示系統(tǒng)關(guān)鍵數(shù)據(jù)

遠(yuǎn)程Web Dashboard


通過瀏覽器訪問的實(shí)時(shí)監(jiān)控儀表盤,包含儀表、狀態(tài)指示和在線調(diào)參區(qū)

2f01893c-e244-11f0-8ce9-92fbcf53809c.png

溫度歷史曲線圖,可以直觀地分析系統(tǒng)的響應(yīng)速度、超調(diào)和穩(wěn)態(tài)誤差(K線圖可以得到的信息更多,而且看起來很有趣)

MSH 命令行調(diào)試

通過串口連接,可以直接使用get_status查看系統(tǒng)狀態(tài),或使用tune命令修改參數(shù)。

2f19c68c-e244-11f0-8ce9-92fbcf53809c.png

6 改進(jìn)方向

硬件

把DHT11換成更好的(比如DHT22),DHT11的精度和響應(yīng)速度都不太行,我手里暫時(shí)沒有其它的溫度傳感器了,所以只能先用這個(gè)。

功能

可以允許用戶通過Web界面預(yù)設(shè)一條隨時(shí)間變化的溫度曲線(例如:先60℃保溫30分鐘,再升到70℃保溫1小時(shí)),使溫控箱能用于更復(fù)雜的場(chǎng)景。

參數(shù)優(yōu)化

目前的參數(shù)還不太好,還有很大的優(yōu)化空間。由于溫度的變化很慢,所以如果通過實(shí)驗(yàn)測(cè)定最優(yōu)參數(shù)的話會(huì)非常消耗時(shí)間,目前正在嘗試通過建模擬真的方式尋找最優(yōu)參數(shù),因?yàn)槠谥杏悬c(diǎn)忙,所以還沒做完。

2f29c014-e244-11f0-8ce9-92fbcf53809c.png

7 代碼地址

本項(xiàng)目已開源,歡迎大家復(fù)刻。

GitHub:https://github.com/Cylopsis/Little-TempControled-Box

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2945

    文章

    47818

    瀏覽量

    414834
  • 溫控箱設(shè)計(jì)

    關(guān)注

    0

    文章

    8

    瀏覽量

    6346
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1613

    瀏覽量

    44825
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RT-Thread Vector軟件包:嵌入式開發(fā)的動(dòng)態(tài)數(shù)組容器 | 技術(shù)集結(jié)

    RT-Thread Vector軟件包:嵌入式開發(fā)的動(dòng)態(tài)數(shù)組容器 | 技術(shù)集結(jié)
    的頭像 發(fā)表于 01-25 09:33 ?5374次閱讀
    <b class='flag-5'>RT-Thread</b> Vector軟件包:嵌入式開發(fā)的動(dòng)態(tài)數(shù)組容器 | <b class='flag-5'>技術(shù)</b><b class='flag-5'>集結(jié)</b>

    RT-Thread開發(fā),如何有效學(xué)習(xí)RT-Thread的五個(gè)步驟

    RT-Thread推出RT-Thread Inside戰(zhàn)略開放RT-Thread開發(fā)平臺(tái)授權(quán)合作,與硬件十萬個(gè)為什么合作首次推出第一款RT-Inside的開發(fā)板——iBox
    的頭像 發(fā)表于 09-25 09:55 ?3.6w次閱讀
    <b class='flag-5'>RT-Thread</b>開發(fā),如何有效學(xué)習(xí)<b class='flag-5'>RT-Thread</b>的五個(gè)步驟

    RT-Thread資深開發(fā)者朱天龍正式加盟RT-Thread

    新年伊始,中國(guó)自主聯(lián)網(wǎng)操作系統(tǒng)廠商RT-Thread迎來一位聯(lián)網(wǎng)行業(yè)的技術(shù)大咖!
    發(fā)表于 01-10 09:08 ?1w次閱讀

    RT-Thread軟件包定義和使用

    RT-Thread軟件包是運(yùn)行于RT-Thread聯(lián)網(wǎng)操作系統(tǒng)平臺(tái)上,面向不同應(yīng)用領(lǐng)域的通用軟件組件 。RT-Thread 同時(shí)提供了開放
    的頭像 發(fā)表于 05-21 11:29 ?1.2w次閱讀
    <b class='flag-5'>RT-Thread</b>軟件包定義和使用

    國(guó)民技術(shù)攜手RT-Thread共同推進(jìn)MCU與RT-Thread操作系統(tǒng)廣泛適配

    日前,國(guó)民技術(shù)股份有限公司與知名物聯(lián)網(wǎng)操作系統(tǒng)廠商睿賽德科技(RT-Thread)簽署會(huì)員合作協(xié)議,正式成為RT-Thread高級(jí)會(huì)員。國(guó)民技術(shù)
    的頭像 發(fā)表于 12-16 09:56 ?3142次閱讀

    RT-Thread全球技術(shù)大會(huì):螢石研發(fā)團(tuán)隊(duì)使用RT-Thread技術(shù)挑戰(zhàn)

    RT-Thread全球技術(shù)大會(huì):研發(fā)團(tuán)隊(duì)使用RT-Thread技術(shù)挑戰(zhàn) ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 11:36 ?2204次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):螢石研發(fā)團(tuán)隊(duì)使用<b class='flag-5'>RT-Thread</b>的<b class='flag-5'>技術(shù)</b>挑戰(zhàn)

    2022 RT-Thread全球技術(shù)大會(huì):螢石EZIOT SDK對(duì)RT-Thread的支持

    2022 RT-Thread全球技術(shù)大會(huì):RT-Thread在攝像頭及IoT設(shè)備上的實(shí)踐經(jīng)驗(yàn)分享
    的頭像 發(fā)表于 05-27 11:08 ?1885次閱讀
    2022 <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):螢石EZIOT SDK對(duì)<b class='flag-5'>RT-Thread</b>的支持

    RT-Thread全球技術(shù)大會(huì):RT-Thread Smart更好的兼容Linux生態(tài)

    RT-Thread全球技術(shù)大會(huì):RT-Thread Smart更好的兼容Linux生態(tài) ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 14:31 ?2644次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):<b class='flag-5'>RT-Thread</b> Smart更好的兼容Linux生態(tài)

    RT-Thread全球技術(shù)大會(huì):Kconfig在RT-Thread中的工作機(jī)制

    RT-Thread全球技術(shù)大會(huì):Kconfig在RT-Thread中的工作機(jī)制 ? ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 14:49 ?2349次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):Kconfig在<b class='flag-5'>RT-Thread</b>中的工作機(jī)制

    RT-Thread全球技術(shù)大會(huì):在RT-Thread上編寫測(cè)試用例

    RT-Thread全球技術(shù)大會(huì):在RT-Thread上編寫測(cè)試用例 ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:28 ?2110次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):在<b class='flag-5'>RT-Thread</b>上編寫測(cè)試用例

    RT-Thread全球技術(shù)大會(huì):RT-Thread測(cè)試用例集合案例

    RT-Thread全球技術(shù)大會(huì):RT-Thread測(cè)試用例集合案例 ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:34 ?2831次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):<b class='flag-5'>RT-Thread</b>測(cè)試用例集合案例

    RT-Thread全球技術(shù)大會(huì):RT-Thread對(duì)POSIX的實(shí)現(xiàn)情況介紹

    RT-Thread全球技術(shù)大會(huì):RT-Thread對(duì)POSIX的實(shí)現(xiàn)情況介紹 ? ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:52 ?2627次閱讀
    <b class='flag-5'>RT-Thread</b>全球<b class='flag-5'>技術(shù)</b>大會(huì):<b class='flag-5'>RT-Thread</b>對(duì)POSIX的實(shí)現(xiàn)情況介紹

    RT-Thread學(xué)習(xí)筆記 RT-Thread的架構(gòu)概述

    的種種優(yōu)越之處。RT-Thread 是一款完全由國(guó)內(nèi)團(tuán)隊(duì)開發(fā)維護(hù)的嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),具有完全的自主知識(shí)產(chǎn)權(quán)。經(jīng)過 16 個(gè)年頭的沉淀,伴隨著聯(lián)網(wǎng)的興起,它正演變成一個(gè)功能強(qiáng)大、組件豐富的
    的頭像 發(fā)表于 07-09 11:27 ?5881次閱讀
    <b class='flag-5'>RT-Thread</b>學(xué)習(xí)筆記 <b class='flag-5'>RT-Thread</b>的架構(gòu)概述

    RT-Thread文檔_RT-Thread 簡(jiǎn)介

    RT-Thread文檔_RT-Thread 簡(jiǎn)介
    發(fā)表于 02-22 18:22 ?5次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 簡(jiǎn)介

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植