閱讀 | 訂閱
閱讀 | 訂閱
控製係統

一種帶有限位功能的步進電機控製器

星之球激光 來源:電子技術應用2011-11-04 我要評論(0 )   

步進電機是一種將電脈衝(chong) 轉換為(wei) 角位移或直線運動的執行設備。在非超載的情況下,電機轉速和停止位置隻取決(jue) 於(yu) 脈衝(chong) 信號的頻率和脈衝(chong) 數,而不受負載變化的影響,因此步進電...

步進電機是一種將電脈衝(chong) 轉換為(wei) 角位移或直線運動的執行設備。在非超載的情況下,電機轉速和停止位置隻取決(jue) 於(yu) 脈衝(chong) 信號的頻率和脈衝(chong) 數,而不受負載變化的影響,因此步進電機廣泛應用於(yu) 精密控製場合[1]。
    在基於(yu) 圖像處理評價(jia) 函數的調焦係統中,常用的調焦策略包括斐波那契搜索法和爬山搜索法,其中又以爬山搜索法應用最為(wei) 廣泛[2]。根據爬山搜索的原理,在開始搜索時,先複位調焦鏡頭到起始搜索位置,在搜索焦點的過程中,要防止由於(yu) 圖像噪聲等幹擾造成程序判斷錯誤,導致調焦鏡頭越出調焦範圍邊界。
    為(wei) 了適應這種控製需求,對通用步進電機控製器進行了改進,使其在具有自動和手動控製功能的同時,引入限位信號反饋控製。電機控製器使用硬件描述語言(HDL)編寫(xie) ,而限位信號則由位置感應電路中的光電開關(guan) 器件自動反饋。
1 步進電機驅動原理
    步進電機與(yu) 直流電機的驅動方式不同,它需要邏輯控製器與(yu) 功率驅動電路配合使用。具有位置感應電路的步進電機驅動原理圖如圖1所示。

    電機控製器接受指令單元的控製指令,同時檢測位置感應電路反饋的限位信號,然後向功率驅動單元傳(chuan) 遞驅動邏輯,功率驅動單元轉換這些驅動邏輯,並輸出功率脈衝(chong) 驅動步進電機運行。
2 步進電機控製器
    通用步進電機控製器主要用於(yu) 輸出驅動邏輯信號,控製步進電機的運行方向、速度、步數和停止。本文的步進電機控製器要求具有手動和自動控製功能,同時加入複位和限位處理模塊,控製目標為(wei) 一種二相四線製步進電機。加入限位信號(LIMIT)控製功能的控製器頂層信號如圖2所示。

    圖2中DATA為(wei) 電機自動運行的步數,HOLD控製電機停止,MANUAL為(wei) 手動觸發信號,DIRECTION用於(yu) 控製運行方向,RESET_TRI為(wei) 爬山搜索複位信號,四路OUT信號為(wei) 步進電機的輸出邏輯,用於(yu) 四線製步進電機的驅動控製。通過控製輸出邏輯的頻率DRI_CLK可以控製步進電機運行速度,而輸出邏輯的轉換方向則控製了步進電機的運行方向[3]。
2.1 模塊實現
    步進電機在具有一定轉換方向的驅動脈衝(chong) 下運行,據此將電機控製器劃分為(wei) 方向控製和邏輯輸出兩(liang) 個(ge) 部分。限位信號用於(yu) 複位和限定運行方向,因此在方向控製部分同時處理限位;在邏輯輸出部分,按照控製需求再次劃分為(wei) 複位、自動和手動三個(ge) 邏輯處理模塊,在邏輯輸出的實現方式上,複位、自動和手動通過一定的優(you) 先級邏輯,通過發送電機占用請求複用邏輯輸出模塊。圖3為(wei) 控製器模塊劃分示意圖。

    (1)爬山複位
    爬山複位模塊用於(yu) 複位調焦鏡頭到爬山搜索的起始位置。電機控製器在捕獲到指令單元的複位信號後,按預定的運行方向產(chan) 生驅動邏輯,直至控製器收到限位信號LIMIT的有效反饋後停止。複位過程中,自動和手動請求無效。
    (2)自動控製
    步進電機控製器的步數數據接收端DATA在接收到指令單元傳(chuan) 入的運行步數後,首先檢查當前是否有其他電機占用請求,如果電機空閑,就按照同時傳(chuan) 入的方向信號輸出指定步數的驅動邏輯;否則忽略本次自動控製請求。
    (3)手動微調
    手動微調在控製器中作為(wei) 一種輔助控製手段,允許人工微調調焦鏡頭的位置。每啟動一次手動微調,電機就按照設定的運行方向,運行一段固定的微調距離。控製器在捕獲到手動輸入信號後,同時讀取手動運行方向DIRECTION的設置值,如果當前電機空閑,則按照手動輸入的方向信號輸出固定步數的驅動邏輯;否則手動請求無效。
    (4)方向和限位處理
    當控製器運行在手動微調或自動控製時,需要防止調焦鏡頭越出邊界。方向模塊在收到有效的限位信號LIMIT後,對正在輸出的方向信號取反,控製步進電機反方向運行,實現限位要求。當控製器沒有收到限位信號反饋時,則讀取DIRECTION端口的方向,傳(chuan) 遞給邏輯輸出模塊,用於(yu) 控製驅動邏輯的轉換方向。
    (5)邏輯輸出
    邏輯輸出模塊內(nei) 置邏輯發生器,邏輯發生器按照電機請求和方向信號輸出驅動邏輯。方向信號用於(yu) 控製驅動邏輯的轉換方向;自動和手動模塊的核心是計數器,電機請求信號是步數計數器的輸出,因此電機請求信號的有效時間表示允許邏輯發生器運行的時鍾周期數。
