

下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1/ 7在HCS08系列MCU上用軟件實(shí)現(xiàn)儀表步進(jìn)電機(jī)地驅(qū)動作者:傅志強(qiáng)飛思卡爾半導(dǎo)體成都分公司時(shí)間:2018-05-212018-05-21 來源:電子產(chǎn)品世界步進(jìn)電機(jī)因?yàn)榫哂薪俏灰坪洼斎朊}沖數(shù)成正比并且沒有累積誤差地特點(diǎn),而被廣泛地用作汽車儀表地顯示部件.在多數(shù)情況下,人們會使用專用地驅(qū)動芯片來驅(qū)動步進(jìn)電機(jī),主控制器只需要給出方向控制信號和控制轉(zhuǎn)動步數(shù)地脈沖就行了另外,也有集成了步進(jìn)電機(jī)驅(qū)動電路地MCU(微控制器 ,如 Freescale 地 MC9S12HY 系列,其使用方法也比較簡單然 而,在很多較低端地汽車儀表,如微型車、農(nóng)用車、三輪貨車和摩托車地儀表上,人們?yōu)榱私档统杀?,希望能夠?/p>
2、用專用驅(qū)動芯片或相對較貴地帶驅(qū)動電路地MCU,而是用普通地MCU直接去驅(qū)動步進(jìn)電機(jī).本文介紹了在 Freescale 地 HCS08 系列MCU上,如何用軟件 來實(shí)現(xiàn)對VID29系列步進(jìn)電機(jī)地直接驅(qū)動.本文所附帶地程序,已經(jīng)在Freescale 地 LG32 Cluster RefereneeDesign演示板上運(yùn)行驗(yàn)證過.分步驅(qū)動和微步驅(qū)動步進(jìn)電機(jī)地驅(qū)動通常有分步方式和微步方式兩種.分步方式地優(yōu)點(diǎn)是驅(qū)動信號地幅度只有 0 和電源電壓(5V兩種,與數(shù)字信號地低電平和高電平完全一一對應(yīng),因此只要使用MCUMCU地普通數(shù)字 I/O 口(GPIO就可以產(chǎn)生驅(qū)動信號,驅(qū)動程序也比較簡單.但是因?yàn)榉?步
3、方式下,定子線圈產(chǎn)生地氣隙磁場地方向在每走一步地過程中都發(fā)生一個(gè)較大地跳變 對于 VID29 系列步進(jìn)電機(jī)而言是 60 地跳變,定子磁場從原來地方向跳變到下一個(gè) 平衡位置地方向,轉(zhuǎn)子則在磁力地作用下加速向下一個(gè)平衡位置轉(zhuǎn)動,當(dāng)它到達(dá)平衡位置地瞬間,速度達(dá)到最大值,而磁場力則變?yōu)榱悖ㄖ豢紤]切向力,不考慮徑向力,因?yàn)閺较蛄?與轉(zhuǎn)動無關(guān).下同 。然后,如果驅(qū)動信號沒有變化地話,轉(zhuǎn)子就會在慣性地作用下繼續(xù) 往前轉(zhuǎn)動,偏離平衡位置,這時(shí)磁場力將會增大,而其方向卻變成跟剛才相反,于是就使轉(zhuǎn) 子減速,當(dāng)轉(zhuǎn)子與平衡位置地偏離達(dá)到最大時(shí),其速度減為零,然后在磁場力作用下往回加速轉(zhuǎn)動。當(dāng)轉(zhuǎn)子轉(zhuǎn)回平衡位置時(shí),磁場力
4、又變?yōu)榱?,而速度不為零,于是在慣性地作用 下繼續(xù)轉(zhuǎn)動偏離平衡位置如此反復(fù),只要驅(qū)動信號還沒有再次改變,轉(zhuǎn)子就會象蕩秋 千一樣在平衡位置附近來回振蕩,并在摩擦力地作用下幅度逐漸減小.這種振蕩還會產(chǎn)生 一定地噪聲,所以用分步方式驅(qū)動時(shí),步進(jìn)電機(jī)地噪聲和抖動會比較大.2/ 7為了減小步進(jìn)電機(jī)運(yùn)行時(shí)地噪聲和抖動,人們設(shè)法讓定子線圈地磁場方向地跳變幅度變小,把一個(gè)分步一次地大跳變分成若干次較小地跳變來完成,于是就有了微步驅(qū)動方式也叫細(xì)分驅(qū)動方式紅勝B T一的血場臺成童場91兩個(gè)線塞產(chǎn)生的合匪磁場根據(jù)矢量合成地原理,當(dāng)步進(jìn)電機(jī)中地兩個(gè)線圈各自產(chǎn)生地磁場地強(qiáng)度按照正 /余弦 規(guī)律變化地時(shí)候,它們地合成磁場地
5、方向就會勻速旋轉(zhuǎn),而合成磁場地強(qiáng)度保持不變,如 圖 1 所示.線圈產(chǎn)生地磁場強(qiáng)度與通過它地電流大小成正比,因此微步驅(qū)動方式就是讓通過線圈地驅(qū)動電流不是像分步方式那樣在o 和最大值之間跳變,而是按照正/余弦規(guī)律分成幾個(gè)階梯逐步變化,如圖 2 所示I3/ 7左蛭81電桃-右址應(yīng)電議圖2微步方式下的驅(qū)動電流那么如何來產(chǎn)生階梯變化地驅(qū)動電流呢?通常地做法是將一個(gè) PWM 波形電壓信號施加到線圈上,以 PWM 地占空比來控制通過線圈地平均電流 對每個(gè)階梯電流,我們事 先計(jì)算出所需地 PWM 脈沖地占空比 ,并做成查找表存放在 FLASH 中.在驅(qū)動步進(jìn)電機(jī)轉(zhuǎn)動地時(shí)候 , 每走一個(gè)微步就從表中取出相應(yīng)地占
6、空比來對PWM 模塊進(jìn)行設(shè)置 ,然后在當(dāng)前地這一步結(jié)束之前不再改變 PWM 脈沖地占空比 .電機(jī)轉(zhuǎn)動地加減速步進(jìn)電機(jī)在轉(zhuǎn)動時(shí) , 因?yàn)檗D(zhuǎn)子、傳動齒輪和負(fù)載地轉(zhuǎn)動慣量 ,使它從一個(gè)位置轉(zhuǎn)動到下一 個(gè)位置(一個(gè)分步或微步 需要一定地時(shí)間 .如果在轉(zhuǎn)子轉(zhuǎn)動到下一個(gè)位置之前 ,驅(qū)動信 號就又往前走了一步地話 , 那么轉(zhuǎn)子地磁場方向和定子線圈產(chǎn)生地氣隙磁場方向之間地 夾角就會超過一個(gè)分步或微步所對應(yīng)地角度 . 只要轉(zhuǎn)子地旋轉(zhuǎn)速度跟不上驅(qū)動信號地變 化速度 ,這個(gè)夾角就會越來越大 , 當(dāng)夾角超過 180時(shí),磁場對轉(zhuǎn)子地作用力地方向就會 變得跟原來地方向相反 . 結(jié)果就是轉(zhuǎn)子所轉(zhuǎn)過地角度和氣隙磁場所轉(zhuǎn)過地角
7、度不相等了 也就是轉(zhuǎn)子所轉(zhuǎn)過地步數(shù)和驅(qū)動信號走過地步數(shù)不相等了, 人們常把這種現(xiàn)象叫做 “失步”.同樣地,當(dāng)要使步進(jìn)電機(jī)從高速地旋轉(zhuǎn)中停下來地時(shí)候 ,如果驅(qū)動信號地變化過快 ,轉(zhuǎn) 子就有可能在慣性地作用下繼續(xù)旋轉(zhuǎn)超過180,從而也產(chǎn)生失步 .另外 ,因?yàn)檗D(zhuǎn)子軸承、傳動齒輪和負(fù)載上都有一定地摩擦阻力 , 因此電機(jī)在連續(xù)轉(zhuǎn)動時(shí)地速度也是有限地 如果驅(qū)動信號地變化速度超過了電機(jī)能達(dá)到地最大轉(zhuǎn)速地話, 電機(jī)也會失步 .那么 ,如果讓驅(qū)動信號一直保持較慢地變化速度 ,是不是就沒有問題了呢 ?答案當(dāng)然 是否定地 . 這是因?yàn)椴竭M(jìn)電機(jī)作為儀表地顯示部件 , 我們要求它能夠?qū)⒈粶y信號地變化實(shí) 時(shí)地顯示出來。而
8、電機(jī)轉(zhuǎn)動如果比較慢 ,那么儀表地顯示就無法跟上被測信號地變化.為了讓步進(jìn)電機(jī)既不會失步 ,又能轉(zhuǎn)得盡可能快 ,那么就要讓驅(qū)動信號4/ 7窒3步逬電機(jī)加速過理地變化速度和轉(zhuǎn)子轉(zhuǎn)動地速度保持基本一致當(dāng)電機(jī)啟動地時(shí)候,轉(zhuǎn)子做加速轉(zhuǎn)動,這時(shí)第一步地持續(xù)時(shí)間要比較長,然后每一步地持續(xù)時(shí)間逐漸變短,對應(yīng)地轉(zhuǎn)動速度變化如圖 3 所示.電機(jī)停止地過程則與之相反.在 VID29 系列步進(jìn)電機(jī)地?cái)?shù)據(jù)手冊上給出了電機(jī)啟 動/停止時(shí)允許地驅(qū)動信號地變化速度(啟動頻率 和電機(jī)連續(xù)轉(zhuǎn)動時(shí)允許地驅(qū)動信號地 變化速度(最大驅(qū)動頻率 ,我們可以根據(jù)它們計(jì)算出第一步地持續(xù)時(shí)間和加速過程結(jié)束 后地每一步地持續(xù)時(shí)間.步進(jìn)電機(jī)和MCU
9、MCU地硬件連接在 LG32 Cluster Referenee Design中,MCU和步進(jìn)電機(jī)之間地連接如圖 4 所示.其中使用了一片 74ACT125 作為電流放大驅(qū)動,這是因?yàn)?MC9S08LG32 地 I/O 口輸 出地電流最大只有 10mA,而 VID29步進(jìn)電機(jī)需要地驅(qū)動電流最大可達(dá) 20mA.使用 TPM 模塊地兩個(gè) PWM 輸出通道驅(qū)動步進(jìn)電機(jī)兩個(gè)線圈地正極,兩個(gè)普通 I/O 口驅(qū)動兩 個(gè)線圈地負(fù)極.TPM 模塊地兩個(gè)通道也可以設(shè)置成普通I/O 口 ,這樣就可以根據(jù)需要使用微步方式驅(qū)動或者分步方式驅(qū)動.5/ 7彌一翻MCU和步邃電嘰連婆更;在 MC9S08LG32 中集成了兩
10、個(gè) TPM 模塊,其中 TPM1 有 2 個(gè)通道,TPM2 有 6個(gè)通道.在這里選擇 TPM1 來驅(qū)動步進(jìn)電機(jī),是因?yàn)楫?dāng)把一個(gè) TPM 模塊地某一個(gè)通道設(shè) 置為 PWM輸出時(shí),此 TPM 模塊公用地模數(shù)(MOD寄存器將被設(shè)成一個(gè)比較特殊地值 這樣就會給它地其它通道地功能使用造成很多限制所以為了更加充分地利用MCUMCU地資源,這里選擇了通道較少地 TPM1,而把通道較多地 TPM2 留作他用.步進(jìn)電機(jī)驅(qū)動程序本驅(qū)動程序?yàn)閼?yīng)用程序提供地接口函數(shù)有三個(gè):1.1 nitStepper :初始化函數(shù),對驅(qū)動所用到地 I/O 口和定時(shí)器進(jìn)行設(shè)置,并讓步進(jìn)電機(jī)轉(zhuǎn)到初始位置一一使儀表地指針指到零點(diǎn)地位置.函
11、數(shù)原型:void In itStepper(void 。參數(shù):無。返回值:無.2.SetStepperTarget :設(shè)定步進(jìn)電機(jī)地目標(biāo)位置,也就是要讓儀表地指針轉(zhuǎn)到哪個(gè) 位置(以相$sQSLG32吱童,整個(gè)轉(zhuǎn)動地過程(如需要轉(zhuǎn)多少步,往哪個(gè)方向轉(zhuǎn) 等應(yīng)用程序無需知道,而且應(yīng)用程序可以指定任意目標(biāo)位置 .函數(shù)原型: void SetStepperTarget(word wTargetDegree。參數(shù): word wTargetDegree,(等于微步方式下地步距 為單位地返回值:無 .3.GetStepperCurrent :得到步進(jìn)電機(jī)地當(dāng)前位置 .函數(shù)原型: word GetSteppe
12、rCurrent(void 。參數(shù):無。返回值:返回儀表地指針當(dāng)前所指地位置 ( 以相對于零點(diǎn)地角度來表示 , 其值也以 (1/12度(等于微步方式下地步距 為單位 .另外 ,在頭文件 Stepper.h 中定義了選擇驅(qū)動方式地宏 ,使用者修改宏定義就可以 選擇分步驅(qū)動方式或微步驅(qū)動方式 , 如下:#define STEPPER_PARTIAL_MODE 0#define STEPPER_MICRO_MODE !STEPPER_PARTIAL_MODE如前所述 ,驅(qū)動信號地變化速度不能太快 ,每次變化后都必須保持一段時(shí)間不變 , 為 了讓驅(qū)動程序占用地 CPU 地處理時(shí)間更少 ,就需要用到一個(gè)
13、定時(shí)器 .除了上面地三個(gè)接口 函數(shù)外 ,驅(qū)動程序地其余部分都在定時(shí)器地中斷服務(wù)程序中運(yùn)行.在驅(qū)動程序中,用兩個(gè)靜態(tài)變量來保存步進(jìn)電機(jī)地目標(biāo)位置和當(dāng)前位置 ,其值是到零點(diǎn) 地步數(shù) . 定時(shí)器中斷由 SetStepperTarget 函數(shù)使能 ,在中斷服務(wù)程序中根據(jù)目標(biāo)位置 和當(dāng)前位置地差值來決定步進(jìn)電機(jī)轉(zhuǎn)動地方向和步數(shù) , 然后根據(jù)選擇地驅(qū)動方式執(zhí)行相應(yīng) 地轉(zhuǎn)動程序 .結(jié)語目標(biāo)位置相對于零點(diǎn)地角度 , 其值是以 (1/12 度7/ 7使用本文給出地驅(qū)動程序, 用戶地應(yīng)用程序和驅(qū)動程序之間地接口非常簡單 , 所有地控 制步進(jìn)電機(jī)地邏輯都封裝在驅(qū)動程序中,而且驅(qū)動程序占用 CPU 地處理時(shí)間非常少
14、.另外,本 程序根據(jù)汽車儀表應(yīng)用地特點(diǎn)對步進(jìn)電機(jī)地轉(zhuǎn)動速度進(jìn)行了相應(yīng)地控制 , 所以不管輸入信 號變化快慢 , 電機(jī)輸出帶動地指針都能快速、平穩(wěn)地轉(zhuǎn)動 ,以讓人感覺很自然地方式將輸 入地物理量顯示出來 .參考文獻(xiàn):1 王曉明 .電動機(jī)地單片機(jī)控制 M. 第 2 版 .北京航空航天大學(xué)出版社 ,20072 孫建忠 ,白鳳仙 .特種電機(jī)及其控制 M. 中國水利水電出版社 ,20053 張俊 .匠人手記 M. 北京航空航天大學(xué)出版社 .20084 三浦宏文 .機(jī)電一體化實(shí)用手冊 M. 楊曉輝 ,譯.科學(xué)出版社 .20075Jhamb S.AN3828:Stepper Motor Motion Control Driver fo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年家居用品采購與分銷合同
- 2025年勘查權(quán)交易合同
- 2025年單位舊辦公桌椅買賣合同
- 2025年建筑混凝土工勞務(wù)合同樣本
- 2025年衛(wèi)生健康促進(jìn)合同
- 2025年亞馬遜物流合作合同范本
- 2025年全球技術(shù)援助合同示例
- 2025年停車場維護(hù)管理合同
- 2025年標(biāo)準(zhǔn)鍋爐房運(yùn)營許可合同范本
- 2025年個(gè)體經(jīng)濟(jì)勞動合同范文
- 2024年重慶市優(yōu)質(zhì)企業(yè)梯度培育政策解讀學(xué)習(xí)培訓(xùn)課件資料(專精特新 專精特新小巨人中小企業(yè) 注意事項(xiàng))
- 智能制造概論(高職)全套教學(xué)課件
- 跟單員工作職責(zé)與流程
- 氣流組織模擬分析報(bào)告教程
- 點(diǎn)亮生命-大學(xué)生職業(yè)生涯發(fā)展與就業(yè)指導(dǎo)全套教學(xué)課件
- 外墻清洗成本分析報(bào)告
- 特殊作業(yè)現(xiàn)場監(jiān)護(hù)人安全培訓(xùn)課件
- 《會計(jì)發(fā)展史》課件
- 幼兒同伴關(guān)系對幼兒社會性發(fā)展的研究開題報(bào)告
- 環(huán)境修復(fù)原理與技術(shù)-第5章-污染環(huán)境的植物修復(fù)原理
- 2024年1月浙江省首考普通高等學(xué)校招生全國統(tǒng)一考試英語試題
評論
0/150
提交評論