0 引言
產品檢測是生產廠家和用戶都關心的問題。在產品生產過程中,檢測是必不可少的一部分,有的還是工藝過程的一道工序。電磁繼電器是電力系統以及其他電氣控制系統中常用的開關元件,它們的可靠性是電力系統和其他電氣控制系統可靠運行的重要保證,因此,必須對繼電器的特性參數進行準確的測試。電磁繼電器的電氣參數主要有線圈電阻、觸點接觸電阻、吸合電壓、釋放電壓、吸合時間、釋放時間等。這些參數對研究繼電器可靠性、動態性能具有重要意義,是保證其質量特性的重要參數。
1 系統總體架構
1.1 系統硬件結構
系統硬件主要包括UART 串口通信模塊、JTAG 接口模塊、測試結果顯示模塊、檢測程序存儲模塊FLASH、檢測電路模塊以及SRAM 模塊。系統總體硬件結構框圖如圖1 所示。
1.2 系統微處理器
本系統主要由檢測部分和顯示控制部分組成。在本設計中,采用了高性能的ARM Cortex 芯片STM32F103ZET6.
該芯片內部采用哈佛結構,其中集成有64 KB 的RAM 和512 KB FLASH,并且具有運算速度快、體積小和低功耗的特點,完全能滿足本設計的要求。Cortex-M3 是一個32 位的核,它采用的是Tail-Chaining 中斷技術,最多可減少12 個時鐘周期數,基于硬件進行中斷處理,通常可減少70% 的中斷。Cortex-M3 還采用了新型的單線調試(Single Wire) 技術,可對獨立的引腳進行調試。
1.3 系統工作流程
系統上電后,首先完成對各個寄存器的初始化工作,然后等待開始檢測命令;單擊上位機界面上的START 命令,然后上位機給單片機發送開始檢測命令;單片機接到開始命令后開始向檢測電路發送檢測命令,然后單片機處理檢測電路發回的數據,得出繼電器的各個參數,通過串口把這些參數顯示在上位機的界面上。
2 系統硬件設計
2.1 驅動電壓的設計
為了準確測出繼電器的吸合電壓,必須得到一個從0 開始按照一定量增大的電壓源,每次增大的電壓量越小,測試的結果越準確,但是所要求的電路也越復雜,所以我們必須根據實際的要求在這中間找到一個平衡點。圖2 所示為系統驅動電壓電路。
圖2 中,TL431用于給TLC5615 提供2.5 V 的基準電壓源,DA_DIN 是串行數據輸入端,DA_CS 是低電平有效的片選信號輸入端,DA_SCK 是串行時鐘輸入端,DOUT 是用于級聯的串行數據輸出端,OUT 是DAC 模擬電壓輸出端,輸出模擬信號。由于從TLC5615 輸出的模擬信號很小,不能驅動繼電器,所以,本設計在后面又加上了放大電壓電路和放大電流電路。
2.2 集成切換網絡的設計
本系統的集成切換網絡是利用繼電器的開關工作原理完成的,利用單片機發出的不同指令控制繼電器的閉合,從而切換到不同的測試電路模塊。在測試吸合/ 釋放電壓時,首先ARM Cortex 發出測試參數為吸合/ 釋放電壓的指令。集成切換網絡根據指令,切換到Prog_v 一側,XQ1I 連接所測繼電器觸點一端,具體電路如圖3 所示。
為了解決單片機的I/O 驅動能力不足的問題, 選用ULN2003 作為繼電器的驅動芯片。ULN2003 是高壓大電流達林頓晶體管陣列電路,它具有工作地電壓高,工作電流大,灌電流可達500 mA,并且能夠在關態時承受50 V 的電壓,輸出還可以在高負載電流并行運行。它采用集電極開路輸出,輸出電流大,故可直接驅動繼電器。ULN2003 的每一對達林頓管都串聯一個2.7 kΩ 的基極電阻,在5 V 的工作電壓下它能與TTL 和CMOS 電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數據。通常單片機驅動ULN2003 時,上拉2 kΩ 的電阻,同時,COM 引腳應該懸空或接電源。
2.3 數據處理及與上位機的通信
接收到的數據通過異步串口管腳與3.3 V 轉換芯片MAX232 相連,外接串口線同PC 機進行通信,接收和發送數據,STM32 作為下位機負責接收上位機的指令以及控制各部分電路并處理數據,然后向上位機發送數據,PC 機接收數據,并通過VC 編程把接收的數據通過界面顯示出來。這里PC 機的VC 通過串口發送命令給STM32,主控芯片接收命令并判斷有效,即可開始控制電路進行工作[6]。由于篇幅所限,本文未對STM32 的最小系統硬件部分作詳細說明。
3 系統軟件設計
系統軟件部分主要包括STM32 微處理器控制程序和上位機程序兩部分。由于下位機軟件使用C 語言來開發,所以選擇了一款支持C語言編程的開發環境。由于使用的是J-LINK接口調試方式[7],選擇用IAR SYSTEM 作為下位機的控制平臺開發工具。
3.1 微處理器控制程序
圖4 所示是本系統的微處理器控制程序。本程序的核心部分是線圈電阻子程序、觸點電阻子程序、吸合/ 釋放電壓子程序、吸合/ 釋放時間子程序。
3.2 吸合電壓算法設計
對于吸合/ 釋放電壓的測試,這里將對比三種測試算法:
二分算法、步進自適應中值算法和差異比較算法[8]。
3.2.1 二分算法
函數f(x),對于一個實數a,當x=a 時,若f(a)=0,則把x=a 叫做函數f(x) 的零點。設f(x) 在區間(X,Y) 上連續,a、b 屬于區間(x,y),且f(a),f(b) 異號,則在區間(a,b) 內一定存在至少一個零點,然后求f[(a+b)/2]。假定a《b,f(a)《0,f(b)》0,那么:
如果f[(a+b)/2]=0,則x=(a+b)/2 就是零點。
如果f[(a+b)/2]《0,說明區間((a+b)/2,b) 內有零點,再次對新區間((a+b)/2,b) 取中值代入函數,進行中點函數值判斷。
如果f[(a+b)/2]》0,說明區間(a,(a+b)/2) 內有零點,再次對新區間(a,(a+b)/2) 取中值代入函數,進行中點函數值判斷。
通過以上反復的區間取值,可以把f(x) 的零點所在小區間收縮一半,使區間的兩個端點逐步迫近函數的零點,最終以求得零點的近似值。
這就是二分算法的基本原理。
3.2.2 步進自適應中值算法
同簡單二分算法一樣,確定A、B 兩個電壓值,其中A 無法使觸點吸合,B 保證發生觸點吸合。然后求得A、B 的平均值C,如果C 小于觸點的閾值電壓,則在B 電壓量的基礎上步進式地減小一定幅度的電壓X,得到電壓量D ;如果C 大于觸點的觸發電壓,那么在A 電壓量的基礎上,步進式地增加一定幅度的電壓X[9],然后重復以上步驟。如果發生某一步進增加時,觸點發生吸合,則繼電器的吸合電壓介于觸點觸發的前后兩個電壓平均數值之間。
3.2.3 差異比較算法
差異比較算法是通過比較輸入值和輸出值的大小,將發生差異型變化的數值進行篩選并記錄。選擇這個算法主要是針對二次發生的吸合釋放過程。
三種算法中,二分算法有可能讓程序進入死循環,差異比較算法相對前兩者速度較慢,所以本系統最終采用步進自適應中值算法。
3.3 上位機程序設計
本系統的上位機界面程序采用C++ 程序編寫,它主要包括參數設置區域、參數顯示區域、繼電器類型選擇和控制按鍵等幾部分。參數設置區域是完成對所測繼電器的相關參數上下限參數的設置,比如吸合電壓上下限的設置。參數顯示區域是顯示所測參數大小的,這里還包括了一個參數選擇復選框,如果選上則表示需要對此參數進行檢測,如果不選則系統不對此部分參數進行檢測。圖5 所示為其上位機界面。
3.4 實驗結果
在調試好的樣機上分別可對吸合電壓等六個參數進行測試,為了減少一次測試數據的偶然性,每個參數均測試了八組數據進行處理,實驗結果如表1 所示。從表1 中的數據可以發現,其測試數據變化范圍小,系統性能較穩定,總體性能能夠令人滿意。
4 結語
本文是結合前人的研究成果基礎上而提出的一種基于STM32 的智能參數測試儀的設計方案,該方案中所設計的測試儀由STM32 作為主控芯片,并結合先進的電子測量線路來對繼電器的主要電氣參數進行測量。實驗結果表明,本系統測試結果準確性高,工作穩定,總體性能令人滿意。
評論
查看更多