趙波,李玉美
(遼寧工業大學機械工程與自動化學院,錦州121001)
電機控制芯片PIC16F1508的電機控制應用設計※
趙波,李玉美
(遼寧工業大學機械工程與自動化學院,錦州121001)
PIC16F1508芯片是一款高性能、低功耗、高性價比的8位單片機。本文簡單介紹了PIC16F1508芯片的結構和特性,重點介紹了其與電機控制相關的可配置邏輯單元和互補波形發生器模塊。
互補波形發生器模塊;PWM;可配置邏輯單元;PIC16F1508
現代工業的發展離不開電機控制技術的進步,而且對電機控制的精度要求越來越高,因此,在能耗以及成本盡量降低的情況下,尋求一款功能強大、功耗較低的電機控制芯片越來越重要。PIC16F1508芯片作為一款采用XLP(eX-treme Low Power)技術的8位單片機,延續了PIC單片機一貫采用的精簡指令集RISC、哈佛雙總線、兩級指令流水線結構,而且進一步豐富了其外設特性,在電機控制領域取得廣泛的應用。
PIC16F1508單片機采用了XLP超低功耗管理功能,待機電流僅為25 nA(1.8 V時,典型值),看門狗電流僅為300 nA(1.8 V時,典型值),工作電流僅為30μA/MHz(1.8 V時,典型值)[1]。
此外,PIC16F1508單片機還創新性地集成了豐富的獨立于內核的外設,例如互補波形發生器、可配置邏輯單元、數控振蕩器、軌對軌運放和高速比較器、高分辨率的PWM、ADC和DAC、有SPI和I2C兩種模式的主同步串行口的MSSP模塊,以及可兼容RS-232、RS-485和LIN的增強型通用同步/異步收發器EUSART等。PIC16F1508單片機的結構如圖1所示。
2.1 PWM模塊
PWM(Pulse Width Modulation)功能即脈沖寬度調制功能,通過修改周期寄存器調節頻率或者修改占空比寄存器調節電壓來控制逆變器開關的通斷,達到控制電機運轉的目的。隨著電子技術的發展,采用全控型開關功率元件進行脈寬調制PWM控制方式已經成為主流[2]。

圖1 PIC16F1508單片機結構框圖
PIC16F1508單片機有 4個PWM模塊,除了共用一個周期寄存器PR2以外,PWM1~PWM4分別有自己對應的占空比寄存器,這就意味著每一個PIC16F1508單片機都可以通過PWM功能控制4臺電機獨立運轉,最大限度地利用單片機的資源。
2.2 模數轉換器模塊
模數轉換器(ADC)模塊在目前的單片機中幾乎都存在,它可以把一個模擬量信號轉換成數字量信號,ADC模塊的存在可以很方便地解決電機控制中電路電壓的檢測、電機反饋信號的檢測等難題。
PIC16F1508單片機有12路10位分辨率的外部輸入端口和3路10位分辨率的內部通道,這3路內部通道是固定參考電壓、數模轉換器和溫度指示器通道[1]。此外,同大多數單片機內置的ADC模塊一樣,可以自動采集且可以在休眠模式下進行轉換。
2.3 可配置邏輯單元
Microchip公司創新性地把電路中可能用到的邏輯功能集成到單片機的內部,這就是可編程邏輯單元(Configurable Logic Cell,CLC)。這個模塊可以提供可超越軟件執行速度限制而工作的可編程邏輯,大大地簡化了電路的設計,并且由于外部邏輯器件的減少,系統的可靠性得到一定程度的提高。
PIC16F1508單片機有4個可編程邏輯單元,該邏輯單元最多可接收16個輸入信號,并通過使用可配置門將16個輸入縮減為4條驅動8種可選單輸出邏輯功能之一的邏輯線[1]。輸入源可以是I/O引腳、內部時鐘、外設輸出、寄存器位等幾種信號的組合,可以實現的邏輯功能包括與邏輯、或邏輯、與或邏輯、異或邏輯,以及S-R鎖存器、帶置1和復位功能的時鐘控制D型鎖存器等。CLC模塊的簡化框圖如圖2所示。
為了開發方便,Microchip公司在其官網上發布了CLC設計工具CLC Designer,如圖3所示。在此界面上可以輕松地配置邏輯功能,并且生成C語言代碼或者匯編語言代碼。
CLC模塊使用時需要注意的問題:①如果僅有兩個信號做邏輯運算,其余的兩個輸入可以選擇不使能;②所有的輸入信號必須是已經使能的模塊產生的信號,例如使用PWM2OUT作為一個輸入信號,PWM2模塊必須已經使能。

