用PWM 細分步進電機,包含原理和程序.pdf

用PWM 細分步進電機,包含原理和程序.pdf

ID:51154127

大小:157.01 KB

頁數(shù):10頁

時間:2020-03-09

用PWM 細分步進電機,包含原理和程序.pdf_第1頁
用PWM 細分步進電機,包含原理和程序.pdf_第2頁
用PWM 細分步進電機,包含原理和程序.pdf_第3頁
用PWM 細分步進電機,包含原理和程序.pdf_第4頁
用PWM 細分步進電機,包含原理和程序.pdf_第5頁
資源描述:

《用PWM 細分步進電機,包含原理和程序.pdf》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。

1、用PWM細分步進電機,包含原理和程序農(nóng)民講習所這是俺一個關于打印機項目中步進馬達中的內(nèi)容,使用的原理為電流矢量圖(a),為減少矢量表的誤差,改進為(g).(誤差大的時候,Ia和Ib的絕對值變大,角度不變,即比例不變)磁場合成決定步進馬達當前的位置。我們常用的是圖(b),用電壓驅(qū)動時和線圈個數(shù)有關系,直接驅(qū)動它們,合成的最小角度都是固定的。細分最常見的是電流細分,電流引起的磁場的合成就決定馬達的角度。所以我們一般用電流合成圖來代替磁場合成圖。用電流合成電路復雜一點(用MCU+DA+L298實現(xiàn)也不難)。這里俺用PWM方式,用控制電壓的方式代替電流。原因:在電壓穩(wěn)定后,線圈的電流

2、和電壓成正比。穩(wěn)定是PWM細分的要點,也決定馬達速度不能太高。在細分的情況下,電機分兩相和四相是沒意義的??梢园阉南嚯姍C當兩相使用。下面是俺的程序,使用MEGA16,因為有PWM。//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//2相步進馬達驅(qū)動//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++#defineStep_OutMode()DDRB

3、=BIT(6)

4、BIT(7)#defineStep_InMode()D

5、DRB&=~(BIT(6)

6、BIT(7))#defineStep_ReadIO()(PORTB&(~(BIT(6)

7、BIT(7))))#defineStep_WriteIO(x)PORTB=xstructMotor2P_Table{//細分表結構unsignedcharmQuadrant;//象限0-3unsignedcharmX_Pwm;//x輸出的PWMunsignedcharmY_Pwm;//y輸出的PWM};structMotor2P{unsignedcharmTableId;//細分表IDunsignedcharmTask;//馬達驅(qū)動的任務轉移號unsignedc

8、harmSaveTimer;//馬達驅(qū)動節(jié)電模式使用的計數(shù)器unsignedcharmReg;//馬達驅(qū)動使用的寄存器unsignedcharmTimer;//對2MS的計數(shù)器,時間擴展unsignedintmSteps;//馬達要走的步數(shù)unsignedcharmDirect;//馬達走動方向unsignedcharmStepRunTimer;//步進時輸出有效的時間寄存器unsignedcharmStepIdleTimer;//步進時輸出節(jié)電的時間寄存器unsignedcharmStepCount;//細分表走動步長。1-2-4-8-16};//-------------

9、-----------------------------------------------#ifdefdMotor2P_Main#defineMotor2P_Head#else#defineMotor2P_Headextern#endifMotor2P_HeadstructMotor2PsMotor2P;//定義變量Motor2P_HeadvoidMotor_Steps(unsignedcharfDirect,unsignedintmSteps);//馬達走動.fDirect=1,0->3,順時針.步數(shù).要先檢查Motor_State()==1才調(diào)用Motor2P_Hea

10、dvoidMotor_Init(void);//馬達構造函數(shù)Motor2P_HeadvoidMotor_Destory(void);//馬達析構函數(shù)//返回馬達狀態(tài)。>0:空閑#defineMotor_State()(sMotor2P.mSteps==0)//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//2相步進馬達驅(qū)動//采用PWM細分。//原理:正弦波矢量擴展到正方形矢量//細分數(shù)為2的整數(shù)//節(jié)電時電流為平常的N/8。//+++++++++++++++++++++++++++++++++

11、++++++++++++++++++++++++++++++#include#include#include#include"Const.h"#include"System.h"#definedMotor2P_Main#include"Motor2P.h"http://主程序中定義,直接定義變量#definedStepRunTime1//N*2ms,輸出有效的時間#definedStepIdleTime1//輸出節(jié)電的時間.1->無.改變速度在此改變。#

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。