精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>將您的中央供暖連接到Arduino

將您的中央供暖連接到Arduino

2022-11-21 | zip | 0.11 MB | 次下載 | 2積分

資料介紹

描述

您有沒有想過您的鍋爐何時以及為什么要運行并為您的家供暖?你想用 Arduino 自動化你的加熱系統嗎?OpenTherm 防護罩專為您設計。它將允許您使用 Arduino 監控和控制您的 OpenTherm 鍋爐。

?
pYYBAGN2_gGAGn4fAAMJrso1ogI164.png
可能的 OpenTherm 屏蔽設置

背景

去年,我想將我的燃氣加熱鍋爐與壁爐調節器結合起來。我的 BAXI 鍋爐和恒溫器非常智能,所以我很自然地想擴展鍋爐來控制壁爐。我厭倦了所有那些允許我這樣做的昂貴的官方 BAXI 擴展。

因此,我為自己構建了一個OpenTherm 網關,它允許我攔截恒溫器和鍋爐之間的通信,并放置一個可以點燃鍋爐或使用壁爐熱量的算法——[關于調節器的更多信息]。

由于有很多人想要類似的東西,我決定創建一個模塊——Arduino shield——這將使任何人都可以很容易地控制他們的房子供暖。

盾牌有什么用?

  • 使用現有的 OpenTherm 恒溫器創建您自己的基于 Arduino 的鍋爐。最不可能有人會這樣做,但這是可能的。
  • 使用防護罩構建您自己的基于 Arduino 的恒溫器,以完全接管您的鍋爐和家庭供暖。非常適合家庭自動化。此應用只需要一個外部 5V 電源
  • 在現有鍋爐和恒溫器之間的管道中放置一個 OpenTherm 防護罩,并創建一個監視器來觀察鍋爐何時以及如何為您的家供暖。您甚至可以攔截通信,例如無線控制加熱。
  • OpenTherm 允許擁有一個與鍋爐和恒溫器通信的中間人(網關)設備。這就是我使用屏蔽創建OpenTherm 調節器的方式。

可用數據和命令

  • 室內溫度
  • 室溫設定點
  • 加熱水溫度
  • 回水溫度
  • 生活熱水溫度*
  • 生活熱水壓力*
  • 生活熱水流量*
  • 室外溫度*
  • 鍋爐狀態(運行/未運行/錯誤)
  • 調制電平
  • 排氣溫度*
  • 統計鍋爐運行了多長時間

* 請注意,這些僅在您的鍋爐配備了必要的附件時可用

建造盾牌

電子電路基于使用 PIC 微控制器OpenTherm 網關項目。我已經為 Arduino 進行了調整,并創建了一個很好的 Arduino UNO 兼容布局。

?
pYYBAGN2_guAfFdBAADn4SHGSVo283.png
OpenTherm 屏蔽示意圖
?

您可以使用上述原理圖和Gerber 文件自行創建屏蔽。我正在通過PCBWay制造我的電路板- PCB Prototype the Easy Way。您可以讓他們在一周內創建和運送這些漂亮的藍色美女。藍色阻焊層與基礎綠色同價!我也喜歡他們的客戶服務,沒有什么問題。或者您可以訂購預先包裝好的DIY 套件。

?
poYBAGN2_g6ABElAAAN1l8REBTc199.jpg
?

使用防護罩創建恒溫器

第一個示例將向您展示如何使用防護罩創建您自己的自定義恒溫器。你需要什么:

  • OpenTherm 鍋爐
  • Arduino UNO、WeMos D1 或任何 Arduino UNO 兼容板。該板的唯一要求是支持引腳 2 和 3 上的引腳中斷。
  • 5V電源。在此設置中不需要 24V 電源,因為只有在與恒溫器通信時才需要它。
?
poYBAGN2_hKAFb06AAKPTYWxQJA797.png
OpenTherm 護罩作為恒溫器
?

如上圖所示將您的鍋爐與 Arduino OpenTherm 屏蔽連接,將屏蔽連接到您的 Arduino 上,您就可以開始編程了。Arduino OpenTherm IO 庫包含以下示例,向您展示如何與鍋爐進行通信。

