基于stm32F4的项目总结:控制层设计(四)直流有刷电机驱动原理及驱动器选型
a 控制原理及選型
直流有刷電機的關鍵指標
1.電機尺寸:
2.重量:
3.空載電流:正常工作電壓下電機不帶任何負載的工作電流,越好的電機,在空載時,該值越小;
4.負載電流:負載電流是指電機拖動負載時實際檢測到的定子電流數(shù)值;
5.堵轉(zhuǎn)電流:在電機受反向外力使其停止轉(zhuǎn)動時的電流,此時電流非常大,長時間使用就可能會燒毀電機,在實際使用時應盡量避免;
6.額定電壓:
7.空載轉(zhuǎn)速:正常工作電壓下電機不帶任何負載的轉(zhuǎn)速( rpm)。空載轉(zhuǎn)速由于沒有反向力矩,所以輸出功率和堵轉(zhuǎn)情況不一樣,該參數(shù)只是提供一個電機在規(guī)定電壓下最大轉(zhuǎn)速的參考;
8.負載轉(zhuǎn)速:正常工作電壓下電機帶負載的轉(zhuǎn)速;
9.負載力矩:正常工作電壓下電機帶負載的力矩(N· m);
10.減速比:是指沒有減速齒輪時轉(zhuǎn)速與有減速齒輪時轉(zhuǎn)速之比;
11.功率:在額定電壓下能夠長期正常運轉(zhuǎn)的最大功率,也是指電動機在制造廠所規(guī)定的額定情況下運行時, 其輸出端的機械功率;
12.編碼器線數(shù)(ppr):連接編碼器的電機軸轉(zhuǎn)動一圈,編碼器產(chǎn)生的脈沖數(shù)。
? 下面列出一些待選的直流有刷電機(依次為ASLONG直流有刷電機、N20精密減速電機)
? 直流有刷電機參數(shù)表
| 尺寸/mm | 19 | 10×12×15 |
| 重量/g | 199 | 10 |
| 額定電壓/V | 12 | 2-4 |
| 空載轉(zhuǎn)速/rpm | 1000 | 145 |
| 空載電流/mA | 120 | 58 |
| 負載扭矩/g*cm | 380 | 200 |
| 減速比 | 10 | 97 |
| 機械噪音/DB | 未知 | 75 |
| 編碼器線數(shù)/ppr | 7 | 無 |
- ? 直流有刷電機的選型過程
1、首先要明確需要的最大扭矩大小,通過驅(qū)動的物體的轉(zhuǎn)動慣量及需要的加速(或制動)性能來計算最大扭矩;其中還要考慮克服摩擦需要多少扭矩。
2、需要的工作轉(zhuǎn)速是多少。
3、可用的電源額定電壓和電流是多少。
4、算出工作時的扭矩的平方根均值是多少,也就是maximum continuous torque,最大連續(xù)轉(zhuǎn)矩。
5、通過最大扭矩和最大轉(zhuǎn)速,算出電機的最大輸出功率。
6、選擇減速齒輪箱的減速比,然后計算電機減速前的最大扭矩和最大連續(xù)轉(zhuǎn)矩。
7、通過功率、扭矩和轉(zhuǎn)速指標,開始電機系列選型。
8.開始繞組的選型。
9、找出average speed-torque gradient是多少。
10、依據(jù)最大轉(zhuǎn)速和最大扭矩,計算無負載的轉(zhuǎn)速no-load speed。
11、計算minimum target speed constant速度常數(shù)是多少。
12、通過速度常數(shù)選型繞組,留有一定余量,也就確定了電機的具體型號。
13、計算出最大電流,看是否超出供電的額定電流值。
b 驅(qū)動器選型
? 通常在驅(qū)動電機的時候我們會選擇集成 H 橋的 IC,因為 H 橋使用分立元件搭建比較麻煩,增加了硬件設計難度,當然如果集成 IC 無法滿足我們的功率要求時,還是需要我們自己使用 MOS管、三極管等元件來搭建 H 橋電路,這樣的分立元件搭建的 H 橋一般驅(qū)動能力都會比集成 IC 要高。當我們在選擇集成 IC 時,我們需要考慮集成 IC 是否能滿足電機的驅(qū)動電壓要求,是否能承受電機工作時的電流等情況。
下面僅是對驅(qū)動器產(chǎn)品的使用,并不涉及驅(qū)動器的設計部分知識。對于大功率工業(yè)用電機的集成IC驅(qū)動器功率往往達不到要求,需要自己用MOS管搭建H橋。
? 直流有刷電機驅(qū)動器連接直流有刷電機控制器與電機本體,從控制器接收控制信號,按照PWM大小調(diào)節(jié)驅(qū)動電壓供給到電機,方向電平反轉(zhuǎn)時電流反向。如下圖所示,輸入量為頻率固定(驅(qū)動器會有最大頻率的限制,一般再最大范圍內(nèi)選定一個具體值后固定),占空比可調(diào)(后續(xù)閉環(huán)控制要求占空比最小要0.1%可調(diào)即可以精確調(diào)至小數(shù)點后一位)的PWM波用來控制電機轉(zhuǎn)速、方向電平用來控制電機轉(zhuǎn)向;輸出量為對應的變化電壓。
? 直流有刷電機驅(qū)動器基本功能圖
? 直流有刷電機驅(qū)動器內(nèi)部結構簡圖如下所示,板載保護電路, 降低驅(qū)動器在異常工作條件下受損的可能, 保護狀態(tài)由指示燈實時輸出。 全電氣隔離輸入增強了主控 MCU 電路安全性,更可顯著提高系統(tǒng)電磁兼容性能 。
? 驅(qū)動器內(nèi)部結構簡圖
下面列出一些待選的直流有刷驅(qū)動器/芯片(依次為WSDC2412D雙通道驅(qū)動器、雙L298N驅(qū)動模塊、 L293D驅(qū)動模塊、MOS管)
? 部分直流有刷電機驅(qū)動器選型
| 驅(qū)動電流/A | 12 | 2 | 1 |
| 驅(qū)動電壓/V | 7-24 | 5-24 | 7-12 |
| 邏輯電壓/V | 5 | 5 | 5 |
| 最大驅(qū)動功率 | 290W | 4 | |
| PWM最小脈寬/us | 2 | ||
| PWM 輸入頻率/kHZ | 18 | 5 | |
| 工作溫度/℃ | 85 | -40~150 | |
| 尺寸/mm | 50×50×12.5 | 60×60 | 42×45 |
c 編碼器的使用
- 編碼器介紹
? 編碼器是一種用來測量機械旋轉(zhuǎn)或位移的傳感器。這種傳感器能夠測量機械部件在旋轉(zhuǎn)或直線運動時的位移位置或速度等信息,并將其轉(zhuǎn)換成一系列電信號。編碼器可以根據(jù)不同的方式分出很多種類型。例如根據(jù)檢測原理,可分為光學式、磁式、感應式和電容式。根據(jù)內(nèi)部機械結構的運動方式,可分為線性編碼器和旋轉(zhuǎn)編碼器。根據(jù)其刻度實現(xiàn)方法及信號輸出形式,又可分為增量式、絕對式以及混合式三種。
旋轉(zhuǎn)編碼器:集光機電技術于一體的速度位移傳感器。當旋轉(zhuǎn)編碼器軸帶動光柵盤旋轉(zhuǎn)時,經(jīng)發(fā)光元件發(fā)出的光被光柵盤狹縫切割成斷續(xù)光線,并被接收元件接收產(chǎn)生初始信號。該信號經(jīng)后繼電路處理后,輸出脈沖或代碼信號。它的特點是體積小,功能全,頻響高,分辨能力高,重量輕,品種多,力矩小,耗能低,性能穩(wěn)定,可靠使用壽命長等。旋轉(zhuǎn)編碼器屬于編碼器中較為特殊的一種,是一種實現(xiàn)快速調(diào)速的裝置。它通過光電轉(zhuǎn)換,可將輸出軸的角位移、角速度等機械量轉(zhuǎn)換成相應的電脈沖以數(shù)字量輸出,用來測量轉(zhuǎn)速并配合PWM技術可以實現(xiàn)快速調(diào)速,是工業(yè)中常用的電機定位設備,可以精確的測試電機的角位移和旋轉(zhuǎn)位置。旋轉(zhuǎn)編碼器是用于監(jiān)測傳動系統(tǒng)中的旋轉(zhuǎn)或轉(zhuǎn)動部件,也是一種傳感器。
? 旋轉(zhuǎn)編碼器工作原理圖
? 旋轉(zhuǎn)編碼器內(nèi)部大都由碼盤、光電檢測裝置和信號處理電路等部分構成。碼盤上刻了若干圈線槽,線槽等距并且可透光,當碼盤旋轉(zhuǎn)時就會周期性的透過和遮擋來自光電檢測裝置的光線,這樣檢測裝置就會周期性的生成若干電信號。但是這些電信號通常比較微弱,需要加入一套處理電路對信號進行放大和整形,最后把信號整形為脈沖信號并向外輸出。
? 總的來說編碼器需要5V供電,與電機軸固連在一起,輸出脈沖脈沖數(shù)反映轉(zhuǎn)角(具體一圈多少脈沖,取決于編碼器線數(shù)ppr)脈沖頻率反應轉(zhuǎn)速,所以測電機位置速度信息的關鍵就在于精確測量脈沖并轉(zhuǎn)換成位置速度信息。
? 增量式編碼器示意圖
? 下面列出一些編碼器型號(依次為空心編碼器、實心軸編碼器、直流減速電機上的光電編碼器)
- 編碼器的使用(僅以方波信號為例說明)
倍頻技術
? 方波信號A 和 B相 各自的上升沿和下降沿都能計數(shù),至少在 1/2 個原始方波周期內(nèi)就可以計數(shù)一次,最多 1/4 個原始方波周期。這樣計數(shù)頻率就是原始方波信號的 2 倍或 4 倍,換句話說就是,將編碼器的分辨率提高了 2 到 4倍,具體如下圖所示。
? 圖中的方波信號如果只看其中一個通道的上升沿,那計數(shù)頻率就等于這個通道信號的頻率。如果在通道 A 的上升沿和下降沿都進行計數(shù),計數(shù)頻率就是通道 A 的兩倍,即 2 倍頻。如果同時對兩個通道的上升沿和下降沿都計數(shù),那計數(shù)頻率就變成了原始信號的 4 倍,即 4 倍頻。例如,一個線數(shù)為100ppr的編碼器在倍頻之前是一圈100個脈沖,四倍頻后分辨率提升到了100*4=400ppr。
測速方法
常用的編碼器測速方法一般有三種: 定時測角法(M法)、 定角測時法(T法)和定時測角/定角測時法(M/T法)。
定時測角法:用于轉(zhuǎn)速較高的場合
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? & V(\text{k}…
提供準確的時間間隔,再測量每個時間間隔中經(jīng)過的位置
定角測時法:用于轉(zhuǎn)速較低的場合
KaTeX parse error: No such environment: align at position 8: \begin{?a?l?i?g?n?}? & V(\text{k}…
提供準確的位置變化量,再測量產(chǎn)生這些變化量所消耗的時間
- 單片機常用的測量脈沖的幾種方法:
以下為引用的相關博客:
【教程】使用STM32測量頻率和占空比的幾種方法詳細代碼見原文,引自:https://blog.csdn.net/yyx112358/article/details/78414594
由于我們當時的題目除了測量頻率之外,更麻煩的是測量占空比。而這兩個的測量方法聯(lián)系比較緊密,所以也一并把測量占空比的方法寫出來。
使用平臺:官方 STM32F429DISCOVERY 開發(fā)板, 180MHz 的主頻,定時器頻率 90MHz 。
相關題目:
( 1 )測量脈沖信號頻率 f_O ,頻率范圍為 10Hz ~ 2MHz ,測量誤差的絕對值不大于 0.1% 。( 15 分)
( 2 )測量脈沖信號占空比 D ,測量范圍為 10 %~ 90 %,測量誤差的絕對值不大于 2% 。( 15 分)
思路一:外部中斷
思路:這種方法是很容易想到的,而且對幾乎所有 MCU 都適用(連 51 都可以)。方法也很簡單,聲明一個計數(shù)變量 TIM_cnt ,每次一個上升沿 / 下降沿就進入一次中斷,對 TIM_cnt++ ,然后定時統(tǒng)計即可。如果需要占空比,那么就另外用一個定時器統(tǒng)計上升沿、下降沿之間的時間即可。
缺點:缺陷顯而易見,當頻率提高,將會頻繁進入中斷,占用大量時間。而當頻率超過 100kHz 時,中斷程序時間甚至將超過脈沖周期,產(chǎn)生巨大誤差。同時更重要的是,想要測量的占空比由于受到中斷程序影響,誤差將越來越大。
總結 : 我們當時第一時間就把這個方案 PASS 了,沒有相關代碼(這個代碼也很簡單)。不過,該方法在頻率較低( 10K 以下)時,可以拿來測量頻率。在頻率更低的情況下,可以拿來測占空比。
思路二: PWM 輸入模式
思路:翻遍 ST 的參考手冊,在定時器當中有這樣一種模式:
總結 : 我們當時第一時間就把這個方案 PASS 了,沒有相關代碼(這個代碼也很簡單)。不過,該方法在頻率較低( 10K 以下)時,可以拿來測量頻率。在頻率更低的情況下,可以拿來測占空比。
思路三:輸入捕獲
思路:一般來說,對STM32有一定了解的壇友們在測量頻率的問題上往往都會想到利用輸入捕獲。首先設定為上升沿觸發(fā),當進入中斷之后(rising)記錄與上次中斷(rising_last)之間的間隔(周期,其倒數(shù)就是頻率)。再設定為下降沿,進入中斷之后與上升沿時刻之差即為高電平時間(falling-rising_last),高電平時間除周期即為占空比
思路四:使用外部時鐘計數(shù)器
這種方法是我這幾天回答問題時推薦的方法。思路是配置兩個定時器,定時器a設置為外部時鐘計數(shù)器模式,定時器b設置為定時器(比如50ms溢出一次,也可以用軟件定時器),然后定時器b中斷函數(shù)中統(tǒng)計定時器a在這段時間內(nèi)的增量,簡單計算即可。
思路五: ADC 采樣測量(概率測量法)
一般的高端示波器,測量頻率即是這種方法。簡而言之,高速采樣一系列數(shù)據(jù),然后通過頻譜分析(例如快速傅里葉變換 FFT ),獲得頻率。 F4 有著 FPU 和 DSP 指令,計算速度上可以接受。但是 ADC 的采樣頻率遠遠達不到。官方手冊上聲明,在三通道交替采樣 +DMA 之下,最高可以達到 8.4M 的采樣率。然而,根據(jù)香農(nóng)采樣定理,采樣頻率至少要達到信號的 2 倍。 2M 信號和 8.4M 的采樣率,即使能夠計算,誤差也無法接受。所以, ADC 采樣是無法測量頻率特別是高頻頻率的。但是,無法測量頻率,卻可以測量占空比,乃至超調(diào)量和上升時間(信號從 10% 幅值上升到 90% 的時間)!原理也很簡單,大學概率課上都說過這個概率基本原理:當采樣數(shù)n趨于無窮時,事件A的概率即趨近于統(tǒng)計的頻率。所以,當采樣數(shù)越大,則采樣到的高電平占樣本總數(shù)的頻率即趨近于概率——占空比!因此,基本思路即是等間隔(速度無所謂,但必須是保證等概率采樣)采樣,并將這些數(shù)據(jù)存入一個數(shù)組,反復刷新。這樣,可以在任意時間對數(shù)組中數(shù)據(jù)進行統(tǒng)計,獲得占空比數(shù)據(jù)。
總結:
外部中斷:編寫容易,通用性強。缺點是中斷進入頻繁,誤差大。
PWM 輸入:全硬件完成, CPU 負載小,編寫容易。缺點是不穩(wěn)定,誤差大。
輸入捕獲:可達到約 400kHz 。低頻精度高, 10Hz 可達到 0.01% 以下, 400kHz 也有 3% 。缺點是中斷頻繁,無法測量高頻,幅值必須在 3.3~5V 之間。
外部時鐘計數(shù)器(首選):可達到非常高的頻率(理論上應當是 90MHz )和非常低的誤差( 2MHz 下為 0.0015% 且可線性補償)。缺點是低頻精度較低,同樣幅值必須在 3.3~5V 之間。
ADC 采樣頻率測量法:難以測量頻率,高頻下對占空比、上升時間有可以接受的測量精度( 2MHz 下約 1.3% ),低頻下無法測量。幅值 0.3~3.3V ,加入前置放大則幅值隨意。
ADC 采樣頻譜分析:高端示波器專用, STM32 棄療。
我采用的方法是:首先 ADC 測量幅值并據(jù)此改變前置放大器放大倍數(shù),調(diào)整幅值為 3.3V ,同時測量得到參考占空比。而后使用外部時鐘計數(shù)器測量得到頻率,如果較高( >10000 )則確認為頻率數(shù)據(jù),同時 ADC 測量占空比確認為占空比數(shù)據(jù)。否則再使用輸入捕獲方法測量得到頻率、占空比數(shù)據(jù)。
對于各個方法存在的線性誤差,使用了線性補償來提高精度。一般情況下,使用存儲在 ROM 中的數(shù)據(jù)作為參數(shù),當需要校正時,采用如下校正思路:
波形發(fā)生器生成一些預設參數(shù)波形(例如 10Hz , 10% ; 100K , 50% ; 2M , 90% ……),在不同區(qū)間內(nèi)多次測量得到數(shù)據(jù),隨后以原始數(shù)據(jù)為 x ,真實數(shù)據(jù)為 y ,去除異常數(shù)據(jù)之后,做 y=f(x) 的線性回歸,并取相關系數(shù)最高的作為新的參數(shù),同時存儲在 ROM 當中。
總結
以上是生活随笔為你收集整理的基于stm32F4的项目总结:控制层设计(四)直流有刷电机驱动原理及驱动器选型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 裁剪DEM高程数据
- 下一篇: python矩阵行秩函数_矩阵的秩的性质