郭 鵬,曲 波
(蘇州大學(xué),江蘇 蘇州 215021)
智能電源可以通過(guò)計(jì)算機(jī)控制輸出不同的精準(zhǔn)電壓,并且具有完整的保護(hù)電路。其典型的應(yīng)用領(lǐng)域是在自動(dòng)在線測(cè)試(ICT)儀器中,根據(jù)不同的需求變換參數(shù),只需將要發(fā)送的命令寫(xiě)入流程中即可,免除人工操作,提高生產(chǎn)效率,降低成本并且操作也相對(duì)靈活。目前這種小型程控電源多被國(guó)外儀器廠壟斷,價(jià)格也比較昂貴。本文提出了由STM32F103RBT6控制輸出電壓,然后根據(jù)實(shí)際情況配以相應(yīng)算法進(jìn)行自適應(yīng)調(diào)整的一種方案。STM32作為一款當(dāng)前比較流行的微處理器芯片,外設(shè)比較豐富,市場(chǎng)價(jià)格比較低,但是工作頻率也相對(duì)較低,因此,本系統(tǒng)采用兩種不同的算法依次對(duì)輸出進(jìn)行自適應(yīng)調(diào)整,大大減少了處理器的運(yùn)算量,從而提高了自適應(yīng)調(diào)整的速度。
本設(shè)計(jì)可由PC機(jī)或者PLC遠(yuǎn)程控制,它們通過(guò)USB接口通信,USB接口由串口通過(guò)FT232RL轉(zhuǎn)換得來(lái),其作用除了與上位機(jī)通信,還可以作為程序調(diào)試接口。本系統(tǒng)有兩路獨(dú)立輸出,充分利用了STM32的外設(shè),圖1所示為其中一個(gè)通道的硬件結(jié)構(gòu)圖。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖
系統(tǒng)中唯一的外部輸入電壓為12 V,設(shè)計(jì)中用到的所有其他電壓值均由其轉(zhuǎn)換得來(lái)。
總體的思路為片內(nèi)D/A輸出一個(gè)電壓,通過(guò)放大電路后得到所需電壓值,并且由A/D對(duì)輸出參數(shù)采樣,在此使用 A/D的注入型通道(Injected channel),因?yàn)檫@個(gè)采樣過(guò)程不是連續(xù)循環(huán)掃描模式,而是配合定時(shí)器,以一定的頻率采樣,在定時(shí)器中斷函數(shù)中運(yùn)行算法并自適應(yīng)調(diào)整的工作過(guò)程。系統(tǒng)中,STM32的供電由NCP1117提供,放大及反饋電路如圖2所示。
圖2 放大及反饋電路
A/D以及D/A的參考電壓為 2.5 V,由穩(wěn)壓芯片ISL60002產(chǎn)生,其輸出精度可達(dá)1 mV,符合精度要求。由于STM32芯片自身的原因,其D/A的最小輸出電壓為200 mV,所以直接放大無(wú)法做到0~10 V的要求,因此在放大器反相端增加一個(gè)補(bǔ)償電路,其補(bǔ)償值選用0.5 V,根據(jù)虛短和虛斷原理可得等式:
將 R1,R2,R3,R4值 代 入 上 式 , 得 Vout_1=9Vdac-4.5 V,即當(dāng) Vdac輸出為 0.5 V時(shí),電源輸出電壓為 0 V,從而避開(kāi)了D/A最小輸出200 mV的限制。輸出電壓Vout1由兩個(gè)精密電阻分壓后作為反饋送回到STM32的A/D通道,作為電壓自適應(yīng)調(diào)整的硬件環(huán)境。由于所用放大器OPA544為非軌至軌型放大器,要得到0 V的電壓,必須在其V-端放置一個(gè)負(fù)電壓,此設(shè)計(jì)中選用-5 V,由集成開(kāi)關(guān)電源芯片LM2611產(chǎn)生,產(chǎn)生電路如圖3所示。
圖3 -5 V電壓產(chǎn)生電路
調(diào)整過(guò)程中,首先考慮放大器本身及外圍電阻的誤差所導(dǎo)致的輸出誤差;其次,由于電源穩(wěn)定輸出的過(guò)程中,負(fù)載的變化也會(huì)導(dǎo)致輸出電壓的微小變化,這時(shí)也要快速對(duì)輸出進(jìn)行微調(diào)以確保在負(fù)載變化的情況下也可以穩(wěn)定輸出,整個(gè)調(diào)整的過(guò)程可以稱(chēng)作自適應(yīng)的過(guò)程。由于所用處理器STM32F103VET6最高的處理速度只有72 MHz,因此在選擇調(diào)整算法的時(shí)候必須考慮到運(yùn)算量問(wèn)題,如果連續(xù)采用運(yùn)算量較大的算法調(diào)整,必定會(huì)影響整個(gè)系統(tǒng)的工作效率。本系統(tǒng)采用兩種不同的算法,既會(huì)較快地對(duì)輸出進(jìn)行調(diào)整,又不會(huì)產(chǎn)生太大的運(yùn)算量。
首先采用的方法是最小二乘法數(shù)據(jù)擬合算法調(diào)整。
最小二乘法數(shù)據(jù)擬合是曲線擬合的一種,使用比較簡(jiǎn)單,比較適用于在非DSP處理芯片中使用,其主體思想為:根據(jù) N個(gè)樣點(diǎn)擬合一條小于(N-1)次的曲線,并使這條曲線與所有樣點(diǎn)的距離平方和最小[4]。
在此設(shè)計(jì)中,使用這個(gè)算法做輸出前調(diào)整。由于開(kāi)始時(shí)實(shí)際輸出和期望輸出的差值會(huì)比較大,如果直接較大幅度及較高頻率的跳變有可能會(huì)造成尖峰和震蕩,這樣從時(shí)間和精度上都會(huì)為自適應(yīng)調(diào)整過(guò)程造成一定的不良影響。所以采用數(shù)據(jù)曲線擬合的方法,調(diào)整之前,在目標(biāo)電壓周?chē)杉舾蓚€(gè)點(diǎn),通過(guò)這若干個(gè)點(diǎn)擬合一條曲線,然后沿曲線向目標(biāo)電壓移動(dòng),次數(shù)根據(jù)調(diào)整幅度確定,當(dāng)誤差小于10 mV的時(shí)候停止移動(dòng),并打開(kāi)保護(hù)開(kāi)關(guān)開(kāi)始向用電器輸出電壓,同時(shí)啟用另一種算法來(lái)持續(xù)自適應(yīng)調(diào)整,具體分析步驟如下。
根據(jù)已知點(diǎn)數(shù)n確定一個(gè)多項(xiàng)式模型:
則矛盾方程組可記為Aα=β,其對(duì)應(yīng)的正規(guī)方程組為ATAα=ATβ,又因?yàn)?β為非零向量,所以方程組的解唯一,即為最優(yōu)近似解。此解使得曲線和所有點(diǎn)距離的平方和函數(shù)可以取得極小值,從而求得的最小二乘法擬合多項(xiàng)式為:
倘若將此調(diào)整過(guò)程看作一個(gè)系統(tǒng),系統(tǒng)的輸入即為上位機(jī)要求的電源輸出值,而實(shí)際的輸出值則為系統(tǒng)的輸出。本設(shè)計(jì)中,采取5個(gè)樣點(diǎn)來(lái)擬合一條二次曲線,樣點(diǎn)的選取根據(jù)上位機(jī)指令以及實(shí)際的硬件參數(shù)而定,選在要求輸出值的附近。調(diào)整系統(tǒng)的工作流程如圖4所示。
圖4 調(diào)整系統(tǒng)工作流程
(1)調(diào)整前,若調(diào)整系統(tǒng)輸入為V0時(shí)的實(shí)際輸出值為 V0+△V(通過(guò) A/D 采樣得到),誤差為 △V,則輸入為V0-△V時(shí),輸出更接近于理想值。
(2)為使理想輸入值靠近于曲線段中間位置,選取的 5 個(gè)樣點(diǎn)的橫坐標(biāo)分別為 V0-3△V,V0-2△V,V0-△V,V0,V0+△V,它們的縱坐標(biāo)分別為與之對(duì)應(yīng)的 A/D采樣值。
(3)根據(jù)上述方法進(jìn)行數(shù)據(jù)擬合得到曲線 y=f(x),再根據(jù)要求輸出的電壓 V0,求出對(duì)應(yīng)的 x0=f-1(V0),x0即為需要D/A輸出參數(shù)。
為了驗(yàn)證這種方法的可行性,進(jìn)行了如下實(shí)驗(yàn):
預(yù)設(shè)要求電源輸出為6 V,即調(diào)整系統(tǒng)的輸入為6 V,實(shí)驗(yàn)得出,通過(guò)A/D采樣得調(diào)整系統(tǒng)輸出為6.357 V,誤差為0.357 V,根據(jù)上述方法取5個(gè)樣點(diǎn),實(shí)驗(yàn)測(cè)得這5個(gè)樣點(diǎn)為表1所示。
表1 實(shí)驗(yàn)采樣樣點(diǎn)
通過(guò)上述最小二乘法數(shù)據(jù)擬合原理,STM32處理器計(jì)算出來(lái)的擬合曲線為:
按照要求,當(dāng) y=6 時(shí),方程的有效解為 x=5.620,此時(shí)變換D/A輸出參數(shù),將5.620 V作為調(diào)整系統(tǒng)的輸入,通過(guò) A/D采樣測(cè)得實(shí)際的輸出為 5.996 V,此時(shí)的誤差僅為4 mV,故證明,這個(gè)調(diào)整算法是可行的,并且在速度和準(zhǔn)確度方面都能夠得到較好的效果。
上述實(shí)驗(yàn)及使用中的多次實(shí)踐證明,經(jīng)過(guò)最小二乘法數(shù)據(jù)擬合方法調(diào)整過(guò)的輸出電壓是接近要求值的,這時(shí)打開(kāi)保護(hù)開(kāi)關(guān),開(kāi)始向用電器供電,然而由于電源從空載到帶載轉(zhuǎn)變時(shí),其輸出會(huì)產(chǎn)生細(xì)微變動(dòng),所以在打開(kāi)保護(hù)開(kāi)關(guān)之前,啟用另外一種算法(二分法),對(duì)輸出進(jìn)行持續(xù)的自適應(yīng)調(diào)整,即不斷地根據(jù)采樣值細(xì)微改變輸出,并貫穿于整個(gè)工作過(guò)程。
這兩種算法中,最小二乘法相對(duì)復(fù)雜,運(yùn)算量較大,但是調(diào)整次數(shù)較少,用在輸出之前的幅度較大的自適應(yīng)調(diào)整,有效避免了電壓振蕩;相反,二分法的運(yùn)算量相對(duì)較少,適用于在整個(gè)工作過(guò)程中的自適應(yīng)調(diào)整,調(diào)整頻率為100 Hz,即每10 ms進(jìn)行一次,較高的調(diào)整頻率有效抑制了紋波。
過(guò)流保護(hù)是電源設(shè)計(jì)中非常重要的部分,當(dāng)輸出過(guò)載或者短路的時(shí)候,承擔(dān)著保護(hù)電源本身及用電器的作用。本設(shè)計(jì)中的過(guò)流保護(hù)部分采用了軟件保護(hù)和硬件保護(hù)雙保險(xiǎn)的設(shè)計(jì)。保護(hù)電路如圖5所示。
圖5 過(guò)流保護(hù)電路
通斷開(kāi)關(guān)采用FDN360P,為單通道 P型 MOSFET,其反應(yīng)時(shí)間短及多次導(dǎo)通截止不易損壞的特點(diǎn),使其成為此處的最佳選擇。軟件保護(hù)和硬件保護(hù)是平行、獨(dú)立工作的,任何一個(gè)起作用都會(huì)使FDN360P截止,停止供電。
(1)protectpoint_1 為軟件保護(hù)端,MAX4372 為電 流放大器[2],在此為 10倍放大R10兩端的電壓,通過(guò)不斷掃描A/D采樣值的方法軟件監(jiān)控電流大小,采用A/D的規(guī)則通道 (Regularchannel) 以及連續(xù)轉(zhuǎn)換模式(Continuous conversion mode),這樣在電流過(guò)大的情況下,處理器端可以及時(shí)檢測(cè)到。同時(shí)啟用A/D模擬看門(mén)狗(AWD)功能,如果采樣值大于預(yù)設(shè)閾值,則啟動(dòng)軟件保護(hù),即PD12置高,F(xiàn)DN360P截止,停止輸出。
(2)protectpoint_2 為 硬件 保護(hù) 端 ,LMV358 用 作 電 壓比較器,TLC555構(gòu)成一個(gè)單穩(wěn)態(tài)觸發(fā)器[3],當(dāng) MAX4372的輸出端電壓大于2 V時(shí),即電流超過(guò)1 A,則比較器輸出低電平,觸發(fā)單穩(wěn)態(tài),TLC555輸出為高電平,F(xiàn)DN360P截止,停止供電。同時(shí),電容C7不斷充電,當(dāng)V0升高到2VCC/3時(shí),輸出為低電平,F(xiàn)DN360P導(dǎo)通,電源正常供電,此時(shí)如果電流依然過(guò)大,則再次觸發(fā)保護(hù),這樣就形成了一個(gè)不斷嘗試導(dǎo)通的過(guò)程,直到負(fù)載正常為止。此種保護(hù)為硬件保護(hù),反應(yīng)時(shí)間快,單穩(wěn)態(tài)觸發(fā)器及FDN360P動(dòng)作時(shí)間之和大約40 ns,可以有效保護(hù)電源本身及用電器的安全。
本系統(tǒng)包含了電壓的預(yù)設(shè)、采樣、校準(zhǔn)、自適應(yīng)調(diào)整、輸出以及保護(hù)的軟件和硬件的設(shè)計(jì),避開(kāi)了硬件自身及外界環(huán)境的不良影響。成功將數(shù)據(jù)擬合及二分法移植到本系統(tǒng)中,兩種算法的巧妙配合大大減少了乘加運(yùn)算次數(shù),使其在主頻不是很高的小型嵌入式產(chǎn)品上得到實(shí)現(xiàn),同時(shí)調(diào)整速度也比使用單一算法調(diào)整快。電路設(shè)計(jì)中,數(shù)字地和模擬地是隔離開(kāi)的,很大程度上降低了高頻數(shù)字信號(hào)對(duì)電源輸出精度的影響。保護(hù)電路方面,軟硬件雙層保護(hù)大大提升了系統(tǒng)的穩(wěn)定性。系統(tǒng)與遠(yuǎn)程控制端的接口采用通用的USB接口,使其兼容性更強(qiáng)、應(yīng)用范圍更廣。
[1]張旭,亓學(xué)廣,李世光,等.基于STM32電力數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].電子測(cè)量技術(shù),2010,33(11):90-93.
[2]楊紅紅,張琛等.電流傳感放大器MAX471/MAX472的原理及應(yīng)用[J].電子技術(shù)應(yīng)用,2000(2):64-65,68.
[3]譚琦耀.基于 555電路的單穩(wěn)態(tài)觸摸開(kāi)關(guān)設(shè)計(jì)[J].煤炭技術(shù),2012(6).
[4]陸毅,翟麗芳.基于最小二乘法擬合的熱電偶溫勢(shì)特性的虛擬設(shè)計(jì)[J].系統(tǒng)仿真技術(shù),2010(1):49-52.
[5]RM0008 Reference manual.ST Semiconductors.DocID 13902 Rev 9.