當(dāng)前位置:首頁 > 公眾號(hào)精選 > TsinghuaJoking
[導(dǎo)讀]“簡(jiǎn)介:以上開源項(xiàng)目經(jīng)過逐飛的精心設(shè)計(jì)和代碼編寫,真實(shí)可靠,特別拍攝了一個(gè)演示視頻,視頻中通過旋鈕調(diào)節(jié)轉(zhuǎn)速,通過按鍵切換方向,通過屏幕顯示轉(zhuǎn)速,可能看不太清,但聽聲音應(yīng)該能感受到它的澎湃動(dòng)力,視頻如下見本文后面。關(guān)鍵詞:BLDC,無刷電機(jī),MM32,SeekFree01前??言?...

簡(jiǎn) 介: 以上開源項(xiàng)目經(jīng)過逐飛的精心設(shè)計(jì)和代碼編寫,真實(shí)可靠,特別拍攝了一個(gè)演示視頻,視頻中通過旋鈕調(diào)節(jié)轉(zhuǎn)速,通過按鍵切換方向,通過屏幕顯示轉(zhuǎn)速,可能看不太清,但聽聲音應(yīng)該能感受到它的澎湃動(dòng)力,視頻如下見本文后面。
關(guān)鍵詞: BLDC,無刷電機(jī),MM32,SeekFree


01

所周知,第十七屆全國(guó)大學(xué)生智能汽車競(jìng)賽有兩個(gè)組別允許使用無刷電機(jī),其中就包含極速越野組,允許將L車原有的540有刷電機(jī)更換為無刷電機(jī),且無刷電機(jī)不指定,給了同學(xué)們新的選擇。的確,無刷電機(jī)帶來的性能提升肉眼可見,但其實(shí)540也不慢,使用也簡(jiǎn)單,所以如果新手選擇了這個(gè)組別,也可以先從有刷調(diào)起,等其他部分都做到不錯(cuò)的階段了,再換無刷來提升整個(gè)作品的競(jìng)爭(zhēng)力也不遲。畢竟無刷的使用也帶來了新的挑戰(zhàn)。


規(guī)則發(fā)布后也引起了很多的討論,其實(shí)匯聚到一個(gè)詞就是--“軍備競(jìng)賽”,是否會(huì)引起大家對(duì)價(jià)格高昂的無刷電機(jī)進(jìn)行瘋狂追逐,比拼經(jīng)費(fèi),錢多的就成績(jī)好呢?這期間組委會(huì)卓老師也經(jīng)過了多番思考,在上周六我們?cè)谂c卓老師進(jìn)行無刷方案準(zhǔn)備的討論時(shí)也討論到這個(gè)話題,我記不住原話了,大概意思是:從賽題的要求來看,其實(shí)追求無刷的極致轉(zhuǎn)速和扭力并不能為穩(wěn)定完成比賽帶來太大的提高,一個(gè)合適的無刷電機(jī)就可以了,也就是說整個(gè)作品的上限并不是無刷電機(jī)的性能比拼,那么引入一個(gè)新的賽題何不開放更多的空間呢,不去指定,給同學(xué)們?cè)黾右粋€(gè)自主選擇的環(huán)節(jié),這個(gè)環(huán)節(jié)又何嘗不是一個(gè)學(xué)習(xí)的過程呢,對(duì)于組委會(huì)來講,新的賽題也是一種探索,更開放的規(guī)則更有利于迸發(fā)出更好的方案,有利于積累更多的經(jīng)驗(yàn),也是對(duì)同學(xué)們創(chuàng)造力的期待。從這個(gè)角度講,不指定無刷電機(jī)的確是一種更好的方式。


▲ 圖1.1 全國(guó)大學(xué)生智能車技術(shù)研討會(huì)那么究竟什么樣的無刷電機(jī)是合適的呢,其實(shí)在參加完10月16日的研討會(huì)后,卓老師已經(jīng)在讓我們進(jìn)行驗(yàn)證,大家也可以從卓老師微信公眾號(hào)和CSDN上看到一些我們測(cè)試的視頻,這期間,我們對(duì)3650這種外形尺寸的多種參數(shù)的無刷電機(jī)進(jìn)行了測(cè)試,從1760-7000 的Kv值總共測(cè)過不同廠家的十多個(gè)電機(jī),實(shí)話講,這波測(cè)試還是很花錢的,但其實(shí)結(jié)合咱們比賽實(shí)際的應(yīng)用場(chǎng)景來看,并不需要太高的轉(zhuǎn)速,經(jīng)過實(shí)際的測(cè)試,我們認(rèn)為讓L車按照50km/h左右的理論速度上限來挑選無刷比較合適,這個(gè)轉(zhuǎn)速參數(shù)下的扭力也完全足夠,畢竟賽題的要求其實(shí)是力量與速度需要并存的,Kv值是指的每增加1V電壓電機(jī)增加的轉(zhuǎn)速,假設(shè)以額定電壓12V,2500Kv值的電機(jī)為例,額定最高轉(zhuǎn)速就是12*2500=30000R/m,Kv值的單位全稱是Kv(RPM/volt),更多關(guān)于無刷電機(jī)的參數(shù)的含義,大家可以自行查詢,在本篇開源項(xiàng)目中會(huì)推薦一種我們認(rèn)為比較合適的電機(jī)。


