国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

步進(jìn)電機(jī)簡(jiǎn)單使用:STM32 PWM輸出固定數(shù)目的脈沖數(shù)(基于CubeMX)

這篇具有很好參考價(jià)值的文章主要介紹了步進(jìn)電機(jī)簡(jiǎn)單使用:STM32 PWM輸出固定數(shù)目的脈沖數(shù)(基于CubeMX)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

1 步進(jìn)電機(jī)驅(qū)動(dòng)原理

使用步進(jìn)電機(jī)之前,我們需要了解步距角的概念:步進(jìn)電機(jī)接收到一個(gè)脈沖轉(zhuǎn)動(dòng)的角度,步進(jìn)電機(jī)步距角通常
為1.8°,即步進(jìn)電機(jī)接收到一個(gè)脈沖轉(zhuǎn)動(dòng)1.8°,則若步進(jìn)電機(jī)接收到360°/1.8°=200個(gè)脈沖,步進(jìn)電機(jī)就能轉(zhuǎn)動(dòng)一圈

步進(jìn)電機(jī)通過(guò)驅(qū)動(dòng)器控制,驅(qū)動(dòng)器如下圖所示(都比較相似)
步進(jìn)電機(jī)stm32,STM32,單片機(jī),嵌入式,stm32,單片機(jī),嵌入式硬件

驅(qū)動(dòng)器側(cè)面有撥碼開(kāi)關(guān),根據(jù)圖中1、2部分可以修改驅(qū)動(dòng)器細(xì)分?jǐn)?shù)和電流大小
細(xì)分?jǐn)?shù):類(lèi)似于將步進(jìn)電機(jī)的分辨率擴(kuò)大,若將SW1設(shè)置為ON、SW2設(shè)置為OFF、SW3設(shè)置為OFF、SW4設(shè)置為OFF,即將驅(qū)動(dòng)器細(xì)分?jǐn)?shù)設(shè)置為2后,此時(shí)步進(jìn)電機(jī)的分辨率擴(kuò)大為200*2=400,即步進(jìn)電機(jī)接收到400個(gè)脈沖才能轉(zhuǎn)動(dòng)一整圈,一個(gè)脈沖只能轉(zhuǎn)動(dòng)0.9°
圖中4處與步進(jìn)電機(jī)相連,連接順序步進(jìn)電機(jī)上面一般會(huì)標(biāo)明,通常為黑線接A+、綠線接A-、紅線接B+、藍(lán)線接B-
圖中3處為控制信號(hào)接口,分為共陰接線法、共陽(yáng)接線法
步進(jìn)電機(jī)stm32,STM32,單片機(jī),嵌入式,stm32,單片機(jī),嵌入式硬件
上圖為購(gòu)物網(wǎng)站提供的資料

共陽(yáng)極接法:分別將PUL+,DIR+,EN+連接到控制系統(tǒng)的電源上, 如果此電源是+5V 則可直接接入,如果此電源大于+5V,則須外部另加限流電阻R,PUL-接脈沖引腳、DIR-接方向引腳、ENA-接使能引腳

共陰極接法:分別將 PUL-,DIR-,EN-連接到控制系統(tǒng)的地端,PUL+接脈沖引腳、DIR+接方向引腳、ENA+接使能引腳

2 程序快速配置

本文以共陽(yáng)接線法為例,用一個(gè)引腳A來(lái)連接ENA-,引腳B來(lái)連接DIR-,引腳A的高低電平輸出就能控制電機(jī)使能與否,引腳B的高低電平輸出控制電機(jī)的正轉(zhuǎn)、反轉(zhuǎn),本文重點(diǎn)講解如何利用CubeMX快速實(shí)現(xiàn)PWM輸出固定數(shù)目個(gè)脈沖數(shù),從而實(shí)現(xiàn)對(duì)步進(jìn)電機(jī)的精確控制
本文以f407igt6為例,打開(kāi)CubeMX選擇完芯片后首先進(jìn)行SYS、RCC配置,具體配置其他文章均詳細(xì)描述過(guò),此處不再贅述
步進(jìn)電機(jī)stm32,STM32,單片機(jī),嵌入式,stm32,單片機(jī),嵌入式硬件
選擇定時(shí)器8的通道1,輸出模式為PWM(在2處如果找不到圖示選項(xiàng),就轉(zhuǎn)動(dòng)鼠標(biāo)輪,當(dāng)初作者也在此處繞了很多彎),然后設(shè)置分頻系數(shù)(不同定時(shí)器最高頻率可能不同)和計(jì)數(shù)周期,