圖3 CLC Designer界面
2.4 互補波形發生器模塊
在電機控制系統的設計過程中,安全問題是必須要考慮的問題,特別是在H橋的驅動電路中,由于電子器件都具有開關時間,并且“開”和“關”的延時不同,單片機的信號在開啟這些元件時,上下橋臂上的2個開關管容易出現直通現象,這將引起短路類的嚴重事故[2],所以在信號中加入死區時間是很有必要的。一般單片機發出的信號是沒有死區時間的,都是在單片機與驅動電路之間加上可以生成死區時間的電子元件,但這樣會使系統的可靠性下降,PIC16F1508單片機內置互補波形發生器模塊CWG (Complementary Waveform Generator,CWG),可以從選擇的輸入源產生帶死區延時的互補波形,這在目前單片機中還是屬于首創。
CWG模塊的可選輸入源可以是PWM模塊、CLC1模塊的內部輸出、數控振蕩器模塊以及比較器模塊等內部輸出,并且CWG模塊可以獨立選擇輸入源和關斷源,可選死區時鐘源控制,使用獨立的死區計數器進行死區控制,并且可以進行輸出極性控制,其簡化框圖略——編者注。
CWG模塊使用中的問題:①死區時間的誤差為1個時鐘周期;②CWG模塊的輸出不能內部輸出到其他模塊當做輸入。
通過查閱大量文獻資料發現,在開關磁阻電機的驅動系統設計研究中,無論選擇的控制芯片是比較高檔的DSP還是比較普遍的51單片機,在控制外部的開關管工作時,總是由內部發出一路波形,外部通過簡單的邏輯器件進行邏輯轉換,生成可以控制開關管工作的4路或者多路波形。例如參考文獻3中使用PIC16F877作為控制芯片,外部使用的是多個與非門的組合完成邏輯轉換。參考文獻4中使用TMS320F420為控制核心,外部使用的是一個D觸發器和與非門的搭配完成邏輯轉換。本文利用單個PIC16F1508單片機發出四路波形的方法,并且在 Proteus8.0仿真軟件進行仿真。
在Proteus8.0軟件界面連接外部電路如圖4所示。其中S、P模擬的是開關磁阻電機發出的換相信號。

圖4 Proteus中的外部電路圖
圖5、圖6所示為CLC2,CLC3模塊配置。

圖5 CLC2配置
使用Proteus8.0仿真軟件進行仿真,仿真輸出的信號波形圖如圖7所示,其中由上至下分別是A、B、C、D四相信號。

圖6 CLC3配置

圖7 仿真結果波形圖
不難看出,完全可以用一個PIC16F1508單片機發出控制開關磁阻電機運轉的4路波形,這樣不僅減少了電路板上外部邏輯器件的使用,提高了可靠性,而且能充分利用資源、提高經濟性。
PIC16F1508單片機不僅具有豐富的外設,而且價格便宜、功耗低。與某些專用電機控制芯片主要針對某一類電機而設計不同,PIC16F1508可以控制大部分電機,有待使用者去研究開發,相信憑借較高的性價比它一定可以在電機控制領域取得廣泛的應用。
編者注:本文為期刊縮略版,全文見本刊網站www. mesnet.com.cn。
[1]Microchip.PIC16(L)F1508/9數據手冊,2014.
[2]王曉明.電動機的單片機控制[M].北京:北京航空航天大學出版社,2011.
[3]常甲興,董家璽,王曉明.PIC16F877的開關磁阻電機控制系統設計[J].單片機與嵌入式系統應用,2013(3).
[4]江小軍.開關磁阻電機調速系統研究[D].西安:西北工業大學 ,2006.
趙波、李玉美(碩士研究生),研究方向為工業過程自動化。
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)