胡安平
摘要:為了實現轉鏡式超高速攝影系統的電路控制,提出了以ATMega16L單片機及CPLD邏輯電路XC95288為核心的電路控制系統設計方案。該系統可以實現0.1微秒精度的時間控制和1MHz的電機轉速測量,并在某系統高速攝影機中得到應用,效果良好。本文網絡版地址:http:// www.eepw.com.cn/article/164397.htm
關鍵詞:高速攝影;單片機;CPLD;轉速測量
DOI: 10.3969/j.issn.1005-5517.2013.9.018
引言
超高速攝影與一般攝影最根本的區別,在于它能以極快的速度進行拍攝,有很高的時間分辨率,能夠將快速變化的過程記錄下來,可以廣泛應用于高速運動過程研究、瞬態光譜物理、高能物理、炸藥爆轟參數測量等領域。
超高速攝影有超高速光電相機、轉鏡式超高速攝影等。轉鏡式高速攝影有較高的分辯力,轉鏡式高速攝影掃描系統的掃描速度可達0.375km/ s~15km/s,系統分辯力可達80lp/ mm,高速攝影分幅系統的攝影頻率可達104fps~107fps,系統分辨力可達35lp/mm,可滿足速度最高可達幾十千米每秒的高速運動物體的測試需求。
轉鏡式超高速攝影系統是一個涉及光學、機械、電子等技術領域的復雜精密系統,主要由光學系統、機械系統和控制系統組成,這里主要對某項目中用到的轉鏡式超高速攝影系統的電路控制系統設計進行介紹。
超高速攝影電控系統設計
轉鏡式超高速攝影電路控制系統使高速攝影機各部分按程序工作,保證高速攝影機以500萬幀/秒的速度準確可靠地高速拍攝。超高速攝影機電控系統是保證攝影機準確可靠工作、提供分析所需數據的指揮機構。控制系統性能的好壞是衡量高速攝影機質量的重要標志。
超高速攝影電路控制系統主要由控制箱、電源、計算機等組成。電控系統主要功能為:(1)快門開啟和關閉的控制;(2)調整和控制轉鏡的旋轉速度;(3)轉鏡旋轉速度測量和指示;(4)引發脈沖光源;(5)安全保護功能,包括電機的過流保護、傳感器斷電保護等。超高速攝影電控系統工作流程示意如圖1所示。
單片機ATMega16L通過RS485通信接受計算機的指令并完成對其它各個分系統的實時控制。電機脈沖信號放大板將轉鏡轉速測量板的信號放大并送給CPLD邏輯電路XC95288進行測速,并與轉鏡速度控制單元的測速值進行比較,用于判斷是否達到設定的速度;脈沖氙燈控制器用于開啟脈沖氙燈和引發目標信號,機械快門控制單元實現對攝影機的保護,外部觸發及同步信號單元用來獲取外部的同步信號,并根據到達拍攝區域的時間確定零時信號。系統各控制模塊(除電機控制器外)和電源等都裝配在控制機柜中,并通過電纜與對應的快門、電機、氙燈、傳感器和液晶顯示模塊等連接起來。
邏輯電路XC95288的功能設計
XC95288是Xilinx公司的在系統可編程CPLD器件,主要用來完成邏輯控制和轉鏡速度測量等功能,其控制的內容包括轉鏡速度和外部同步信號的讀取、控制機械快門、脈沖氙燈以及觸發目標,同時也控制MAX485等芯片實現與上位控制計算機的半雙工通信。
XC95288與MAX485的連接電路如圖3所示。
超高速攝影機需要將轉鏡加速到預定的拍攝速度,并能夠維持數秒(維持時間不宜過長,否則將損壞電機),以等待拍攝目標的到來。因此要設定拍攝速度的自動選擇環節,當轉鏡速度達到預定的轉速時,它能自動給出信號以穩定電機轉速。當攝影頻率為500萬幀/秒=5×106fps時,拍攝320個畫幅對應轉鏡的旋轉角度為120°,此時轉鏡轉速n為:n=(120/360)fω/N=(1/3)×5×106/32 0=5208.33rps=312500.0rpm。
為了測量電機轉速是否達到設定的轉動速度,這里設計一個速度測量電路,其參數如下:(a)頻率測量范圍:10Hz~1MHz;(b)測量分辨率:1Hz;(c)測量通道靈敏度:50mVpp;(d)通道輸入阻抗:≥100kΩ。
(1)電機信號整形電路
電機轉速輸入的速度頻率信號是方波,并且信號的測量通道靈敏度為50mVpp,為此需要將速度信號放大整形成標準的TTL電平的方波信號,便于XC95288對信號脈沖的計數,放大電路需要將最小為Vpp=50mV的信號經過放大整形后變成Vpp=5V電平,并且前向通道電阻≥100kΩ,則放大電路的電壓放大倍數為:
第一級射級跟隨器提高了輸入阻抗,使其滿足Ri≥100kΩ的要求,使得信號基本上送入后級,再經過兩級的放大使信號放大,最后經施密特觸發器整形成比較好的方波信號,為后面的處理提供信號。
(2)電機速度頻率測量電路
XC95288主要實現對被測信號的脈沖個數進行處理,并通過串口發送到PC上進行實時顯示。這里采用有源晶振40MHz進行分頻得到計時標準時鐘,標準時鐘為電機速度頻率測量提供精度相對較高的時基信號,其時間的穩定性和精度將會直接影響到測量的準確性。
用XC95288實現電機速度測量的電路結構如圖5所示。
在XC95288內部電路中,F0、F1輸入端口分別輸入標準脈沖和待測的速度脈沖信號(經過整形放大以后的信號),計數器0和1分別對標準脈沖F0和待測信號F1進行計數,鎖存器0和1分別對計數器0和1的計數值進行保存,16位的輸入端口NP作為預置閘門時間的設定端口,設其輸入值為NP,則預置閘門時間T0為T0=NP/f0。
在電路剛開始工作時,由清零信號CLR對所有的計數器、鎖存器和D觸發器清零。這樣,計數器0的計數值NN0的初值為0,故此時NP>NN0,比較器輸出為1,但此時DFF0觸發器的輸出F2仍保持此初值0,由于F2作用在計數器0和1的使能端,此時計數器沒有開始計數,直到信號F1的上升沿到來后,DFF0觸發器的輸出F2才翻轉為1,允許兩計數器計數。隨著計數值的增加,當NN0>NP時,比較器輸出等于0,不過此時兩個計數器仍在計數,直到信號F1的又一上升沿到來后,F2=0,兩個計數器都停止計數,利用F2的下降沿(F3的上升沿)將此時的計數值NN0和NN1分別通過鎖存器0和1鎖存起來。然后利用此時F2=0,經D1觸發器延時到信號F0的上升沿到來后,對計數器0、1清零。延時清零的原因是為了避免鎖存器鎖存數據與計數器清零同時進行,從而使存儲數據出錯。但由于延時清零,使實際門控信號的上升沿比速度信號F0的上升沿滯后,滯后時間為信號F0的一個周期。為使檢測結果準確,將計數器0的計數值加1即可。F2實質上就是實際門控信號。
在設計電路時,需要考慮計數器溢出的情況。例如,在電機轉速很慢的情況下,兩個速度脈沖信號上升沿間的時間間隔較長,這使實際閘門時間變得很長,在該段時間內,計數器0可能會出現溢出情況。在該情況下,可用3種方法來解決計數:一是增加計數器0的位數;二是通過增加計數器來對溢出次數另行讀數;三是一旦計數器溢出,便認為此時電機的轉速約等于0。這里采用的方法是:在電機轉速很慢的時候延時2秒種后再進行測量,而且計數器都采用16位寬度。
單片機ATMega16L的功能設計
ATMega16L單片機是ATMEL公司生產的高性能單片機,采用精簡指令集,具有預取指令功能,指令可以在一個時鐘周期內執行,處理速度快。在高速攝影電控系統中,ATMega16L單片機負責讀取XC95288的電機測速值,處理控制內外信息的輸入輸出接口,并與上位控制計算機通過RS-485接口進行信息交互。
在軟件編程時,利用ATMega16L單片機定時/計數器與系統時鐘的預定比例分頻器,可以獲得很高分辨率的時間間隔控制精度,例如,單片機系統采用8MHz的晶振工作,采用8分頻,則時間控制的間隔可以達到微秒,完全能夠實現超高速攝影中要求的0.1微秒的控制精度。
這里給出一個ATMega16L單片機讀取XC95288的電機測速值的C語言子程序。
結束語
根據以上電路設計的轉鏡式超高速攝影機電控系統,已在某系統超高速攝影機中得到應用,系統工作良好。
參考文獻:
[1] 王杰等.Xinlinx FPGA/CPLD設計手冊[M].北京:人民郵電出版社,2011:242
[2] 劉建清等.輕松玩轉AVR單片機C語言[M].北京:北京航空航天大學出版社,2011:90