趙波,李玉美
(遼寧工業(yè)大學(xué)機(jī)械工程與自動(dòng)化學(xué)院,錦州121001)
電機(jī)控制芯片PIC16F1508的電機(jī)控制應(yīng)用設(shè)計(jì)※
趙波,李玉美
(遼寧工業(yè)大學(xué)機(jī)械工程與自動(dòng)化學(xué)院,錦州121001)
PIC16F1508芯片是一款高性能、低功耗、高性價(jià)比的8位單片機(jī)。本文簡(jiǎn)單介紹了PIC16F1508芯片的結(jié)構(gòu)和特性,重點(diǎn)介紹了其與電機(jī)控制相關(guān)的可配置邏輯單元和互補(bǔ)波形發(fā)生器模塊。
互補(bǔ)波形發(fā)生器模塊;PWM;可配置邏輯單元;PIC16F1508
現(xiàn)代工業(yè)的發(fā)展離不開(kāi)電機(jī)控制技術(shù)的進(jìn)步,而且對(duì)電機(jī)控制的精度要求越來(lái)越高,因此,在能耗以及成本盡量降低的情況下,尋求一款功能強(qiáng)大、功耗較低的電機(jī)控制芯片越來(lái)越重要。PIC16F1508芯片作為一款采用XLP(eX-treme Low Power)技術(shù)的8位單片機(jī),延續(xù)了PIC單片機(jī)一貫采用的精簡(jiǎn)指令集RISC、哈佛雙總線、兩級(jí)指令流水線結(jié)構(gòu),而且進(jìn)一步豐富了其外設(shè)特性,在電機(jī)控制領(lǐng)域取得廣泛的應(yīng)用。
PIC16F1508單片機(jī)采用了XLP超低功耗管理功能,待機(jī)電流僅為25 nA(1.8 V時(shí),典型值),看門(mén)狗電流僅為300 nA(1.8 V時(shí),典型值),工作電流僅為30μA/MHz(1.8 V時(shí),典型值)[1]。
此外,PIC16F1508單片機(jī)還創(chuàng)新性地集成了豐富的獨(dú)立于內(nèi)核的外設(shè),例如互補(bǔ)波形發(fā)生器、可配置邏輯單元、數(shù)控振蕩器、軌對(duì)軌運(yùn)放和高速比較器、高分辨率的PWM、ADC和DAC、有SPI和I2C兩種模式的主同步串行口的MSSP模塊,以及可兼容RS-232、RS-485和LIN的增強(qiáng)型通用同步/異步收發(fā)器EUSART等。PIC16F1508單片機(jī)的結(jié)構(gòu)如圖1所示。
2.1 PWM模塊
PWM(Pulse Width Modulation)功能即脈沖寬度調(diào)制功能,通過(guò)修改周期寄存器調(diào)節(jié)頻率或者修改占空比寄存器調(diào)節(jié)電壓來(lái)控制逆變器開(kāi)關(guān)的通斷,達(dá)到控制電機(jī)運(yùn)轉(zhuǎn)的目的。隨著電子技術(shù)的發(fā)展,采用全控型開(kāi)關(guān)功率元件進(jìn)行脈寬調(diào)制PWM控制方式已經(jīng)成為主流[2]。
圖1 PIC16F1508單片機(jī)結(jié)構(gòu)框圖
PIC16F1508單片機(jī)有 4個(gè)PWM模塊,除了共用一個(gè)周期寄存器PR2以外,PWM1~PWM4分別有自己對(duì)應(yīng)的占空比寄存器,這就意味著每一個(gè)PIC16F1508單片機(jī)都可以通過(guò)PWM功能控制4臺(tái)電機(jī)獨(dú)立運(yùn)轉(zhuǎn),最大限度地利用單片機(jī)的資源。
2.2 模數(shù)轉(zhuǎn)換器模塊
模數(shù)轉(zhuǎn)換器(ADC)模塊在目前的單片機(jī)中幾乎都存在,它可以把一個(gè)模擬量信號(hào)轉(zhuǎn)換成數(shù)字量信號(hào),ADC模塊的存在可以很方便地解決電機(jī)控制中電路電壓的檢測(cè)、電機(jī)反饋信號(hào)的檢測(cè)等難題。
PIC16F1508單片機(jī)有12路10位分辨率的外部輸入端口和3路10位分辨率的內(nèi)部通道,這3路內(nèi)部通道是固定參考電壓、數(shù)模轉(zhuǎn)換器和溫度指示器通道[1]。此外,同大多數(shù)單片機(jī)內(nèi)置的ADC模塊一樣,可以自動(dòng)采集且可以在休眠模式下進(jìn)行轉(zhuǎn)換。
2.3 可配置邏輯單元
Microchip公司創(chuàng)新性地把電路中可能用到的邏輯功能集成到單片機(jī)的內(nèi)部,這就是可編程邏輯單元(Configurable Logic Cell,CLC)。這個(gè)模塊可以提供可超越軟件執(zhí)行速度限制而工作的可編程邏輯,大大地簡(jiǎn)化了電路的設(shè)計(jì),并且由于外部邏輯器件的減少,系統(tǒng)的可靠性得到一定程度的提高。
PIC16F1508單片機(jī)有4個(gè)可編程邏輯單元,該邏輯單元最多可接收16個(gè)輸入信號(hào),并通過(guò)使用可配置門(mén)將16個(gè)輸入縮減為4條驅(qū)動(dòng)8種可選單輸出邏輯功能之一的邏輯線[1]。輸入源可以是I/O引腳、內(nèi)部時(shí)鐘、外設(shè)輸出、寄存器位等幾種信號(hào)的組合,可以實(shí)現(xiàn)的邏輯功能包括與邏輯、或邏輯、與或邏輯、異或邏輯,以及S-R鎖存器、帶置1和復(fù)位功能的時(shí)鐘控制D型鎖存器等。CLC模塊的簡(jiǎn)化框圖如圖2所示。
為了開(kāi)發(fā)方便,Microchip公司在其官網(wǎng)上發(fā)布了CLC設(shè)計(jì)工具CLC Designer,如圖3所示。在此界面上可以輕松地配置邏輯功能,并且生成C語(yǔ)言代碼或者匯編語(yǔ)言代碼。
CLC模塊使用時(shí)需要注意的問(wèn)題:①如果僅有兩個(gè)信號(hào)做邏輯運(yùn)算,其余的兩個(gè)輸入可以選擇不使能;②所有的輸入信號(hào)必須是已經(jīng)使能的模塊產(chǎn)生的信號(hào),例如使用PWM2OUT作為一個(gè)輸入信號(hào),PWM2模塊必須已經(jīng)使能。
圖3 CLC Designer界面
2.4 互補(bǔ)波形發(fā)生器模塊
在電機(jī)控制系統(tǒng)的設(shè)計(jì)過(guò)程中,安全問(wèn)題是必須要考慮的問(wèn)題,特別是在H橋的驅(qū)動(dòng)電路中,由于電子器件都具有開(kāi)關(guān)時(shí)間,并且“開(kāi)”和“關(guān)”的延時(shí)不同,單片機(jī)的信號(hào)在開(kāi)啟這些元件時(shí),上下橋臂上的2個(gè)開(kāi)關(guān)管容易出現(xiàn)直通現(xiàn)象,這將引起短路類(lèi)的嚴(yán)重事故[2],所以在信號(hào)中加入死區(qū)時(shí)間是很有必要的。一般單片機(jī)發(fā)出的信號(hào)是沒(méi)有死區(qū)時(shí)間的,都是在單片機(jī)與驅(qū)動(dòng)電路之間加上可以生成死區(qū)時(shí)間的電子元件,但這樣會(huì)使系統(tǒng)的可靠性下降,PIC16F1508單片機(jī)內(nèi)置互補(bǔ)波形發(fā)生器模塊CWG (Complementary Waveform Generator,CWG),可以從選擇的輸入源產(chǎn)生帶死區(qū)延時(shí)的互補(bǔ)波形,這在目前單片機(jī)中還是屬于首創(chuàng)。
CWG模塊的可選輸入源可以是PWM模塊、CLC1模塊的內(nèi)部輸出、數(shù)控振蕩器模塊以及比較器模塊等內(nèi)部輸出,并且CWG模塊可以獨(dú)立選擇輸入源和關(guān)斷源,可選死區(qū)時(shí)鐘源控制,使用獨(dú)立的死區(qū)計(jì)數(shù)器進(jìn)行死區(qū)控制,并且可以進(jìn)行輸出極性控制,其簡(jiǎn)化框圖略——編者注。
CWG模塊使用中的問(wèn)題:①死區(qū)時(shí)間的誤差為1個(gè)時(shí)鐘周期;②CWG模塊的輸出不能內(nèi)部輸出到其他模塊當(dāng)做輸入。
通過(guò)查閱大量文獻(xiàn)資料發(fā)現(xiàn),在開(kāi)關(guān)磁阻電機(jī)的驅(qū)動(dòng)系統(tǒng)設(shè)計(jì)研究中,無(wú)論選擇的控制芯片是比較高檔的DSP還是比較普遍的51單片機(jī),在控制外部的開(kāi)關(guān)管工作時(shí),總是由內(nèi)部發(fā)出一路波形,外部通過(guò)簡(jiǎn)單的邏輯器件進(jìn)行邏輯轉(zhuǎn)換,生成可以控制開(kāi)關(guān)管工作的4路或者多路波形。例如參考文獻(xiàn)3中使用PIC16F877作為控制芯片,外部使用的是多個(gè)與非門(mén)的組合完成邏輯轉(zhuǎn)換。參考文獻(xiàn)4中使用TMS320F420為控制核心,外部使用的是一個(gè)D觸發(fā)器和與非門(mén)的搭配完成邏輯轉(zhuǎn)換。本文利用單個(gè)PIC16F1508單片機(jī)發(fā)出四路波形的方法,并且在 Proteus8.0仿真軟件進(jìn)行仿真。
在Proteus8.0軟件界面連接外部電路如圖4所示。其中S、P模擬的是開(kāi)關(guān)磁阻電機(jī)發(fā)出的換相信號(hào)。
圖4 Proteus中的外部電路圖
圖5、圖6所示為CLC2,CLC3模塊配置。
圖5 CLC2配置
使用Proteus8.0仿真軟件進(jìn)行仿真,仿真輸出的信號(hào)波形圖如圖7所示,其中由上至下分別是A、B、C、D四相信號(hào)。
圖6 CLC3配置
圖7 仿真結(jié)果波形圖
不難看出,完全可以用一個(gè)PIC16F1508單片機(jī)發(fā)出控制開(kāi)關(guān)磁阻電機(jī)運(yùn)轉(zhuǎn)的4路波形,這樣不僅減少了電路板上外部邏輯器件的使用,提高了可靠性,而且能充分利用資源、提高經(jīng)濟(jì)性。
PIC16F1508單片機(jī)不僅具有豐富的外設(shè),而且價(jià)格便宜、功耗低。與某些專用電機(jī)控制芯片主要針對(duì)某一類(lèi)電機(jī)而設(shè)計(jì)不同,PIC16F1508可以控制大部分電機(jī),有待使用者去研究開(kāi)發(fā),相信憑借較高的性價(jià)比它一定可以在電機(jī)控制領(lǐng)域取得廣泛的應(yīng)用。
編者注:本文為期刊縮略版,全文見(jiàn)本刊網(wǎng)站www. mesnet.com.cn。
[1]Microchip.PIC16(L)F1508/9數(shù)據(jù)手冊(cè),2014.
[2]王曉明.電動(dòng)機(jī)的單片機(jī)控制[M].北京:北京航空航天大學(xué)出版社,2011.
[3]常甲興,董家璽,王曉明.PIC16F877的開(kāi)關(guān)磁阻電機(jī)控制系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013(3).
[4]江小軍.開(kāi)關(guān)磁阻電機(jī)調(diào)速系統(tǒng)研究[D].西安:西北工業(yè)大學(xué) ,2006.
趙波、李玉美(碩士研究生),研究方向?yàn)楣I(yè)過(guò)程自動(dòng)化。
Motor Control Design Based on PIC16F1508※
Zhao Bo,Li Yumei
(School of Mechanical Engineering and Automation,Liaoning University of Technology,Jinzhou 121001,China)
The PIC16F1508 chip is a high performance,low power consumption and high performance price ratio 8-bit microcontroller.This paper introduces the structure and features of PIC16F1508,and mainly introduces its configurable logic cell and complementary waveform generator related to the motor control.
complementary waveform generator;PWM;configurable logic cell;PIC16F1508
TP211.5
A
楊迪娜
2014-10-04)