【摘要】為了解決繼電器遠程控制,同時監測繼電器負載電能參數,保護電路安全,設計一種基于STM32 ARM微處理器為控制核心,RS485總線作為通訊接口的繼電器控制系統,研究結果表明,此設計改進了繼電器現場控制方式,能夠檢測電能參數,廣泛應用于智能家居、工業遠程控制等領域。
【關鍵詞】STM32;智能繼電器;RS485
電氣用電設備對負載的控制,繼電器是最為常見的執行部件之一,使用頻率高。使用方法一直采用被動驅動[1],如果在繼電器控制中引入技術,能更方便用戶配置系統,就可以很好地把握設備的工作情況。智能繼電器不同于普通繼電器,它是“可編程序”的、是“通用”的、是“智能”的,即可通過網絡或總線與上位機協調工作,也可本地脫機獨立工作。
本設計在繼電器控制中引入總線技術,使得繼電器具有總線通信功能,同時采用電能檢測芯片,使系統具有電能參數檢測功能,保證系統電路的安全。系統設計包括控制電路、電能檢測電路、繼電器驅動電路和總線接口電路。
1.系統硬件設計
系統能夠實現繼電器控制的智能化,由控制電路、電能檢測電路、繼電器驅動電路、總線接口電路和電源電路組成,如圖1所示。控制電路是智能繼電器的核心電路,負責繼電器負載、電能檢測和總線接口的流程和協調控制。電能檢測電路能夠檢測繼電器負載電能參數,并把參數反饋給控制電路,作為繼電器控制過程的依據;繼電器驅動電路接受指令直接驅動繼電器動作,控制負載的連接與斷開;總線接口電路能夠通過總線與控制電路連接,傳遞繼電器遠程控制信息和電能參數信息;電源電路給系統提供工作電源。
圖1 智能繼電器系統結構圖
圖2 系統控制電路原理圖
1.1 系統控制電路
控制電路原理圖如圖2所示,由微處理器、啟動電路、復位電路、按鍵電路、液晶顯示電路等組成。控制電路的核心是芯片STM32F103VET6,是32位基于ARMCortexTM-M3核心的微控制器,工作頻率高達72MHz,指令執行速率1.25DMips/MHz,存儲容量512k,低功耗,支持9個通訊接口,JTAG接口下載調試程序[2]。啟動電路通過BOOT0和BOOT1引腳的高低電平,設置程序啟動位置,可以從用戶閃存啟動,也可以從系統存儲器啟動。復位電路完成系統上電或工作過程STM32F103VET6的復位,使系統從新執行程序。液晶顯示電路顯示系統信息、電能參數;按鍵電路設置控制參數。
1.2 電源電路
提供系統需要的工作電源,220V交流市電接入,經過變壓器降壓后,由整流橋模塊整理,后由穩壓電源芯片穩壓,輸出5V,再經三端穩壓芯片輸出3.3V,給控制電路供電。
圖3 系統電路原理圖
1.3 電能檢測電路
被檢測電壓、電流信號分別通過電壓、電流互感器,轉換成電能芯片可檢測信號,芯片輸入端有正反向二極管進行輸入限幅保護。繼電器控制總回路通斷。這里我們采用的是單相電能計量芯片ADE7753[3],如下圖4所示,是其典型接法,測量精度高,電能計量誤差小于0.1%,SPI通訊方式,5V單電源,低功耗(25mW),芯片內部有很多寄存器,只需通過對其寄存器讀寫即可。
圖4 系統電路原理圖
1.4 繼電器驅動電路
ULN2003是一個單片高電壓、高電流的達林頓晶體管陣列集成電路。它是由7對NPN達林頓管組成的。單個達林頓對的集電極電流可達500mA。如圖5所示,ULN2003驅動繼電器,芯片輸入輸出邏輯為同向邏輯。
圖5 系統電路原理圖
1.5 總線接口電路
一般的處理器都有串行總線作為通訊接口,RS485作為系統的通訊接口電路,具有傳輸距離遠,抗干擾能力強,容易與串行端口連接等特點。RS485接口電路如圖6所示,采用TI公司芯片為SN65LBC184,半雙工通信,DIR控制通信方向,DIR為高時,控制器對應接收,RX、TX與STM32處理器串行端口的收、發引腳相連。
圖6 系統總線接口電路原理圖
2.系統軟件設計
智能繼電器軟件主要包括系統初始化、電能測量和RS485通訊功能模塊,程序流程圖如圖7所示,軟件多任務采用中斷處理,保證任務處理的實時性,LCD顯示和電能檢測由T3定時器中斷處理,按鍵由T4定時器中斷處理,RS485接收在串行中斷完成,通訊處理在主函數中完成。STM32提供了標準外設庫,是一個固件函數包。該函數庫還包括每一個外設的驅動描述和應用實例,為開發者訪問底層硬件提供了一個中間API,API對該驅動程序的結構、函數和參數名稱都進行了標準化。使用固件函數庫可以大大減少用戶的程序編寫時間,進而降低開發成本。
圖7 智能繼電器程序流程圖
2.1 系統初始化
各個模塊初始化主要是完成模塊初始化,主要是引腳狀態設置,SPI總線引腳配置,設置IO引腳為SPI功能,電能檢測芯片ADE7753寄存器初始化;按鍵引腳配置;RS485引腳配置,串行端口參數配置,設置通訊波特率19200bit/s,8位數據位,1位停止位,無奇偶校驗位,無硬件流控制,工作模式收發;時鐘配置,完成時間信息用定時器設置;LCD1602初始化,啟動顯示初始界面。
2.2 RS485通訊
協議采用MODBUS標準通訊協議,完成主機和從機之間的通訊,智能繼電器作為從機處理。通訊傳送分為獨立的信息頭,和發送的編碼數據[4],地址碼為通訊傳送的第一個字節。每個從機都有具有唯一的地址碼,響應回送以各自的地址碼開始。功能碼是通訊傳送的第二個字節。智能繼電器只利用其中的一部分功能碼。作為主機請求發送,通過功能碼告訴從機執行什么動作。作為從機響應,從機發送的功能碼與從主機發送來的功能碼一樣,并表明從機已響應主機進行操作。數據區是根據不同的功能碼而不同,數據區可包括發送數據字節數和發送數據。
主機和智能控制器之間有握手信號聯系,握手信號包括起始碼、當前從機地址和字節數。繼電器當前狀態、繼電器控制信息和電能參數等作為數據區的數據發送。通訊過程由中斷程序和主程序分工完成,中斷程序負責接收收據,主程序負責接收數據處理和發送數據。
3.結論
利用STM32處理器和RS485總線技術設計的智能繼電器,具有技術成熟,應用穩定,性價比高等特點,能夠廣泛應用在智能家居、工業遠程控制等領域。
參考文獻
[1]王國濤,王思易.基于ADAMS的航天繼電器多余物檢測試驗條件研究[J].低壓電器,2013,03.
[2] STM32F103 Datasheet[Z].www.st.com.
[3] ADE7753 Datasheet[Z].http://www.analog.com.
[4]毛德平,凌有鑄.一種基于RS485總線的溫度、濕度測控系統[D].安徽:安徽工程科技學院,2007.02.
作者簡介:劉彤(1972-),男,廣西工學院工學碩士,工程師,主要研究方向:控制理論與控制工程。