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