首頁 > 新能源汽車

在 CPLD 中實(shí)現(xiàn)步進(jìn)電機(jī)驅(qū)動(dòng)器

來源:新能源汽車網(wǎng)
時(shí)間:2023-03-27 16:05:30
熱度:

在 CPLD 中實(shí)現(xiàn)步進(jìn)電機(jī)驅(qū)動(dòng)器 基于摩托羅拉(現(xiàn)在 飛思卡爾) 大量使用但過時(shí)的 SAA1042 步進(jìn)電機(jī)驅(qū)動(dòng)器 IC,本設(shè)計(jì)理念描述了基于 CPLD(復(fù)數(shù)可編程邏輯器件

    基于摩托羅拉(現(xiàn)在 飛思卡爾) 大量使用但過時(shí)的 SAA1042 步進(jìn)電機(jī)驅(qū)動(dòng)器 IC,本設(shè)計(jì)理念描述了基于 CPLD(復(fù)數(shù)可編程邏輯器件)的步進(jìn)電機(jī)驅(qū)動(dòng)器實(shí)現(xiàn),該驅(qū)動(dòng)器也可以取代基于 SAA1027 或 UCN5804B 的設(shè)計(jì)中的驅(qū)動(dòng)器。該設(shè)計(jì)僅使用六個(gè)宏單元 賽靈思 XC9536 CPLD,因此可以在一個(gè)小容量CPLD中實(shí)現(xiàn)多個(gè)步進(jìn)電機(jī)驅(qū)動(dòng)器。CPLD步進(jìn)電機(jī)驅(qū)動(dòng)器需要時(shí)鐘、方向、步長和復(fù)位輸入。時(shí)鐘輸入接受邏輯電平脈沖,并在脈沖的正邊沿上激活。

方向或 CW/CCW(順時(shí)針/逆時(shí)針)輸入決定了電機(jī)的旋轉(zhuǎn)方向。根據(jù)電機(jī)的電氣連接,將此輸入保持在 0V 通常產(chǎn)生 CW 旋轉(zhuǎn),邏輯 1 輸入產(chǎn)生 CCW 旋轉(zhuǎn)。步長(即全步或半步)輸入決定了電機(jī)在每個(gè)時(shí)鐘脈沖下的角度旋轉(zhuǎn)。保持該輸入為低電平命令電機(jī)針對(duì)每個(gè)施加的時(shí)鐘脈沖執(zhí)行一個(gè)完整的步進(jìn),高輸入產(chǎn)生半步。復(fù)位輸入上的高電平使電機(jī)處于先前定義的狀態(tài),并命令CPLD忽略任何輸入時(shí)鐘脈沖。

CPLD的輸出包括A相和A_n相以及B相和B_n相,每個(gè)相位通過外部電源驅(qū)動(dòng)器IC控制電機(jī)的兩個(gè)線圈之一2 和集成電路3 ,在電機(jī)的標(biāo)稱電壓(圖1 ).每個(gè)驅(qū)動(dòng)器輸出端的一對(duì)肖特基二極管在通過反轉(zhuǎn)繞組電流引起的感性電壓瞬變期間保護(hù)驅(qū)動(dòng)器的輸出。將 MOSFET 驅(qū)動(dòng)器與內(nèi)部二極管配合使用,例如 微芯片的 TC4424A 雙驅(qū)動(dòng)器,可省去對(duì)外部二極管的要求。



圖1 仿真專用步進(jìn)電機(jī)控制器、可編程邏輯器件、IC1 ,將步進(jìn)電機(jī)信號(hào)施加到電機(jī)驅(qū)動(dòng)器IC2 和集成電路3 .


CPLD的程序包括一個(gè)八態(tài)摩爾有限狀態(tài)機(jī),對(duì)應(yīng)于電機(jī)的八個(gè)半步態(tài)。 表1 顯示每個(gè)計(jì)算機(jī)狀態(tài)的驅(qū)動(dòng)程序輸出。在全步狀態(tài)模式下,狀態(tài)機(jī)僅執(zhí)行步驟 0、步驟 2、步驟 4 和步驟 6。在每個(gè)時(shí)鐘脈沖的上升沿,如果 CW/CCW 為高電平,則機(jī)器狀態(tài)從步進(jìn) (n) 變?yōu)椴竭M(jìn) (n+1),如果 CW/CCW 為低電平,則從步進(jìn) (n) 變?yōu)椴竭M(jìn) (n–1)。您可以一個(gè) 通用 VHDL 實(shí)現(xiàn) 步進(jìn)電機(jī)驅(qū)動(dòng)器固件。雖然該代碼是為XC9536 CPLD編寫的,但它也適用于任何CPLD或FPGA目標(biāo)器件。