▲ 圖1.2 智能車競(jìng)賽研討會(huì)現(xiàn)場(chǎng)無刷電機(jī)的前奏聊得多了一點(diǎn),接下來就是無刷電機(jī)怎么驅(qū)動(dòng)的事了,講真,無刷電機(jī)的使用比有刷電機(jī)的使用復(fù)雜了很多,這里不展開講,相信你們自己會(huì)體會(huì)到,當(dāng)你自己搞清楚原理,然后第一次讓它順暢的轉(zhuǎn)起來,并且讓它能轉(zhuǎn)到它的額定轉(zhuǎn)速,甚至超過它的額定轉(zhuǎn)速時(shí),你會(huì)很興奮,因?yàn)樗霓D(zhuǎn)動(dòng)是靠代碼的精確設(shè)計(jì)邏輯來實(shí)現(xiàn)的,而不是有刷電機(jī)那樣上電就能轉(zhuǎn)的原理,所以組委會(huì)也是考慮到了其使用門檻,于是在10月18號(hào)到靈動(dòng)微電子進(jìn)行討論時(shí)商定,由逐飛根據(jù)賽題要求,設(shè)計(jì)一套無刷驅(qū)動(dòng)方案,并且開源給大家使用。這也便是今天的開源項(xiàng)目的來源,終于要開始講今天的主題啦!


▲ 圖1.3 智能車競(jìng)賽贊助商上海靈動(dòng)單片機(jī)公司

02 BLCD開源項(xiàng)目

靈動(dòng)微電子及組委會(huì)委托,逐飛科技作為靈動(dòng)微電子大學(xué)計(jì)劃官方合作伙伴,針對(duì)第十七屆智能汽車競(jìng)賽室外極速組的BLDC應(yīng)用需求,為參賽選手們精心設(shè)計(jì)了符合賽事需求的MM32 BLDC驅(qū)動(dòng)開源方案供大家參考,該方案使用MM32SPIN360C,此單片機(jī)具有3個(gè)運(yùn)放及3個(gè)比較器,無需外加運(yùn)放與比較器。無刷電機(jī)為有感、內(nèi)轉(zhuǎn)子、2860KV、電壓為12V。開源項(xiàng)目目前已實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)、內(nèi)部速度閉環(huán)、支持剎車、支持電機(jī)加速度可調(diào)、支持堵轉(zhuǎn)保護(hù)。


  • 本文下面對(duì)應(yīng)的資料庫(kù)下載鏈接[1] : https://gitee.com/seekfree/MM32SPIN360C_BLDC_Project

一、無刷電機(jī)原理簡(jiǎn)介

在講解本開源項(xiàng)目之前,還需要再簡(jiǎn)單科普一下無刷電機(jī)的原理,下面我們以三槽兩極內(nèi)轉(zhuǎn)子電機(jī)進(jìn)行講解。


圖1是無刷電機(jī)的基本模型示意,電機(jī)內(nèi)部有三個(gè)線圈,每個(gè)線圈的一端都連接起來,另外一端引出到外部,中間有一個(gè)具有N/S兩極的永磁鐵內(nèi)轉(zhuǎn)子。


▲ 采用星型連接方式的無刷電機(jī)內(nèi)部結(jié)構(gòu)示意圖

1、無刷電機(jī)定子磁場(chǎng)

如果我們按照一定的順序給電機(jī)通電,轉(zhuǎn)子就可以旋轉(zhuǎn)起來。我們舉例幾種給電的情況來進(jìn)行簡(jiǎn)單分析和模擬:


(1)給A端正電壓,B端負(fù)電壓

