1 引言
在國內外,數字移相主要有兩種形式:一種是先將正弦波信號數字化,并形成一張數據表存入rom芯片中,此后可通過2片d/a轉換芯片在單片機的控制下連續地循環輸出該數據表,就可獲得兩路正弦波信號,當兩片d/a轉換芯片所獲得的數據序列完全相同時,則轉換所得到的兩路正弦波信號無相位差,稱為同相。當2片d/a轉換芯片所獲得的數據序列不同時,則轉換所得到的兩路正弦波信號就存在著相位差。相位差的值與數據表中數據的總個數及數據地址的偏移量有關。這種處理方式的實質是將數據地址的偏移量映射為信號間的相位值。
另一種是先將參考信號整形為方波信號,并以此信號為基準,延時產生另一個同頻的方波信號,再通過波形變換電路將方波信號還原成正弦波信號。以延時的長短來決定兩信號間的相位值。這種處理方式的實質是將延時的時間映射為信號間的相位值。
以d/a轉換方式實現的移相,雖然所用元件少,但輸出信號的頻率難以細調,特別是移相的最小單位太大。在50hz頻率下,要達到0.10/步移相精度難以辦到。因此,該方式只適合于對頻率要求不高,且移相角度固定的場合。以延時輸出方波的方式實現的移相,其硬件電路比較復雜(鎖相及波形變換電路)。輸出信號的頻率以參考信號的頻率為準,而參考信號的頻率則可以精確給定。移相的最小單位可小于0.1°/步,這就為無級移相提供了基礎。因此,該方式可用于對頻率要求高,且需3600無級移相的場合。本課題將設計一種相位、電壓幅度都可控制的數字移相器。先用80c196mc產生spwm,通過六個高速光耦發送到驅動板上的ipm實現模塊的調壓及移相。通過串口通信,正弦波的相位、電壓幅度由上位機給定。
2 控制電路的設計及程序的設計
2.1 控制電路的設計
控制電路主要完成spwm波形的產生、實際移相值的測量、與上位機的通訊等功能。
(1) 外部存儲器的擴展
系統采用了16位總線方式,擴展2片程序存儲器27128。74ls138的輸入為地址總線的高3位:a15、a14、a13,其輸出、、通過三輸入與門74ls11連接到兩片存儲器的端,因而2片存儲器的地址是2000h~7fffh,接至存儲器的輸出選通端。程序的偶字節在u2中,奇字節在u3中,存儲器的最低8k沒有使用。電路圖略。
單片機可以按字或字節訪問外部存儲器,但在讀外存時,把16位數據同時取入存儲器控制器,在控制器內部根據情況選取一個字節或一個字,把不用的部分舍棄。信號同時選通高位字節和低位字節,而a0不與存儲器相連。
(2) 基準電壓、輸出電壓與80c196mc的連接
80c196mc需要檢測基準電壓(220vac)和輸出電壓的過零點,以準確延時形成移相,或是構成閉環控制,實現比較精確的移相控制。電路圖如圖1所示。

圖1 基準電壓、輸出電壓與80c196mc的連接電路圖
lm393是電壓比較器,其片內有2個相同的電壓比較模塊,輸出電壓經過2個反并聯的二極管in4148限幅后輸入lm393,是lm393的輸入電壓箝位在±0.7v左右,lm393的輸出連接到80c196mc的68、65腳的2個捕獲/比較模塊的外部引腳上。lm393的輸出需要連接10kω的上拉電阻。

圖2 80c196mc的串行通信電路圖
(3) 80c196mc與上位機的串行通信
80c196mc沒有硬件通用異步收發器uart,利用專門的pts模式可以實現串行輸入和串行輸出功能,既可實現異步sio(asio),也可實現同步sio(ssio)功能。但是,本設計中要求串口和wfg中斷能同時并行處理,所以,系統擴展了1片8251來實現與上位機的通信功能。電路圖如圖2所示。
系統中使用了1片max485實現rs485電平與ttl電平之間的轉化。max485工作方式是半雙工的,在本系統中,也只要求在上位機發送了命令之后才要求80c196mc向上位機發送數據,max485完全能滿足要求,而且,max485還可以同時在上位機與多個終端之間傳送數據。
74ls169用來提供波特率為9600的串口接收/發送時鐘。74ls169是同步16進制計數器,它的計數和置位都是同步的。80c196mc有一個時鐘輸出端clkout,輸出頻率是晶振頻率的1/2,在本系統中是8mhz,經過13分頻后可以得到615385hz的頻率信號,設置8251的分頻系數為64,則可以實現波特率為9615.4hz。8251的工作時鐘直接使用clkout信號。
(4) 輸出電壓與a/d轉換器的連接
把輸出電壓進行a/d轉換后輸入80c196mc可以構成電壓閉環控制。電路圖如圖3所示。

