電機是一種可以實現(xiàn)電能與機械能之間相互轉換的設備名娶,其可分為電動機和發(fā)電機兩種游禽,前者能夠把電能轉換為機械能,而后者能把機械能轉化為電能健娄。在學習STM32控制電機植坝,一般說的都是電動機。
電機的種類繁多翁焦,其可按工作電源郑煌、用途、轉子結構茎倘、運轉速度等進行分類赦牧。這里,我們以用途為例剩膏,對常見的電機進行分類胳瑟,具體的框圖如下圖所示:
直流有刷電機(BDC)是一種內含電刷裝置,可以將直流電能轉化為機械能的電動機砂豌,在允許的范圍內厢岂,只需要調整電壓,即可調整它的轉速阳距,因此這類電機擁有良好的調速性能塔粒。直流有刷電機的實物圖如下圖所示:
無刷電機是指無電刷和換向器的電機结借,又稱為無換向器電機,它由電機主體和驅動器組成卒茬,是一種典型的機電一體化產(chǎn)品船老。早在十九世紀,就已經(jīng)出現(xiàn)了無刷形式的電機圃酵,即交流鼠籠式異步電動機柳畔,但是它有許多無法克服的缺陷,以至于人們無法不斷地探索更好的電機技術郭赐。直到上世紀中葉薪韩,晶體管誕生了,晶體管換向電路代替了傳統(tǒng)的電刷與換向器結構捌锭,這種新型無刷電機克服了第一代無刷電機的缺陷俘陷。直流無刷電機的實物圖如下所示:
舵機本身是一種”特殊“ 的直流電機,其構造不僅只有電機部分秋降,而且還自帶了一個控制器颁膊,所以舵機本身就是一個閉環(huán)控制系統(tǒng)(伺服系統(tǒng))。當我們給舵機發(fā)送指令信號時别逐,它可以將指令信號變換為輸出軸的角度并保持住艰吏,即便是負載發(fā)生了變化,它也能夠進行自動調節(jié)拱宗。舵機的實物圖如下圖所示:
步進電機是一種將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制電機,是現(xiàn)代數(shù)字程序控制系統(tǒng)中的主要執(zhí)行元件隆鹤,應用極為廣泛菜盒。在非超負載的情況下,步進電機的轉速汪请、停止的位置只取決于脈沖信號的頻率和脈沖個數(shù)酪捏,不受負載變化的影響。步進電機的實物圖如下如所示:
伺服電機是指在伺服系統(tǒng)中控制機械元件運轉的電動機(伺服即絕對服從的贸左,會克服慣性等影響层锄,價格較昂貴) 它搭配上驅動器,形成一個完整的伺服系統(tǒng)矿卑,就能夠精確的控制速度喉恋、位置等。伺服電機具有線性度高母廷、起動轉矩大轻黑、運行范圍廣、無自轉現(xiàn)象等顯著特點琴昆,遺憾的是就目前來看氓鄙,一套伺服系統(tǒng)的成本是比較昂貴的馆揉。
江蘇金華東機電電機類別 |
江蘇金華東機電特點 |
直流有刷電機 直流無刷電機、 舵機 步進電機 伺服電機
|
驅動簡單抖拦,成本低廉升酣,但是噪音大,故障較多态罪,壽命也相對較短 噪音低噩茄,運轉流暢,高速向臀,壽命更長巢墅,但是控制較為復雜 自成閉環(huán)系統(tǒng),角度控制優(yōu)秀隆文,價格低美卒,但是帶負載能力較弱 結構簡單,驅動方便韧践,沒有積累誤差轿战,不過因為其可能存在丟步現(xiàn)象,精度不高 速度随象、位置控制精確载蜓,可低速運行,效率高聪蔬,壽命長肄绢,可以說是目前最可靠的一類電機但是價格較高
|
轉速:電機輸出軸的速度,單位一般是r/min(轉每分鐘)无价,也常用RPM表示
輸出扭矩:表示了電機輸出軸可以輸出力的大小详毡,單位一般為N.M或者kg.cm
工作電壓:電機正常工作時的電壓
額定電流:電機正常工作時的電流
堵轉電流:電機負載過大,驅動力不足琳柱,發(fā)生堵轉時的電流
電機控制相關的STM32外設
電機控制與STM32定時器的關系
電機的控制與STM32定時器有著密不可分的關系耻陕,舉一兩個例子:1、在直流有刷電機的控制中刨沦,我們常用脈沖寬度調制技術(PWM)來控制電壓的大小诗宣,以此改變直流有刷電機的轉速。
2想诅、對于步進電機而言召庞,接收的脈沖個數(shù)決定了它的旋轉位置,脈沖頻率決定了它的旋轉速度来破。
從上面的例子可以看出裁眯,電機的控制本質上就是脈沖的控制,因此我們引入了STM32定時器,以便對脈沖信號實現(xiàn)更高效的控制穿稳。
STM32有眾多的定時器存皂,其中包括兩個基本定時器(TIM6和TIM7)10個通用定時器(TIM2-TIM5、TIM9-TIM14)逢艘、2個高級定時器(TIM1和TIM8)旦袋,這些定時器彼此完全獨立,不共享任何資源它改。主要特性包括:16位自動重轉載遞增計數(shù)器物轮,16位可編程預分頻器,預分頻系數(shù)1-65536引苇,用于對計數(shù)器時鐘頻率進行分頻怖征,還可以出發(fā)DAC同步電路,以及生成中斷/DMA請求牌鹊。
時鐘源:定時器的核心就是計數(shù)器视以,要實現(xiàn)計數(shù)的功能,首先要給它一個時鐘源己倾,基本定時器時鐘掛載在APB1總線购哺,它的時鐘來源于APB1但是,基本定時器的時鐘不是直接由APB1總線直接提供的蔫迅,而是先經(jīng)過一個倍頻器人狞。當APB1的預分頻器系數(shù)為1,這個倍頻器系數(shù)為1具藐,即定時器的頻率就等于APB1的頻率欢礼,否則定時器的頻率就等于2倍的APB1時鐘頻率。
控制器:控制器除了控制定時器的復位庞溜、使能革半、計數(shù)等功能之外,還可以用于觸發(fā)DAC轉換
時基單元:時基單元包括計數(shù)器寄存器(CNT)强缘、預分頻寄存器(PSC)、自動重裝載寄存器(ARR)不傅÷玫啵基本定時器的三個寄存器都是16位寄存器,即可設置值范圍為0-65535.時基單元的預分頻器PSC访娶,它有一個輸入和一個輸出商虐。輸入CK_PSC來源于控制器實際上就是來自于CK_INT,即2倍的APB1時鐘崖疤,輸出是分頻后的時鐘秘车。CK_CNT = CK_PSC/(PSC[15:0]+1)
影子寄存器:從框圖中可以看到,預分頻器PSC后面有個影子寄存器,自動重裝載寄存器也有一個影子寄存器叮趴。這就表示這些寄存器由影子寄存器割笙,影子寄存器實質就是一個實際起作用的寄存器,不可直接訪問丰躺。舉個例子勉惋,我們可以把預分頻系數(shù)寫入預分頻寄存器中,但是預分頻寄存器只是起到緩存數(shù)據(jù)的作用肄琉,只有等到更新事件發(fā)生時丧爸,預分頻器的值才會被寫入到其影子寄存器中,這時才真正起作用洋训。自動重裝載寄存器同上述一樣带超,唯一不同的在于自動重裝載寄存器是否具有緩沖作用還受到ARPE的影響,當該位置為0時妙散,ARR寄存器不進行緩沖昨宋,直接寫入影子寄存器中,當該位置為1時组救,不起作用喧丛,等到更新事件發(fā)生時,才寫入到影子寄存器中辰车。這就是二者之間的差別缔直。
更新事件:更新事件產(chǎn)生有兩種情況,其一是由軟件產(chǎn)生博其,將TIMx_EGR寄存器的UG置位1套才,產(chǎn)生更新事件后,硬件自動會將UG位清0慕淡,二是由硬件產(chǎn)生背伴,滿足以下條件時即可,計數(shù)器的值等于自動重裝載寄存器的影子寄存器的值峰髓,這時產(chǎn)生更新事件傻寂。
控制器包括:從模式控制器、編碼器接口和觸發(fā)控制器(TRGO) 携兵。從模式控制器可以控制計數(shù)器復位疾掰、啟動椭赋、遞增/遞減滨胰、計數(shù)将盾。編碼器接口針對編碼器計數(shù)胁编。觸發(fā)控制器用來提供觸發(fā)信號給別的外設谦牛,比如為其他定時器提供時鐘或者為DAC/ADC的觸發(fā)轉換提供信號筐子。
包括基本定時器上面的時基單元芬迄。
高級定時器的計數(shù)模式有三種:遞增計數(shù)模式卓召、遞減計數(shù)模式和中心對齊模式
遞增計數(shù)模式:遞增計數(shù)模式和基本計數(shù)器的計數(shù)模式是一樣的。
遞減計數(shù)模式:遞減計數(shù)模式就是來一個計數(shù)脈沖就減1夭蒜,稱為定時器下溢栋灿。定時器溢出就會產(chǎn)生更新事件的發(fā)生,然后計數(shù)器又重新從自動重裝載寄存器影子寄存器的值開始遞減計數(shù)周矢,如此循環(huán)锣石。
中心對齊模式:中心對齊模式就是該模式下計數(shù)器先從0開始遞增計數(shù),直到計數(shù)器的值等于自動重裝載寄存器的值-1時沟赏,定時器上溢浆酝,同時生成更新事件,然后自動重載寄存器影子寄存器的值開始遞減計算提钟,直到計數(shù)值等于1時和爽,定時器下溢,同時生成更新事件锻转,然后又從0開始遞增計數(shù)儡簿,依次循環(huán)。每次定時器上溢或者下溢都會生成更新事件稽羔。計數(shù)器的計數(shù)模式的設置可以參考相應的寄存器配置侍瑟。
輸入捕獲包括4個輸入捕獲通道、輸入濾波和邊沿檢測以及預分頻器等部分丙猬。IO端口通過復用功能與這些通道相連涨颜。配置好IO端口的復用之后,將需要測量的信號輸入到相應的IO端口茧球,輸入捕獲部分可以對輸入信號的上升沿庭瑰、下降沿或者雙邊沿進行捕獲,常見的測量有:測量輸入信號的脈沖寬度抢埋、測量PWM輸入信號的頻率和占空比等弹灭。
輸出比較包括:4個輸出比較通道,3個互補通道揪垄、死區(qū)發(fā)生器以及輸出控制器穷吮,用于輸出比較模式或者PWM模式.
高級定時器輸出比較部分和通用定時器相比,多了帶死區(qū)控制的互補輸出功能饥努。
斷路功能也稱之為剎車功能捡鱼,一般用于電機控制的剎車。斷路源可以是剎車輸入的引腳肪凛,也可以是一個時鐘失敗事件详鲜。時鐘失敗事件由復位時鐘控制器中的時鐘安全系統(tǒng)產(chǎn)生躏宗。系統(tǒng)復位后邦霸,斷路功能默認被禁止,MOE位為低。
電機是一種可以實現(xiàn)電能與機械能之間相互轉換的設備怠写,其可分為電動機和發(fā)電機兩種,前者能夠把電能轉換為機械能剖宪,而后者能把機械能轉化為電能竟恩。在學習STM32控制電機,一般說的都是電動機雨晃。
電機的種類繁多伸坑,其可按工作電源、用途躺刷、轉子結構念脯、運轉速度等進行分類。這里弯淘,我們以用途為例绿店,對常見的電機進行分類,具體的框圖如下圖所示:
直流有刷電機(BDC)是一種內含電刷裝置庐橙,可以將直流電能轉化為機械能的電動機假勿,在允許的范圍內,只需要調整電壓怕午,即可調整它的轉速废登,因此這類電機擁有良好的調速性能。直流有刷電機的實物圖如下圖所示:
無刷電機是指無電刷和換向器的電機郁惜,又稱為無換向器電機堡距,它由電機主體和驅動器組成,是一種典型的機電一體化產(chǎn)品兆蕉。早在十九世紀羽戒,就已經(jīng)出現(xiàn)了無刷形式的電機,即交流鼠籠式異步電動機虎韵,但是它有許多無法克服的缺陷巷况,以至于人們無法不斷地探索更好的電機技術。直到上世紀中葉扣飘,晶體管誕生了诵捏,晶體管換向電路代替了傳統(tǒng)的電刷與換向器結構,這種新型無刷電機克服了第一代無刷電機的缺陷杀蝌。直流無刷電機的實物圖如下所示:
舵機本身是一種”特殊“ 的直流電機罕鞭,其構造不僅只有電機部分屋孕,而且還自帶了一個控制器,所以舵機本身就是一個閉環(huán)控制系統(tǒng)(伺服系統(tǒng))驴嚣。當我們給舵機發(fā)送指令信號時硕纯,它可以將指令信號變換為輸出軸的角度并保持住,即便是負載發(fā)生了變化黔巨,它也能夠進行自動調節(jié)握帘。舵機的實物圖如下圖所示:
步進電機是一種將電脈沖信號轉變?yōu)榻俏灰苹蚓€位移的開環(huán)控制電機,是現(xiàn)代數(shù)字程序控制系統(tǒng)中的主要執(zhí)行元件预甲,應用極為廣泛篱俊。在非超負載的情況下,步進電機的轉速耳鸯、停止的位置只取決于脈沖信號的頻率和脈沖個數(shù)瓣赂,不受負載變化的影響。步進電機的實物圖如下如所示:
伺服電機是指在伺服系統(tǒng)中控制機械元件運轉的電動機(伺服即絕對服從的片拍,會克服慣性等影響煌集,價格較昂貴) 它搭配上驅動器,形成一個完整的伺服系統(tǒng)捌省,就能夠精確的控制速度苫纤、位置等。伺服電機具有線性度高纲缓、起動轉矩大卷拘、運行范圍廣、無自轉現(xiàn)象等顯著特點祝高,遺憾的是就目前來看栗弟,一套伺服系統(tǒng)的成本是比較昂貴的。
江蘇金華東機電電機類別 |
江蘇金華東機電特點 |
直流有刷電機 直流無刷電機工闺、 舵機 步進電機 伺服電機
|
驅動簡單乍赫,成本低廉,但是噪音大尾烛,故障較多杭恩,壽命也相對較短 噪音低,運轉流暢萤考,高速悠拗,壽命更長,但是控制較為復雜 自成閉環(huán)系統(tǒng)乒柳,角度控制優(yōu)秀尘是,價格低,但是帶負載能力較弱 結構簡單彭铐,驅動方便岸欣,沒有積累誤差榛开,不過因為其可能存在丟步現(xiàn)象,精度不高 速度啤兆、位置控制精確,可低速運行询崇,效率高桶棍,壽命長,可以說是目前最可靠的一類電機但是價格較高
|
轉速:電機輸出軸的速度性宏,單位一般是r/min(轉每分鐘)群井,也常用RPM表示
輸出扭矩:表示了電機輸出軸可以輸出力的大小,單位一般為N.M或者kg.cm
工作電壓:電機正常工作時的電壓
額定電流:電機正常工作時的電流
堵轉電流:電機負載過大毫胜,驅動力不足书斜,發(fā)生堵轉時的電流
電機控制相關的STM32外設
電機控制與STM32定時器的關系
電機的控制與STM32定時器有著密不可分的關系,舉一兩個例子:1酵使、在直流有刷電機的控制中荐吉,我們常用脈沖寬度調制技術(PWM)來控制電壓的大小,以此改變直流有刷電機的轉速口渔。
2样屠、對于步進電機而言,接收的脈沖個數(shù)決定了它的旋轉位置缺脉,脈沖頻率決定了它的旋轉速度痪欲。
從上面的例子可以看出,電機的控制本質上就是脈沖的控制攻礼,因此我們引入了STM32定時器业踢,以便對脈沖信號實現(xiàn)更高效的控制。
STM32有眾多的定時器甚宜,其中包括兩個基本定時器(TIM6和TIM7)10個通用定時器(TIM2-TIM5种洛、TIM9-TIM14)、2個高級定時器(TIM1和TIM8)映情,這些定時器彼此完全獨立辅及,不共享任何資源。主要特性包括:16位自動重轉載遞增計數(shù)器桌强,16位可編程預分頻器朴蛔,預分頻系數(shù)1-65536,用于對計數(shù)器時鐘頻率進行分頻浴营,還可以出發(fā)DAC同步電路盼靠,以及生成中斷/DMA請求。
時鐘源:定時器的核心就是計數(shù)器磁不,要實現(xiàn)計數(shù)的功能曹略,首先要給它一個時鐘源砂裹,基本定時器時鐘掛載在APB1總線,它的時鐘來源于APB1但是踢故,基本定時器的時鐘不是直接由APB1總線直接提供的文黎,而是先經(jīng)過一個倍頻器。當APB1的預分頻器系數(shù)為1殿较,這個倍頻器系數(shù)為1耸峭,即定時器的頻率就等于APB1的頻率,否則定時器的頻率就等于2倍的APB1時鐘頻率淋纲。
控制器:控制器除了控制定時器的復位劳闹、使能、計數(shù)等功能之外洽瞬,還可以用于觸發(fā)DAC轉換
時基單元:時基單元包括計數(shù)器寄存器(CNT)本涕、預分頻寄存器(PSC)、自動重裝載寄存器(ARR)伙窃∑杏保基本定時器的三個寄存器都是16位寄存器,即可設置值范圍為0-65535.時基單元的預分頻器PSC为障,它有一個輸入和一個輸出位他。輸入CK_PSC來源于控制器實際上就是來自于CK_INT,即2倍的APB1時鐘产场,輸出是分頻后的時鐘亡谭。CK_CNT = CK_PSC/(PSC[15:0]+1)
影子寄存器:從框圖中可以看到,預分頻器PSC后面有個影子寄存器惧梦,自動重裝載寄存器也有一個影子寄存器奶堵。這就表示這些寄存器由影子寄存器,影子寄存器實質就是一個實際起作用的寄存器眶侣,不可直接訪問啸业。舉個例子,我們可以把預分頻系數(shù)寫入預分頻寄存器中夷著,但是預分頻寄存器只是起到緩存數(shù)據(jù)的作用宿柜,只有等到更新事件發(fā)生時,預分頻器的值才會被寫入到其影子寄存器中望星,這時才真正起作用霹补。自動重裝載寄存器同上述一樣,唯一不同的在于自動重裝載寄存器是否具有緩沖作用還受到ARPE的影響浸萤,當該位置為0時十匆,ARR寄存器不進行緩沖,直接寫入影子寄存器中,當該位置為1時柬赐,不起作用亡问,等到更新事件發(fā)生時,才寫入到影子寄存器中肛宋。這就是二者之間的差別州藕。
更新事件:更新事件產(chǎn)生有兩種情況,其一是由軟件產(chǎn)生酝陈,將TIMx_EGR寄存器的UG置位1床玻,產(chǎn)生更新事件后,硬件自動會將UG位清0后添,二是由硬件產(chǎn)生,滿足以下條件時即可薪丁,計數(shù)器的值等于自動重裝載寄存器的影子寄存器的值遇西,這時產(chǎn)生更新事件。
控制器包括:從模式控制器严嗜、編碼器接口和觸發(fā)控制器(TRGO) 粱檀。從模式控制器可以控制計數(shù)器復位、啟動漫玄、遞增/遞減牙饲、計數(shù)。編碼器接口針對編碼器計數(shù)猬笑。觸發(fā)控制器用來提供觸發(fā)信號給別的外設舀鼎,比如為其他定時器提供時鐘或者為DAC/ADC的觸發(fā)轉換提供信號。
包括基本定時器上面的時基單元呜颓。
高級定時器的計數(shù)模式有三種:遞增計數(shù)模式园桑、遞減計數(shù)模式和中心對齊模式
遞增計數(shù)模式:遞增計數(shù)模式和基本計數(shù)器的計數(shù)模式是一樣的。
遞減計數(shù)模式:遞減計數(shù)模式就是來一個計數(shù)脈沖就減1候摹,稱為定時器下溢塔端。定時器溢出就會產(chǎn)生更新事件的發(fā)生,然后計數(shù)器又重新從自動重裝載寄存器影子寄存器的值開始遞減計數(shù)她添,如此循環(huán)媒湖。
中心對齊模式:中心對齊模式就是該模式下計數(shù)器先從0開始遞增計數(shù),直到計數(shù)器的值等于自動重裝載寄存器的值-1時屎洒,定時器上溢舒贼,同時生成更新事件,然后自動重載寄存器影子寄存器的值開始遞減計算虑稼,直到計數(shù)值等于1時脆丁,定時器下溢,同時生成更新事件动雹,然后又從0開始遞增計數(shù)槽卫,依次循環(huán)跟压。每次定時器上溢或者下溢都會生成更新事件。計數(shù)器的計數(shù)模式的設置可以參考相應的寄存器配置歼培。
輸入捕獲包括4個輸入捕獲通道震蒋、輸入濾波和邊沿檢測以及預分頻器等部分。IO端口通過復用功能與這些通道相連躲庄。配置好IO端口的復用之后查剖,將需要測量的信號輸入到相應的IO端口,輸入捕獲部分可以對輸入信號的上升沿噪窘、下降沿或者雙邊沿進行捕獲笋庄,常見的測量有:測量輸入信號的脈沖寬度、測量PWM輸入信號的頻率和占空比等倔监。
輸出比較包括:4個輸出比較通道直砂,3個互補通道、死區(qū)發(fā)生器以及輸出控制器帝畸,用于輸出比較模式或者PWM模式.
高級定時器輸出比較部分和通用定時器相比蜀梢,多了帶死區(qū)控制的互補輸出功能。
斷路功能也稱之為剎車功能邀安,一般用于電機控制的剎車颗用。斷路源可以是剎車輸入的引腳,也可以是一個時鐘失敗事件扬瘸。時鐘失敗事件由復位時鐘控制器中的時鐘安全系統(tǒng)產(chǎn)生类繁。系統(tǒng)復位后,斷路功能默認被禁止乌骇,MOE位為低诽闲。