<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 基于STM32的轉轍機接點深度低功耗監測系統設計*

          基于STM32的轉轍機接點深度低功耗監測系統設計*

          作者:王親敏,白丹丹,秦婧菲,高月明,代曉迪(天津職業技術師范大學,天津 300301)時間:2023-07-03來源:電子產品世界收藏
          編者按:針對復雜環境下轉轍機接點深度測量問題,設計完成一套基于STM32的轉轍機接點深度在線監測系統,并對系統軟件及硬件接口進行了闡述。通過對系統的軟硬件合理配置,開發出基于STM32L071CBT6為主控,SIM800C為發射模塊的具備休眠喚醒技術的低功耗物聯網系統,并開發完成可視化操作界面。該監測系統克服了既有系統操作復雜,人工值守,手動啟動,成本高昂等缺點。系統通過對接點深度異常狀態實時報警,提醒人工介入,及時排除設備故障隱患,為鐵路運行安全提供有力保障。

          *基金項目:天津市大學生創新創業訓練計劃項目,項目編號:202210066090

          本文引用地址:http://www.ex-cimer.com/article/202307/448238.htm

          是完成道岔轉換的重要設備,也是信號系統中的主要控制對象之一。道岔控制電路作為鐵路聯鎖系統中的基本電路,無論是啟動電路還是表示電路均需要通過內部接點系統通斷關系來實現。因此,接點系統的可靠性直接影響到鐵路的運輸安全及行車效率。我國TB/T 3113—2015 中對轉轍機動接點柱打入靜接點環的深度規定為不低于4 mm[1],只有當轉轍機動接點打入靜接點合理的深度情況下才能保證控制線路的通斷關系[2]。目前測量的方法主要采用直接測量法,該方法需借助測距工具如卡尺等完成,由于接點座結構復雜,整套操作流程費時費力。測量時需要開啟轉轍機機蓋,全套流程需在鐵路施工天窗內完成[3],費時費力,無法在列車運行狀態下進行,更談不上實時監測。因此,為了確保性能要求,研發專用,實時,準確的測量系統是當前亟需解決的問題。

          當前,伴隨著互聯網和網絡技術的逐步完善,低成本、、廣覆蓋、大連接的網絡技術為監測系統提供新的技術支持及保障,本系統充分利用L071CBT6 微處理器和遠傳終端的休眠喚醒技術,大大降低了系統的整體功耗。且整套系統無需串入轉轍機接點電路,在不改變既有電路完整性,不影響既有聯鎖電路的情況下實現了數據采集至數據庫傳輸、存儲及回放功能,同時配備有故障狀態下的實時報警功能,有利于及時發現和排除故障。

          1 系統基本構成

          系統安全可靠是監測系統首要條件,本系統采用成熟的元器件及技術,以保障系統穩定可靠及運行安全。近些年隨著信息化的不斷推進,傳感器采集終端、連接技術及數據平臺的不斷發展,為物聯網系統的發展注入了強有力的動力[4]。本系統包含3 層次,如圖1 所示。

          1688381199853377.png

          圖1 系統結構框圖

          1)數據采集層。本層硬件由主控芯片及各控制,采集模塊組成。主要包括傳感器,外觸發模塊,SIM800發射模塊及外部存儲模塊。主控完成對數據的處理,分裝后通過SIM800 模塊發布。選擇Keil5 作為開發環境完成對系統的開發設計,借助C 編程語言對完成采集傳輸系統設計調試,通過配置I/O 完成各子單元的驅動及模塊間通訊功能。

          2)數據傳輸層。智能網關接收到數據采集層數據后,進行數據轉換,通過公網基站以無線通訊方式傳輸到數據應用層。模塊與應用層服務器通過TCP協議建立連接,采用MQTT 通訊協議。

          3)數據應用層。在本系統中,使用云服務器作為系統服務端。與傳統物理服務器相比,具有資費低、穩定、性能高,更新設備或數據轉移時更靈活等優勢。本系統采用VSCODE 開發后來數據管理、操作界面。

          本方案設計時采用成熟的 主控芯片及外置采集傳輸模塊、選用可靠的數據傳輸協議及穩定的云服務器。在分析完成各模塊功能的基礎上,通過外部連接電路的合理配置,有效控制各模塊的實際功耗,解決了電流互感器作為觸發傳感器時無法觸發及誤觸發問題。并通過數據庫的有效過來及人性化的UI 界面,完成了人性化的人機交互界面設計。

          2 系統硬件配置

          系統主控芯片選擇L071CBT6,相比傳統STM32F 系列,STM32L 系列具有兩種新的模式:運行和睡眠模式,該芯片采用32 位ARM 內核,主頻高達可達72 MHz,集成定時器、模數轉換器、外觸發接口[5]。良好的系統配置可有效降低外部電路硬件設計的難度,提升系統可靠性。系統外圍硬件電路主要包含低功耗電源控制,接點深度模塊,外部觸發模塊,EEPROM 存儲模塊和數據傳輸模塊。

          由于系統采用3.6 V 鋰電池供電,設備功耗將直接影響到設備的可用性,本系統通過硬件電路設計通過I/O 輸出控制外部模塊的供電電源接口達到觸發、休眠循環模式降低工作周期的功耗。

          2.1 電源控制

          在電路硬件設計過程中,主控芯片的低功耗僅為低功耗系統開發的一部分,外圍器件功耗同樣起至關重要作用。該系統供電來自于內置3.6 V 鋰電池,其擔負著3.3 V 主控芯片,4.0 V 發射模塊等多種外圍電路的電壓需求。方案中主控采用通用BOOST 結構、電壓型 PFM控制模式的DC-DC 轉換電路,發射模塊采用外部電源管理電路,在無需傳輸時,關閉模塊供電接口,以達到最優的功耗狀態。結合系統軟件控制,系統充分挖掘STM32 處理器的待機休眠模式,待機時主控1.8 V 供電區,內部及外部時鐘關閉,系統內部電壓檢測器進入低功耗模式,在無道岔轉換發生時,主控及外置模塊均處于休眠狀態,在有道岔轉換動作時通過合理管理電源系統降低工作周期功耗,待監測完成后重新進入休眠狀態。通過借助于這種特殊的電源管理及控制邏輯將系統待機功耗降低至微安級。

          2.2 接點深度模塊

          接點深度采用GMR 巨磁阻傳感器TLE5012B,該傳感器為非接觸式15 位絕對角度位置傳感器,該傳感器內部集成四個單獨的GMR 元件組成惠斯通電橋,有效消除溫度效應。通過徑向鐵釹硼強磁模塊,感應出接點座動接點座轉角量,再通過接點轉臂產半徑R 獲取動接點柱打入靜接點環的深度,該數值實時存入系統外置AT24C256 EEPROM存儲器,主控器同時進入深度判別環節,根據數據分析結果做出相應處理。該模塊采用半雙工的SPI 通信協議,如圖2 所示,通過更改控制主控芯片的管腳的輸出類型控制接發數據模式,發送狀態下采用推挽輸出,收數時為開漏輸出,完成數據雙向通信。

          1688381487637017.png

          圖2 接點深度傳感器

          2.3 外部觸發模塊

          外部觸發模塊由轉轍機電流采集感應器和信號處理電路組成,感應器采用開合式電流互感器SCT013-005,如圖3 所示。該互感器輸出電壓為5 A-1 V 輸出。而主控芯片STM32 規定只有當觸發管腳接收到峰值高于2 V 的脈沖時,系統才能從休眠模式中喚醒,且不接受負脈沖,因此該互感器輸出的交流電壓信號不能夠直接作為喚醒信號使用,本電路采用通過REF193 穩壓芯片喚醒管腳構建外圍喚醒電路,如圖4 所示。并結合轉轍機轉換道岔時的動作時間通過軟件配置STM32 時鐘定時器TM1 的中斷及系統看門狗,在滿足觸發的同時有效避免道岔轉換過程中的連續誤觸發。

          image.png

          圖3 電流互感器

          1688381650118370.png

          2.4 數據發射模塊

          本系統采用sim800C 模塊,通過主控芯片的串口輸出AT 指令發出控制命令。模塊連接成功TCP 后進入網絡透傳模式,完成接點位移數據至服務器的傳輸任務。在設計發射模塊電路時,SMI800C 低功耗發射模塊詳情中提到其休眠功耗0.6 mA,且供電電源需要具備在突發模式時提供高達2 A 的峰值電流需求[7],對于有源供電方案該性能很容易滿足,但對于電池供電系統而言,該待機功耗過大,峰值電流過高。因此需設計一套專注的電源管理電路。通過充分比較各芯片性能,最終本方案中選用TPS63020 器件,該原件能滿足系統輸出能力強,自身消耗小的性能需求,是專用便攜式電子產品設計的穩壓芯片。其輸入電壓范圍為1.8 V~5.5 V,克服了隨著監測設備電池供電時間長,電壓降低無法放電的現象,如圖5 所示,通過主控芯片PB2 管腳控制芯片的工作狀態滿足發射模塊工作能量需求,其靜態功耗低至25 μA,峰值電流滿足2 A 輸出要求。

          1688381787321986.png

          3 系統軟件設計

          本系統采用 Keil 軟件編程,實現對外圍模塊的控制及初始化配置,并將數據寫入AT24C128 EEPROM存儲,通過 SIM800 無傳輸模塊建立與云平臺之間的聯系。實現過程如下,當外部傳感器檢測到轉轍機啟動的脈沖信號后監測系統啟動并立即進入工作狀態,待工作周期完成后對接點深度進行判斷,做出相應處理。滿足要求時系統立即進入休眠狀態以降低功耗,不滿足時將觸發無線傳輸模塊,發出報警信息的同時將數據實時反饋至監控服務器后進入休眠狀態,此外系統還具備自動數據回收功能,可通過上位機設置數據定時回傳時間,主程序流程圖如圖6 所示。

          1688381902444419.png

          圖6 主程序流程

          本系統利用vscode 開發完成數據管理客戶端設計,采集終端與服務器間采用TCP 通信協議上傳數據。服務器管理人員通過管理賬戶進入應用界面,可以隨時隨地查閱運行狀態數據,繪制歷史數據曲線,提升了系統的實時性,系統應用層界面包含登錄和應用界面兩部分,工作流程如圖7所示。

          image.png

          圖7 服務器工作界面流程

          操作時,需要進行登錄身份確定,確認后進入應用界面,通過配置的菜單欄,可快速選擇數據調用及處理功能,如圖8所示。

          1688382060881371.png

          圖8 服務器終端應用界面

          4 實驗結果

          將硬件終端接上供電電源,第一次啟動后其與服務器建立連接,注冊設備號,備注設備地點信息,檢查此時的連接狀態。由于系統核心主要在于系統整體功耗,因此對系統進行了功耗測試,測試結果如表1 所示。經測試系統平均功耗為:待機功耗80 μA。轉轍機動作時采集電路工作電流為1.5 mA,SIM800C 傳輸時長7 s,周期功耗41.3 mA,峰值電流2 A。在系統配備3.6 V,1 800 mAh 的ER18505 鋰電池狀態下,ZD9 轉轍機為例按每天轉換200 次,數據每天傳輸一次的頻率計算滿足1 年的免維護要求,本系統在鐵科環線軌道2022 年11月應用至今,每周三凌晨能及時完成當周接點位移數據上報,證明設備自身具有良好的可靠性。

          1688382161581458.png

          5 結束語

          本文設計完成一款以STM32 為主控,SIM800 為發射模塊的接點位移監測控制系統,完成采集層、傳輸層及應用層件設計。通過實驗測試該系統功耗低、運行平穩,滿足全天候運行需求,能方便快捷地傳輸數據及報警信息,通過歷史數據回放功能,能有效預測接點故障信息。實驗表明該監測試系統能有效彌補了目前接點深度的方法的操作過程復雜、實時性差、成本高等缺陷。

          參考文獻:

          [1] 中華人民共和國鐵道部.TB/T 3113—2015 ZD9/ ZDJ9系列電動轉轍機[S]. 2015.

          [2] 張振, 李倩文. 淺談ZDJ9轉轍機的安裝調試及日常維護[J].鐵道通信信號, 2021(8):16-19.

          [3] 徐光順, 鄭京偉, 楊帥, 等.轉轍機接點深度及間隙測量裝置的設計[J].DOI:10.13879/j.issn.1000-7458.2022-02.21428.

          [4] 佩里·利. 物聯網系統架構設計與邊緣計算.原書第2版[M].北京:機械工業出版社, 2021.

          [5] 劉軍, 張洋, 嚴漢宇. 例說STM32(第3版)[M].北京:北京航空航天大學出版社, 2018.

          [6] 張海超, 張北偉 .基于STM32 的多串口通信系統設計[J].國外電子測量技術, 2019, 38(2):99-102.

          [7] 查懷宇. 基于GPRS技術的射頻卡控制器終端設計[D].濟南:山東大學, 2019.

          (本文來源于《電子產品世界》雜志2023年6月期)



          評論


          相關推薦

          技術專區

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();