關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 超高速攝影機(jī)電控系統(tǒng)設(shè)計(jì)

超高速攝影機(jī)電控系統(tǒng)設(shè)計(jì)

——
作者:胡安平 時(shí)間:2013-08-28 來(lái)源:電子產(chǎn)品世界 收藏

  在XC95288內(nèi)部電路中,F(xiàn)0、F1輸入端口分別輸入標(biāo)準(zhǔn)脈沖和待測(cè)的速度脈沖信號(hào)(經(jīng)過(guò)整形放大以后的信號(hào)),計(jì)數(shù)器0和1分別對(duì)標(biāo)準(zhǔn)脈沖F0和待測(cè)信號(hào)F1進(jìn)行計(jì)數(shù),鎖存器0和1分別對(duì)計(jì)數(shù)器0和1的計(jì)數(shù)值進(jìn)行保存,16位的輸入端口NP作為預(yù)置閘門時(shí)間的設(shè)定端口,設(shè)其輸入值為NP,則預(yù)置閘門時(shí)間T0為T0=NP/f0。

本文引用地址:http://butianyuan.cn/article/164397.htm

  在電路剛開(kāi)始工作時(shí),由清零信號(hào)CLR對(duì)所有的計(jì)數(shù)器、鎖存器和D觸發(fā)器清零。這樣,計(jì)數(shù)器0的計(jì)數(shù)值NN0的初值為0,故此時(shí)NP>NN0,比較器輸出為1,但此時(shí)DFF0觸發(fā)器的輸出F2仍保持此初值0,由于F2作用在計(jì)數(shù)器0和1的使能端,此時(shí)計(jì)數(shù)器沒(méi)有開(kāi)始計(jì)數(shù),直到信號(hào)F1的上升沿到來(lái)后,DFF0觸發(fā)器的輸出F2才翻轉(zhuǎn)為1,允許兩計(jì)數(shù)器計(jì)數(shù)。隨著計(jì)數(shù)值的增加,當(dāng)NN0>NP時(shí),比較器輸出等于0,不過(guò)此時(shí)兩個(gè)計(jì)數(shù)器仍在計(jì)數(shù),直到信號(hào)F1的又一上升沿到來(lái)后,F(xiàn)2=0,兩個(gè)計(jì)數(shù)器都停止計(jì)數(shù),利用F2的下降沿(F3的上升沿)將此時(shí)的計(jì)數(shù)值NN0和NN1分別通過(guò)鎖存器0和1鎖存起來(lái)。然后利用此時(shí)F2=0,經(jīng)D1觸發(fā)器延時(shí)到信號(hào)F0的上升沿到來(lái)后,對(duì)計(jì)數(shù)器0、1清零。延時(shí)清零的原因是為了避免鎖存器鎖存數(shù)據(jù)與計(jì)數(shù)器清零同時(shí)進(jìn)行,從而使存儲(chǔ)數(shù)據(jù)出錯(cuò)。但由于延時(shí)清零,使實(shí)際門控信號(hào)的上升沿比速度信號(hào)F0的上升沿滯后,滯后時(shí)間為信號(hào)F0的一個(gè)周期。為使檢測(cè)結(jié)果準(zhǔn)確,將計(jì)數(shù)器0的計(jì)數(shù)值加1即可。F2實(shí)質(zhì)上就是實(shí)際門控信號(hào)。

  在設(shè)計(jì)電路時(shí),需要考慮計(jì)數(shù)器溢出的情況。例如,在電機(jī)轉(zhuǎn)速很慢的情況下,兩個(gè)速度脈沖信號(hào)上升沿間的時(shí)間間隔較長(zhǎng),這使實(shí)際閘門時(shí)間變得很長(zhǎng),在該段時(shí)間內(nèi),計(jì)數(shù)器0可能會(huì)出現(xiàn)溢出情況。在該情況下,可用3種方法來(lái)解決計(jì)數(shù):一是增加計(jì)數(shù)器0的位數(shù);二是通過(guò)增加計(jì)數(shù)器來(lái)對(duì)溢出次數(shù)另行讀數(shù);三是一旦計(jì)數(shù)器溢出,便認(rèn)為此時(shí)電機(jī)的轉(zhuǎn)速約等于0。這里采用的方法是:在電機(jī)轉(zhuǎn)速很慢的時(shí)候延時(shí)2秒種后再進(jìn)行測(cè)量,而且計(jì)數(shù)器都采用16位寬度。

  ATMega16L的功能設(shè)計(jì)

  ATMega16L是ATMEL公司生產(chǎn)的高性能,采用精簡(jiǎn)指令集,具有預(yù)取指令功能,指令可以在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行,處理速度快。在電控系統(tǒng)中,ATMega16L單片機(jī)負(fù)責(zé)讀取XC95288的電機(jī)測(cè)速值,處理控制內(nèi)外信息的輸入輸出接口,并與上位控制計(jì)算機(jī)通過(guò)RS-485接口進(jìn)行信息交互。

在軟件編程時(shí),利用ATMega16L單片機(jī)定時(shí)/計(jì)數(shù)器與系統(tǒng)時(shí)鐘的預(yù)定比例分頻器,可以獲得很高分辨率的時(shí)間間隔控制精度,例如,單片機(jī)系統(tǒng)采用8MHz的晶振工作,采用8分頻,則時(shí)間控制的間隔可以達(dá)到微秒,完全能夠?qū)崿F(xiàn)超中要求的0.1微秒的控制精度。

  這里給出一個(gè)ATMega16L單片機(jī)讀取XC95288的電機(jī)測(cè)速值的C語(yǔ)言子程序。

  void FX_calc(void)
  {
          //計(jì)算Nb數(shù)值
                F_SEL_NB();
  NB = ReadFrom()+1;
  NB_temp=(uint64_t)NB;
  //計(jì)算Nx數(shù)值
  F_SEL_NX();
  NX = ReadFrom();
  NX_temp=(uint64_t)NX;

  if(NB_temp)
  {
  //計(jì)算Fx數(shù)值
          /*32位時(shí)x不能超過(guò)0xd6=214.75=4,294,967,295/20,000,000
          一定要考慮到溢出問(wèn)題:FF_FF_FF_FF=4,294,967,275, FB=20,000,000
          */
          FX_temp=( (uint64_t) (FB* NX_temp)/NB_temp ); //20000000*x/2000
          FX = (uint32_t) FX_temp;
                }
          usart_send_dword(FX);
          _delay_ms(10);
  }

  結(jié)束語(yǔ)

  根據(jù)以上電路設(shè)計(jì)的轉(zhuǎn)鏡式超機(jī)電控系統(tǒng),已在某系統(tǒng)超高速攝影機(jī)中得到應(yīng)用,系統(tǒng)工作良好。

  參考文獻(xiàn):
  [1] 王杰等.Xinlinx FPGA/設(shè)計(jì)手冊(cè)[M].北京:人民郵電出版社,2011:242
  [2] 劉建清等.輕松玩轉(zhuǎn)AVR單片機(jī)C語(yǔ)言[M].北京:北京航空航天大學(xué)出版社,2011:90

脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理

上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