新聞中心

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

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

        作者: 時間:2011-11-08 來源:網絡 收藏
        按照表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/.

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

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 建阳市| 淳化县| 巴东县| 科技| 泾阳县| 巧家县| 肇州县| 绥江县| 调兵山市| 苗栗县| 鄂托克前旗| 洛浦县| 延寿县| 五大连池市| 宁津县| 正安县| 基隆市| 平凉市| 泸水县| 徐水县| 体育| 荣昌县| 龙川县| 乐安县| 清水河县| 勐海县| 武宁县| 沛县| 安宁市| 汉川市| 双辽市| 乳源| 岳池县| 海林市| 石门县| 罗甸县| 沽源县| 利津县| 华容县| 沐川县| 永平县|