




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
BH-MSD-4805簡BH-MSD4805BH-MSD4805是秉火科技推出的一款智能步進電機驅動器。它是一款以雙極恒流驅動輸出控制電機的驅動器,驅動電壓范圍DC12V~48V,適合外徑為42mm8位撥碼開關可以輕松的實現(xiàn)對不機電流及不同細分步數(shù)的精確控制。帶有自動半流技術,可以大大降低電機的功耗及發(fā)熱量,輸入信號都經過光耦,具有很強的1-1MSD4805特性參直流:12V~0.75A~雙極恒流驅動輸0℃~硬件測硬件連2-1BH-MSD4805表2-1BH-MSD4805驅動器控制123456表2-2BH-MSD4805驅動器撥碼12345678表2-3BH-MSD4805驅動器電源驅動端子說1驅動器的A相繞組驅動輸出,跟電機的A23驅動器的B相繞組驅動輸出,跟電機的B456圖2-2BH-MSD4805驅動器與控制器共陰方式接線圖2-3BH-MSD4805驅動器與控制器共陽方式接線圖2-4BH-MSD4805驅動器與控制器差分方式接線2-4R限流電阻BH-MSD4805驅動器引腳的具體說明見表2-1和表2-3,本說明采用的是圖2-2所2-5。驅動器與步進電機連接見表2-6。驅動器與指南者連接效果見圖2-5。表2-5驅動器與各個開發(fā)板F103-指南F103-F429-表2-6驅動器與電圖2-5驅動器與指南者開發(fā)板測試流參數(shù)設細分微步參數(shù)設置100細分轉一圈需要的脈沖數(shù)為200*100=20000個。詳細設定見表2-7。表2-7細分微步參數(shù)使用撥碼開關設248365電流參數(shù)設置者小一點,詳細設定見表2-7。表2-8電流參數(shù)使用撥碼開關設置說自動半流功能步進電機在工作時,若切斷脈沖輸入,電機即處于剎車狀態(tài),這是步進電機的優(yōu)點,但此時電機通過的電流最大,噪聲也大,電機發(fā)熱量劇增,會影響電機性能及使用。0.52s控制步進電機加運準備測試環(huán)境平臺準備好。找到配套資料里的例程“1BH-MSD4805步進電機驅動(指南者)”,使用MDK編譯并該程序到指南者開發(fā)板,復位開發(fā)板讓程序運行。PC端把秉火多功能調工程所 :“開發(fā)板配套例程\xx正常運行的實驗現(xiàn)象我們提供的例程,能夠實現(xiàn)步進電機的正反轉、加、脫機模式。MDK編譯并行后會打印如下幫助菜單,見圖2-6串口終端打印信息;圖2-6串口終端打印信表2-9串口命?-?ads mmove200005000500050rad/s2、度50rad/s2、最20000Enter-Enter到指令后,會控制步進電機以320rad/s2的加速度、320rad/s2的度、最大30rad/s40000步即旋轉四圈。我們可以直觀的看到電機由加速到勻速然后到的過程。到達終點后串口會打印當前步進電機的位置及相關的參數(shù)見圖2-7。圖2-7串口終端發(fā)送回車鍵a:設置加速度,例如我們需要設置加速度為100rad/s2,加速度的單位為0.01rad/s2a100/0.01=10000,所以在串口中斷輸入欄下輸入“a10000+回車鍵然后按發(fā)送,開發(fā)板收到指令后,串口會打印對應的加速度的值,見圖2-8。圖2-8串口終端設置加速度d:設置減速度,例如我們需要設置度 100rad/s2,加速度的單位輸入“d10000”+圖2-9串口終端設置度打印信s:設置最大速度,例如我們需要設置最大速度為30rad/s,加速度的單位為0.01rad/ss30/0.01=3000,所以在串口中斷輸入欄下輸入“s3000”+回車鍵然后按發(fā)送,開發(fā)板收到指令后,串口會打印對應的最大速度的值,見圖2-10。圖2-10串口終端設置最大速10000步,在串口中斷輸入欄下輸入“m10000”+回車鍵然后按發(fā)送,開發(fā)板收到指令后,串口會打印對應的加度,最大速度、移動步數(shù)及電機當前位置,見圖2-11。圖2-11串口終端打印移oe:移動固定步數(shù)同時設置參數(shù),步數(shù)如果是正數(shù)就順時針旋轉,如果是負數(shù)就逆時針旋轉,同時也一起設置加度,最大速度。例如我們需要以0ra2320r2度10ads動1000串oe100030002000100”+當前位置,見圖2-12。圖2-12串口終端打印移動固定步數(shù)及參數(shù)信:以程序預置的方式運行,在串口中斷輸入欄下輸入“”+回車鍵然后按發(fā)送,機21。圖2-13串口終端打印測試步進電機運KEY1,進入脫機狀態(tài),此時我們可以手動去調整步進電機,串口打印信息見圖2-14。圖2-14串口終端打印KEY2,進入正常工作狀態(tài),此時我們可以串口指令去控制步進電機,串口打印信息見圖2-15圖2-12。圖2-15串口終端打印恢復正常工作狀態(tài)信指示燈狀態(tài)指示態(tài)指示燈,可以指示欠壓狀態(tài),短路過流狀態(tài),操作錯誤狀態(tài)。具體見表2-10。2-10LED撥碼開關設置常見問題及處理方法程序的算法參考了《AVR446_Linearspeedcontrolofsteppermotor.pdf》。 1.BH-MSD4805測試程序F103(指南者2.BH-MSD4805測試程序F103(霸道3.BH-MSD4805測試程序F429(者驅動原步進電步進電機是一種將電脈沖轉化為角位移的執(zhí)行機構。通俗一點講:當步進驅動器接收到一個脈沖信號,它就驅動步進電機按設定的方向轉動一個固定的角度(或步進角)。可以通過控制脈沖個數(shù)來控制角位移量,從而達到準確定位的目的;同時也可以通過控制脈沖頻率來控制電機轉動的速度和加速度,從而達調速的目的。因此在需要準確定位或調速細分驅細分驅動模式具有低速振動極小和定位精度高兩大優(yōu)點。對于有時需要低速運行(即電6rpm)0.9驅動器獲得廣泛應用。其基本原理是對電機的兩個線圈分別按正弦和余弦形的臺階進行精密電流控制,從而使得一個步距角的距離分成若干個細分步完成。例如100200200*10=20000(即0.018)。速度屬步進電機有個缺陷是速度提高后力矩會缺失,即速度越快力矩越小。因為當步進電機轉動時,電機各相繞組的電感將形成一個反向電動勢;速度(或脈沖頻率)越高,反向電動勢越大。在反向電動勢的作用下,電機的相電流隨速度(或脈沖頻率)的增大而減小,從而導致力矩下降。當速度(或脈沖頻率)增加到一定值時,步進電機已無法帶動任何負載,而且只要受到很小的擾動,就會振蕩、失步,甚至停轉。出現(xiàn)速度也是力矩降低4-1。步進電機基礎方程
圖4-1力矩與角速度關定時器來實現(xiàn)脈沖的發(fā)送,如圖4-2所示,??0為脈沖發(fā)送的起始時刻,??1為發(fā)送第二個脈沖的時刻,??2為發(fā)送第三個脈沖的時刻。??0與??1之間的時間間隔為????=??0????,其中??0為定時器在??0與??1這段時間的的計數(shù)值,????為定時器的計數(shù)周期。??1與??2之前的時間間隔為????=??1????,其中??1為定??1??2????圖4-2步進電我們可以假定產生脈沖的定時器的計數(shù)頻率為????,那么????1,????=??0????=??0 α=
θ=nα ω=?? sprstepsperround的縮寫,這里用來作為步進電機旋轉一圈的脈沖數(shù),n為脈沖數(shù),1(??????/??)9.55(??????),rpmroundsperminutes的縮寫,即圈速。線性速度坡道圖4-3加速度,速度,位移的相互關圖4-4角位移與速度(脈沖)精確計算步進一步的延時ω(??)
?????????=??? θ(??)
?????(??)????=1??? (4— 第n步的脈沖產生的軸交角θ=nα,聯(lián)合式(4—3)、(4—5)和(4—6)??=
=
=√2??(√??+1? ??=1√2??(√??+1? 由式(4—9)可以得到第一個脈沖定時器計數(shù)值??0以及第n個脈沖定時器計數(shù)值
=1 ????=??0(√??+1?√??) 由于MCU的計算能力是有限的,連續(xù)兩次計算開方根會很費時,因此須考√1±1=1±1?1+??(1 √??+1?
??0(√??+1?
√??+1?
1+??? = = ??0(√???√??? √???√???
√???√???
1?√1?(1+1?1+??1)? ( 2???8??2+??( 4???
1+1???
≈4??+1?(1?2???8??2+??(
??= 4???1= (4??+1)?2= ? ???1 ??00.676加速度的變化根據(jù)上面公式可以知道,加速度與??0和n相關。如果需要改變加速度或者度,那么就要重新計算一個n值。時間????和n作為加速度、速度和步進角的參數(shù),我們可以得到
t=n
n???=???
(—
??1???1=??2??? 圖4-5加坡
=(??2+??1)???
執(zhí)行算到達既定最大速度后開始勻速運動,運動到一定步數(shù)后開始,最后停下來到達給定的抖動的出現(xiàn)。見圖4-6。圖圖4-6 曲 - 需要將一些數(shù)據(jù)進行放大后再進行運算。速度、加速度、度乘100。將一些常量預先??=
??_??_??100=α????? min_??????????=
??1_????????_148= A_SQ=2α? 0step_delay=??=0
圖4-7速度坡度受限于期望的速2max_s_lim=n=
1accel_min=??=1
max_s_lim<accel_lim,加速度是受限于最大的期望速度。由式(4—18)可以推出距離decel_val應該為,其中負號是因為加速和度的方向是相反的。decel_val=?max_s_lim?
圖4-8速度坡度未到達最大速度就開始decel_val=?(step? 四個不同的狀態(tài),分別為stop—accel—run—decel—stop。如圖4-9所示。圖4-9步進電機運行速度的四當應用程序啟動或者步進電機停止狀態(tài)機處于STOP狀態(tài)。當輸入移動步數(shù)建立計算完成,一個新狀態(tài)被置位同時定時器的中斷被使能。當運行的步數(shù)超過1步狀態(tài)機進入ACCEL狀態(tài),如果只移動一步,那么狀態(tài)直接變?yōu)镈ECEL。因為只移動一步是不需要加為RUN,或者必須開始,狀態(tài)變?yōu)镈ECEL。它會一直保持DECEL狀態(tài)并一直到期望的步數(shù)并且速度為0。然后狀態(tài)變?yōu)镾TOP。在加速和過程中的每一步新的時間延遲必須計算得出。這個計算結果會包括一個出式(4—30)rest0。new_rest就是保存除不盡的余數(shù)參與new_step_delay=step_delay?
new_rest=(2???????????????????+????????)(??????(4???????????_??????????+1))(4—31)step_countACCEL狀態(tài)從零開始,在DECEL狀態(tài)完成時結束。記錄accel_count用于控制加速或者。在ACCEL狀態(tài)時,它從零開始每一步都會增加增加直到它的值為0,運動結束,狀態(tài)設置為STOP。decel_start指示開始。當step_count與decel_start相等時,狀態(tài)設置為DECEL。代碼講BH-MSD4805的驅動包含了MicroStepDriver.c及MSD_test.cMicroStepDriver.c文件中主要是配置定時器產生脈沖,以及實現(xiàn)步進電機移動的函數(shù)MSD_Move(signedintstep,unsignedintaccel,unsignedintdecel,unsignedintspeed)。MSD_test.c文件包含串口命令接收處理、控制步進電機運動。MicroStepDriver.c程序中首先初始化步進電機需要用到的三組信號:脈沖信號、方向信號、脫機信號。代碼見代碼4-1。代碼4-1定時器初始化代碼(位于MicroStepDriver.c和MicroStepDriver.h文件 7 8 910 11 13 信號的頻率F14 (10-15 (72-1718 19 20 2223 24 25 27步進電機脈沖輸出使能引28 29 30 staticvoid{ TIM_TimeBaseInitTypeDefCNT計數(shù)器的時鐘 時鐘分頻因子配置死區(qū)時間時需要用TIM_TimeBaseInit(MSD_PULSE_TIM, TIM_OCInitTypeDef 輸出使輸出通道空閑電平極性配MSD_PULSE_OCx_Init(MSD_PULSE_TIM,//使能TIM1_CH1預裝載寄存 //使能TIM1預裝TIM_ARRPreloadConfig(MSD_PULSE_TIM, 使能中82 MicroStepDriver.h頭文件主要定義驅動步進電機所需脈沖的定時器和它對應的輸出通道引腳。方向信號引腳,脫機信號引腳。MicroStepDriver.c程序中控制STM32使用 代碼4-2移動步進電機代碼(位于1/*!brief2*通過計算加速到最大速度,以給定的步數(shù)*如果加速度和度很小,步進電機會移動很慢,還沒達到最大速度就要開*\param 移動的步數(shù)(正數(shù)為順時針,負數(shù)為逆時針*\paramaccel加速度,100*\paramdecel度,如果取值為100,實際值為*\paramspeed最大速度,100,實際值voidMSD_Move(signedintstep,unsignedintaccel,unsignedintdecel,unsignedint{unsignedintunsignedintaccel_lim;根據(jù)步數(shù)的正負來判斷方ifstep0)srd.dir=step=-elsesrd.dir= status.out_ena=TRUE;if(step==1)srd.accel_count=-//狀srd.run_state=srd.step_delay=status.running=//設置占空比為 elseif(step!=0)//min_delay=(alpha/tt)/srd.min_delay=A_T_x100/speed;//通過計算第一個(c0)的步進延時來設定加速度,其中accel單位為//step_delay=1/tt*//step_delay=(tfreq*0.676/100)*100*sqrt((2*alpha*10000000000)/(accel*100)srd.step_delay=(T1_FREQ_148*sqrt(A_SQ/accel))/100;//max_s_lim=speed^2/max_s_lim=//但實際須移動至少一步才能達到想要的速if(max_s_lim==0)max_s_lim= //計算多少步之后須開//n1=(n1+n2)decel/(accel+accel_lim=((long)step*decel)///須加速至少1步才能才能開始if(accel_lim==0)accel_lim= //srd.decel_valif(accel_lim<=max_s_lim)srd.decel_val=accel_lim-}elsesrd.decel_val=- //當只剩下一步if(srd.decel_val==0)srd.decel_val=- //計算開始時的步srd.decel_start=step+srd.decel_val;if(srd.step_delay<=srd.min_delay)srd.step_delay=srd.run_state=}elsesrd.run_state= srd.accel_count=status.running=//設置占空比為 107MSD_Move(signedintstep,unsignedintaccel,unsignedintdecel,unsignedintspeed)函數(shù)作用是用戶輸入固定的步數(shù)、加速度、度、最大速度四個參數(shù);然后計算出運動速加速度和度計算必須開始的步數(shù);根據(jù)給定的參數(shù)我們可以計算出電機是否能加速到最大速度就要開始,選擇式(4—28)或者式(4—28)來計算距離。所有數(shù)碼4-3。代碼4-3定時器中斷服務函數(shù)代碼(位于12 *@brief產生脈沖定時器的中斷響應程序,每走一步都會計算運動狀4 *@param6 *@retval8 void{unsignedint加速過程中最后一次延時staticintstaticunsignedintstep_count=staticsignedintrest=0;if(TIM_GetITStatus(MSD_PULSE_TIM,TIM_IT_Update)!=RESET)/*ClearMSD_PULSE_TIMCaptureCompare1interruptpending MSD_PULSE_TIM-if(status.out_ena!=TRUE||status.estop==TRUE)srd.run_state= switch(srd.run_state)casestep_count=rest=//StopTimer/CounterMSD_PULSE_TIM->CCER&=~(1<<12);//輸status.running=caseMSD_PULSE_TIM->CCER|=1<<12;new_step_delay=srd.step_delay-(((2* +rest)/(4*srd.accel_count+rest=((2*(long)srd.step_delay)+rest)%(4*srd.accel_count+//Chechifweshouldstartif(step_count>=srd.decel_start)srd.accel_count=srd.run_state= elseif(new_step_delay<=srd.min_delay)last_accel_delay=new_step_delay=rest=srd.run_state= caseMSD_PULSE_TIM->CCER|=1<<12;new_step_delay=if(step_count>=srd.decel_start)srd.accel_count=//以最后一次加速的延時作為開始的延new_step_delay=srd.run_state= caseMSD_PULSE_TIM->CCER|=1<<12;new_step_delay=srd.step_delay-(((2* +rest)/(4*srd.accel_count+ rest=((2*(long)srd.step_delay)+rest)%(4*srd.accel_count+ if(srd.accel_count>=0) srd.run_state= srd.step_delay= 93 見代碼4-4。代碼4-4USART1串口接收數(shù)據(jù)處理代碼(位于MSD_test.c文件12 *@brief處理串口接收到的數(shù)4 *@param6 *@retval8 void{staticcharshowflag//Numberofstepstostaticintsteps=//Accelrationtostaticintacceleration=//Decelerationtostaticintdeceleration=//Speedtostaticintspeed=intintint lsifthereceivedstringwasavalidcharokCmd=if(showflag)showflag=ShowData(stepPosition,acceleration,deceleration,speed, //Ifacommandisreceived,checkthecommandandactonif(status.cmd==TRUE)if(UART_RxBuffer[0]=='m')//Moveif(UART_RxBuffer[1]=='')//...numberofstepssteps=atoi((charconstMSD_Move(steps,acceleration,deceleration,okCmd=printf("\n\r}elseif(UART_RxBuffer[1]=='o')if(UART_RxBuffer[2]=='v')if(UART_RxBuffer[3]=='e')//...allparametersif(UART_RxBuffer[4]=='')inti=steps=atoi((charconstwhile((UART_RxBuffer[i]!='')&&(UART_RxBuffer[i]!=13))acceleration=atoi((charconstwhile((UART_RxBuffer[i]!='')&&(UART_RxBuffer[i]!=13))deceleration=atoi((charconstwhile((UART_RxBuffer[i]!='')&&(UART_RxBuffer[i]!=13))speed=atoi((charconstMSD_Move(steps,acceleration,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年護理三基知識復習測試卷附答案
- 道具社恐測試題及答案大全
- 小學詩詞大會初賽試題分析及答案
- 工程筆譯試題及答案
- 抗生素臨床應用試題及答案
- 2025年子宮收縮藥項目規(guī)劃申請報告模范
- 編織你的路的軟件評測師試題及答案
- 黨務主管面試試題及答案
- 系統(tǒng)分析師考試概念解析試題及答案
- 社區(qū)文書應聘面試題目及答案
- EPC光伏項目投標方案(技術方案)
- 2023企業(yè)數(shù)字化轉型建設方案數(shù)據(jù)中臺、業(yè)務中臺、AI中臺
- 國家開放大學本科《人文英語3》一平臺機考真題及答案(第二套)
- 廣西壯族自治區(qū)南寧市2023-2024學年八年級下學期7月期末歷史試題(無答案)
- 江蘇省揚州市2023-2024學年高二下學期6月期末考試歷史試題
- 初中必背古詩文
- 教科版四年級下冊科學期末測試卷含答案【研優(yōu)卷】
- JBT 14615-2024 內燃機 活塞運動組件 清潔度限值及測定方法(正式版)
- 生態(tài)文明與環(huán)境保護法智慧樹知到期末考試答案章節(jié)答案2024年東北林業(yè)大學
- MOOC 樹木學-北京林業(yè)大學 中國大學慕課答案
- 企業(yè)食品安全知識培訓
評論
0/150
提交評論