2.2 邏輯發生器
    邏輯發生器的輸出邏輯與(yu) 步進電機的驅動方式密切相關(guan) 。本文控製目標的驅動方式為(wei) 二相雙四拍式。標記步進電機的兩(liang) 相繞組為(wei) :A(+)、B(-)、C(+)、D(-),AB為(wei) 一相,CD為(wei) 另一相,則二相雙四拍的驅動方式為(wei) AC-AD-BD-BC[4]。二相雙四拍的驅動方式是指電機輸入線的通電方式,也即功率驅動單元的輸出通電脈衝(chong) ,而邏輯發生器的輸出還要考慮功率驅動單元的轉換方式。
    功率驅動單元可以使用MOS管等分立元件或專(zhuan) 用集成電路實現[5]。為(wei) 了減少電路規模,采用專(zhuan) 用驅動芯片BA6845FS完成功率轉換。該芯片具有四路電平轉換,支持二相雙四拍驅動方式;輸出飽和電壓低、內(nei) 置節電和過熱保護電路,可以降低電路功耗,同時提高電路可靠性。其真值表如表1所示[6]。從(cong) 表1中可以看出,當控製器沒有接到電機運行指令時,可以設置邏輯發生器的輸出B/D為(wei) 0,使步進電機的繞組處於(yu) 開路狀態,防止電機發熱。

    根據表1的功率轉換方式,可以得到邏輯發生器的輸出邏輯與(yu) 二相雙四拍繞組通電方式的對應轉換關(guan) 係,如表2所示。表2中1代表高電平,磁極繞組通電;0代表低電平,磁極繞組不通電。

    表2中,繞組任意一次通電方式間的變化(1-2、2-3、3-4、4-1),步進電機都會(hui) 轉動一個(ge) 步距角,即移動一步,所以可以通過控製驅動邏輯轉換的次數來控製步進電機轉動的步數。邏輯發生器按照脈衝(chong) 計數的順序,從(cong) 1到4循環輸出驅動邏輯時,繞組按照二相雙四拍的方式通電,驅動步進電機正向轉動,反之實現反向轉動。

  按照表2中的邏輯輸出電平即可設計邏輯發生器。其VerilogHDL代碼如下:
    always @(negedge clk or negedge reset)
    begin
        if(!reset) q = 4’b0000;#p#分頁標題#e#
        else if(!hold || !run_en) q = 4’b0000;
        //輸出0可以使功率芯片輸出開路狀態,
        //防止電機發熱
          else begin//電機請求有效
          if(!direc_i)//反方向
          case (q)  //表2中的邏輯輸出
            4'b0111 : q = 4'b1111;
            4'b1111 : q = 4'b1101;
            4'b1101 : q = 4'b0101;
            4'b0101 : q = 4'b0111;
            default : q = 4'b0101;
          endcase
          else if(direc_i)//正方向
          case (q)
            4'b0111 : q = 4'b0101;
            4'b0101 : q = 4'b1101;
            4'b1101 : q = 4'b1111;
            4'b1111 : q = 4'b0111;
            default : q = 4'b0101;   
          endcase 
        end
    end
3 仿真與(yu) 實驗
    為(wei) 了驗證所設計的步進電機控製器是否能正常工作,使用EDA工具和Nioses II嵌入式係統對控製器進行功能仿真和實驗驗證。
