采用SPMC75F2313A的直流伺服驅(qū)動器
直流伺服驅(qū)動器憑借其優(yōu)異的驅(qū)動性能,在工業(yè)、醫(yī)療、國防等領(lǐng)域有著廣泛應(yīng)用。典型的直流伺服驅(qū)動器的結(jié)構(gòu)如圖1-1所示。整個系統(tǒng)是由電流環(huán)、速度環(huán)和位置環(huán)構(gòu)成的多環(huán)控制系統(tǒng)。傳統(tǒng)的伺服驅(qū)動器使用運放為核心的模擬電路構(gòu)成,其有結(jié)構(gòu)復(fù)雜、參數(shù)調(diào)整不易和系統(tǒng)性能易受環(huán)境影響等缺點。隨著微處理器技術(shù)、模擬數(shù)字接口技術(shù)和功率半導(dǎo)體技術(shù)的長足發(fā)展,現(xiàn)代的直流伺服驅(qū)動器普遍采用由微處理器為核心的數(shù)字控制系統(tǒng)。以微處理器為核心的伺服驅(qū)動器不但可以方便實現(xiàn)以前用模擬電路無法實現(xiàn)的控制算法,并且有著結(jié)構(gòu)簡單、參數(shù)調(diào)整方便、系統(tǒng)性能對環(huán)境參數(shù)不敏感等優(yōu)點。同時,數(shù)字控制系統(tǒng)還可以充分利用成熟的網(wǎng)絡(luò)連接技術(shù),實現(xiàn)多機并行運行。
本文介紹的是基于SPMC75F2313A和MOSFET功率管(IRF540)實現(xiàn)的直流伺服驅(qū)動器方案。
2 芯片特性簡介
SPMC75F2313A是μ’nSP™系列產(chǎn)品的一個新成員,是凌陽科技新推出的專用于電機驅(qū)動的16位微控制器。其擁有性能出色定時器和PWM信號發(fā)生器。可以方便的實現(xiàn)各種電機伺服驅(qū)動方案。
SPMC75F2313A在4.5V~5.5V工作電壓范圍內(nèi)的工作速度范圍為0~24MHz,擁有2K字SRAM和32K字閃存ROM;最多33個可編程的多功能I/O端口;4個通用16位定時器/計數(shù)器(其中有一個電機驅(qū)動專用PWM波形發(fā)生器,一個位置偵測接口定時器),且每個定時器均有PWM發(fā)生的事件捕獲功能;2個專用于定時可編程周期定時器;可編程看門狗;低電壓復(fù)位/監(jiān)測功能;8通道10位模-數(shù)轉(zhuǎn)換。在這些硬件外設(shè)的支持下SPMC75F2313A在電機控制領(lǐng)域有相當(dāng)優(yōu)秀的表現(xiàn)。
SPMC75F2313A的特性如下:
1. 高性能的16位CPU內(nèi)核 a) 凌陽16位u’nSP處理器(ISA 1.2) b) 片內(nèi)基于鎖相環(huán)的時鐘發(fā)生模塊 c) 最高系統(tǒng)頻率Fck:24MHz 2. 片內(nèi)存儲器 a) 32K Words (32K×16bit) Flash b) 2K Words (2K×16bit) SRAM 3. 工作溫度: -40 ℃~85 ℃ 4. 10位ADC模塊 a) 可編程轉(zhuǎn)換速率,最大轉(zhuǎn)換速率100Ksps b) 6個外部輸入通道 c) 可與PDC或MCP等定時器聯(lián)動,實現(xiàn)電機控制中的電參量測量 5. 串行通訊接口 a) 通用異步串行通訊接口(UART) b) 標(biāo)準(zhǔn)外圍接口(SPI) 6. 33(LQFP44)/31(SDIP42)個通用輸入輸出腳 7. 可編程看門狗定時器 8. 內(nèi)嵌在線仿真電路ICE接口:可實現(xiàn)在線仿真、調(diào)試和下載 9. 通用16位定時/計數(shù)器 |
1. PDC定時器 a) 兩個PDC定時器:PDC0和PDC1 b) 可同時處理三路捕獲輸入 c) 可產(chǎn)生三路PWM輸出(中心對稱或邊沿方式) d) BLDC驅(qū)動的專用位置偵測接口 e) 兩相增量碼盤接口,支持四種工作模式,擁有四倍頻電路 2. MCP定時器 a) 一個MCP定時器:MCP4 b) 能產(chǎn)生三相六路可編程的PWM波形,如三相SPWM、SVPWM等 c) 提供PWM占空比值同步載入邏輯 d) 可選擇與PDC的位置偵測變化同步 e) 可編程的硬件死區(qū)插入功能,死區(qū)時間可設(shè)定 f) 可編程的錯誤和過載保護(hù)邏輯 3. TPM定時器 a) 一個TPM定時器:TPM2 b) 可同時處理二路捕獲輸入 c) 可產(chǎn)生二路PWM輸出(中心對稱或邊沿方式) 4. 兩個CMT定時器 |
3 系統(tǒng)總體方案介紹
本伺服驅(qū)動器主要由凌陽SPMC75F2313A、由IRF540組成的功率全橋和各種接口模塊組成,其結(jié)構(gòu)框圖如圖 3-1所示。驅(qū)動器使用帶電流環(huán)的位置伺服結(jié)構(gòu),其中位置伺服環(huán)可根據(jù)需要選擇是否接入系統(tǒng)。驅(qū)動器使用20KHz的雙極性PWM,以保證系統(tǒng)良好的動態(tài)性能。
系統(tǒng)工作流程:
SPMC75F2313A接受來自各種控制接口的控制信息,并轉(zhuǎn)換成相應(yīng)的電機控制信息。SPMC75F2313A內(nèi)部的電機驅(qū)動模塊依據(jù)控制信息和電機本身反饋的狀態(tài)信息產(chǎn)生PWM驅(qū)動信號,經(jīng)MOSFET功率放大后驅(qū)動電機運行。同時,內(nèi)建的保護(hù)電路隨時監(jiān)示系統(tǒng)狀態(tài),一旦系統(tǒng)異常,保護(hù)電路會立即動作,保護(hù)整個系統(tǒng)不會異常情況而損壞,同時提醒用戶檢查。
4 系統(tǒng)硬件設(shè)計
系統(tǒng)驅(qū)動部分的電路原理圖如圖 4-1。電路由主控MCU核心(SPMC75F2313A)、功率驅(qū)動電路(IRF540組成的功率橋)、MOSFET驅(qū)動保護(hù)電路、霍爾電流傳感電路、增量編碼器接口電路和DC/DC電源變換電路幾部分構(gòu)成。其中SPMC75F2313A主要實現(xiàn)電機驅(qū)動所需PWM信號的產(chǎn)生、系統(tǒng)控制、人機接口等控制功能。
驅(qū)動電機所需的四路PWM信號由SPMC75F2313A內(nèi)部的MCP定時器產(chǎn)生,信號由芯片的IOC端口輸出,經(jīng)柵極驅(qū)動電路后驅(qū)動功率MOSFET(IRF540)。PWM信號經(jīng)IRF540功率合成后輸出驅(qū)動直流伺服電機。
霍爾電流傳感器提供實時的電機工作電流信號,電流信號經(jīng)SPMC75F2313A內(nèi)部的ADC模塊AD轉(zhuǎn)換后供給電機驅(qū)動模塊使用。
增量編碼器接口使用SPMC75F2313A內(nèi)部的PDC定時器實現(xiàn),為SPMC75F2313A內(nèi)部固化的電機驅(qū)動模塊提供位置和速度信息,從而完成系統(tǒng)的速度和位置控制。
系統(tǒng)保護(hù)電路由SPMC75F2313A內(nèi)部MCP定時器的硬件保護(hù)邏輯和外部保護(hù)電路兩部分組成。保護(hù)電路會時刻監(jiān)測系統(tǒng)工作狀態(tài),一旦系統(tǒng)異常(過壓、欠壓、過流、過載等情況),保護(hù)電路會立時拉低MCP定時器的錯誤保護(hù)輸入端(IOC9),SPMC75F2313A內(nèi)部的驅(qū)動硬件會立即禁止所有PWM輸出(變?yōu)楦咦钁B(tài)),關(guān)斷所有功率器件,確保系統(tǒng)不會因這些異常情況而損壞。同時申請中斷,請求CPU對相應(yīng)的事件進(jìn)行處理。[!--empirenews.page--]
由于其它模塊屬于通常的一些模塊,此處不再詳述。
5 系統(tǒng)軟件設(shè)計
整個系統(tǒng)軟件分為三部分:
1. 伺服電機的核心驅(qū)動模塊,這部分主要是產(chǎn)生電機驅(qū)動所用的PWM信號和相應(yīng)的控制環(huán)路;
2. 系統(tǒng)控制程序;
3. 人機接口界面程序;
電機的核心驅(qū)動模塊的結(jié)構(gòu)如圖 5-1所示,模塊使用經(jīng)典的三環(huán)位置伺服結(jié)構(gòu)。整個驅(qū)動模塊分為位置調(diào)節(jié)器、速度調(diào)節(jié)器、電流調(diào)節(jié)器、位置計算、速度計算和電流反饋幾部分構(gòu)成。每個環(huán)節(jié)均使用改進(jìn)的增量PID調(diào)節(jié)器(結(jié)構(gòu)根據(jù)各個環(huán)路的特點而有不同),電流環(huán)的反饋速度為0.05ms,速度環(huán)的反饋速度為1ms,位置環(huán)的反饋速度10ms。
各控制環(huán)的核心服務(wù)子程序的流程如圖 5-2所示。這幾部分是整個系統(tǒng)的核心,其性能也決定了整個驅(qū)動器的性能。因此,這幾部分使用純匯編編寫,相應(yīng)的PID算法也根據(jù)不同控制環(huán)的特點進(jìn)行相應(yīng)的結(jié)構(gòu)調(diào)整和性能優(yōu)化。以最大限度保證這幾部分程序的性能和實時性。
圖 5-2 PWM周期中斷服務(wù)子程序流程圖
系統(tǒng)控制部分是整個系統(tǒng)協(xié)調(diào)的心臟。整個系統(tǒng)都在其協(xié)調(diào)下有條不紊的工作。這部分主要是根據(jù)系統(tǒng)設(shè)置和當(dāng)前系統(tǒng)的狀態(tài)給出相應(yīng)的控制信息,以確保系統(tǒng)的可靠運行。
人機接口界面程序,這部主要是為用戶提供一個簡單易用的交互接口,以方便用戶對驅(qū)動器的可靠控制。包括驅(qū)動器的起停、各種運行參數(shù)的設(shè)置都在這一層面上進(jìn)行。
6 結(jié)語
通常,在開發(fā)伺服驅(qū)動設(shè)備的過程中,需要編寫實時性、程序可讀性強的代碼,這時就需要采用混合編程。而凌陽的m’nSP™ IDE具有良好的編程環(huán)境,它可以很輕松、容易地進(jìn)行混合編程(在C程序中調(diào)用匯編程序,在匯編程序中調(diào)用C程序)。
該系統(tǒng)用了SPMC75F2313A三個定時器和約30個IO口資源,其實SPMC75F2313A的資源相當(dāng)豐富。因其有專業(yè)的電機驅(qū)動硬件支持,電機驅(qū)動系統(tǒng)開發(fā)變得相對簡單。因此,基于SPMC75F2313A的電機伺服驅(qū)動器系統(tǒng)在工業(yè)、醫(yī)療、國防等領(lǐng)域有廣闊的應(yīng)用前景。