• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 關(guān) 閉

    新聞中心

    EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 采用ATMEGA48單片機(jī)的儀表步進(jìn)電機(jī)的細(xì)分控制

    采用ATMEGA48單片機(jī)的儀表步進(jìn)電機(jī)的細(xì)分控制

    作者: 時間:2012-08-14 來源:網(wǎng)絡(luò) 收藏

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

    本文引用地址:http://www.czjhyjcfj.com/article/160107.htm

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

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

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

      結(jié)語

      通過雙PWM方式控制兩相,既達(dá)到了高精度的目的,又在硬件成本上得到了優(yōu)化。在現(xiàn)有電路的后級增加功率驅(qū)動電路并作程序的少量修改,就可以做成高精度、多細(xì)分電機(jī)驅(qū)動器。


    上一頁 1 2 3 下一頁

    評論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 阿勒泰市| 余姚市| 汾西县| 湾仔区| 金沙县| 阳西县| 虹口区| 红安县| 象州县| 彭州市| 荥阳市| 黑水县| 吉水县| 石林| 吐鲁番市| 封开县| 防城港市| 灌阳县| 南昌市| 温宿县| 兰西县| 固始县| 鸡泽县| 南京市| 读书| 梨树县| 崇礼县| 阿拉善盟| 全州县| 九龙坡区| 宁德市| 会昌县| 滁州市| 夏邑县| 遵化市| 凤山县| 盐亭县| 玉环县| 无为县| 宜春市| 正安县|