A相產(chǎn)生的磁場(chǎng)會(huì)吸引轉(zhuǎn)子的S極,B相線圈產(chǎn)生的磁場(chǎng)會(huì)吸引轉(zhuǎn)子的N極,轉(zhuǎn)子會(huì)轉(zhuǎn)到向左傾斜的位置,如下圖所示。(其中每一相產(chǎn)生的磁場(chǎng)我們需要使用右手螺旋定則判斷磁場(chǎng)的南極與北極)


▲ 圖2.1.2 AB相施加電壓的情況

(2)給A通正電壓,C通負(fù)電壓

A相產(chǎn)生的磁場(chǎng)會(huì)吸引轉(zhuǎn)子的S極,C相線圈產(chǎn)生的磁場(chǎng)會(huì)吸引轉(zhuǎn)子的N極,轉(zhuǎn)子會(huì)轉(zhuǎn)到水平位置,如下圖所示。


▲ 圖2.1.3 AC相通電情形

(3)給B通正電壓,C通負(fù)電壓

B相產(chǎn)生的磁場(chǎng)會(huì)吸引轉(zhuǎn)子的S極,C相線圈產(chǎn)生的磁場(chǎng)會(huì)吸引轉(zhuǎn)子的N極,轉(zhuǎn)子會(huì)轉(zhuǎn)到向右傾斜的位置,如下圖所示。


▲ 圖2.1.4 BC通電情形

(4)給B通正電壓,A通負(fù)電壓

B相產(chǎn)生的磁場(chǎng)會(huì)吸引轉(zhuǎn)子的S極,A相線圈產(chǎn)生的磁場(chǎng)會(huì)吸引轉(zhuǎn)子的N極,轉(zhuǎn)子會(huì)轉(zhuǎn)到向左傾斜的位置和a種情況類似但轉(zhuǎn)子的南北極相反,如下圖所示。


▲ 圖2.1.5 BA相通電情形根據(jù)前四次的舉例,我們可以得出第5、第6次也可以依次類推。


最終我們總結(jié)一下每次換相之后轉(zhuǎn)子到達(dá)的位置,轉(zhuǎn)動(dòng)一圈需要換相6次,每次換相角度為60度,如下圖所示


▲ 圖2.1.6 無刷電機(jī)不同施加電壓對(duì)應(yīng)內(nèi)部磁極平衡位置

2、轉(zhuǎn)子位置檢測(cè)

以上就是我們控制無刷電機(jī)轉(zhuǎn)動(dòng)的基本原理了,但是要真正的實(shí)現(xiàn)無刷電機(jī)的驅(qū)動(dòng),我們還缺少一個(gè)最重要的東西,就是如何知道轉(zhuǎn)子已經(jīng)到達(dá)預(yù)定位置,因?yàn)槲覀冎挥兄懒宿D(zhuǎn)子到達(dá)了預(yù)定位置之后才能進(jìn)行換相,這樣電機(jī)才能順滑的運(yùn)轉(zhuǎn)。轉(zhuǎn)子位置檢測(cè)常用的有三種方式。


(1)方式一:BEMF過零檢測(cè)

三相相電壓與電機(jī)中性點(diǎn)電壓進(jìn)行比較,比較器輸出的三路信號(hào)就類似于霍爾的三路信號(hào)一樣。過零檢測(cè)的優(yōu)點(diǎn)在于電機(jī)與驅(qū)動(dòng)連接的線較少,但是缺點(diǎn)在于啟動(dòng)的時(shí)候需要開環(huán)啟動(dòng),會(huì)導(dǎo)致低速的時(shí)候控制效果差,并且硬件電路會(huì)更加復(fù)雜。當(dāng)然也有其他辦法使得在無感的方式下低速控制效果也不錯(cuò),但是會(huì)大大增加軟件上的復(fù)雜程度。


▲ 圖2.1.7 定子線圈上感應(yīng)的反向感應(yīng)電動(dòng)勢(shì)(BEMF)電壓波形

(2)方式二:霍爾檢測(cè)

通過安裝霍爾檢測(cè)轉(zhuǎn)子位置,一共安裝三個(gè)霍爾分別間隔120度安裝,霍爾輸出的波形如下圖所示(使用邏輯分析儀采集到的波形),每當(dāng)波形改變的時(shí)候就需要進(jìn)行換相。優(yōu)點(diǎn)是電路結(jié)構(gòu)簡(jiǎn)單,缺點(diǎn)是成本會(huì)稍微高一點(diǎn)點(diǎn)。


▲ 圖2.1.8 無刷電機(jī)HALL輸出信號(hào)

(3)方式三:角度編碼器檢測(cè)

