在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            關(guān) 閉

            新聞中心

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

            用AT89S51和CPLD實現(xiàn)步進電機的控制

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

            步進電機是一種將脈沖信號轉(zhuǎn)換成角位移的伺服執(zhí)行器件。其特點是結(jié)構(gòu)簡單、運行可靠、控制方便。

            本文引用地址:http://www.biyoush.com/article/201706/352485.htm

            尤其是步距值不受電壓、溫度的變化的影響、誤差不會長期積累,這給實際的應(yīng)用帶來了很大的方便。它廣泛用于消費類產(chǎn)品(打印機、照相機)、工業(yè)控制(數(shù)控機床、工業(yè)機器人)、醫(yī)療器械等機電產(chǎn)品中。
              

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

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

            1 步進電機原理簡介
              

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

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

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

              

            若要求電機反轉(zhuǎn),將勵磁信號倒過來傳送即可。

            2 步進電機控制方案
              

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

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

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

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

            電機的驅(qū)動器采用如下電路:


            其中R1-R8的電阻值為320Ω。R9-R12的電阻值為2.2KΩ。Q1-Q4為達(dá)林頓管D401A,Q5-Q8為S8550。J1、J2與步進電機的六條引線相連
            2.2 CPLD硬件電路的設(shè)計
              

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

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

            2.3 控制的實現(xiàn)
              

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

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

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

            當(dāng)單片機根據(jù)實際情況計算出控制信息(電機的速度和方向)后就要聯(lián)絡(luò)CPLD以便及時的把信息傳給它。單片機和CPLD交換數(shù)據(jù)可以選用并行傳送或者 串行傳送的方式。考慮到單片機和CPLD的引腳都比較豐富。而且并行傳送的接口相對簡單,因此選用并行的方式交換數(shù)據(jù)。規(guī)定傳送數(shù)據(jù)的協(xié)議如下圖所示:

            由圖可知,單片機每次用P0口發(fā)送3個字節(jié)的數(shù)據(jù)(N1、N2分別為速度和方向控制字,N3為和校驗字節(jié)),當(dāng)CPLD檢測到EN從高到低的跳變表示傳進 數(shù)據(jù)開始。每個字節(jié)的有效數(shù)據(jù)出現(xiàn)在CLK的上升沿。ACK為CPLD的應(yīng)答信號。當(dāng)CPLD接收完數(shù)據(jù)后進行和校驗.如果不對則把ACK拉高。單片機若 檢測到ACK為高電平則重新開始送數(shù)的過程。CPLD接收到正確的數(shù)據(jù)后就把它轉(zhuǎn)換成步進電機的物理運動。直到接收到新的控制信息。我們用VHDL語言編 程,并選擇EPM7128SLC84-15作為目標(biāo)器件進行時序仿真和硬件測試。程序的框圖如下:  


              EN:系統(tǒng)使能信號。
            CPLD_CLK:系統(tǒng)時鐘信號。
            N1:速度控制信號。
            N2:方向控制信號。
              

            系統(tǒng)時鐘CPLD_CLK在速度控制信號N1的控制下得到脈沖分配器(狀態(tài)機)的輸入時鐘,此時鐘的頻率決定控制邏輯輸出的頻率從而(在允許的范圍內(nèi))控制電機的轉(zhuǎn)速。EN為高電平時系統(tǒng)使能開始正常運轉(zhuǎn)。N1為01H代表電機正轉(zhuǎn),00H代表電機反轉(zhuǎn)。
              

            程序的脈沖分配器部分采用狀態(tài)機的方法編寫。狀態(tài)機是純硬件數(shù)字系統(tǒng)中的順序控制電路,在狀態(tài)機的運行方式上類似于控制靈活方便的CPU,而在運行速度和工作可靠性方面都優(yōu)于CPU。
            狀態(tài)機部分的VHDL代碼如下:
            PROCESS(C_ST,EN,N1,BCLK)
            BEGIN
            IF RISING_EDGE(BCLK) THEN C_ST=N_ST;
            IF EN=1 THEN
            CASE C_ST IS
            WHEN ST0=> IF N1=00000000 THEN
            N_ST=ST1; ELSE N_ST=ST7;END IF;
            CON_OUT=1000;
            WHEN ST1=> IF N1=00000000 THEN
            N_ST=ST2; ELSE N_ST=ST0;END IF;
            CON_OUT=1100;
            WHEN ST2=> IF N1=00000000 THEN
            N_ST=ST3;ELSE N_ST=ST1;END IF;
            CON_OUT=0100;
            WHEN ST3=> IF N1=00000000 THEN
            N_ST=ST4;ELSE N_ST=ST2;END IF;
            CON_OUT;0110;
            WHEN ST4=> IF N1=00000000 THEN
            N_ST=ST5;ELSE N_ST=ST3;END IF;
            CON_OUT=0010;
            WHEN ST5=> IF N1=00000000 THEN
            N_ST=ST6; ELSE N_ST=ST4;END IF;
            CON_OUT=0011;
            WHEN ST6=> IF N1=00000000 THEN
            N_ST=ST7;ELSE N_ST=ST5;END IF;
            CON_OUT=0001;
            WHEN ST7=> IF N1=00000000 THEN
            N_ST=ST0; ELSE N_ST=ST6;END IF;
            CON_OUT=1001;
            WHEN OTHERS=> N_ST=ST0;
            CON_OUT=0000;
            END CASE;
            END IF;
            END IF;
            END PROGESS;

            2.4 結(jié)論
              

            實踐表明.這樣的控制方法切實可行。在整個工作過程中,單片機運行穩(wěn)定。電機能夠根據(jù)情況完成正常的正轉(zhuǎn)反轉(zhuǎn),加速減速。

            3 結(jié)語
              

            單片機是一種非常傳統(tǒng)的智能控制器件,無論是智能家電還是消費類產(chǎn)品都有它的身影。CPLD器件在各種場合的應(yīng)用也越來越廣泛。兩者有各自的優(yōu)缺點。單片 機控制功能很強,能完成復(fù)雜的數(shù)學(xué)運算.但是穩(wěn)定性稍差。CPLD運行速度快。程序不會跑飛。適合產(chǎn)生各種復(fù)雜組合邏輯和時序邏輯??梢造`活的定義各個引 腳的與外圍電路連接的電氣特性等。使用單片機和CPLD聯(lián)合控制步進電機只是不同類型的器件協(xié)同完成同一任務(wù)在實際應(yīng)用中的一個例子。實踐證明這種方法是 可取的。



            評論


            相關(guān)推薦

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

            關(guān)閉