<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設計應用 > 新穎的串行控制步進電機驅動器

          新穎的串行控制步進電機驅動器

          作者: 時間:2006-02-17 來源:網絡 收藏
          摘要:美國Allegro公司推出的A3972型串口器是微步距驅動專用電路。一個A3972外加一個簡易CPU即可實現(xiàn)二相的32微步距驅動。文中介紹該電路的特點、引腳功能和工作原理,并給出A3972的典型應用電路,該電路已成功地應用在某伺服系統(tǒng)中。

          關鍵詞:步進電機 串口器 細分驅動

          1 前言

          A3972是美國Allegro公司生產的PWM恒流微步距驅動二相步進電機專用。它的工作電壓可達50V,驅動電流達1.5A,一個A3972即可驅動一臺二相步進電機。芯片內部的PWM電流控制電路可通過接口被設置為電流慢、快、混合衰減模式。

          通過電機的電流是由電路內部的6位數(shù)/模轉換器(DAC)輸出和外部參考電壓來共同決定的,其中的6位DAC決定了輸出電流有2 6=64個等級。因此,DAC的值每增加1,輸出電流會增加最大電流I-max的1.56%。另外,A3972還能提供完善的保護措施,其中包括抑制瞬態(tài)電壓、過熱保護、防止電流直通、欠電壓自鎖等功能。

          2 A3972的引腳排列和引腳功能

          A3972的引腳排列如圖1所示,各個引腳的功能如下所述:

          引腳1(VCP):電壓泵的輸出電壓引腳,主要用于驅動內部DMOS H橋臂的上二路DMOS管。

          引腳2、3(CP1、CP2):一般在這二個引腳間接一個0.22μF的電容器。該電容器主要是為A3972內部的電壓泵提供電源,電壓泵的輸出為引腳1(VCP)。

          引腳4、9(OUT1B、OUT1A):輸出引腳,每個引腳分別與電機一相繞組的二端相連。

          引腳5、20(LOAD SUPPLY1、LOAD SUPPLY2):電機負載電源端。

          引腳6、7、18、19(GROUND):接地端。

          引腳8、17(SENSE1、SENSE2):在此端接1只采樣電阻器可檢測負載電流,采樣電阻(Rs)的大小與所設定的負載電流有效。

          引腳10、11、12(STROBE、CLOCK、DATA):這3個引腳是A3972的接口,系統(tǒng)通過它們來控制A3972。其中STROBE為使能信號端,CLOCK為時鐘信號端,DATA為數(shù)據(jù)輸入信號端。

          引腳13(REF):此端的電壓與采樣電阻Rs及DAC決定輸出電機負載電流的大小。

          引腳14(MUX):閑置引腳,在實際應用電路中可懸空。

          引腳15(LOGIC SUPPLY):邏輯電路電壓,可以為5V或3.3V。

          引腳16、21(OUT2A、OUT2B):輸出引腳,它們分別與電機一相繞組的二端相連。

          引腳22(VREG):內部產生的電壓輸出端,用于驅動DMOS H橋臂的下二路DMOS管。該端的電壓被內部電路監(jiān)控,一旦出現(xiàn)故障,H橋輸出將被禁止。在實際應用中,VREG引腳應串接一個0.22μF的電容器到GROUND上。

          引腳23(SLEEP):當該引腳為低電平時,A3972將處于睡眠狀態(tài),此時,電路消耗的電流最小,同時,H橋輸出也會被禁止,接口也會被復位為零狀態(tài)。

          引腳24(OSC):外部時鐘輸入引腳,用作內部PWM時基,典型值為4MHz。A3972可使用內部4MHz的時鐘或外部時鐘。如果使用內部時鐘,則應將OSC引腳接地。

          表1 Word 0模式

          Bit功 能Bit功 能
          D0Word select=0D1H橋1,DAC,LSB
          D2H橋1,DAC,位2D3H橋1,DAC,位3
          D4H橋1,DAC,位4D5H橋1,DAC,位5
          D6H橋1,DAC,MSBD7H橋2,DAC,LSB
          D8H橋2,DAC,位2D9H橋2,DAC,位3
          D10H橋2,DAC,位4D11H橋2,DAC,位5
          D12H橋2,DAC,MSBD13H橋1相
          D14H橋2相D15H橋1模式
          D16H橋2模式D17參考電壓選擇方式
          D18電流范圍選擇方式  

          3 A3972的功能

          對A3972的控制是通過3條串行接口線(CLOCK、DATA、STROBE)來實現(xiàn)的。每次發(fā)送時要傳送19個bits,先傳送高位D18,最后傳送最低位D0。A3972有二種數(shù)據(jù)模式:Word 0位設置模式和Word 1 位設置模式。

          3.1 Word 0位設置模式

          當D0=0時,A3972便進入Word 0模式,各位的功能見表1,D0-D18位的含義如下:

          D1-D6:用于設定通過H橋1的電流等級,當全設置為0時,將禁止H橋1工作,開關管關斷。

          D7-D12:用于設定通過H橋2的電流等級,當全設置為0時,將禁止H橋2工作,開關管關斷。

          D13:決定通過負載繞組1的電流方向。為0,表示電流從OUT1B流向OUT1A;為1,則表示電流從OUT1A流向OUT1B。

          D14:決定通過負載繞組2的電流方向,為0,表示電流從OUT2B流向OUT2A;為1,則表示電流從OUT2A流向OUT2B。

          D15:決定H橋1電流衰減模式,為0,表示A3972設置成混合衰減模式;為1,則表示設置成慢衰減模式。

          D16:決定H橋2電流衰減模式,為0,表示A3972設置成混合衰減模式;為1,則表示設置成慢衰減模式。

          D17:決定參考電壓方式,為0,表示選擇內部2V電壓基準作為參考電壓;為1,表示選擇外部參考電壓。

          D18:電流范圍選擇方式,為0表示ITRIP=VDAC/8Rs;為1表示ITRIP=VDAC/4Rs。

          3.2 Word 1位設置模式

          當D0=1時,A3972進入Word 1數(shù)據(jù)模式,D1-D18位的功能見表2,各位的含義如下所述。

          表2 Word 1模式

          Bit功 能Bit功 能
          D0Word select=1D1死區(qū)時間LSB
          D2死區(qū)時間MSBD3關斷時間LSB
          D4關斷時間位1D5關斷時間位2
          D6關斷時間位3D7關斷時間MSB
          D8快速衰減時間LSBD9快速衰減時間位1
          D10快速衰減時間位2D11快速衰減時間位MSB
          D12振蕩器控制C0D13振蕩器控制C1
          D14同步校正位1D15同步校正位2
          D16保留位D17保留位
          D18空閑模式  

          D1、D2死區(qū)時間:用于設置電流調節(jié)時不進行電流采樣比較的時間。當H橋上橋臂某一開關管導通時,由于在開關瞬時箝位二極管和負載中的分布電容受反向恢復電流的影響,將會產生電流尖峰,從而導致錯誤的復位,為了防止在此段時間內這類情況的發(fā)生,應該使電流采樣比較器停止工作。死區(qū)時間的具體設置為D2D1=00:死區(qū)時間為4/fosc;D2D1=01;死區(qū)時間為6fosc;D2D1=10:死區(qū)時間為8/fosc;D2D1=11:死區(qū)時間為12/fosc。

          D3-D7:用于決定內部PWM控制電路的固定關斷時間,固定關斷時間由下式決定

          toff=[(1+N) 8/fosc]-1/fosc(N=0……31)

          例如,當晶振頻率為4MHz時,固定關斷時間可編程設定為1.75μs~63.75μs。

          D8-D11:用于設置電流快速衰減模式所占用的時間在內部PWM控制電路中固定關斷時間所占的比例。只有A3972工作在電流混合衰減模式中時,電流快速衰減才會起作用。電流快速衰減才會起作用。電流快速衰減時間由下式決定

          tdf=[(1+N) 8/fosc]-1/fosc,(N=0……15)

          例如,當晶振頻率為4MHz時,固定關斷時間可編程定為1.75μs~31.75μs。如果tfd>toff,則A3972工作在快速衰減模式下。

          D12-D13:晶振控制,內部4MHz的晶振用于產生時基和電壓泵的時間。如果需要,也可以在OSC端外接一個晶振。為了滿足更寬范圍系統(tǒng)時鐘的需要,內部分頻電路能夠根據(jù)不同的設置產生不同的頻率。D13D12=00:內部4MHz的晶振;D13D12=01:外部時鐘;D13D12=10:外部時鐘的1/2;D13D12=11:外部時鐘的1/4。

          D14-D15:在PWM關斷時,同步校正特征將在電流衰減期間導通相應的MOSFET,這將有效地降低電源功耗,而在絕大多數(shù)應用場合下,不用外接肖特基二極管。D15D14=00:主動模式,當發(fā)現(xiàn)電流過零時,關斷同步校正功能,禁止反向負載電流;D15D14=01:被動模式,允許反向電流,但有一個限度,當超過這個限度時,將會關斷同步校正功能;D15D14=10:禁止模式,這時必須在每個橋反向并聯(lián)4個箝位二極管;D15D14=11:下橋臂模式,當PWM關斷時,下橋臂MOSFET導通,這時,電流從MOSFET內部二極管流過。因此,上橋臂則要反向并聯(lián)箝位二極放寬,這種模式主要用于高壓場合,它可以使每個H橋節(jié)省二個二極管。在這種模式下,下橋臂MOSFET在PWM關斷時間內不停地導通和關斷。

          D16、D17:使A3972處于測試模式,正常工作時,應該設置為00。

          D18:當D18=0時,A3972處于低功耗方式。輸出被禁止,電壓泵也停止工作,但是欠壓監(jiān)視電路仍處于激活狀態(tài)。

          4 串口時序

          數(shù)據(jù)在每一個時鐘節(jié)拍的上升沿傳入移位寄存器,通常情況下,STROBE將會保持為高電平,只有在初始化為寫周期時才會變?yōu)榈碗娖?。傳輸?shù)據(jù)時,最先傳送數(shù)據(jù)的最高位,最后傳送數(shù)據(jù)的最低位。圖2為一個完整的寫數(shù)據(jù)時序圖。圖中的A是最小數(shù)據(jù)建立時間,時長為15ns;B是最小數(shù)據(jù)保持時間,時長為10ns;C是最小建立STROBE信號到CLOCK上升沿時間,時長為150ns;D是最小CLOCK高電平脈沖寬度,時長為40ns;E是最小CLOCK低電平脈沖寬度,時長為40ns;F是最小建立CLOCK上升沿到STROBE時間,時長為50ns;G是最小STROBE脈沖寬度,時長為150ns。

          圖5

          5 典型應用電路

          圖3為A3972的典型應用電路圖。從圖中可以看出,只需要少量的外部元器件和幾根控制線就可構成一個完整的微步距驅動二相步進電機電路。

          圖4為8細分正弦波驅動時二相步進電機的一相電機繞組理論電流波形。

          筆者采用混合式步進電機做實驗,電機的額定電壓為12VDC,額定電流為0.4A,相數(shù)為2相,連續(xù)堵轉為矩為700gcm,結構方式為組裝式,工作方式為長期連續(xù)運行。

          圖5為8細分驅動時實測的一相電機繞組電流波形。該波形為在電機一相繞相上串聯(lián)一個0.68Ω電阻器后所測得的該電阻器上的電壓波形,因此,該波形與實際電流波形是0.68的倍數(shù)關系。

          6 結論

          Allegro公司生產的串行控制步進電機件A3972具有優(yōu)良的特性。它可以工作在整步、半步、1/4步、1/8步、1/16步、1/32(微步距)多種方式下。其特有的3種電流衰減模式可以使步進電機工作在不同的負載和轉速下,而且都能獲得較理想的電流波形。此外,它易于與單片機接口,控制方式靈活。因此,A3972不失為一種高性能的串行控制步進電機微步距。

          晶振相關文章:晶振原理


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();