《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種帶有限位功能的步進電機控制器
一種帶有限位功能的步進電機控制器
來源:電子技術應用2011年第6期
劉 濤1,趙 武1,馬曉龍2,張志勇1
1.西北大學 信息科學與技術學院,陜西 西安710127; 2.西安交通大學 電子與信息工程學院,陜西 西安710049
摘要: 為了適應調焦系統中爬山算法的搜索復位和區域限定要求,對通用步進電機控制器進行了改進,使其可以利用位置感應電路的限位信號主動完成搜索復位和限位。步進電機控制器通過了功能仿真,并在可編程門陣列器件中進行了實驗。結果表明該控制器實現了預期的功能要求,復位與限位功能正常。
中圖分類號: TM383.6
文獻標識碼: A
文章編號: 0258-7998(2011)06-0048-04
A stepper motor controller with function of position limiting
Liu Tao1,Zhao Wu1,Ma Xiaolong2,Zhang Zhiyong1
1.School of Information Science and Technology, Northwest University, Xi′an 710127,China; 2.School of Electronics and Information Engineering, Xi'an Jiaotong University, Xi′an 710049,China
Abstract: In order to adapt to the request of search reset and the area limiting of climbing algorithm in focusing system, general stepper motor controller has been improved so that it can be done resetting and limiting using active sensing signal of boundary. The new controller achieved the anticipative function and performance requirement in experiments based on FPGA, the function of resetting and position limiting operates peaceful.
Key words : stepper motor;position limiting;climbing algorithm;FPGA


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

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

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

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

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

    表2中,繞組任意一次通電方式間的變化(1-2、2-3、3-4、4-1),步進電機都會轉動一個步距角,即移動一步,所以可以通過控制驅動邏輯轉換的次數來控制步進電機轉動的步數。邏輯發生器按照脈沖計數的順序,從1到4循環輸出驅動邏輯時,繞組按照二相雙四拍的方式通電,驅動步進電機正向轉動,反之實現反向轉動。
    按照表2中的邏輯輸出電平即可設計邏輯發生器。其VerilogHDL代碼如下:
    always @(negedge clk or negedge reset)
    begin
        if(!reset) q = 4’b0000;
        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 仿真與實驗
    為了驗證所設計的步進電機控制器是否能正常工作,使用EDA工具和Nios II嵌入式系統對控制器進行功能仿真和實驗驗證。
3.1 功能仿真
    使用測試臺(testbench)程序在Modelsim中對步進電機控制器進行功能仿真。仿真時鐘周期為100 ns,仿真結果如圖4所示。測試臺程序在預定的時間點自動修改輸入端口寄存器的值,并監視邏輯發生器的輸出。在評價功能仿真輸出結果時,主要查看自動、手動和復位3個模塊的仿真輸出邏輯是否按測試臺程序要求轉換了預定的次數,同時檢查限位和停止功能是否有效。

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

 

 


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

    完成功率電路和位置反饋電路制作后,把它們連接在DE2開發板上。將步進電機控制器與Avalon總線信號連接后添加到Nios II系統集成工具SoPC Builder中,然后添加其他Nios II系統模塊構成一個SoPC并下載到FPGA。最后編寫面向Nios II處理器的步進電機控制程序,其中手動控制采用按鍵中斷方式。通過程序向步進電機發送自動和手動以及復位控制命令,驗證步進電機的運行狀況。實驗結果表明,步進電機可以響應自動控制和手動微調請求,同時有效的限位信號可以復位調焦鏡頭到達爬山起始位置和限定鏡頭的移動范圍。
參考文獻
[1] 郭麗霞.基于AMIS30522的步進電機控制器設計及實現[J].自動化與儀表,2009(8):14-17.
[2] 程永強,黃英男,謝克明.一種攝像頭自動聚焦方法及硬件實現[J].電子技術應用,2009,(1):28-31.
[3] 張文愛,李逢磊,程永強.基于FPGA的步進電機驅動及自動聚焦的實現[J].電子技術應用,2008(5):33.
[4] 王美川,王紫婷.基于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/.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 9久9久热精品视频在线观看| 亚洲成a人片在线观看播放| 精品国产福利片在线观看| 天天爱天天干天天| 久久人妻无码中文字幕| 欧美日韩国产另类一区二区三区| 国内精品久久久久久久97牛牛| 亚洲免费人成视频观看| 精品久久久久久久久久中文字幕| 国产精品无码av在线播放| 一个男的操一个女的| 日本人护士免费xxxx视频| 亚洲欧美在线看| 真实国产乱子伦沙发睡午觉| 国产中年熟女高潮大集合| 1024视频在线| 国精产品一区一区三区有限公司 | 麻豆av一区二区三区| 在线观看国产情趣免费视频| 中文字幕人妻三级中文无码视频| 澳门开奖结果2023开奖记录今晚直播视频| 国产爆乳无码视频在线观看3| 中文字幕手机在线免费看电影| 欧美牲交a欧美牲交aⅴ免费下载| 国产三级在线观看免费| 午夜激情小视频| 在厨房里挺进美妇雪臀| 一级做a爱视频| 日批视频在线看| 五月天色婷婷综合| 欧美爽爽爽爽爽爽视频| 免费乱理伦在线播放| 色88久久久久高潮综合影院| 国产成人亚洲精品91专区手机| H无码精品3D动漫在线观看| 成人免费毛片观看| 久久国产免费一区| 最近中文字幕mv高清在线视频| 伊甸园在线观看国产| 糖心VLOG精品一区二区三区| 国产午夜电影在线观看不卡|