新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 單片機對儀表步進電機的細分控制

        單片機對儀表步進電機的細分控制

        作者:閻世棟 中科院武漢物理與數學研究所 時間:2010-07-05 來源:電子產品世界 收藏

          綜上,選用具有兩路16位精度PWM功能的ATMEGA48,外圍硬件電路設計如圖2。

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

          使用該具有PWM功能的PB1和PB2連接PWM_A和PWM_B,使用兩個普通引腳連接DIR_A和DIR_B即可實現對電機的控制。原理說明如下:電機的A、/A、B、/B分別對應四輸入與門電路的3、6、8、11引腳。在DIR_A和DIR_B為低電平時,門電路的1、9引腳為0狀態,三極管Q3、Q4截止,門電路的4、12引腳由于上拉處于1狀態,這樣,與門電路的3、8輸出為0,即A、B為0;此時與門電路的6、11輸出與PWM_A和PWM_B保持一致,即/A、/B由PWM_A和PWM_B決定。在其他狀態下,也具有同類特點:A和/A之間、B和/B之間的通電極性由DIR_A和DIR_B決定;A和/A之間、B和/B之間的電流大小由PWM_A和PWM_B的占空比決定。而且只要三極管Q3、Q4工作正常,與門電路就不會出現邏輯混亂的情況。

          配合硬件的設計,軟件上編寫了一個由64個數據組成的數組,分別對應了0~90o正弦波幅度變化的8位數字量化值(以階梯波的方式模擬了64點正弦波抽樣),每個值用來控制輸出波形占空比,實際上參與了電流矢量夾角轉動90o過程中其電流大小的計算。眾所周知,正弦、余弦波相位相差90o,在已知0~90o正弦波幅度變化表后,同樣可以得出90o~180o、180o~270o、270o~360o(0o)的正弦波、余弦波幅度變化表,所以通過0~90o正弦波幅度變化的8位數字量化表的演化,就可以在兩相八拍(二細分)的基礎上把電流矢量夾角分成四個象限,配合極性的控制,在每個象限中把A或/A的正弦波和B或/B的余弦波作8種組合,在每種組合中完成電流大小的變化,最終作到兩相64拍(16細分)的控制。而且,最巧妙的一點就在于:通過選擇64個數據對應每90o范圍的正弦波的64個點,就可以用一個字節的大小來作為區分4個象限的標志,便于對正、余弦的角度進行演化,即0~63對應0~90o,64~127對應90o~180o,128~191對應180o~270o,192~255對應270o~360o。

          兩相64拍A、B、/A、/B的驅動狀態表如表3(以B為起始狀態)。

          由于指針從當前角指向目標角時,變化量會有不同。為保證指針響應靈敏、無抖動,必須在正、反轉時考慮加、減速控制。程序中,可以根據變化量的大小和正負設定幾個控制區間,分別寫入不同的延時參數,根據此延時參數來控制電流大小、方向(改變PWM_A和PWM_B、DIR_A和DIR_B)變化時間,就達到了加、減速的控制的目的。

          結語

          通過雙PWM方式控制兩相步進電機,既達到了高精度細分的目的,又在硬件成本上得到了優化。在現有電路的后級增加功率驅動電路并作程序的少量修改,就可以做成高精度、多細分步進電機驅動器。


        上一頁 1 2 下一頁

        關鍵詞: 單片機 儀表

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乌什县| 峨眉山市| 广宁县| 灵山县| 资中县| 太和县| 青田县| 德保县| 含山县| 广元市| 威海市| 苏尼特右旗| 温宿县| 吴堡县| 阳新县| 桦川县| 汶川县| 长泰县| 潞西市| 祁东县| 道真| 周宁县| 化州市| 凤翔县| 昔阳县| 明水县| 谷城县| 揭东县| 陕西省| 哈巴河县| 探索| 曲阳县| 大名县| 杂多县| 区。| 兖州市| 黔江区| 湟源县| 台山市| 田林县| 莱州市|