關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 超高速攝影機電控系統設計

        超高速攝影機電控系統設計

        ——
        作者:胡安平 時間:2013-08-28 來源:電子產品世界 收藏

          在XC95288內部電路中,F0、F1輸入端口分別輸入標準脈沖和待測的速度脈沖信號(經過整形放大以后的信號),計數器0和1分別對標準脈沖F0和待測信號F1進行計數,鎖存器0和1分別對計數器0和1的計數值進行保存,16位的輸入端口NP作為預置閘門時間的設定端口,設其輸入值為NP,則預置閘門時間T0為T0=NP/f0。

        本文引用地址:http://www.104case.com/article/164397.htm

          在電路剛開始工作時,由清零信號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語言子程序。

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

          if(NB_temp)
          {
          //計算Fx數值
                  /*32位時x不能超過0xd6=214.75=4,294,967,295/20,000,000
                  一定要考慮到溢出問題: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);
          }

          結束語

          根據以上電路設計的轉鏡式超機電控系統,已在某系統超高速攝影機中得到應用,系統工作良好。

          參考文獻:
          [1] 王杰等.Xinlinx FPGA/設計手冊[M].北京:人民郵電出版社,2011:242
          [2] 劉建清等.輕松玩轉AVR單片機C語言[M].北京:北京航空航天大學出版社,2011:90

        脈沖點火器相關文章:脈沖點火器原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广安市| 宁晋县| 敖汉旗| 苏尼特右旗| 横峰县| 乡城县| 长阳| 贵定县| 三台县| 长岛县| 额尔古纳市| 辽宁省| 桃园县| 海口市| 朝阳县| 和平区| 九寨沟县| 阿拉善右旗| 怀安县| 资兴市| 德化县| 确山县| 祁连县| 东至县| 云梦县| 绥阳县| 西吉县| 张掖市| 汤阴县| 新野县| 长宁县| 古蔺县| 神木县| 英超| 永清县| 策勒县| 右玉县| 临潭县| 历史| 沙坪坝区| 麻城市|