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