加裝磁編碼器、光電角度編碼器或者角度解算器直接檢測(cè)轉(zhuǎn)子具體的位置。這種方式成本會(huì)高很多。


▲ 圖2.1.9 角度傳感器我們推薦選擇方式二,采用霍爾檢測(cè)轉(zhuǎn)子的位置信息,驅(qū)動(dòng)電路硬件會(huì)稍微簡(jiǎn)單一點(diǎn),成本上也并未增加太多。我們推薦的有感無刷電機(jī)就是采用這種方式,使用這種電機(jī),還可以節(jié)省下有刷電機(jī)閉環(huán)使用到的編碼器,算下來反而更實(shí)惠。這一種方式可以得到轉(zhuǎn)子位置信息,我們就可以通過位置信息來編寫程序進(jìn)行換相,然后就可以驅(qū)動(dòng)無刷電機(jī)轉(zhuǎn)動(dòng)了。


二、電機(jī)控制芯片選型

經(jīng)過我們和靈動(dòng)微電子的電機(jī)專家討論,本次極速越野組推薦使用靈動(dòng)的MM32SPIN360C驅(qū)動(dòng)無刷電機(jī)。在我們前期驗(yàn)證時(shí),靈動(dòng)的電機(jī)專家朱工和丁工都給了我們很大的幫助,這其中也感謝靈動(dòng)微電子大學(xué)計(jì)劃負(fù)責(zé)人蘇勇經(jīng)理為我們協(xié)調(diào)資源,感謝靈動(dòng)微電子為智能車競(jìng)賽提供的支持。


1、單片機(jī)特點(diǎn)

這款單片機(jī)特點(diǎn)如下:


1. 使用高性能的 Arm® Cortex®-M0 為內(nèi)核的 32 位微控制器。


2. 最高工作頻率可達(dá) 96MHz。


3. 包含 12 位的 ADC,采樣速度高達(dá) 1MHz。


4. 通用定時(shí)器5 個(gè)、針對(duì)電機(jī)控制的 PWM 高級(jí)定時(shí)器2 個(gè)。


5. UART 接口2 個(gè)、I2C 接口1 個(gè)、SPI 接口2 個(gè)。


6. 針對(duì)無刷電機(jī)應(yīng)用內(nèi)置 3 個(gè)運(yùn)放,3 個(gè)比較器。


7. 預(yù)驅(qū)工作電壓高達(dá) 75V。


以下幾個(gè)具有特點(diǎn)的功能介紹下。


(1)PWM高級(jí)定時(shí)器1/8

該芯片的TIMER1與TIMER8定時(shí)器,可以直接輸出三路PWM信號(hào)或者是三路互補(bǔ)的PWM信號(hào),互補(bǔ)的PWM信號(hào)時(shí)可以設(shè)置死區(qū)。


無刷電機(jī)的三個(gè)半橋有三種驅(qū)動(dòng)方式:


  • 方式一:上橋給PWM信號(hào)下橋通過IO控制開啟與關(guān)閉(逐飛本次開源項(xiàng)目即使用的這種方式)。
  • 方式二 :上橋通過IO控制開啟與關(guān)閉下橋給PWM信號(hào)。
  • 方式三:上下橋都給PWM信號(hào),但是需要注意的是上下橋的PWM信號(hào)必須是互補(bǔ)的,因?yàn)樯舷聵虿荒芡瑫r(shí)導(dǎo)通,否則出現(xiàn)電源與地短路的情況。
由于MOS開關(guān)具有延時(shí),所以互補(bǔ)PWM信號(hào)還必須設(shè)置死區(qū),作用是當(dāng)其中一個(gè)橋關(guān)閉之后要延時(shí)一段時(shí)間再打開另外一個(gè)橋,避免出現(xiàn)電源對(duì)地短路的情況。插入死區(qū)之后的互補(bǔ)PWM信號(hào)如下圖8所示(使用邏輯分析儀采集到的波形)。


▲ 圖2.2.1 上下橋臂驅(qū)動(dòng)信號(hào)之間的死區(qū)時(shí)間

(2)單片機(jī)集成預(yù)驅(qū)動(dòng)

該芯片TIMER1的端口已經(jīng)包含了預(yù)驅(qū)動(dòng),可以直接用于推動(dòng)mos工作,這樣大大的簡(jiǎn)化了外部電路,并且定時(shí)器支持剎車信號(hào)輸入。這也是推薦這顆芯片的一大原因,但需要注意的是這顆芯片的TIMER8不包含預(yù)驅(qū),使用時(shí)需要避開。


(3)單片機(jī)集成比較器

