何龍
摘 要:文章采用基于Cortex-M7內(nèi)核的STM32F7,設(shè)計(jì)了一套電機(jī)驅(qū)動(dòng)系統(tǒng),其具有串口通訊、以太網(wǎng)通訊、永磁同步電機(jī)驅(qū)動(dòng)等功能。在軟件設(shè)計(jì)上,通過(guò)移植Rt-Thread實(shí)時(shí)操作系統(tǒng),實(shí)現(xiàn)了多線(xiàn)程處理,同時(shí)合理地分配了中斷資源,保證電機(jī)驅(qū)動(dòng)算法能夠得到及時(shí)運(yùn)行。實(shí)現(xiàn)了id=0電機(jī)控制算法,并通過(guò)實(shí)驗(yàn)驗(yàn)證了其具有良好的控制精度。
關(guān)鍵詞:電機(jī)驅(qū)動(dòng);STM32;Rt-Thread
中圖分類(lèi)號(hào):TP273 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)05-0095-02
Abstract: Based on STM32F7 with a Cortex-M7 kernel, a motor drive system is designed, which has the functions of serial communication, Ethernet communication, permanent magnet synchronous motor drive and so on. In software design, multi-thread processing is realized by transplanting Rt-Thread real-time operating system, and interrupt resources are allocated reasonably to ensure that the motor drive algorithm can be run in time. The id=0 motor control algorithm is realized, and its good control accuracy is verified by experiments.
Keywords: motor drive; STM32; Rt-Thread
引言
傳統(tǒng)上,承載著關(guān)鍵電機(jī)控制算法的核心處理器主要為DSP。DSP芯片內(nèi)部集成了模數(shù)轉(zhuǎn)換、電機(jī)控制PWM接口等,因此使得電機(jī)控制系統(tǒng)硬件設(shè)計(jì)靈活、簡(jiǎn)易、集成度高,而且DSP尤其擅長(zhǎng)高速運(yùn)算,所以它們?cè)陔姍C(jī)控制系統(tǒng)中得到了廣泛應(yīng)用。
盡管DSP在電機(jī)控制市場(chǎng)表現(xiàn)出巨大的優(yōu)勢(shì),但值得注意的是,ARM的最新一代內(nèi)核Cortex-M7以其突出的性?xún)r(jià)比,越來(lái)越廣泛地進(jìn)入電機(jī)控制領(lǐng)域。STM32F7工作頻率高達(dá)200MHz,采用6級(jí)超標(biāo)量流水線(xiàn)和浮點(diǎn)單元,測(cè)試分?jǐn)?shù)高達(dá)1000CoreMarks。本文采用基于Cortex-M7內(nèi)核的STM32F7,設(shè)計(jì)了電機(jī)驅(qū)動(dòng)系統(tǒng)。
1 系統(tǒng)結(jié)構(gòu)
電機(jī)驅(qū)動(dòng)系統(tǒng)由控制電路、傳感器采樣電路、DC/DC電壓轉(zhuǎn)換電路、逆變電路組成[1]。如圖1所示,380V三相電通過(guò)AC/DC電壓轉(zhuǎn)換電路,轉(zhuǎn)換成直流電源,為逆變電路供電,逆變電路在控制電路輸出的PWM信號(hào)控制下驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng),同時(shí)傳感器采樣電路采集電壓、電流、速度信息,并反饋到控制電路,從而實(shí)現(xiàn)電機(jī)驅(qū)動(dòng)系統(tǒng)的閉環(huán)控制。電機(jī)驅(qū)動(dòng)系統(tǒng)在驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)的同時(shí),將系統(tǒng)狀態(tài)通過(guò)以太網(wǎng)傳輸?shù)接?jì)算機(jī);同時(shí)Uart接口傳輸控制臺(tái)信息,控制系統(tǒng)運(yùn)行。
2 系統(tǒng)硬件設(shè)計(jì)
系統(tǒng)功率電路采用三相橋式整流電路,將三相交流電轉(zhuǎn)換為直流電,直流電通過(guò)三相全橋逆變電路驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。傳感器采樣電路采用霍爾電流傳感器精確采樣三相電流信號(hào);通過(guò)運(yùn)算放大器構(gòu)建差分采樣電路獲取電壓信號(hào);通過(guò)旋轉(zhuǎn)變壓器以及旋轉(zhuǎn)變壓器解碼芯片AD2S1205獲取轉(zhuǎn)子位置和速度信息;控制電路采用STM32F746NG為核心控制單元,并且擴(kuò)展以太網(wǎng)芯片RTL8208。
3 系統(tǒng)軟件設(shè)計(jì)
本系統(tǒng)的軟件基于RT-Thread實(shí)時(shí)操作系統(tǒng)。RT-Thread 是一款由中國(guó)開(kāi)源社區(qū)主導(dǎo)開(kāi)發(fā)的開(kāi)源嵌入式實(shí)時(shí)操作系統(tǒng),它包含實(shí)時(shí)嵌入式系統(tǒng)相關(guān)的各個(gè)組件:實(shí)時(shí)操作系統(tǒng)內(nèi)核,TCP/IP協(xié)議棧、文件系統(tǒng)、libc接口、圖形引擎等[2]。
軟件劃分為電機(jī)控制線(xiàn)程、以太網(wǎng)接收線(xiàn)程,以太網(wǎng)發(fā)送線(xiàn)程、Http服務(wù)線(xiàn)程、tshell線(xiàn)程、phy監(jiān)控線(xiàn)程,其軟件結(jié)構(gòu)見(jiàn)圖2。各個(gè)線(xiàn)程具體工作及其優(yōu)先級(jí)描述如下:
系統(tǒng)調(diào)度:RT-Thread的實(shí)時(shí)調(diào)度內(nèi)核,實(shí)現(xiàn)各個(gè)線(xiàn)程的調(diào)度。
電機(jī)控制線(xiàn)程:解析接收到的控制命令,切換電機(jī)的工作狀態(tài);根據(jù)電機(jī)運(yùn)行狀態(tài)切換電機(jī)工作狀態(tài);其優(yōu)先級(jí)為9。
以太網(wǎng)接收線(xiàn)程:檢測(cè)以太網(wǎng)連接狀態(tài),并將以太網(wǎng)接收到的數(shù)據(jù)傳給上層協(xié)議;其優(yōu)先級(jí)為10。
以太網(wǎng)發(fā)送線(xiàn)程:接收上層協(xié)議傳來(lái)的數(shù)據(jù),并發(fā)送;其優(yōu)先級(jí)為10。
Http服務(wù)線(xiàn)程:將采集到的電流、電壓、電機(jī)轉(zhuǎn)速等信息傳給上位機(jī),并且接收上位機(jī)對(duì)電機(jī)的控制命令,其優(yōu)先級(jí)為11。
Phy監(jiān)控線(xiàn)程:監(jiān)控網(wǎng)絡(luò)連接狀態(tài),包括網(wǎng)絡(luò)速度、工作模式等,根據(jù)網(wǎng)絡(luò)的實(shí)際連接狀態(tài),調(diào)整phy的配置,大約每?jī)擅脒\(yùn)行一次,其優(yōu)先級(jí)為29。
tshell線(xiàn)程:輸出系統(tǒng)調(diào)試信息,以及接收調(diào)試命令等;其優(yōu)先級(jí)為11。
此外,還有一個(gè)系統(tǒng)提供的空閑線(xiàn)程,它主要用于刪除線(xiàn)程,清理線(xiàn)程,統(tǒng)計(jì)系統(tǒng)運(yùn)行狀態(tài)等,其優(yōu)先級(jí)為31。
4 電機(jī)控制算法
id=0控制也稱(chēng)作恒轉(zhuǎn)矩角控制。在這種控制策略下,轉(zhuǎn)矩角一直維持在90°。該控制策略實(shí)現(xiàn)最為簡(jiǎn)單,不管是凸極式還是隱極式永磁同步電動(dòng)機(jī),輸出的電磁轉(zhuǎn)矩與q軸電流成正比,電樞反應(yīng)為零,其模型和直流電機(jī)模型類(lèi)似,低速控制性能可以和直流電機(jī)相媲美[3]。
id=0控制程序運(yùn)行于ADC檢測(cè)中斷中,程序運(yùn)行周期為80us,電流環(huán)執(zhí)行周期為80us,速度環(huán)執(zhí)行周期為800us,程序運(yùn)行時(shí)間為16us,可見(jiàn)STM32F7完全滿(mǎn)足算法運(yùn)行的需要,并且有足夠的能力運(yùn)行電機(jī)控制以外的串口通訊,以太網(wǎng)通訊等功能。
5 實(shí)驗(yàn)分析
本是系統(tǒng)的實(shí)驗(yàn)平臺(tái)包含了以下幾個(gè)部分:
兩臺(tái)帶有2500線(xiàn)編碼器的PMSM電機(jī),組成對(duì)拖電機(jī)系統(tǒng),電機(jī)參數(shù)見(jiàn)表1。
驅(qū)動(dòng)系統(tǒng)電路板,包括:電機(jī)驅(qū)動(dòng)板、信號(hào)處理板、STM32F746核心板。
運(yùn)行于計(jì)算機(jī)的電機(jī)參數(shù)監(jiān)控軟件,通過(guò)以太網(wǎng)接口將計(jì)算機(jī)和電機(jī)驅(qū)動(dòng)系統(tǒng)連接后,即可通過(guò)該軟件檢測(cè)、控制電機(jī)運(yùn)行。
JN-338轉(zhuǎn)矩轉(zhuǎn)速測(cè)量?jī)x,通過(guò)測(cè)量的數(shù)據(jù),分析系統(tǒng)的控制精度。
實(shí)驗(yàn)過(guò)程中,通過(guò)電機(jī)參數(shù)監(jiān)控軟件,向電機(jī)驅(qū)動(dòng)系統(tǒng)發(fā)送給定轉(zhuǎn)速,同時(shí)JN-338轉(zhuǎn)矩轉(zhuǎn)速測(cè)量?jī)x測(cè)量得到實(shí)際轉(zhuǎn)速,將兩者的誤差分析后,得到實(shí)驗(yàn)結(jié)果,見(jiàn)圖3??梢?jiàn)電機(jī)驅(qū)動(dòng)系統(tǒng)的轉(zhuǎn)速誤差小于0.018%。
6 結(jié)束語(yǔ)
本文采用STM32F7設(shè)計(jì)了一個(gè)電機(jī)驅(qū)動(dòng)系統(tǒng),該系統(tǒng)采用id=0電機(jī)控制算法,通過(guò)實(shí)驗(yàn)證明其具有良好的控制精度。此外,該電機(jī)驅(qū)動(dòng)系統(tǒng)移植了Rt-Thread實(shí)時(shí)操作系統(tǒng),具有以太網(wǎng)通訊功能、串口通訊功能。
參考文獻(xiàn):
[1]牛盼情,康翔宇,何頂新.基于zynq的pmsm驅(qū)動(dòng)控制系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng),2015.(5):65-68.
[2]汪虎強(qiáng),陳建政.三相電機(jī)電流檢測(cè)系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)[J].無(wú)線(xiàn)互聯(lián)科技,2016,2(3):63-65.
[3]劉紅偉.永磁同步電機(jī)控制策略及算法融合研究[C].中國(guó)科學(xué)院光電技術(shù)研究所,2014.
[4]勾占鋒.一種微型步進(jìn)電機(jī)的驅(qū)動(dòng)設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2012(24):8-9.
[5]王智杰,蔡燕,姜文濤.三相12/8極開(kāi)關(guān)磁阻電機(jī)驅(qū)動(dòng)系統(tǒng)建模與仿真[J].科技創(chuàng)新與應(yīng)用,2017(05):11.
[6]王麗平,陳光偉.基于S7-200PLC的伺服電機(jī)位置控制系統(tǒng)[J].科技創(chuàng)新與應(yīng)用,2016(07):65.endprint