MiniPLC:緊湊型ESP32自動化控制器
1. 家庭主婦MiniPLC背后的故事
這個項目的靈感來自于一個明確的需求:一個多功能的PLC系統(tǒng),可以服務(wù)于家庭自動化和輕工業(yè)應(yīng)用。
我們想要制造一些適合智能家居的東西——但要有工業(yè)級硬件的耐用性和可靠性。這意味著使用高質(zhì)量的繼電器,強大的輸入和輸出浪涌保護,以及專注于電氣穩(wěn)定性的設(shè)計。
我們的主要目標是創(chuàng)造一種設(shè)備,其中外設(shè),如燈,開關(guān)和傳感器通過物理電線連接,而控制器本身通過Wi-Fi或以太網(wǎng)與家庭服務(wù)器通信。
我們還希望系統(tǒng)是模塊化的,允許根據(jù)安裝靈活配置,無論是在住宅環(huán)境還是小型設(shè)施中。
從這個愿景出發(fā),我們的產(chǎn)品概念誕生了:一個緊湊的,可擴展的控制器,具有日常自動化任務(wù)所需的所有核心輸入和輸出,包括:
?照明控制
?加熱系統(tǒng)
?灌溉
?安防報警一體化
?能源監(jiān)測
?泄漏檢測
還有更多……
我們選擇基于ESPHome的固件,與無縫的家庭助理集成,這樣用戶就可以用最小的努力構(gòu)建強大的,可擴展的自動化系統(tǒng)。
homaster MiniPLC的開發(fā)花費了幾個月的專門工作,實驗和改進。
為了達到目前的穩(wěn)定設(shè)計,我們進行了四次PCB修改。每個組件都是通過真實世界的測試和不斷的迭代來選擇的。例如,我們測試了多個LED燈管——選擇一個,替換它,然后再次測試——直到我們找到最適合的可見性和耐用性。
圈地也經(jīng)歷了重大的演變。我們設(shè)計了兩種外殼的原型,每一種都有不同的機械布局和組件位置,以優(yōu)化安裝。
在第一個原型中,我們將RTD和以太網(wǎng)模塊作為單獨的電路板。在第二次修訂中,我們決定將以太網(wǎng)直接集成到主板中,以獲得更好的可靠性。在第三個設(shè)計中,我們還刪除了RTD模塊,并將RTD接口直接放在主板上,從而簡化了整體設(shè)計。
我們測試了幾種類型的繼電器,以確保長期的工業(yè)級性能,以及各種RJ45連接器,USB端口和螺釘端子,以保證牢固的電氣連接和易于安裝。
每個組件,直到終端模塊,都是根據(jù)現(xiàn)場測試、性能和實際用例進行選擇的。
這就是“家庭主婦迷你plc”誕生的原因。
最后,我們開發(fā)了一個具有以下主要功能的控制器:
2. 功能一覽
?輸入電壓:支持寬范圍的輸入功率:
24V DC或120V-370V DC
85V-265V AC / 47 - 63hz
?USB: USB Type-C接口,用于編程和診斷。
?RS-485 (Modbus RTU):內(nèi)置RS-485接口,通過Modbus協(xié)議連接擴展模塊。
?以太網(wǎng):采用LAN8720A以太網(wǎng)PHY芯片的有線網(wǎng)絡(luò)接口。
?Wi-Fi和藍牙無線通信通過板載ESP32,支持Wi-Fi和藍牙。
?LED和按鈕:4個前置按鈕用于手動控制或用戶輸入,狀態(tài)led提供系統(tǒng)狀態(tài)反饋。
?RTC(實時時鐘):集成PCF8563 RTC精確計時,即使離線。
?顯示:SH1106 OLED顯示屏,用于實時數(shù)據(jù)或狀態(tài)顯示。
?蜂鳴器:用于警報和系統(tǒng)通知的內(nèi)部蜂鳴器。
?MicroSD卡:用于數(shù)據(jù)記錄、擴展配置或固件存儲的MicroSD卡插槽。
?繼電器:6個光隔離工業(yè)繼電器,具有壓敏電阻保護,安全開關(guān)和長期耐用性。
?數(shù)字輸入:4個數(shù)字輸入(24V DC),采用ISO1212 IC,提供浪涌保護和可靠的信號讀取。
?RTD輸入:2個RTD通道通過MAX31865芯片與2 /3 /4線傳感器兼容。
?模擬輸入:4個模擬輸入通道(0-10V),采用ADS1115 ADC,具有ESD和過壓保護。
?模擬輸出:1個模擬輸出通道(0-10V),由MCP4725 DAC供電,也可以防止ESD和電壓尖峰。
?1線支持:2個隔離的1線通道,集成ESD和過壓保護,用于穩(wěn)健的傳感器通信。
3. 硬件概述
由于某些gpio會影響ESP32-WROOM的啟動方式,例如GPIO0、GPIO2、GPIO12和GPIO15,因此我們徹底測試了多種配置。我們最終確定了引腳布局,以確保可靠的啟動,同時避免與這些關(guān)鍵的啟動引腳沖突:
為了滿足家庭自動化和小型設(shè)施控制的需求,我們需要更多的數(shù)字I/ o, RTD溫度傳感和高分辨率模擬輸入。為了實現(xiàn)這一點,我們使用PCF8574數(shù)字I/O擴展器,16位ADS1115 ADC和MCP4725 DAC擴展功能。
這個框圖顯示了家用微型plc的內(nèi)部結(jié)構(gòu)。其核心是ESP32-WROOM模塊,負責(zé)管理所有輸入、輸出和通信。
4. 系統(tǒng)示意圖
MCU板-中央處理單元和通信樞紐
在GitHub上查看原理圖(MCU_Board.pdf)文件
單片機板是MiniPLC系統(tǒng)的核心。它不僅包含主微控制器,還集成了多個通信ic和信號接口。主要組件和功能包括:
?I/O擴展ic用于擴展數(shù)字I/O功能
?用于獲取和生成模擬信號的ADC/DAC
?用于精確溫度測量的RTD接口電路
?以太網(wǎng)接口,用于網(wǎng)絡(luò)通信和遠程控制
?CP2101 USB- uart橋接USB連接
?完全集成的I2C和SPI總線外設(shè)通信
該板管理所有邏輯執(zhí)行、傳感器接口、控制信號處理以及與外部系統(tǒng)的通信。
繼電器板- I/O擴展和電源接口
在我們的GitHub上查看原理圖(Relay_Board.pdf)文件
繼電器板作為MiniPLC的主要I/O接口,支持數(shù)字和模擬信號處理以及電源管理和魯棒信號保護。它包括:
?用于切換外部負載的多個機電繼電器
?ISO1212輸入保護IC,用于安全處理工業(yè)數(shù)字輸入
?保護電路RS-485和1線通信接口
?用于調(diào)節(jié)24V至5V和12V電源的DC-DC轉(zhuǎn)換器(用于模擬DAC輸出)
?MYRRA隔離電源模塊支持:120-370V直流輸入,85-265V交流@ 47 - 63hz
該電路板確保與外部系統(tǒng)的安全可靠的接口,并保護敏感的控制電子設(shè)備免受環(huán)境影響。
USB板- SD卡和USB接口
在我們的GitHub上查看原理圖(USB_Board.pdf)文件
USB板是一種緊湊的接口模塊,主要用于簡化連接。它包括:
?MicroSD讀卡器,用于本地數(shù)據(jù)記錄或固件更新
?用于與主機系統(tǒng)通信的USB連接器
這個電路板上沒有額外的功能組件;它旨在簡化安裝和與MCU板的模塊化接口。
6. 物理設(shè)計概述
為了更好地理解MiniPLC的結(jié)構(gòu),我們來看看內(nèi)部布局和組成系統(tǒng)的實際pcb。
機箱包含三個主控板:MCU板、Relay板和USB/SD接口板。它們通過頭和連接器相互連接。
7. 軟件與配置
homaster MiniPLC預(yù)裝了ESPHome,使其可以連接到您的Wi-Fi網(wǎng)絡(luò),并與家庭助理集成。初始設(shè)置很簡單,可以通過內(nèi)置的網(wǎng)絡(luò)服務(wù)器完成,你可以在幾分鐘內(nèi)配置Wi-Fi并使設(shè)備上線。
固件更新和自定義配置可以通過ESPHome儀表板以多種方式上傳:
?通過USB type-C
?無線通過Wi-Fi (OTA)
?或者直接使用內(nèi)部web服務(wù)器
MiniPLC由ESP32芯片供電,包括一個USB接口,這意味著它也可以使用任何ESP32兼容的IDE編程,例如:
?Arduino IDE
?PlatformIO
?ESP-IDF
這種靈活性允許初學(xué)者和高級用戶完全定制MiniPLC的功能,以滿足他們特定的自動化需求。
查看默認的miniplc。我們的GitHub上的配置文件
本文編譯自hackster.io