圖3 輸入電壓與a/d轉換器的連接電路圖
輸出電壓經過d6整流后,由r20、r21、c20共同構成簡單分壓、濾波電路,d7、d8起過載保護作用,當輸入電壓高于vref+0.7v左右時,d7導通,輸入電壓被箝位在vref(本電路中vref接在vcc上)左右的水平上;當輸入電壓低于約-0.7v時,d8導通,輸入電壓被箝位在約-0.7v的水平上。這種過載往往是尖峰干擾,持續時間很短。mcs-96技術條件規定模擬輸入端對模擬地的電壓不能低于-0.3v,這一點可以靠輸入端的低通濾波器r22和c21來保證。在輸入端加上的阻容電路,除了起到低通濾波的作用外,一方面,串聯電阻r22可以起到限流作用,另一方面,如果信號源內阻過大會降低a/d轉換的精度,而并聯的電容c21起到誤差補償的作用。
2.2 各個中斷程序的設計
(1) 波形發生器中斷服務程序(wg_int)
在控制板中,80c196mc輸出的三對互補的pwm信號,通過6個高速光耦發送到驅動板上的ipm。
80c196mc片內wfg有3個同步的pwm模塊,每個模塊包含一個相位比較寄存器、一個無信號時間(deadtime)發生器和一對可編程的輸出。wfg可產生獨立的3對pwm波形,但它們有共同的載波頻率、無信號時間和操作方式。一旦起動以后,wfg只要求cpu在改變pwm的占空比時加以干預。
波形發生器中斷程序主要是裝載波形發生器的相位比較寄存器wg_comp1、wg_comp2、wg_comp3。移相后的三相spwm信號的u、v、w三相相位各相差120°,其中的u相用延時來產生,其余v、w相通過查表產生。通過下式:
![]()
計算各個相位比較寄存器中應裝入的值,u_phase是32位寄存器,裝載時,取高16位裝入相位比較寄存器。
(2) 捕獲/比較模塊3中斷服務程序(cap3)
捕獲/比較模塊3主要用來與上位機通訊。通過捕獲8251的接收準備好信號來接收上位機發送的命令,并判斷上位機各命令的意義,命令格式與亞當模塊兼容。本系統中設置了兩條ascii命令,一條是寫配置命令,其格式是:
*寫數據: 寫數據的功能:
%(old addr) s (new addr)<cr> 改變模塊的
地址
%(addr)p(給定移相值)<cr> 給定具體的移相值
%(addr)v(給定電壓值)<cr> 給定具體的電壓值
*讀數據: 讀數據的功能:
#(addr) p <cr> 讀取移相值
#(addr) v <cr> 讀取電壓值
*注:old addr:本模塊的初始地址,本程序中設為8;
new addr: 本模塊的新地址;
addr: 本模塊的地址;
<cr>: 回車。
當80c196mc檢測到相應的命令時,便給出相應的動作,例如:檢測到是寫配置命令,上位機發送完移相值時,80c196mc對wfg進行相應的操作,而延時啟動wfg由捕獲/比較模塊2完成。
(3) 捕獲/比較模塊2中斷服務程序
捕獲/比較模塊2主要用來捕獲基準電壓的過零點。一方面,當上位機發送了移相值后,通過精確延時形成移相,另一方面,把捕獲時刻記錄下來,在捕獲/比較模塊1中計算實際的移相值,構成閉環控制。
(4) 捕獲/比較模塊1中斷服務程序
捕獲/比較模塊1主要用來捕獲輸出電壓的過零點,與捕獲/比較模塊2中記錄的基準電壓過零點相比較,計算實際的移相值,然后調節wg_reload對實際移相值進行微調。檢測pi_pend的tf1位判斷t1是否溢出,可以測量較大范圍的移相值。如果誤差值較大,則通過調節正弦表指針s_pt來調節實際移相值,s_pt每改變1可以使實際移相值增大或減小1°。
(5) 捕獲/比較模塊0中斷服務子程序
捕獲/比較模塊0用來控制80c196mc向上位機發送數據。當上位機發送完一條命令后,80c196mc向上位機發送相應的數據,通過捕獲8251的txrdy信號來實現。所發送的命令的格式與亞當模塊兼容。
讀數據: 讀數據的功能:
#(addr) p <cr> 讀取移相值
#(addr) v <cr> 讀取電壓值
讀數據的響應:
>(addr)p(讀取移相值)<cr>
>(addr)v(讀取電壓值)<cr>
(6) 主程序和a/d轉換器中斷服務程序
主程序中主要任務是進行初始化的工作。a/d轉換器中斷服務程序主要完成對輸出電壓幅值的測量,與給定值相比較,通過調整調制深度來實現閉環控制。
3 驅動板主電路及驅動電路的設計
3.1 三菱智能功率模塊(ipm)
三菱智能功率模塊(ipm)是一種將高速、低損耗igbt及其最佳門極驅動和保護電路集于一體的功率模塊。該模塊通過使用一種先進的在線監控電流傳感型igbt來實現高效的過電流和短路保護。ipm的過溫保護和低電壓閉鎖保護更是大大的提高了系統的可靠性,而且整體模塊體積小,結構緊湊,從而大大減小了整個裝置的外形尺寸。另外,ipm的體積與普通igbt模塊不相上下,價格也比較接近,因此目前應用較為廣泛。ipm內部集成有各路igbt的驅動電路及異常情況檢測電路和保護電路,這些保護包括以下幾方面:控制電壓閉鎖、溫度保護電路、過流保護和短路保護。
隨著智能功率模塊(ipm)技術的發展應用,ipm正在逐步取代普通igbt模塊。采用智能功率模塊(ipm)可以有效地提高系統的可靠性、縮短開發周期。ipm集電力電子和微電子技術于一身,是很有前途的電力電子器件。
3.2 驅動板主電路及驅動電路的設計
驅動板由于采用了第三代ipm,使得電路結構較為簡潔。總體而言,主電路采用了“交-直-交”結構。主電路結構示意圖如圖4所示。

