摘要:力矩控制模式電機(jī)在運(yùn)行過(guò)程的電流,始終等于給定的值。設(shè)定電流為零,彈簧不被拉伸。比如機(jī)械臂從點(diǎn)運(yùn)動(dòng)到點(diǎn),并限制揮舞過(guò)程中的最大速度和最大力矩。
??閱讀此文,可對(duì)照之前這篇文章:SimpleFOC(四)—— 閉環(huán)控制
(為保證本文可讀性,把之前寫過(guò)的搬運(yùn)到此。)
??◎電機(jī)在運(yùn)行過(guò)程的電流,始終等于給定的值。
??◎比如使用電機(jī)來(lái)拉伸彈簧,設(shè)定電流值越大,彈簧被拉伸的長(zhǎng)度越長(zhǎng)。設(shè)定電流越小,彈簧被拉伸的長(zhǎng)度越短。設(shè)定電流為零,彈簧不被拉伸。
??◎在SimpleFOC項(xiàng)目中,受限于Arduino UNO的運(yùn)行速度,大部分例程沒(méi)有使用電流采樣,所以設(shè)定電壓值代替設(shè)定電流值。
??◎讓電機(jī)始終按照設(shè)定的速度運(yùn)轉(zhuǎn),不因負(fù)載的變化而變化。
??◎速度控制一般會(huì)采用內(nèi)環(huán)電流環(huán),外環(huán)速度環(huán)的方式,所以可以限制轉(zhuǎn)動(dòng)過(guò)程中的電流不超過(guò)設(shè)定值。
??◎比如傳送帶傳送物品,給定的速度不會(huì)因?yàn)閭魉蛶鲜强蛰d或者帶載發(fā)生變化,但是當(dāng)負(fù)載過(guò)大,電流超過(guò)設(shè)定值的時(shí)候會(huì)報(bào)警或自動(dòng)停止。
??◎精確控制電機(jī)轉(zhuǎn)動(dòng)到指定角度,
??◎位置控制一般會(huì)采用內(nèi)環(huán)電流環(huán),外環(huán)速度環(huán),最外環(huán)位置環(huán)的方式,所以可以限制轉(zhuǎn)動(dòng)過(guò)程中的最大速度,和最大電流。
??◎比如機(jī)械臂從A點(diǎn)運(yùn)動(dòng)到B點(diǎn),并限制揮舞過(guò)程中的最大速度和最大力矩。
?
??本節(jié)實(shí)驗(yàn)適合運(yùn)行在SimpleMotor和STM32最小系統(tǒng)板上(Bluepill)。
序號(hào) | 名稱 | 數(shù)量 |
---|---|---|
1 | SimpleMotor | 1 |
2 | 帶編碼器云臺(tái)電機(jī) | 1 |
3 | USB轉(zhuǎn)串口 | 1 |
4 | 12V電源 | 1 |
帶編碼器云臺(tái)電機(jī)可以是AS5600,也可以是TLE5012B。
AS5600電機(jī) 購(gòu)買鏈接:某寶購(gòu)買
TLE5012B電機(jī) 購(gòu)買鏈接:某寶購(gòu)買
SimpleMotor 購(gòu)買鏈接:某寶購(gòu)買
序號(hào) | 名稱 | 數(shù)量 |
---|---|---|
1 | STM32核心板 | 1 |
2 | SimpleFOCShield V2.0.3 | 1 |
3 | 帶磁編碼器的云臺(tái)電機(jī) | 1 |
4 | USB轉(zhuǎn)串口 | 1 |
5 | 5V電源 | 1 |
6 | 12V電源 | 1 |
7 | 杜邦線 | 若干 |
帶編碼器云臺(tái)電機(jī)可以是AS5600,也可以是TLE5012B。
AS5600電機(jī) 購(gòu)買鏈接:某寶購(gòu)買
TLE5012B電機(jī) 購(gòu)買鏈接:某寶購(gòu)買
simpleFOCShield V2.0.3購(gòu)買鏈接:某寶購(gòu)買
?
只拍照演示M1的接線,M2的接線根據(jù)原理圖自行連接。
對(duì)照 Shield V2.0.3 的原理圖:
STM32核心板 | V2.0.3 |
---|---|
PA0 | 5 |
PA1 | 9 |
PA2 | 6 |
PB9 | 8 |
GND | GND |
如果是AS5600編碼器,如下
STM32核心板 | AS5600電機(jī) |
---|---|
PB6 | SCL |
PB7 | SDA |
3V3 | VCC |
GND | GND |
如果是TLE5012B編碼器,如下
STM32核心板 | TLE5012電機(jī) |
---|---|
PB15 | MOSI |
PB14 | MISO |
PB13 | SCK |
PB8 | CSQ |
GND | GND |
3V3 | VCC |
1、力矩模式
??◎串口設(shè)定值為Uq,Ud固定為0;
??◎控制原理與開(kāi)環(huán)控制很像,核心代碼是SVPWM;
??◎開(kāi)環(huán)的θ是人為設(shè)定的,而閉環(huán)的θ來(lái)自編碼器。
?
2、速度模式
??◎力矩閉環(huán)外增加了速度環(huán);
??◎串口設(shè)定值為期望速度(Vd);
??◎?qū)嶋H速度和期望速度的差作為PID輸入,輸出值為SVPWM的輸入(Uq),Ud固定為0;
??◎編碼器讀到的角度為機(jī)械角度,先轉(zhuǎn)為電角度供SVPWM使用(θ);
??◎根據(jù)最近兩次的角度差和時(shí)間差計(jì)算出當(dāng)前速度(v),速度做濾波處理(Vf),因?yàn)樗俣纫3制交荒芡蛔儯?br /> ?
3、位置模式
??◎與速度環(huán)相比多了一個(gè)位置環(huán),相應(yīng)的要調(diào)試位置環(huán)PID,創(chuàng)作者的代碼中只使用了P參數(shù),實(shí)際應(yīng)用中一般會(huì)用PD參數(shù)。
?
??一般的無(wú)刷電機(jī)驅(qū)動(dòng)器會(huì)有個(gè)學(xué)習(xí)模式,用撥碼開(kāi)關(guān)切換,第一次使用先撥到學(xué)習(xí)模式,檢測(cè)電機(jī)參數(shù)后保存到內(nèi)部flash。然后切換到工作模式,驅(qū)動(dòng)器每次上電都會(huì)導(dǎo)入存儲(chǔ)的參數(shù),執(zhí)行控制。
??SimpleFOC上電后也會(huì)檢測(cè)電機(jī)參數(shù),但是沒(méi)有保存的動(dòng)作,所以每次上電都要檢測(cè),對(duì)于帶磁編碼器的電機(jī),需要檢測(cè)機(jī)械角度和電角度的偏差(zero_electric_angle),和電機(jī)極對(duì)數(shù)(pole_pairs)。
??機(jī)械角度零點(diǎn)和電角度的零點(diǎn),在實(shí)際操作中基本是不可能對(duì)齊的,所以同學(xué)們不要有通過(guò)調(diào)整編碼器角度,把零點(diǎn)對(duì)齊的這個(gè)想法。
代碼位置在:BLDCMotor.c,
?
注意:如果檢測(cè)到的極對(duì)數(shù)與實(shí)際不符,停止繼續(xù)操作,否則電機(jī)會(huì)堵轉(zhuǎn)
?
1、選擇力矩模式,其它參數(shù)根據(jù)實(shí)際情況設(shè)置
2、編譯下載
??可以串口下載或者SWDIO下載;
??如果是串口下載,Boot加上跳線帽,下載完畢后拿掉跳線帽,按復(fù)位鍵重啟或者斷電重啟。
??注意:復(fù)位重啟只能重啟單片機(jī),編碼器沒(méi)有重啟,這可能會(huì)導(dǎo)致重啟后的I2C接口編碼器不能正確讀出,SPI接口編碼器不受影響。
3、等待初始化完成
4、串口發(fā)送指令,此時(shí)發(fā)送的數(shù)據(jù)表示電壓值Uq
??注意:設(shè)置的電壓值不能超過(guò)voltage_power_supply/√3,比如電源電壓12V,設(shè)置不能超過(guò)6.92V。
5、給電機(jī)施加阻力,感受不同電壓對(duì)應(yīng)不同的力矩
?
注意:力矩模式不涉及PID,所以比較簡(jiǎn)單,大功率電機(jī)設(shè)置電壓值不能太大。
?
1、選擇速度模式
注意:PID參數(shù)根據(jù)電機(jī)實(shí)際情況自行設(shè)置,不了解PID設(shè)置的請(qǐng)百度。
2、編譯下載
3、重新上電,等待電機(jī)初始化完成
4、串口發(fā)送指令T6.28,觀察電機(jī)是否以1圈/秒的速度轉(zhuǎn)動(dòng)。
5、設(shè)置不同速度,觀察電機(jī)轉(zhuǎn)動(dòng)變化。給電機(jī)施加阻力,觀察電機(jī)轉(zhuǎn)動(dòng)
演示視頻:
1、5010電機(jī):https://www.bilibili.com/video/BV1cL4y1h7RL/
2、X4108S電機(jī):https://www.bilibili.com/video/BV1Wq4y1o7q9/
3、2804電機(jī):https://www.bilibili.com/video/BV1j64y187qp/
?
1、選擇位置模式
注意:本例中,位置模式包含了位置PID和速度PID,根據(jù)電機(jī)實(shí)際情況自行設(shè)置,不了解PID的請(qǐng)百度。
2、編譯下載
3、重新上電,等待電機(jī)初始化完成
4、串口發(fā)送指令T6.28,觀察電機(jī)是否轉(zhuǎn)動(dòng)一圈
??上電后為了保證電機(jī)為靜止?fàn)顟B(tài),設(shè)置初始化后的目標(biāo)角度為當(dāng)前角度,所以第一次設(shè)置角度6.28,電機(jī)不會(huì)轉(zhuǎn)一圈。第一次可以設(shè)置目標(biāo)角度為0。
?
(完)
?
?
本文只講了M1電機(jī)的操作,源碼中包含M1和M2兩個(gè)工程,M2的操作可比照M1,不再贅述!
本節(jié)源碼下載:
鏈接:https://pan.baidu.com/s/1HYhEYYBlKC9BJmZXo8Ngbg
提取碼:ih65
?
歡迎加入simpleFOC技術(shù)交流群:923734429 (入群申請(qǐng)寫:CSDN)
?
?
請(qǐng)繼續(xù)閱讀相關(guān)文章:
SimpleFOC移植STM32(一)—— 簡(jiǎn)介
SimpleFOC移植STM32(二)—— 開(kāi)環(huán)控制
SimpleFOC移植STM32(三)—— 角度讀取
SimpleFOC移植STM32(四)—— 閉環(huán)控制
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/121279.html
摘要:而及是一對(duì)差分信號(hào)線,使用差分信號(hào)。幀結(jié)束表示數(shù)據(jù)幀結(jié)束的段??刂贫慰刂贫斡蓚€(gè)位構(gòu)成,表示數(shù)據(jù)段的字節(jié)數(shù)。有效消息當(dāng)消息依據(jù)協(xié)議正確接收并且成功通過(guò)標(biāo)識(shí)符篩選后,該消息將視為有效。 目錄 CAN協(xié)議介紹 物理層 閉環(huán)總線網(wǎng)絡(luò) 開(kāi)環(huán)總線網(wǎng)絡(luò) ?通訊節(jié)點(diǎn) 差分信號(hào) 協(xié)議層簡(jiǎn)介 CAN的波特率 位...
摘要:基于開(kāi)發(fā)的軟件包導(dǎo)師汪禮超學(xué)員崔林威摘要騰訊物聯(lián)網(wǎng)操作系統(tǒng)是騰訊面向物聯(lián)網(wǎng)領(lǐng)域開(kāi)發(fā)的實(shí)時(shí)操作系統(tǒng),具有低功耗,低資源占用,模塊化,可裁剪等特性。圖中斷函數(shù)處理進(jìn)行生成工程配置,按如下界面進(jìn)行配置,最后點(diǎn)擊,并點(diǎn)擊。 ...
摘要:使用庫(kù)讀寫環(huán)境光照度傳感器本文將教大家如何快速使用庫(kù)讀取光照度數(shù)據(jù)。五實(shí)驗(yàn)樣機(jī)測(cè)試展示通過(guò)之前配置好的面板,通過(guò)涂鴉智能進(jìn)行配網(wǎng)實(shí)時(shí)采集光照度傳感器的數(shù)據(jù)。 使用STM32 HAL庫(kù)讀寫環(huán)境光照度傳感器(BH1750) 本文將教大家如何快速使用STM32HAL庫(kù)讀取光照度數(shù)據(jù)。 實(shí)現(xiàn)功能:通...
摘要:第二點(diǎn)與是同時(shí)完成的,說(shuō)明這是全雙工通信。上表中的表示數(shù)據(jù)線空閑,該數(shù)據(jù)線無(wú)數(shù)據(jù)傳送。設(shè)置震動(dòng)模式后用來(lái)控制右側(cè)的小電機(jī),表示關(guān),其他值為開(kāi)。單片機(jī)發(fā)送了給手柄,此時(shí)手柄會(huì)返回給單片機(jī),意味著接收到了請(qǐng)求,即將返回?cái)?shù)據(jù)。 ...
摘要:一說(shuō)明本庫(kù)基于編譯,其他的內(nèi)核也支持,采用串口和模組通信。使用時(shí)添加文件到工程中,頭文件引用即可。此外,需要外部實(shí)現(xiàn)模組的復(fù)位操作,一般是對(duì)管腳拉高一段時(shí)間,復(fù)位函數(shù)需要指定函數(shù)為。四實(shí)例以下為使用的庫(kù),實(shí)現(xiàn)對(duì)接自建。 一、說(shuō)明 本lib庫(kù)基于STM32F407編譯,其他的cortexM4內(nèi)...
閱讀 1915·2021-09-27 14:02
閱讀 3887·2021-09-27 13:36
閱讀 1132·2019-08-30 12:46
閱讀 1923·2019-08-30 10:51
閱讀 3679·2019-08-29 17:02
閱讀 1064·2019-08-29 16:38
閱讀 1920·2019-08-29 16:37
閱讀 3213·2019-08-26 10:32