基于DSP芯片TMS320F240的步進(jìn)電機(jī)的調(diào)焦系統(tǒng)設(shè)計(jì)
0引言:
本文引用地址:http://m.butianyuan.cn/article/151563.htm當(dāng)攝影鏡頭拍攝運(yùn)動的物體時,如果運(yùn)動軌跡已知,攝影鏡頭必須對焦距進(jìn)行調(diào)節(jié),從而調(diào)整目標(biāo)的像點(diǎn)的位置,使得目標(biāo)始終位于焦點(diǎn)上,達(dá)到實(shí)時拍攝的 目標(biāo),傳統(tǒng)變焦大多是利用機(jī)械裝置完成的,比如凸輪機(jī)構(gòu),齒條機(jī)構(gòu);但是由于機(jī)械加工工藝復(fù)雜,其精度、平穩(wěn)性和靈活性都難以滿足要求,為此本系統(tǒng)利用步 進(jìn)電機(jī)帶動攝像機(jī)完成變焦,由于步進(jìn)點(diǎn)機(jī)精確地按照步進(jìn)角轉(zhuǎn)動,并且由DSP進(jìn)行控制,從而滿足了以上機(jī)械裝置無法完成地性能要求。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng) 調(diào)焦曲線與理想曲線擬合度較好,拍攝已知運(yùn)動軌跡的目標(biāo),達(dá)到了滿意效果。
1 調(diào)焦系統(tǒng)設(shè)計(jì)思想
在光學(xué)系統(tǒng)中,采用一組物鏡,調(diào)節(jié)軸向位移,物鏡光學(xué)系統(tǒng)物象關(guān)系是:
X′=f2 / X
其中 X′—— 像距(目標(biāo)像平面到主焦平面的距離);
X —— 物距(目標(biāo)距離);
f —— 光學(xué)系統(tǒng)焦距 f=常量,像距X′與物距X成反比關(guān)系。
利用已知的攝影調(diào)焦曲線確定步進(jìn)電機(jī)轉(zhuǎn)動所需的步數(shù)和時間坐標(biāo)關(guān)系,存入F240數(shù)據(jù)存儲器中,利用F240運(yùn)算速度快、片載FLASH存儲器大 (16K字)的特點(diǎn),準(zhǔn)確控制步進(jìn)電機(jī)控制器驅(qū)動步進(jìn)電機(jī)運(yùn)轉(zhuǎn),通過機(jī)械裝置實(shí)現(xiàn)攝影鏡頭焦距按照規(guī)定的曲線變化,從而實(shí)現(xiàn)實(shí)時拍攝運(yùn)動物體的功能。
2 硬件設(shè)計(jì)部分
2.1步進(jìn)驅(qū)動器UP-4HB03M簡介
UP-4HB03M是北京聯(lián)太工貿(mào)有限公司生產(chǎn)的專用步進(jìn)電機(jī)驅(qū)動器,4HBO3M適用于兩相六出頭混合式及四相混合式步進(jìn)電機(jī),PWM恒流控制方 式;可選擇半步(四相八拍)或者16細(xì)分兩種工作方式;驅(qū)動電流為0.3A連續(xù)可調(diào),并且具有自動半流鎖定功能;脫機(jī)控制及其相位檢測功能;所有控制信號 與功率驅(qū)動部分光電隔離;散熱外殼與驅(qū)動器內(nèi)部完全電絕緣。
2.2 TMS320F240簡介
TMS320F240(以下簡稱F240)由DSP內(nèi)核和片內(nèi)外設(shè)組成。由于DSP內(nèi)核具有較快的計(jì)算和響應(yīng)處理速度,可以應(yīng)付高速應(yīng)用的要 求,同時也為控制軟件的設(shè)計(jì)提供了更加有力的支持,使控制系統(tǒng)能夠完成更加復(fù)雜的功能、實(shí)現(xiàn)更好的控制效果。同時TMS320F240具有豐富的片內(nèi)外 設(shè),包括16路10位A/D轉(zhuǎn)換器、多個可編程的多路復(fù)用I/O引腳、硬件UART以及SPI總線等。特別是TMS320F240片內(nèi)設(shè)置了一個事件管理 器(EPA),可以提供6路全比較PWM通道,能方便地實(shí)現(xiàn)各種PWM波形的發(fā)生。這里使用F240主要是考慮F240速度快以及有豐富的I/O引腳資 源;程序燒寫方便,利于更新曲線坐標(biāo)以及修改程序;性價比較高等因素。
2.3 硬件設(shè)計(jì)
本系統(tǒng)的硬件接口電路如圖1所示,74ls14為反相器,接到DSP的I/O口以提高其驅(qū)動能力,CH1是一個八腳的插頭,用于外接步進(jìn)機(jī)的各項(xiàng)繞 組。步進(jìn)電機(jī)以及攝影鏡頭部分從略。工作過程如下:首先獲得攝影調(diào)焦曲線,利用MATLAB軟件,得出時間位移坐標(biāo),再換算成步進(jìn)電機(jī)轉(zhuǎn)動所需的步數(shù)時間 坐標(biāo),以數(shù)組的行式保存下來。在F240的數(shù)據(jù)存儲器中開辟空間存儲步數(shù)時間數(shù)組,利用F240定時器完成計(jì)時,I/O口輸出相應(yīng)寬度的脈沖信號,驅(qū)動步 進(jìn)電機(jī)驅(qū)動器UP-4HB03M,其中CP為步進(jìn)脈沖輸入端;FREE為脫機(jī)端,高電平有效,F(xiàn)REE=1時,電機(jī)處于釋放狀態(tài);V/D為方向控制端,高 低電平分別控制電機(jī)正反轉(zhuǎn)。
圖1 硬件接口電路圖
3 軟件設(shè)計(jì):
由于電機(jī)的運(yùn)行和轉(zhuǎn)動步數(shù)以及兩步之間間隔時間有關(guān)系,故采用計(jì)時器計(jì)時的方法來計(jì)算時間,F(xiàn)240初始化程序如下:
void Initcpu(void) //初始化F240程序
{ *WDCR=0x6f; // 禁止自帶的看門狗功能;
*CKCR1=0x69; // 外部輸入晶振為20MHZ,F(xiàn)240工作在20MHZ;
*CKCR0=0xc3; // 系統(tǒng)時鐘為10MHZ;
*SYSCR=0x4000; } // F240輸出頻率CLKOUT=IOPC1(I/O管腳);
F240初始化后,計(jì)時器的基本計(jì)時時間為0.1µs,考慮到F240定時器是16位計(jì)數(shù)器,這難以滿足計(jì)算長時間的需求,所以采用通 過計(jì)算進(jìn)入定時器中斷的次數(shù)來計(jì)算長時間的方法。例如設(shè)置定時器周期寄存器值為800即*T1PR=800,那么進(jìn)一次定時器中斷時間為800*0.1= 80µs如果計(jì)時為1s的話,則只需進(jìn)12500次中斷即可,以此類推;故定義的數(shù)組內(nèi)容表示如下:
評論