圖4 驅動板電路結構示意框圖
ipm的故障輸出信號共有4路,在驅動板上先將這4路故障輸出信號加以合并后才反饋回單片機的外部事件中斷輸入腳extint。驅動板主電路如圖5所示。

圖5 主電路圖
3.3 單片機與ipm之間光耦的選擇
單片機向ipm發送的控制信號(即80c196mc輸出的六路pwm信號)需經過具有高共模抑制比(cmr)的高速光耦隔離、調整后,再傳輸給ipm的控制信號輸入端。對此種高速光耦的要求如下:
tplh,tphl<0.8μs cmr>10kv/μs
日本toshiba公司生產的tlp559型高速光耦可滿足要求,本文采用了此種光耦為ipm傳送控制信號。
pm20csj060型光耦具有4個故障信號輸出端,對于向單片機反饋的故障信號而言,也需要光耦隔離,低速光耦就可以滿足要求,在這里我選用了tlp521-4型低速光耦。當然,這種低速光耦沒有內部屏蔽,一些開關噪聲會耦合進光耦里,采用一組時間常數約為10μs的rc濾波器加在光耦的輸出端可消除這一噪聲,此濾波器對ipm的故障輸出信號幾乎沒有影響。
4 結束語
80c196mc輸出三對互補的pwm信號,通過6個高速光耦發送到驅動板上的ipm構成了數字移相器,該數字移相器除了能移相外還可以進行電壓的調節。通過串口通信,上位機可以隨意控制正弦波的相位和電壓幅度。該模塊能正常地進行調壓及移相。輸出波形、移相為標準正弦波,波失真度<0.3%,參考相為系統正弦波。移相電壓輸出0~100v(恒壓)。調壓的精度為0.1v。移相范圍:±3600連續可調,移相精度1°。
參考文獻
[1] 徐愛卿. inbbb16位單片機(修訂版)[m]. 北京:北京航空航天大學出版社,2002.
[2] 王秉時. 移相技術的發展與移相器產品的進步[j]. 電測與儀表,1998,(3).
[3] 孫涵芳. inbbb 16位單片機[m]. 北京:北京航空航天大學出版杜,2000.
作者簡介
王福林 華北工學院2001年碩士研究生,研究方向是計算機測量與控制。