該芯片內(nèi)置三個(gè)比較器,如果采用六步方波無傳感器的方式驅(qū)動(dòng)無刷電機(jī),那么勢(shì)必會(huì)用到過零檢測(cè)來判斷何時(shí)進(jìn)行換相,內(nèi)置了比較器也為無傳感器控制無刷電機(jī)帶來了更多的便捷。在使用霍爾有感的方式我們也可以使用比較器來實(shí)現(xiàn)自動(dòng)(這里的自動(dòng)表示無需代碼干預(yù)即可實(shí)現(xiàn))堵轉(zhuǎn)保護(hù)等功能。


(3)單片機(jī)集成運(yùn)放

該芯片內(nèi)置了三個(gè)運(yùn)放,可以用于電流檢測(cè),使用磁場(chǎng)定向控制(FOC),或者檢測(cè)線路電流從而判斷是否堵轉(zhuǎn)等故障出現(xiàn),然后及時(shí)關(guān)閉控制避免硬件出現(xiàn)損壞。內(nèi)置運(yùn)放進(jìn)一步簡(jiǎn)化了電路降低了制作的難度。


三、MOS功率管選型

由于單片機(jī)內(nèi)部已經(jīng)集成了運(yùn)放、比較器、預(yù)驅(qū),因此外圍器件選擇主要就集中在了MOS管型號(hào)的選擇上,MOS管我們選擇的型號(hào)是TPH1R403NL,這款MOS電流高達(dá)150A,10V的時(shí)候內(nèi)阻低至1.2毫歐,開啟電壓低至2.5V左右,性價(jià)比較高。