3.1 功能仿真
    使用測試台(testbench)程序在Modelsim中對步進電機控製器進行功能仿真。仿真時鍾周期為(wei) 100 ns,仿真結果如圖4所示。測試台程序在預定的時間點自動修改輸入端口寄存器的值,並監視邏輯發生器的輸出。在評價(jia) 功能仿真輸出結果時,主要查看自動、手動和複位3個(ge) 模塊的仿真輸出邏輯是否按測試台程序要求轉換了預定的次數,同時檢查限位和停止功能是否有效。

 

    圖4中,測試台首先設置爬山複位(reset_tri)為(wei) 有效,邏輯發生器開始輸出驅動邏輯,直到限位信號(limit)下降沿到來,A/B/C/D恢複為(wei) 0;接著置手動觸發信號(manual)有效,邏輯發生器在輸出手動控製模塊預置的7次驅動邏輯轉換後,A/B/C/D恢複為(wei) 0;然後向自動步數(data)寫(xie) 入數據’00001001’,邏輯發生器輸出了9次邏輯轉換;在手動和自動控製過程中,測試台在邏輯輸出過程中插入了有效的限位信號。由圖4可以看出,在1600 ns和3 μs 處,驅動邏輯的轉換方向發生了變化;最後,向data寫(xie) 入數據’00000100’,驅動邏輯重新開始輸出,輸出過程中遇到停止信號(hold)有效,強製輸出A/B/C/D為(wei) 0。仿真結果表明所設計的步進電機控製器的功能正確。
3.2 實驗驗證
    步進電機控製器的實驗驗證電路如圖5所示。嵌入Nioses II處理器的片上可編程係統(SoPC)在ALTERA DE2開發板的FPGA中建立,同時設計了位置感應電路和功率驅動電路,用來驗證複位和限位功能以及驅動步進電機。

 

 


    位置感應電路如圖6所示。采用光電開關(guan) (optoiso)作為(wei) 限位信號傳(chuan) 感器,當調焦鏡頭在設定區域內(nei) 運行時,限位傳(chuan) 感器輸出高電平信號,到達邊界時則輸出低電平信號。光電開關(guan) 輸出的電平信號經存儲(chu) 後,輸出限位信號LIMIT。
    步進電機的功率驅動電路如圖7所示,圖中A/B/C/D是步進電機控製器輸出的邏輯電平信號,經存儲(chu) 後送入BA6845FS進行功率轉換,而功率芯片的輸出端口直接與(yu) 二相四線製步進電機的繞組控製線相連。

    完成功率電路和位置反饋電路製作後,把它們(men) 連接在DE2開發板上。將步進電機控製器與(yu) Avalon總線信號連接後添加到Nioses II係統集成工具SoPC Builder中,然後添加其他Nioses II係統模塊構成一個(ge) SoPC並下載到FPGA。最後編寫(xie) 麵向Nioses II處理器的步進電機控製程序,其中手動控製采用按鍵中斷方式。通過程序向步進電機發送自動和手動以及複位控製命令,驗證步進電機的運行狀況。實驗結果表明,步進電機可以響應自動控製和手動微調請求,同時有效的限位信號可以複位調焦鏡頭到達爬山起始位置和限定鏡頭的移動範圍。
參考文獻
[1] 郭麗(li) 霞.基於(yu) AMIS30522的步進電機控製器設計及實現[J].自動化與(yu) 儀(yi) 表,2009(8):14-17.
[2] 程永強,黃英男,謝克明.一種攝像頭自動聚焦方法及硬件實現[J].電子技術應用,2009,(1):28-31.
[3] 張文愛,李逢磊,程永強.基於(yu) FPGA的步進電機驅動及自動聚焦的實現[J].電子技術應用,2008(5):33.
[4] 王美川,王紫婷.基於(yu) FPGA控製的步進電機驅動設計[J]. 電子測量技術,2008,31(6):184-187.
[5] 蔚永強,張秦嶺,郭宏.一種低成本的新型步進電機驅動器的研製[J].微計算機信息,2007,23(10):95-97.
[6] Rohm CO.,LTD.Stepping motor driver BA6845FS[EB/OL].2005[2010-09-28].http://www.rohm.com.cn/.

轉載請注明出處。

免責聲明

① 凡本網未注明其他出處的作品,版權均屬於(yu) fun88网页下载,未經本網授權不得轉載、摘編或利用其它方式使用。獲本網授權使用作品的,應在授權範圍內(nei) 使 用,並注明"來源:fun88网页下载”。違反上述聲明者,本網將追究其相關(guan) 責任。
② 凡本網注明其他來源的作品及圖片,均轉載自其它媒體(ti) ,轉載目的在於(yu) 傳(chuan) 遞更多信息,並不代表本媒讚同其觀點和對其真實性負責,版權歸原作者所有,如有侵權請聯係我們(men) 刪除。
③ 任何單位或個(ge) 人認為(wei) 本網內(nei) 容可能涉嫌侵犯其合法權益,請及時向本網提出書(shu) 麵權利通知,並提供身份證明、權屬證明、具體(ti) 鏈接(URL)及詳細侵權情況證明。本網在收到上述法律文件後,將會(hui) 依法盡快移除相關(guan) 涉嫌侵權的內(nei) 容。

網友點評
0相關評論
精彩導讀