數(shù)控系統(tǒng)中基于CPLD的步進(jìn)電機(jī)驅(qū)動(dòng)模塊的設(shè)計(jì)
程序的結(jié)構(gòu)體部分由3部分組成:說明部分,主控時(shí)序進(jìn)程,主控組合進(jìn)程。在說明部分中定義相關(guān)的信號(hào)及常數(shù);在主控時(shí)序進(jìn)程中負(fù)責(zé)把計(jì)算好的次態(tài)的信息送入初態(tài),并負(fù)責(zé)最后的輸出;在主控組合進(jìn)程中負(fù)責(zé)相關(guān)的計(jì)算,比如判斷啟動(dòng)和停止,正轉(zhuǎn)和反轉(zhuǎn),以及在正反轉(zhuǎn)狀態(tài)下如何取下一個(gè)狀態(tài)。下面這段程序就是結(jié)構(gòu)體里主控組合進(jìn)程中,如何判斷電機(jī)正反轉(zhuǎn)和下一步電機(jī)將如何動(dòng)作的程序段。
3.3 系統(tǒng)仿真結(jié)果
整個(gè)控制程序的軟件波形仿真如下:本文引用地址:http://www.ex-cimer.com/article/190792.htm
從圖2中可以看到,在模擬步進(jìn)電機(jī)啟動(dòng)、停止、正反轉(zhuǎn)時(shí)電機(jī)的狀態(tài)。比如在復(fù)位后當(dāng)START=‘1’時(shí),如果這時(shí)DIR=‘1’表示電機(jī)是正轉(zhuǎn),則電機(jī)的通電狀態(tài)是A—AB—B—BC—C—CD—D—AD,對(duì)應(yīng)的CPLD的輸出狀態(tài)就為S0~S7。當(dāng)DIR=‘0’時(shí)表示電機(jī)是反轉(zhuǎn),就圖2的截圖來說在CLK的上升沿時(shí),輸出是狀態(tài)S2,因?yàn)樗那耙粋€(gè)狀態(tài)從圖上我們可以看出是S1。
4 結(jié)束語
在數(shù)控系統(tǒng)中我們希望達(dá)到準(zhǔn)確、高效、經(jīng)濟(jì)的控制,在運(yùn)動(dòng)機(jī)構(gòu)的控制這一環(huán)節(jié),通過CPLD可以起到很好的效果,首先可以簡(jiǎn)化硬件電路,提高電路的可靠性,其次可以通過對(duì)器件進(jìn)行編程來改變器件的結(jié)構(gòu),達(dá)到我們預(yù)期的功能,并且通過ISP在系統(tǒng)可編程的方法把程序加載到器件上。
通過CPLD可控制步進(jìn)電機(jī)的啟動(dòng)、停止、以及正反轉(zhuǎn),本文通過軟件仿真,驗(yàn)證了方案的正確性。本文所列舉的電機(jī)是四相的,如果是三相或是五相電機(jī),都可按本文的方法實(shí)現(xiàn),如果對(duì)電機(jī)采用的單相通電的方法,也可按本文的方法實(shí)現(xiàn),同樣只須稍微修改參數(shù)即可。
評(píng)論