如何更有效地旋轉(zhuǎn)步進(jìn)電機(jī) , 第 2 部分
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在本系列的第 1 部分中,我提供了一些關(guān)鍵想法:
· 設(shè)計(jì)步進(jìn)電機(jī)。
· 步進(jìn)電機(jī)可能很耗電。
· 反電動(dòng)勢(shì) (EMF) 將指示步進(jìn)電機(jī)負(fù)載。
· 您可以根據(jù)反電動(dòng)勢(shì)控制輸出電流。
· 這可以幫助節(jié)省一些電力。
· 不談現(xiàn)行法規(guī)!
所以現(xiàn)在所有的概念工作都完成了(閱讀:根本沒有真正的工作),是時(shí)候看看這個(gè)概念是否有任何現(xiàn)實(shí)基礎(chǔ)。我可以制作一個(gè)可以根據(jù)反電動(dòng)勢(shì)自動(dòng)調(diào)整步進(jìn)輸出電流以節(jié)省電力的系統(tǒng)原型嗎?讓我們來看看。
第 1 步:步進(jìn)器選擇
我的辦公桌上碰巧有一個(gè)步進(jìn)電機(jī)。我不知道它來自哪里,但我想我會(huì)使用它。有人親切地寫下“2.8A 1.4mH”。
第二步:步進(jìn)驅(qū)動(dòng)器選擇
正如我在第 1 部分中所揭示的,DRV8711可以對(duì)步進(jìn)電機(jī)的反電動(dòng)勢(shì)進(jìn)行采樣。這比從頭開始設(shè)計(jì)整個(gè)系統(tǒng)要容易得多。
第三步:硬件原型
我必須親自感謝TI 設(shè)計(jì)了DRV8711 BoosterPack。我將使用此設(shè)備進(jìn)行原型設(shè)計(jì)。
DRV8711器件是一款步進(jìn)電機(jī)控制器,它使用外部N溝道MOSFET來驅(qū)動(dòng)-個(gè)雙極步進(jìn)電機(jī)或兩個(gè)刷式直流電機(jī)。該器件集成了一個(gè)微步進(jìn)分度器,此分度器能夠支持全步長(zhǎng)至1/256步長(zhǎng)的步進(jìn)模式。通過使用自適應(yīng)消隱時(shí)間和包括自動(dòng)混合衰減模式在內(nèi)的多種不同的電流衰減模式,可實(shí)現(xiàn)非常平滑的運(yùn)動(dòng)系統(tǒng)配置。電機(jī)停止轉(zhuǎn)動(dòng)由一個(gè)可選反電勢(shì)(EMF)輸出報(bào)告。
一個(gè)簡(jiǎn)單的步進(jìn)/方向或脈寬調(diào)制(PWM)接口可輕松連接至控制器電路。一個(gè)SPI串行接口被用來設(shè)定器件運(yùn)行。輸出電流(扭矩)、步進(jìn)模式、衰減模式和堵轉(zhuǎn)檢測(cè)功能都可以通過SPI串行接口進(jìn)行編程。還提供了用于過流保護(hù)、短路保護(hù)、欠壓鎖定和過熱保護(hù)的內(nèi)部關(guān)斷功能。故障狀況通過FAULTn引腳進(jìn)行指示,并且每種故障狀況通過SPI由一個(gè)專用位進(jìn)行報(bào)告。
在線查看他的原理圖,我遇到了一個(gè)問題:BEMF 引腳未路由到 MSP430? LaunchPad。根據(jù)DRV8711數(shù)據(jù)表,此關(guān)鍵引腳是代表反電動(dòng)勢(shì)的模擬電壓所在的位置。我需要將此電壓讀入 MSP430 設(shè)備,以便我可以控制何時(shí)增加或減少步進(jìn)電機(jī)電流。
是時(shí)候做一些電路板修改了!正如你在下面看到的,我從板上取下了電位器(R6),并且非常不雅地將一根電線從 C7 焊盤連接到 POT 網(wǎng)絡(luò)。至少我知道 POT 網(wǎng)絡(luò)路由到 MSP430 模數(shù) (ADC) 輸入。
第 4 步:步進(jìn)器表征
現(xiàn)在我可能擁有一個(gè)可以讓我對(duì)步進(jìn)電機(jī)的反電動(dòng)勢(shì)進(jìn)行采樣的功能性硬件,我首先對(duì)電機(jī)進(jìn)行表征,然后再進(jìn)行閉環(huán)控制編程。在繼續(xù)進(jìn)行 C 編程之前,我想確保這個(gè)計(jì)劃有機(jī)會(huì)成功。
當(dāng)我說“表征電機(jī)”時(shí),我只是指確定在電機(jī)旋轉(zhuǎn)時(shí)可以從DRV8711測(cè)量的反電動(dòng)勢(shì)電壓。我可以通過使用BOOST-DRV8711 附帶的固件和圖形用戶界面 (GUI) 來實(shí)現(xiàn)這一點(diǎn)(如下圖 3 所示)。我想對(duì)幾個(gè)不同速度的幾個(gè)不同的反電動(dòng)勢(shì)測(cè)量值進(jìn)行平均。
這個(gè) GUI 讓我可以控制電機(jī)速度,我將使用示波器查看 BEMF 引腳在做什么。每當(dāng)準(zhǔn)備好在 BEMF 引腳上查看新的反電動(dòng)勢(shì)樣本時(shí), DRV8711上稱為 STALLn/BEMFVn 的另一個(gè)引腳就會(huì)拉低。當(dāng)然,這只適用于“外部停頓檢測(cè)模式”,這需要將 CTRL 寄存器中的 EXSTALL 位寫入 1。下面的圖 4 顯示了實(shí)時(shí)情況。
DRV8711能夠使用 STALL 寄存器的 VDIV 位將反電動(dòng)勢(shì)按 1/4、1/8、1/16 或 1/32 縮放。我的電機(jī)似乎使用 1/4 設(shè)置在 318rpm 時(shí)輸出 3V,效果很好。扭矩寄存器還有一個(gè)稱為 SMPLTH 的位,它告訴DRV8711在對(duì)步進(jìn)電機(jī)的反電動(dòng)勢(shì)進(jìn)行采樣之前等待多長(zhǎng)時(shí)間。對(duì)于我的電機(jī),50μs 的最低設(shè)置似乎工作正常。我設(shè)置了我的DRV8711寄存器設(shè)置并以不同的速度獲取了一些數(shù)據(jù)。
這個(gè)數(shù)據(jù)對(duì)我來說是非常鼓舞人心的。如果電機(jī)負(fù)載增加并且步進(jìn)電機(jī)開始失速,反電動(dòng)勢(shì)將反映這一點(diǎn)并減少。我需要根據(jù)反電動(dòng)勢(shì)關(guān)閉控制回路,并確保在反電動(dòng)勢(shì)減小時(shí)電機(jī)電流(扭矩)增加。相反,如果電機(jī)運(yùn)行良好且反電動(dòng)勢(shì)穩(wěn)定,那么我可能會(huì)降低電機(jī)電流(扭矩),因?yàn)闆]有必要讓電機(jī)保持在這個(gè)速度下旋轉(zhuǎn)。