步進(jìn)電機(jī)stm32,STM32,單片機(jī),嵌入式,stm32,單片機(jī),嵌入式硬件
最后別忘記設(shè)置占空比,否則輸出的脈沖全為高電平或者低電平

步進(jìn)電機(jī)stm32,STM32,單片機(jī),嵌入式,stm32,單片機(jī),嵌入式硬件
最后打開(kāi)定時(shí)器更新中斷

步進(jìn)電機(jī)stm32,STM32,單片機(jī),嵌入式,stm32,單片機(jī),嵌入式硬件
設(shè)置時(shí)鐘頻率

步進(jìn)電機(jī)stm32,STM32,單片機(jī),嵌入式,stm32,單片機(jī),嵌入式硬件
設(shè)置項(xiàng)目名稱以及生成項(xiàng)目格式MDK

步進(jìn)電機(jī)stm32,STM32,單片機(jī),嵌入式,stm32,單片機(jī),嵌入式硬件
將c文件單獨(dú)放置于一文件夾,最后生成并打開(kāi)項(xiàng)目加入如下代碼(記得在USER CODE BEGIN-END之間添加,防止重新生成代碼時(shí)將內(nèi)容覆蓋了)
步進(jìn)電機(jī)stm32,STM32,單片機(jī),嵌入式,stm32,單片機(jī),嵌入式硬件

函數(shù)void PWM_Output(uint32_t pwm_num)即為輸出脈沖的函數(shù),參數(shù)pwm_num為需要輸出脈沖個(gè)數(shù)

uint32_t Pulse_Cnt=0;
uint32_t Pulse_exp_Cnt=0;
void PWM_Output(uint32_t pwm_num)
{
		/*開(kāi)啟定時(shí)器更新中斷*/
		HAL_TIM_Base_Start_IT(&htim8);
		/*開(kāi)始輸出PWM*/
		HAL_TIM_PWM_Start(&htim8,TIM_CHANNEL_1);
		Pulse_exp_Cnt=pwm_num;
}


void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){
	/*每輸出一個(gè)脈沖進(jìn)入一次中斷,Pulse_Cnt用于計(jì)數(shù)已經(jīng)產(chǎn)生的脈沖個(gè)數(shù)*/
	/*Pulse_exp_Cnt為需要產(chǎn)生的脈沖個(gè)數(shù)*/
	/*當(dāng)Pulse_Cnt與Pulse_exp_Cnt為相等時(shí),表示已經(jīng)產(chǎn)生了預(yù)期數(shù)目的脈沖數(shù),從而停止PWM輸出*/
	if(htim==(&htim8))
	{
		Pulse_Cnt++;
		if(Pulse_Cnt==Pulse_exp_Cnt)
		{
			 HAL_TIM_Base_Stop_IT(&htim8);
			 HAL_TIM_PWM_Stop(&htim8,TIM_CHANNEL_1);
			 Pulse_Cnt=0;
		}
	}
}

3 注意事項(xiàng)

電機(jī)轉(zhuǎn)動(dòng)的角度通過(guò)控制輸出脈沖個(gè)數(shù)來(lái)控制,電機(jī)轉(zhuǎn)速通過(guò)控制輸出的脈沖頻率來(lái)控制
脈沖頻率越高、電機(jī)轉(zhuǎn)速越快,其輸出扭矩越低
脈沖頻率越低、電機(jī)轉(zhuǎn)速越慢,其輸出扭矩越大
脈沖過(guò)高、過(guò)低都有可能無(wú)法驅(qū)動(dòng)電機(jī);若電機(jī)只發(fā)出聲音不轉(zhuǎn)動(dòng),極有可能是脈沖頻率設(shè)置不合理,則需要重新設(shè)置分頻系數(shù)、重裝載值,最后別忘了設(shè)置占空比!
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-741627.html

