馬博強(qiáng)
遼寧錦州渤海大學(xué)工學(xué)院
基于CPLD的步進(jìn)電機(jī)控制器
馬博強(qiáng)
遼寧錦州渤海大學(xué)工學(xué)院
控制步進(jìn)電機(jī)的轉(zhuǎn)速與脈沖信號的頻率有著直接聯(lián)系,而且步進(jìn)電機(jī)的轉(zhuǎn)角是由脈沖信號的個(gè)數(shù)決定的。通常的步進(jìn)控制系統(tǒng)中包括的模塊有脈沖計(jì)數(shù)以及PWM模塊,但是產(chǎn)生的脈沖數(shù)目受到了限制。本文針對CPLD進(jìn)行了步進(jìn)電機(jī)控制器設(shè)計(jì),并且給出了仿真波形圖。
步進(jìn)電機(jī)控制器 CPLD 仿真
步進(jìn)電機(jī)控制器的主要作用是把電脈沖信號向角位移進(jìn)行轉(zhuǎn)變,電機(jī)中必須通過環(huán)形脈沖信號而且還需要功率驅(qū)動電路等??刂撇竭M(jìn)電機(jī)的運(yùn)動,微處理器選擇單片機(jī)。通過集成電路能夠定位步進(jìn)電機(jī)的位置以及控制步進(jìn)電機(jī)的速度,會對脈沖信號的輸出頻率以及輸出的脈沖的數(shù)目進(jìn)行控制。
步進(jìn)電機(jī)驅(qū)動電源的框圖如圖1所示。將時(shí)鐘信號通過變頻信號源后就會形成脈沖信號,信號頻率及步進(jìn)電機(jī)的速度可以進(jìn)行調(diào)整。接著形成的脈沖信號就會通過脈沖分配器,在脈沖分配器中會按照具體的規(guī)定將具有一定的邏輯關(guān)系的脈沖信號增加到脈沖放大器中,從而確保步進(jìn)電機(jī)能夠正常運(yùn)行。
圖1 步進(jìn)電機(jī)總體框架圖
計(jì)算機(jī)控制系統(tǒng)中的執(zhí)行元件可以是步進(jìn)電機(jī),在控制系統(tǒng)中會應(yīng)用到計(jì)數(shù)器,該器件的作用是增加變頻信號源,其次還用應(yīng)用到GAL芯片,通過該芯片能夠?qū)γ}沖信號進(jìn)行分配。
環(huán)形分配器主要是用來對脈沖序列進(jìn)行分配,將信號傳送到功率放大器中生成放大的信號,再將放大的信號通過步進(jìn)電機(jī)驅(qū)動電源輸入端。環(huán)形分配器可以分為兩類:1)軟環(huán)形分配器。這種環(huán)形分配器實(shí)現(xiàn)方法是計(jì)算機(jī)軟件設(shè)計(jì)。2)硬環(huán)形分配器。本文設(shè)計(jì)所選擇的環(huán)形分配器是軟環(huán)形分配器。將環(huán)形分配器中產(chǎn)生輸出信號通過功率放大器對信號進(jìn)行放大,從而起到驅(qū)動四相步進(jìn)電機(jī)的作用,本論文的功率放大器所選擇的型號是L298芯片。
單片機(jī)與CPLD的I/O端口進(jìn)行連接是通過數(shù)據(jù)總線實(shí)現(xiàn)的,其中數(shù)據(jù)線規(guī)定為8位,3位地址線是能夠?qū)?個(gè)字節(jié)的寄存器進(jìn)行訪問。晶體振蕩器的作用是產(chǎn)生時(shí)鐘信號。單片機(jī)與CPLD連接圖如圖2所示。
圖2 單片機(jī)與CPLD連接圖
4.1 硬件設(shè)計(jì)
將CPLD的輸出控制信號分別與四個(gè)端口相互連接。當(dāng)CPLD的控制信號在通過光電隔離之后會進(jìn)入U(xiǎn)LN2003A芯片中。如果CPLD的I/O端口的電平為低電平的時(shí)候,步進(jìn)電機(jī)的負(fù)極就不再和地導(dǎo)通,在正負(fù)極之間不存在電壓差,從而CPLD的電機(jī)就不會運(yùn)轉(zhuǎn);如果CPLD的I/O口的電平是高電平的時(shí)候,步進(jìn)電機(jī)的負(fù)極就會和地導(dǎo)通,而在正極和負(fù)極之間就會有12V的電壓差產(chǎn)生,從而電機(jī)才可以正常運(yùn)轉(zhuǎn)。本文設(shè)計(jì)的步進(jìn)電機(jī)控制的硬件分頻的實(shí)現(xiàn)是通過雙四位二進(jìn)制計(jì)數(shù)器實(shí)現(xiàn)的,計(jì)數(shù)器的型號選擇的是74LS393N。其中頻率源的頻率是2048Hz,串聯(lián)計(jì)數(shù)器中的T觸發(fā)器,從而可以將頻率為2048Hz的實(shí)現(xiàn)分頻,得到的頻率的等比倍率等于2,通過硬件選擇器能夠?qū)⑺玫降念l率傳送到CPLD的I/O端口中。步進(jìn)電機(jī)控制器總電路圖如圖3所示。
圖3 步進(jìn)電機(jī)控制器總電路圖
本文采用的電路是單電壓恒流功放電路,如圖4。
圖4 電壓恒流功放電路
4.2 軟件設(shè)計(jì)
本文軟件設(shè)計(jì)以及仿真實(shí)現(xiàn)所選擇的工具是QuartusII。QuartusII支持VHDL的硬件描述語言。軟件延時(shí)流程圖如圖5所示。
圖5 程序延時(shí)流程圖
電機(jī)控制器中的控制脈沖信號主要有復(fù)位(reset),模式(mode)以及使能(EN)和轉(zhuǎn)向(CTRL)組成,通過T觸發(fā)器鎖定信號的電平。其中用Q表示四個(gè)相位的輸出信號,Q所對應(yīng)的3,2,1,0位用A,B,C,D表示。選擇八拍通電的順序,即為A-AB-B-BC-C-CD-DA-A,狀態(tài)轉(zhuǎn)換順序如表1所示。
表1 狀態(tài)轉(zhuǎn)換順序
系統(tǒng)仿真波形圖如圖6所示。圖6中的clk信號表示12M的時(shí)鐘信號,clk_step表示的是步進(jìn)電機(jī)轉(zhuǎn)速時(shí)鐘信號。其中的A、B、C、D表示的是步進(jìn)電機(jī)四相線圈通電信號。
結(jié)語:步進(jìn)電機(jī)不可以和交直流電源直接進(jìn)行連接,如果要進(jìn)行連接必須通過專用的設(shè)備。本文主要實(shí)現(xiàn)了基于CPLD的步進(jìn)電機(jī)控制器。進(jìn)行了硬件設(shè)計(jì)以及軟件設(shè)計(jì)。設(shè)計(jì)部分給出了電路圖以及程序圖。
[1]李超彪,張赤斌,王興松,等.基于CPLD的步進(jìn)電機(jī)細(xì)分復(fù)合控制器[J].中國機(jī)械工程, 2005, 16(18):1647-1650
[2]劉鵬,孫有峰,鄒杰,等.基于ARM+CPLD的步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)[J].自動化與信息工程, 2011, 32(2):33-35
[3]梅陽鳳,李軍.基于單片機(jī)和CPLD的多軸步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)[J]. 電腦開發(fā)與應(yīng)用, 2011,24(2):55-57
[4]樂創(chuàng)自動化技術(shù)有限公司.基于CPLD的混合式步進(jìn)電機(jī)驅(qū)動器設(shè)計(jì)[J]. 自動化信息, 2007(9):44-45
圖6 仿真波形圖