新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種帶有限位功能的步進電機控制器

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

        作者: 時間:2011-11-08 來源:網絡 收藏

        步進電機是一種將電脈沖轉換為角位移或直線運動的執行設備。在非超載的情況下,電機轉速和停止位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,因此步進電機廣泛應用于精密控制場合[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循環輸出驅動邏輯時,繞組按照二相雙四拍的方式通電,驅動步進電機正向轉動,反之實現反向轉動。

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

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 敦化市| 福泉市| 平阳县| 福鼎市| 南城县| 成安县| 象州县| 林西县| 青岛市| 丽江市| 海原县| 宁河县| 鄂尔多斯市| 合江县| 炉霍县| 金沙县| 云浮市| 舞阳县| 青浦区| 盐山县| 岚皋县| 金沙县| 勃利县| 黎城县| 西昌市| 萍乡市| 绥德县| 宜阳县| 海晏县| 义马市| 嘉黎县| 枞阳县| 宜宾市| 沙雅县| 普兰店市| 浑源县| 奉节县| 思南县| 阿克| 阿拉尔市| 游戏|