void loop() {
 if (OPENTHERM::isIdle()) {
   message.type = OT_MSGTYPE_READ_DATA;
   message.id = OT_MSGID_SLAVE_CONFIG;
   message.valueHB = 0;
   message.valueLB = 0;
   Serial.print("-> "); 
   OPENTHERM::printToSerial(message); 
   Serial.println();
   OPENTHERM::send(BOILER_OUT, message); // send message to boiler
 }
 else if (OPENTHERM::isSent()) {
   OPENTHERM::listen(BOILER_IN, 800); // wait for boiler to respond
 }
 else if (OPENTHERM::getMessage(message)) { // boiler responded
   OPENTHERM::stop();
   Serial.print("<- ");
   OPENTHERM::printToSerial(message);
   Serial.println();
   Serial.println();
   delay(100); // minimal delay before next communication
 }
 else if (OPENTHERM::isError()) {
   OPENTHERM::stop();
   Serial.println("<- Timeout");
   Serial.println();
 }
}

首先,使用OPENTHERM::isIdle檢查是否沒有掛起的命令。如果沒有,您可以發送下一個。在此示例中,您請求從屬配置標志。如果命令成功發送,您必須開始使用OPENTHERM::listen調用監聽來自鍋爐的回復。方法OPENTHERM::getMessage只要有來自從站的待處理回復,并且如果出現問題或發生超時,方法OPENTHERM::isError 就會返回 true。該庫包含 OpenTherm 消息結構,其中包含來自協議的解碼數據,因此您根本不需要關心格式。簽出源代碼這是有據可查的。所有類型的消息都列在常量中,或者您可以查看OpenTherm 文檔

struct OpenthermData {
 byte type;
 byte id;
 byte valueHB;
 byte valueLB;
  
 float f88();
 void f88(float value);
  
 uint16_t u16();
 void u16(uint16_t value);
  
 int16_t s16();
 void s16(int16_t value);
}

使用屏蔽創建監視器、網關或調節器

第二個示例將向您展示如何將中間人設備連接到 OpenTherm 總線以監控鍋爐和恒溫器或攔截它們的通信。你需要什么:

  • OpenTherm 恒溫器
  • 24V 500mA 電源

?

?
pYYBAGN2_gGAGn4fAAMJrso1ogI164.png
OpenTherm shield 作為網關/調節器
?

如上圖所示,將屏蔽連接到鍋爐和恒溫器之間的總線。您可以看到它中斷了這兩個設備之間的總線。現在您的通信中斷了,除非您將網關軟件上傳到您的 Arduino 中,該軟件會將命令和回復從恒溫器轉發到鍋爐,反之亦然。在Arduino OpenTherm IO 庫中再次有一個很好的例子。

void loop() {
 if (mode == MODE_LISTEN_MASTER) {
   if (OPENTHERM::isSent() || OPENTHERM::isIdle() || OPENTHERM::isError()) {
     OPENTHERM::listen(THERMOSTAT_IN);
   }
   else if (OPENTHERM::getMessage(message)) {
     Serial.print("-> ");
     OPENTHERM::printToSerial(message);
     Serial.println();
     OPENTHERM::send(BOILER_OUT, message); // forward message to boiler
     mode = MODE_LISTEN_SLAVE;
   }
 }
 else if (mode == MODE_LISTEN_SLAVE) {
   if (OPENTHERM::isSent()) {
     OPENTHERM::listen(BOILER_IN, 800); // reply need to be send back in 800ms
   }
   else if (OPENTHERM::getMessage(message)) {
     Serial.print("<- ");
     OPENTHERM::printToSerial(message);
     Serial.println();
     Serial.println();
     OPENTHERM::send(THERMOSTAT_OUT, message); // send message back to thermostat
     mode = MODE_LISTEN_MASTER;
   }
   else if (OPENTHERM::isError()) {
     mode = MODE_LISTEN_MASTER;
     Serial.println("<- Timeout");
     Serial.println();
   }
 }
}

網關只是開始監聽恒溫器命令。如果檢測到請求,它將對其進行解析并將其轉發給鍋爐。網關現在將開始監聽鍋爐回復。如果在 800 毫秒內收到回復,網關會將回復轉發回恒溫器。恒溫器和鍋爐都不會知道它們之間有什么額外的東西。正如您所看到的,有足夠的空間來編寫您自己的代碼,這些代碼可以捕獲消息并從中讀取有用的信息(狀態、溫度、壓力、統計數據……)。您甚至可以覆蓋或丟棄您不喜歡的請求或回復。

如您所見,與您的智能供暖系統進行通信并使其更加智能非常容易。在下一篇文章中,我將在我的OpenTherm 調節器中向您展示該硬件的更多實際用法


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費