▲ 圖2.3.1 TPH1R403NLMOS管因?yàn)殪`動(dòng)的電機(jī)驅(qū)動(dòng)專用芯片集成功能豐富,所以用它加上MOS就簡(jiǎn)單的構(gòu)成了無刷電機(jī)驅(qū)動(dòng)硬件方案,如下圖所示:


▲ 圖2.3.2 無刷電機(jī)硬件方案電路圖1▲ 圖2.3.3 無刷電機(jī)硬件方案電路圖2這里的圖如果看不清楚不要緊,原理圖的PDF文件會(huì)放到 開源資料里[2] 的。


四、軟件代碼

1、開源項(xiàng)目工程目錄結(jié)構(gòu)

逐飛MM32SPIN360C智能車BLDC開源項(xiàng)目的目錄結(jié)構(gòu)如下圖所示。


  • hardware:文件夾下放置的是驅(qū)動(dòng)無刷電機(jī)一些必要的單片機(jī)片內(nèi)外設(shè)模塊,例如GPIO、ADC、UART、PWM輸入捕獲、高級(jí)定時(shí)器1、運(yùn)放、比較器。


  • bldc:文件夾下放置的是逐飛科技精心編寫的無刷電機(jī)驅(qū)動(dòng)相關(guān)代碼。


  • sdk:這是靈動(dòng)官方的底層驅(qū)動(dòng),如果還需要其他的單片機(jī)片內(nèi)外設(shè)功能,可以基于sdk自行編寫程序?qū)崿F(xiàn)。


  • mdk:文件夾下放置的是工程項(xiàng)目文件,雙擊seekfree_bldc.uvprojx文件即可打開工程。


  • user:文件夾下放置的是main.c、isr.h、isr.c文件。


2、單片機(jī)外設(shè)模塊

無刷電機(jī)需要用到的單片機(jī)片內(nèi)外設(shè)有:


  • ADC:主要用于檢測(cè)電源電壓、采集放大時(shí)候的母線電流以及相電流


  • 比較器:主要用于實(shí)現(xiàn)自動(dòng)堵轉(zhuǎn)保護(hù),無需代碼干預(yù),當(dāng)母線電流超過設(shè)定值的時(shí)候,自動(dòng)關(guān)閉高級(jí)定時(shí)器輸出。


  • GPIO:主要用于LED指示燈,用于顯示各種狀態(tài)。


  • 運(yùn)放:主要用于放大采樣電阻的電壓信號(hào),然后用于計(jì)算母線與相電流。


  • PWM輸入:使用通用定時(shí)器的輸入捕獲實(shí)現(xiàn),對(duì)外部PWM信號(hào)的周期以及占空比獲取。


  • 高級(jí)定時(shí)器1:主要用于輸出三路PWM信號(hào)以及接受剎車信號(hào)。


  • 通用定時(shí)器:主要用于產(chǎn)生周期信號(hào),進(jìn)行PI閉環(huán)計(jì)算,用于控制電機(jī)的速度。


  • UART:主要用于發(fā)送電機(jī)信息到虛擬示波器,便于查看電機(jī)運(yùn)行情況。


3、無刷電機(jī)驅(qū)動(dòng)文件

  • bldc_config.h:文件用于配置電機(jī)參數(shù),例如是否開啟閉環(huán)、是否開啟緩慢加速、設(shè)置加速步進(jìn)值、是否開啟剎車、最大轉(zhuǎn)速設(shè)置、堵轉(zhuǎn)保護(hù)閾值設(shè)置。


  • hall:文件主要用于檢測(cè)霍爾的值、換相時(shí)間計(jì)算、轉(zhuǎn)速計(jì)算。


  • motor:文件主要用于電機(jī)緩慢加速實(shí)現(xiàn)、占空比輸出。


  • move_filter:文件主要用于,對(duì)數(shù)據(jù)進(jìn)行滑動(dòng)平均濾波。


  • pid:文件主要用于對(duì)轉(zhuǎn)速進(jìn)行速度PI閉環(huán)。


  • virsco:文件為虛擬示波器的通訊協(xié)議。


4、主函數(shù)及中斷說明

主函數(shù)與中斷的文件存放在user文件夾中,無刷電機(jī)大部分代碼都是在中斷內(nèi)運(yùn)行的,中斷相關(guān)的函數(shù)全部放在了isr.c中。


五、程序工作流程

為了更清楚的表達(dá)起工作流程,整個(gè)項(xiàng)目的軟件流程繪制了幾張流程圖,同時(shí)也加以文字說明。


1、主函數(shù)工作流程

▲ 圖2.5.1 主函數(shù)工作流程主函數(shù)主要的作用是初始化各種外設(shè)以及一些軟件資源,然后在主循環(huán)中持續(xù)的發(fā)送電機(jī)信息到虛擬示波器,便于觀察電機(jī)運(yùn)行情況。


2、ADC中斷工作流程

▲ 圖2.5.2 ADC中斷流程圖ADC中斷是無刷電機(jī)的核心中斷,ADC觸發(fā)采集是由定時(shí)器1的通道4占空比更新事件進(jìn)行觸發(fā)的,因此ADC中斷頻率與TIMER1輸出的PWM頻率是一致的。PWM頻率是40KHz,因此ADC的中斷頻率也是40KHz。


在中斷內(nèi)主要是獲取母線電流、相電流、電源電壓。母線電流在之后做電流環(huán)的時(shí)候需要使用到,也可以用于做故障檢測(cè),當(dāng)檢測(cè)到電流過大的時(shí)候,及時(shí)關(guān)閉輸出以保護(hù)硬件,相電流可以用于之后做FOC驅(qū)動(dòng)方案的時(shí)候提供支持。


掃描霍爾這個(gè)流程塊中,主要是統(tǒng)計(jì)每次換相的時(shí)間,如果換相時(shí)間過長(zhǎng)則認(rèn)為出現(xiàn)故障此時(shí)應(yīng)該及時(shí)關(guān)閉輸出。當(dāng)電機(jī)正常運(yùn)行的時(shí)候?qū)⒚看螕Q相的時(shí)間都保存在數(shù)組內(nèi),當(dāng)?shù)玫阶罱?次的換相時(shí)間之后,我們就能知道電機(jī)轉(zhuǎn)動(dòng)一圈所花費(fèi)的時(shí)間,從而就能夠計(jì)算出電機(jī)的轉(zhuǎn)速了。在每次換相的時(shí)候速度輸出引腳進(jìn)行電平翻轉(zhuǎn),這樣外部控制器也能輕松的檢測(cè)到電機(jī)的轉(zhuǎn)速,而無需外加編碼器。然后根據(jù)讀取到的霍爾值計(jì)算出下次期望的霍爾值。


霍爾掃描結(jié)束之后,開始檢查延時(shí)換相時(shí)間是否到,時(shí)間沒有到則延時(shí)時(shí)間減一,延時(shí)時(shí)間為0的時(shí)候開始進(jìn)行換相動(dòng)作,這里延時(shí)換相的原因是因?yàn)樵陔姍C(jī)高速運(yùn)轉(zhuǎn)的時(shí)候霍爾有滯后導(dǎo)致的,可能有人問為什么霍爾滯后了,你還要延時(shí)換相呢,因?yàn)槲覀儾捎玫姆椒ㄊ牵?dāng)霍爾出現(xiàn)滯后之后,我們換相的時(shí)候并不是換到下一相,而是換到了下下相,這樣就相當(dāng)于超前換相了,所以我們需要加一定的延時(shí)去匹配,從而得到一個(gè)最佳的換相點(diǎn)。


3、定時(shí)器3中斷工作流程

▲ 圖2.5.3 定時(shí)器3中斷工作流程定時(shí)器3中斷頻率為1KHz,主要用于根據(jù)DIR引腳設(shè)置電機(jī)是正轉(zhuǎn)還是反轉(zhuǎn),然后計(jì)算速度曲線,用于實(shí)現(xiàn)電機(jī)緩慢加速(此功能可關(guān)閉),緩慢加速降低電機(jī)加速時(shí)功率,在調(diào)試階段可以盡量保護(hù)車模以及硬件電路。然后進(jìn)行PI閉環(huán)調(diào)節(jié),這里主要實(shí)現(xiàn)是將我們采集到的電機(jī)速度與設(shè)置的電機(jī)速度求差,將得到的偏差×系數(shù)KP得到比例輸出Pout,然后對(duì)偏差×系數(shù)KI并將每次計(jì)算出的結(jié)果進(jìn)行求和得到Iout,最終將Pout與Iout相加,然后將相加之后的和輸出到占空比寄存器驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)。其中KP、KI系數(shù)可能需要自己在多多調(diào)試,以找到更加完美的參數(shù),使得電機(jī)運(yùn)行更加迅速且穩(wěn)定。


4、定時(shí)器16中斷工作流程

定時(shí)器16中斷主要作用是用來接收外部PWM信號(hào)的周期與高電平時(shí)間,然后計(jì)算信號(hào)的占空比,根據(jù)占空比的大小設(shè)置電機(jī)的轉(zhuǎn)速,從而實(shí)現(xiàn)外部控制器來控制電機(jī)的轉(zhuǎn)速。


▲ 圖2.5.4 定時(shí)器16中斷工作流程

5、定時(shí)器1工作流程

▲ 圖2.5.5 定時(shí)器1中斷工作流程定時(shí)器1的中斷,主要用于判斷當(dāng)前是否出現(xiàn)了剎車信號(hào),通過查看原理圖我們可以知道,母線電流經(jīng)過運(yùn)放放大之后,連接到比較器,比較器的輸出直接連接到了內(nèi)部引腳,我們?cè)诒容^器的初始化中能夠看到,比較器最終的輸出是連接到了定時(shí)器1的break信號(hào)上,當(dāng)電流超過我們?cè)O(shè)置的閾值之后,比較器會(huì)輸出有效信號(hào),定時(shí)器收到了break信號(hào)之后就會(huì)及時(shí)關(guān)閉輸出,當(dāng)信號(hào)消失之后定時(shí)器會(huì)從新輸出控制信號(hào)驅(qū)動(dòng)電機(jī)運(yùn)轉(zhuǎn)。從而實(shí)現(xiàn)了自動(dòng)堵轉(zhuǎn)保護(hù)功能。我們?cè)谥袛鄡?nèi)點(diǎn)亮了一個(gè)LED,在使用的工程中如果這個(gè)LED點(diǎn)亮了則說明系統(tǒng)的電流已經(jīng)超過了設(shè)置的閾值。


逐飛會(huì)對(duì)本開源項(xiàng)目進(jìn)行持續(xù)更新和維護(hù),預(yù)計(jì)功能上還會(huì)繼續(xù)添加串級(jí)閉環(huán)的功能、剎車力度可調(diào)節(jié),速度環(huán)作為外環(huán),電流環(huán)作為內(nèi)環(huán),這樣可以不需要曲線計(jì)算即可實(shí)現(xiàn)電機(jī)緩慢加速的功能,通過內(nèi)部電流環(huán)限定電流大小也能更好的保護(hù)硬件電路。之后也會(huì)嘗試使用FOC方案驅(qū)動(dòng)電機(jī)。當(dāng)然,對(duì)這些功能有興趣的同學(xué)可以自己提前研究嘗試一下,聽靈動(dòng)的電機(jī)專家說,這些東西完全搞明白之后,都足夠找一份相對(duì)不錯(cuò)的工作了。


03 刷電機(jī)

一、基于MM32SPIN360C無刷電機(jī)驅(qū)動(dòng)學(xué)習(xí)板

▲ 圖3.1 無刷電機(jī)學(xué)習(xí)板上圖中1-8號(hào)標(biāo)號(hào)的含義如下:


1. 電機(jī)驅(qū)動(dòng)電源端口(不超過12V,建議使用3S電池)


2. 控制與信息輸出端口,PWM引腳是速度調(diào)節(jié)端口,外部控制器輸出1KHz頻率的PWM,通過調(diào)節(jié)占空比大小來調(diào)節(jié)速度。DIR引腳是用于設(shè)置電機(jī)轉(zhuǎn)動(dòng)方向的。SPDOUT與DIROUT引腳是輸出電機(jī)轉(zhuǎn)速信息的,電機(jī)越快此引腳上輸出的信號(hào)頻率越高,推薦使用單片機(jī)采集編碼器的接口進(jìn)行信息采集。SPDOUT連接編碼器采集接口的A通道或者連接單片機(jī)的計(jì)數(shù)通道,DIROUT連接編碼器采集接口的B通道或者連接方向引腳(具體可以參考編碼器采集例程)。


3. SWD調(diào)試接口,可以對(duì)電機(jī)驅(qū)動(dòng)上的單片機(jī)燒寫程序以及在線調(diào)試。


4. 電機(jī)驅(qū)動(dòng)的使能開關(guān),開關(guān)是連接到IO上,通過軟件實(shí)現(xiàn)的使能。


5. 連接無刷電機(jī)霍爾接口。


6. 連接無刷電機(jī)A相。


7. 連接無刷電機(jī)B相。


8. 連接無刷電機(jī)C相。


溫馨提示:該驅(qū)動(dòng)板成品僅供學(xué)習(xí)參考調(diào)試,不能直接將成品驅(qū)動(dòng)使用在正式參賽的小車上,正式參賽的無刷電機(jī)驅(qū)動(dòng)板需要同學(xué)們自行制作并按要求在銅層打上隊(duì)伍信息。


二、無刷電機(jī)

前面也講到過,我們對(duì)很多款電機(jī)進(jìn)行了測(cè)試,后面也與其中一家無刷電機(jī)的生商進(jìn)行了合作,讓其定制一款無刷電機(jī)供我們競(jìng)賽中使用,目前正在生產(chǎn)中,預(yù)計(jì)本月就可以拿到現(xiàn)貨了,逐飛推薦極速越野組使用這款無刷電機(jī),逐飛的開源項(xiàng)目代碼和硬件也是以這款電機(jī)為樣品來進(jìn)行測(cè)試的。


▲ 圖3.2.1 無刷電機(jī)外形這款電機(jī)的參數(shù)如下:


  • 有感、三槽兩極
  • 2860Kv(Kv表示每增加一伏電壓電機(jī)增加的轉(zhuǎn)速,最高12V)
  • 尺寸36(mm)*50(mm)
  • 額定功率190W
  • 支持1-3S鋰電池供電。
溫馨提示:此款電機(jī)僅為逐飛推薦款,同學(xué)們也可以選擇自己認(rèn)為合適的無刷電機(jī),這一點(diǎn)上規(guī)則是沒有限制的,但建議大家選擇有感無刷。


▲ 圖3.2.2 無刷電機(jī)外形

04 作演示

上開源項(xiàng)目經(jīng)過逐飛的精心設(shè)計(jì)和代碼編寫,真實(shí)可靠,特別拍攝了一個(gè)演示視頻,視頻中通過旋鈕調(diào)節(jié)轉(zhuǎn)速,通過按鍵切換方向,通過屏幕顯示轉(zhuǎn)速,可能看不太清,但聽聲音應(yīng)該能感受到它的澎湃動(dòng)力,視頻如下:


在這里插入圖片描述特別說明:該開源項(xiàng)目?jī)H用于各參賽同學(xué)在設(shè)計(jì)自己的小車時(shí)進(jìn)行參考,硬件和軟件都不能夠直接拷貝使用在自己的作品中,請(qǐng)大家參考后重新完成硬件和軟件的設(shè)計(jì)制作。


最后,當(dāng)然是上開源項(xiàng)目gitee鏈接:https://gitee.com/seekfree/MM32SPIN360C_BLDC_Project


好了,本期的開源項(xiàng)目介紹就到這里了,推薦款無刷電機(jī)及無刷驅(qū)動(dòng)學(xué)習(xí)板已上架逐飛淘寶店預(yù)售,感謝各位支持,你們的支持是我們開源的動(dòng)力,如果能幫到大家,深感榮幸。時(shí)間緊張,水平有限,大神輕拍,如果開源項(xiàng)目中有任何BUG,歡迎留言反饋,逐飛會(huì)持續(xù)維護(hù)和完善。


  • 本博文轉(zhuǎn)載自:SeekFree公眾號(hào)[2]





本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