到了這里,關(guān)于步進(jìn)電機(jī)簡(jiǎn)單使用:STM32 PWM輸出固定數(shù)目的脈沖數(shù)(基于CubeMX)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • stm32使用TB6600驅(qū)動(dòng)器控制42BYGH型步進(jìn)電機(jī)

    stm32使用TB6600驅(qū)動(dòng)器控制42BYGH型步進(jìn)電機(jī)

    stm32使用TB6600驅(qū)動(dòng)器控制42BYGH型步進(jìn)電機(jī) 例如:隨著人工智能的不斷發(fā)展,機(jī)器學(xué)習(xí)這門(mén)技術(shù)也越來(lái)越重要,很多人都開(kāi)啟了學(xué)習(xí)機(jī)器學(xué)習(xí),本文就介紹了機(jī)器學(xué)習(xí)的基礎(chǔ)內(nèi)容。 24V電源就是通過(guò)電路控制開(kāi)關(guān)進(jìn)行高速的導(dǎo)通于截至,將直流電轉(zhuǎn)化為高頻率的交流電提供給變壓

    2024年02月11日
    瀏覽(23)
  • 【STM32】使用HAL庫(kù)對(duì)ULN2003控制28BYJ-48步進(jìn)電機(jī)

    【STM32】使用HAL庫(kù)對(duì)ULN2003控制28BYJ-48步進(jìn)電機(jī)

    步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移,通過(guò)控制施加在電機(jī)線圈上的電脈沖順序、頻率和數(shù)量,可以控制步進(jìn)電機(jī)的轉(zhuǎn)向、速度和旋轉(zhuǎn)角度。 配合以直線運(yùn)動(dòng)執(zhí)行機(jī)構(gòu)(螺紋絲桿)或齒輪箱裝置,更可以實(shí)現(xiàn)更加復(fù)雜、精密的線性運(yùn)動(dòng)控制要求。 在非超載的情況下,

    2024年02月16日
    瀏覽(27)
  • STM32自學(xué)筆記17-步進(jìn)電機(jī)驅(qū)動(dòng)項(xiàng)目-磁編碼器的正常使用

    上節(jié)有這樣一句話: 步進(jìn)電機(jī)旋轉(zhuǎn)角度和編碼器輸出數(shù)據(jù)之間的關(guān)系通常是非線性的。在校準(zhǔn)過(guò)程中,可以通過(guò)采集一系列已知角度位置的數(shù)據(jù)點(diǎn),并擬合出角度與編碼器數(shù)據(jù)之間的關(guān)系。這個(gè)擬合可以使用曲線擬合算法或其他數(shù)學(xué)方法來(lái)實(shí)現(xiàn)。通過(guò)擬合,可以建立編碼器輸

    2024年02月16日
    瀏覽(82)
  • STM32控制42步進(jìn)電機(jī)

    STM32控制42步進(jìn)電機(jī)

    首先采用TB6600驅(qū)動(dòng)外接12VDC電源。 STM32選c8t6最小系統(tǒng)板 接線TB6600跟32接線有共陰級(jí)接法(把ENA-,DIR-,PUL-與32共地)也有共陽(yáng)接法(把ENA+,DIR+,PUL+與32共地)。這里選共陰級(jí)接法。 判斷42步進(jìn)電機(jī)的4根線哪兩根是A相(A-和A+),哪兩根是B相(B-和B+),方法:將任意兩根線短接起來(lái)

    2024年02月16日
    瀏覽(27)
  • 【STM32篇】4988驅(qū)動(dòng)步進(jìn)電機(jī)

    【STM32篇】4988驅(qū)動(dòng)步進(jìn)電機(jī)

    本文介紹的步進(jìn)電機(jī)驅(qū)動(dòng)為畢設(shè)所用,學(xué)習(xí)時(shí)也借鑒了其他博主和商家的資料,介紹的都很詳細(xì)。但對(duì)于剛?cè)腴T(mén)的友友萌來(lái)說(shuō),可能還會(huì)存在的一些不解。而我就是被卡在驅(qū)動(dòng)電源上。下文為我對(duì)4988驅(qū)動(dòng)的一些理解,希望能幫助到剛學(xué)習(xí)步進(jìn)電機(jī)的朋友。 4988驅(qū)動(dòng)IC價(jià)格便宜

    2024年02月01日
    瀏覽(46)
  • 基于STM32的步進(jìn)電機(jī)驅(qū)動(dòng)設(shè)計(jì)

    基于STM32的步進(jìn)電機(jī)驅(qū)動(dòng)設(shè)計(jì)

    程序源碼提取鏈接放置文章底部,自行提取即可。 采用STM32驅(qū)動(dòng)28BYJ4步進(jìn)電機(jī),實(shí)現(xiàn)正轉(zhuǎn)反轉(zhuǎn),完成角度調(diào)整。步進(jìn)電機(jī)是一種將電脈沖轉(zhuǎn)化為角位移的執(zhí)行機(jī)構(gòu)。當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)------一個(gè)固定的角度(及步進(jìn)角)??梢?/p>

    2024年02月02日
    瀏覽(26)
  • stm32f103使用DM542控制42相步進(jìn)電機(jī)的原理和可行性分析

    步進(jìn)電機(jī)是一種能夠?qū)崿F(xiàn)準(zhǔn)確位置控制的電機(jī),通常應(yīng)用于需要高精度定位的場(chǎng)合,例如3D打印機(jī)、機(jī)器人和自動(dòng)化系統(tǒng)等。而STM32F103是一種高性能、低功耗的微控制器,它擁有廣泛的外設(shè),適合用于控制各種電機(jī)。本文將介紹使用STM32F103控制DM542驅(qū)動(dòng)器驅(qū)動(dòng)42相步進(jìn)電機(jī)的原

    2024年02月15日
    瀏覽(20)
  • 【STM32篇】DRV8425驅(qū)動(dòng)步進(jìn)電機(jī)

    【STM32篇】DRV8425驅(qū)動(dòng)步進(jìn)電機(jī)

    【STM32篇】4988驅(qū)動(dòng)步進(jìn)電機(jī)_hr4988-CSDN博客 ????????在上篇文章中使用了HR4988實(shí)現(xiàn)了步進(jìn)電機(jī)的驅(qū)動(dòng),在實(shí)際運(yùn)用過(guò)程,HR4988或者A4988驅(qū)動(dòng)步進(jìn)電機(jī)會(huì)存在電機(jī)噪音太大的現(xiàn)象。本次將向各位友友介紹一個(gè)驅(qū)動(dòng)簡(jiǎn)單且非常靜音的一款步進(jìn)電機(jī)驅(qū)動(dòng)IC。 ????????DRV8424/25 是適

    2024年04月11日
    瀏覽(29)
  • STM32控制步進(jìn)電機(jī):基于HAL庫(kù)定時(shí)器中斷的閉環(huán)步進(jìn)電機(jī)驅(qū)動(dòng)+精準(zhǔn)控制脈沖數(shù)

    STM32控制步進(jìn)電機(jī):基于HAL庫(kù)定時(shí)器中斷的閉環(huán)步進(jìn)電機(jī)驅(qū)動(dòng)+精準(zhǔn)控制脈沖數(shù)

    該篇文章中用到的步進(jìn)電機(jī)閉環(huán)驅(qū)動(dòng)器為Emm42_V4.0步進(jìn)電機(jī)閉環(huán)驅(qū)動(dòng)器。該閉環(huán)驅(qū)動(dòng)器自帶FOC矢量閉環(huán)控制算法,能實(shí)現(xiàn)力矩、速度、位置三環(huán)控制。 如下圖所示,該42步進(jìn)閉環(huán)電機(jī)驅(qū)動(dòng)器的A+、A-、B+、B-連接步進(jìn)電機(jī),通過(guò)右側(cè)的使能、脈沖、方向端對(duì)步進(jìn)電機(jī)進(jìn)行驅(qū)動(dòng)控制

    2024年02月01日
    瀏覽(24)
  • STM32CubeMX ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)

    STM32CubeMX ULN2003步進(jìn)電機(jī)驅(qū)動(dòng)

    一、28BYJ-48 步進(jìn)電機(jī) ?28BYJ-48是一款5線單極步進(jìn)電機(jī),運(yùn)行電壓為5V。 根據(jù)數(shù)據(jù)表,當(dāng)28BYJ-48電機(jī)在全步模式下運(yùn)行時(shí),每步對(duì)應(yīng)于11.25°的旋轉(zhuǎn)。這意味著每轉(zhuǎn)有32步 (360°/11.25° = 32)。 如上圖所示,步距角=5.625°/64 意思就是每64個(gè)脈沖步進(jìn)電機(jī)就會(huì)轉(zhuǎn)5.625度,因此我們很容易得

    2024年01月18日
    瀏覽(33)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包