日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

STM32 电机教程 8 - 步进电机开环电流控制

發(fā)布時間:2025/4/5 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32 电机教程 8 - 步进电机开环电流控制 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

????? 上一講我們已成功實現(xiàn)基于STM32定時器的步進電機開環(huán)速度控制,這一節(jié)將介紹步時電機的開環(huán)電流控制,步進電機內(nèi)阻較大,在電機停機或堵轉(zhuǎn)時其電流可近視為 I = U/R。其中R是常量,控制U就可以控制步時電機的最大電流I,也就控制了步進電機的最大輸出力。

?

????? 本節(jié)演示步進電機實物圖如下,因沒有找到電機的詳細參數(shù),只能從型號中大致猜測一些(電機工作電壓4V),結(jié)合萬用表實測,得知該步進電機為兩相四線電機,具體接線關(guān)系如下圖所示。

?

示例詳解

本節(jié)用到ST官方推出的NUCLEO-F103RB和MPS的EV8049S-U-00A 電機控制評估板 ,EV8049S-U-00A評估板使用MP8049雙通道全橋芯片,可同時控制兩個有刷直流電機或兩個喇叭或一個步進電機,本節(jié)將用它來控制一個步進電機,手頭沒有EV8049S-U-00A評估板的可以用專門的步進電機驅(qū)動板(tb6560等)代替,也可以用L298N電機驅(qū)動板來控制。

?

?

NUCLEO-F103RB對應(yīng)的大致原理接線圖:

EV8049S-U-00A 電機控制評估板原理圖:

?

?

?

  • 準備操作
  • MP8049驅(qū)動芯片工作電壓是5-26V,因不太確定步進電機工作電壓具體是多少,本示例以該驅(qū)動支持的最低電壓5V控制步進電機(電壓越低,電機電流越小,電機越不容易燒壞,但出力也越小),關(guān)于EV8049S-U-00A評估板及MP8049雙通道全橋芯片的詳細數(shù)據(jù)手冊可在mps官網(wǎng)下載),連接好NUCLEO-F103RB與EV8049S-U-00A及電機:
  • ?

    需要用到的信號

    對應(yīng)MCU引腳

    PWM1A

    PA8

    PWM1B

    PA9

    PWM2A

    PA10

    PWM1B

    PA11

    GND

    GND

    配置STM32 MCU引腳PA8,PA9,PA10,PA11為定時器1的 PWM1,PWM2, PWM3, PWM4輸出控制,定時器1的PWM載波頻率為5K, 控制PWM1,PWM2, PWM3, PWM4輸出引腳上的占空就可以控制對應(yīng)的輸出平均電壓,從而實現(xiàn)對步進電機的電流控制,關(guān)于步進電機的速度及節(jié)拍控制則放在定時器2的更新中斷中完成。

    ?

    關(guān)于兩相步進電機的控制節(jié)拍:

    正轉(zhuǎn):

    (1)四拍:A 1000,A- 0010,?? B 0100,? B- 0001.

    (2)八拍:A 1000,AA- 1010, A- 0010,A-B 0110,B 0100,BB- 0101,B- 0001,B-A 1001.

    反轉(zhuǎn)為正轉(zhuǎn)的逆序,本節(jié)將演示以上兩種控制方式的步進電機正反控制。

    ?

  • 在STM32CubeMX中,有專門的NUCLEO-F103RB工程模板,新建一個Cube工程,芯片型號為st32f103rb:
  • 生成一個簡單的工程模板實現(xiàn)了RCC,SYS,USART2接口的配置,同時還實現(xiàn)了LD2(LED)引腳的配置:

    ?

    配置定時器2,用來產(chǎn)生定時中斷,并在定時中斷函數(shù)中完成步進電機的節(jié)拍換向操作,這里在定時器分頻系數(shù)為(71+1)=72,默認定時時長為(999+1)=1000us ,即1ms,可實現(xiàn)的定時時間范圍是1us 到 65.535ms。

    同時開啟定時器更新中斷,中斷等級選擇默認即可:

    配置定時器1,用于產(chǎn)生載波頻率為5KHZ的PWM,使能四個通道,各通道的默認產(chǎn)生50%(600)的點空PWM:

    生成工程:

    ?

    ?

  • 打開工程,為工作加入stepmotor.c(放于src文件夾下) 和stepmotor.h(放于inc文件夾下)文件,并在tim.c中加入開啟定時器更新中斷代碼:
  • 修改stm32f1xx_it.c中代碼

    ?

    最后在main.c 中加入如下測試代碼:

    ?

    設(shè)置工程下載后自動運行:

    編譯代碼,下載程序運行可直以看到步時電機成功轉(zhuǎn)動起來,可以看到步進電機成功實現(xiàn)了相同速度正轉(zhuǎn)3秒反轉(zhuǎn)3秒功能,同時正轉(zhuǎn)用的PWM是600,反轉(zhuǎn)用的PWM是 1000 ,在電源上可以看到,電機正轉(zhuǎn)與反轉(zhuǎn)時電流明顯不一樣。

    結(jié)合已編寫好的stepmotor.c中的代碼及定時器功能,可以很方便實現(xiàn)步進電機的速度,方向及使能控制,操作mymotor.EN變量可以實現(xiàn)步進電機的起??刂?#xff0c;控制mymotor.Dir 變量值就可以實現(xiàn)步進電機的方向控制,映射好mymotor.Delay 變量的值如程序中( mymotor.Delay= &(htim1.Instance->ARR); )后操作 *mymotor.Delay ?的值就可實現(xiàn)步進電機的速度控制( 如程序中的 *mymotor.Delay = 500; ), 通過setpwm函數(shù)接口可以調(diào)節(jié)pwm 的占空比范圍是 0- 1199;。

    通過本節(jié)內(nèi)容,我們在步進電機開環(huán)速度控制的基上又實現(xiàn)了開環(huán)電流控制,實現(xiàn)了步進電機最大輸出力的靈活控制。OK,本期內(nèi)容完成!限于本人手中的實際研件條件,板子中沒有電流或速度傳感器,步進電機的閉環(huán)速度及電流控制不能給大家演示,不可相關(guān)的內(nèi)容我們可以在PMSM及BLDC電機的相關(guān)內(nèi)容中給大家介紹,下一期將給大家BLDC(直流無刷電機)基本控制原理,如果大家有什么疑問或是有想了解的其它內(nèi)容,也歡迎大家留言!!最后喜歡這個公眾號的同學(xué)們記得加關(guān)注了,每天都會有技術(shù)干貨推出!!

    ?

    ?

    文中源碼及資料下載,關(guān)注十三公眾號:

    在公眾號里給十三發(fā)送 “下載|STM32 電機教程8” :

    ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的STM32 电机教程 8 - 步进电机开环电流控制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。