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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 用單片機(jī)和CPLD實(shí)現(xiàn)步進(jìn)電機(jī)的控制

          用單片機(jī)和CPLD實(shí)現(xiàn)步進(jìn)電機(jī)的控制

          作者: 時(shí)間:2008-06-13 來源:中電網(wǎng) 收藏

            是一種將轉(zhuǎn)換成角位移的伺服執(zhí)行器件。其特點(diǎn)是結(jié)構(gòu)簡(jiǎn)單、運(yùn)行可靠、控制方便。尤其是步距值不受電壓、溫度的變化的影響、誤差不會(huì)長(zhǎng)期積累,這給實(shí)際的應(yīng)用帶來了很大的方便。它廣泛用于消費(fèi)類產(chǎn)品(打印機(jī)、照相機(jī))、工業(yè)控制(數(shù)控機(jī)床、工業(yè)機(jī)器人)、醫(yī)療器械等機(jī)電產(chǎn)品中。

          本文引用地址:http://www.ex-cimer.com/article/84181.htm

            通常的步進(jìn)控制方法是采用(PC機(jī)、等)配合專用的步進(jìn)驅(qū)動(dòng)控制器來實(shí)現(xiàn),這存在成本較高、各個(gè)環(huán)節(jié)搭配不便(不同類的必須要相應(yīng)的驅(qū)動(dòng)控制器與之配對(duì))等問題。

            器件具有速度快、功耗低、保密性好、程序設(shè)計(jì)靈活、抗干擾能力強(qiáng)、與外圍電路接口方便等特點(diǎn),越來越多的應(yīng)用于各種工控、測(cè)量、儀器儀表等方面。同時(shí)單片機(jī)非常適合應(yīng)用于需要復(fù)雜的控制算法的場(chǎng)合。因此本設(shè)計(jì)采用的方法是:用單片機(jī)采集現(xiàn)場(chǎng)信號(hào)后計(jì)算出步進(jìn)電機(jī)運(yùn)轉(zhuǎn)所需的控制信息后,再傳給,把接收到的信息轉(zhuǎn)換成步進(jìn)電機(jī)實(shí)際的控制信號(hào)(運(yùn)轉(zhuǎn)方向、運(yùn)轉(zhuǎn)速度)輸出給電機(jī)的驅(qū)動(dòng)電路。這樣的好處是單片機(jī)與各行其是。單片機(jī)可以專注于處理輸入信號(hào)與輸出信息之間的轉(zhuǎn)換等復(fù)雜的算法.不必占用過多的資源去直接控制電機(jī),也減小了由此引入干擾的可能性;CPLD只需把單片機(jī)傳送過來的信息轉(zhuǎn)換成電機(jī)的控制信號(hào)。這樣就發(fā)揮了單片機(jī)和CPLD兩者的優(yōu)點(diǎn)。

            1 步進(jìn)電機(jī)原理簡(jiǎn)介

            通常電機(jī)的轉(zhuǎn)子為永磁體,當(dāng)電流流過定子繞組時(shí),定子繞組產(chǎn)生一矢量磁場(chǎng)。該磁場(chǎng)會(huì)帶動(dòng)轉(zhuǎn)子旋轉(zhuǎn)一角度,使得轉(zhuǎn)子的一對(duì)磁場(chǎng)方向與定子的磁場(chǎng)方向一致。當(dāng)定子的矢量磁場(chǎng)旋轉(zhuǎn)一個(gè)角度。轉(zhuǎn)子也隨著該磁場(chǎng)轉(zhuǎn)一個(gè)角度。每輸入一個(gè)電脈沖,電動(dòng)機(jī)轉(zhuǎn)動(dòng)一個(gè)角度前進(jìn)一步。它輸出的角位移與輸入的脈沖數(shù)成正比、轉(zhuǎn)速與脈沖頻率成正比。改變繞組通電的順序,電機(jī)就會(huì)反轉(zhuǎn)。所以可用控制脈沖數(shù)量、頻率及電動(dòng)機(jī)各相繞組的通電順序來控制步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)。

            我們使用的單極四相步進(jìn)電機(jī)為例。其結(jié)構(gòu)如圖1:

            四個(gè)繞組引出四相(相A1相A2相B1相B2)和兩個(gè)公共線(接到電源的正機(jī))。把繞組的某一相接到電源的地線。這樣該繞組就會(huì)受到激勵(lì)。我們采用四相八拍的控制方式,即1相與2相交替導(dǎo)通,這樣可提高分辨率。每一步可轉(zhuǎn)0.9°控制電機(jī)正轉(zhuǎn)的勵(lì)磁順序如下表:

          單極四相步進(jìn)電機(jī)

            若要求電機(jī)反轉(zhuǎn),將勵(lì)磁信號(hào)倒過來傳送即可。

            2 步進(jìn)電機(jī)控制方案

            控制系統(tǒng)的框圖如下

          控制系統(tǒng)的框圖

            本方案采用AT89S51作為主控制器件。它與AT89C51兼容,同時(shí)還增加了SPI接口和看門狗模塊,這不但使程序調(diào)試變得方便而且也使程序運(yùn)行更加穩(wěn)定。在方案中該單片機(jī)主要實(shí)現(xiàn)現(xiàn)場(chǎng)信號(hào)的采集并計(jì)算出步進(jìn)電機(jī)運(yùn)轉(zhuǎn)的方向和速度信息。然后傳送給CPLD。

            CPLD采用EPM7128SLC84-15,EPM7128是可編程的大規(guī)模邏輯器件,為ALTERA公司的MAX7000系列產(chǎn)品。具有高阻抗、電可擦等特點(diǎn),可用單元為2500個(gè),工作電壓為+5V。CPLD接收到單片機(jī)發(fā)送過來的信息后,轉(zhuǎn)換成對(duì)應(yīng)的控制信號(hào)輸出給步進(jìn)電機(jī)驅(qū)動(dòng)器。驅(qū)動(dòng)器則把控制信號(hào)處理后輸入電機(jī)繞組,實(shí)現(xiàn)了電機(jī)的有效控制。

            2.1 電機(jī)驅(qū)動(dòng)器硬件結(jié)構(gòu)

            電機(jī)的驅(qū)動(dòng)器采用如下電路:

          電機(jī)的驅(qū)動(dòng)器電路

            其中R1-R8的電阻值為320Ω。R9-R12的電阻值為2.2KΩ。Q1-Q4為達(dá)林頓管D401A,Q5-Q8為S8550。J1、J2與步進(jìn)電機(jī)的六條引線相連

            2.2 CPLD硬件電路的設(shè)計(jì)

            使用CPLD器件使電路的設(shè)計(jì)變得十分簡(jiǎn)潔。我們只需要把CPLD的腳引出來, 接上相應(yīng)的外圍器件就可以了。CPLD與專用數(shù)字芯片(如74SC164等)的一個(gè)重要區(qū)別是其 口的功能可任意在軟件上設(shè)定,這樣在硬件設(shè)計(jì)中便可只用考慮電源線與地線的分布。以減小高頻電流噪聲對(duì)數(shù)據(jù)傳輸?shù)挠绊憽?/p>

            在設(shè)計(jì)CPLD電路時(shí),電源、時(shí)鐘以及與目標(biāo)芯片都可通過接插件進(jìn)行連接。最后在管腳鎖定的時(shí)候把CPLD的I/O分別與單片機(jī)和電機(jī)電路部分相連就可以了,這樣使電路的安裝調(diào)試變得更加簡(jiǎn)便。

            2.3 控制的實(shí)現(xiàn)

            由于篇幅的限制。在此只討論單片機(jī)與CPLD邏輯接口部分以及CPLD中控制信號(hào)的產(chǎn)生部分。

            首先說明單片機(jī)和CPLD邏輯接口的問題。AT89S51與EPM7128SLC84的I/O電壓都為5V。所以它們的I/O可以直接連接。無需增加額外的電路。如果使用的是I/O電壓為3.3V的可編程邏輯器件,則需要考慮邏輯接口這個(gè)問題。

            同時(shí)通過時(shí)序分析. 我們可以知道該系統(tǒng)中EPM7128SLC84的輸入信號(hào)建立時(shí)間Ts=8ns。也就是說輸入CPLD的信號(hào)必須持續(xù)8ns以上才能夠被CPLD識(shí)別。單片機(jī)如采用12MHZ的晶振,則信號(hào)的改變時(shí)間為微秒級(jí),完全滿足這個(gè)條件。



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();