直流電機(jī)優(yōu)化控制系統(tǒng)設(shè)計(jì)(二)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
3 系統(tǒng)硬件方案設(shè)計(jì)與實(shí)現(xiàn)
3.1 控制芯片
選擇單片機(jī)作為本控制系統(tǒng)的核心,根據(jù)本系統(tǒng)所要完成的功能,要求我們所用的控制芯片需具備以下功能或接口,PWM 輸出功能、A/D 轉(zhuǎn)換功能、串行通訊接口。此外,為了完成某些控制算法,需要有較高的速度,還要求具有較低的功耗和較高的性價(jià)比,能夠進(jìn)行硬件調(diào)試,軟件開發(fā)簡單。AVR 單片機(jī)是Atmel 公司推出的較為新穎的8 位單片機(jī),采用了RISC 結(jié)構(gòu),其顯著的特點(diǎn)為高性能、高速度低功耗。它取消機(jī)器周期,以時(shí)鐘周期為指令周期,實(shí)行流水作業(yè)。內(nèi)部集成32 個(gè)通用寄存器,每一個(gè)都相當(dāng)于51 里面的一個(gè)累加器A,避免了累加器瓶頸,進(jìn)一步提高了運(yùn)行速度和代碼效率。AVR 單片機(jī)指令以字為單位,且大部分指令都為單周期指令。而單周期既可執(zhí)行本指令功能,同時(shí)完成下一條指令的讀取。通常時(shí)鐘頻率用1~16MHz,最短指令執(zhí)行時(shí)間為63ns。AVR 單片機(jī)指令代碼較為簡練,其編譯器都C 語言進(jìn)行了優(yōu)化,具備ISP和IAP(In Application Program,在應(yīng)用編程)。與傳統(tǒng)的51 系列相比,AVR 單片機(jī)在速度、功耗、性價(jià)比上具有極大的優(yōu)勢,因此,我們選擇AVR 單片機(jī)作為本系統(tǒng)的控制芯片。
3.1.1 ATmega16 的特點(diǎn)
ATMEL 公司的AVR 單片機(jī)現(xiàn)有50 多個(gè)品種,分為低、中、高三個(gè)不同檔次。我們選擇了AVR 單片機(jī)中性價(jià)比較高的一款-ATmega16 作為系統(tǒng)控制芯片。ATmega16 屬于高檔AVR 單片機(jī),是一款性能完善、使用更加方便和功能更加強(qiáng)大的新型AVR 單片機(jī)。其性能及內(nèi)部資源如下:
(1)高性能和低功耗的先進(jìn)RISC 型8 位微控制器。
(2)32 個(gè)8 位通用工作寄存器,只需2 個(gè)時(shí)鐘周期的硬件乘法器,工作于
16MHz 時(shí)性能高達(dá)16MIPS。
(3) 內(nèi)部集成16KB Flash,1KB 的SRAM 和512B 的E2PROM。
(4)32 個(gè)準(zhǔn)雙向I/O 引腳,20 個(gè)中斷源,其中外部中斷源為2 個(gè),1 個(gè)SPI
接口和1 個(gè)USART,2 個(gè)8 位定時(shí)器和一個(gè)16 位定時(shí)器,3 個(gè)PWM 通道,8
路10 位的A/D 通道。
(4) 具有空閑、省電、掉電、等待和ADC 降噪等多種功作模式和上電復(fù)位、
外部復(fù)位、看門狗復(fù)位和BOD(電源電壓欠壓和過壓檢測)等多種復(fù)位電路。。
(5) 符合IEEE1149.1 標(biāo)準(zhǔn)的JTAG 接口,可實(shí)現(xiàn)對片內(nèi)存儲(chǔ)器的編程和程
序調(diào)試。具備ISP 和IAP 功能。
(6)系統(tǒng)時(shí)鐘為0-16MHz,可外接晶體振蕩器,也可用片內(nèi)振蕩器,ATmega16
提供0-8MHz 可校準(zhǔn)的內(nèi)部時(shí)鐘,在對時(shí)鐘要求不很嚴(yán)格的場合可用內(nèi)部時(shí)鐘,
可以節(jié)省成本和降低EMI。
(7)工作電壓、速度及功耗。ATmega16L:2.7-5.5V,0-8MHz,ATmega16:
4.5-5.5V,0-16MHz。ATmega16L 在1MHz,3V,25℃時(shí)功耗為:正常模式:1.1mA,
空閑模式0.35mA,掉電模式:小于1μA。
(8)DIP40 或TQFP44 封裝。
3.2 AVR單片機(jī)最小系統(tǒng)
AVR 單片機(jī)最小系統(tǒng)由復(fù)位電路、晶振電路和ISP 下載下線接口及ATmega16構(gòu)成。如下圖3-1 所示。
雖然AVR 單片機(jī)內(nèi)部帶有0-8MHz 的內(nèi)部時(shí)鐘,但為了系統(tǒng)時(shí)序穩(wěn)定,工作可靠,這里采用了由8MHz 的石英晶振構(gòu)成的振蕩器作為單片機(jī)的系統(tǒng)時(shí)鐘。R23、C23 和S1 構(gòu)成上電復(fù)位和按鍵復(fù)位電路。P14 為AVR 單片機(jī)的ISP 下載接口。C27、C24,L1、C26 分別構(gòu)成數(shù)字電路和內(nèi)部模擬電路電源濾波電路,C25 為A/D 轉(zhuǎn)換所用內(nèi)部參考源的濾波電容。單片機(jī)的管腳分配如下表3-1 所示。
3.3 雙極性PWM 波形產(chǎn)生與死區(qū)發(fā)生
3.2.1 PWM波的產(chǎn)生
PWM 波形由控制芯片ATmega16 的定時(shí)器T/C1 產(chǎn)生,從OC1A(PD5)引腳輸出。ATmega16 的T/C1 是一個(gè)可編程的16 位雙向的定時(shí)器/計(jì)數(shù)器,既可以在系統(tǒng)時(shí)鐘作用下作為16 位定時(shí)器使用,也可以對T1 引腳上的脈沖進(jìn)行計(jì)數(shù),可以在OC1A 和OC1B 引腳上輸出兩路PWM 波形,并可在ICP 引腳上輸入脈沖作用下捕捉一次TCNT1 中瞬時(shí)計(jì)數(shù)值。這里我們不詳細(xì)介紹T/C1 的所有功能,只闡述其產(chǎn)生PWM 的波形的過程。與T/C1 有關(guān)的工作寄存器有:T/C1 計(jì)數(shù)器TCNT1、輸出比較匹配寄存器OCR1A 和OCR1B 以及輸入捕捉寄存器ICR1,均為16 位,由相應(yīng)的8 位I/O 寄存器拼裝而成;T/C1 控制寄存器TCCR1A 和TCCR1B,用于設(shè)定T/C1 的工作模式。T/C1 的工作模式由一般模式、比較匹配時(shí)清零定時(shí)器(CTC)模式以及兩種PWM 等15 種。PWM 模式中,又可分為8 位、9 位、10 位PWM,其中又有快速模式和相位頻率可調(diào)模式。PWM 波形位數(shù)越高,則其波形輸出精度也越高,但其相應(yīng)頻率也越低。為使電機(jī)電流連續(xù),PWM 波形頻率不能太低。在快速PWM 模式下,TCNT1 為加“1”計(jì)數(shù)器,可以從0000H 一直加到TOP值,并在下個(gè)計(jì)數(shù)脈沖到來時(shí)清零,然后再從0000H 開始加“1”計(jì)數(shù),并重復(fù)上述過程。相比于其他兩種PWM(相位可調(diào)及相位頻率可調(diào))模式,快速PWM模式頻率要高出一倍,適合功率調(diào)節(jié)、電機(jī)控制等。因此我們選擇快速PWM模式。
OC1A 或OC1B 引腳上PWM 輸出波形的頻率由下式確定,式中的N 取值為1、8、64、254 或1024(分別代表分頻系數(shù))。
fCLK_IO 為時(shí)鐘頻率,為8MHz,取N=1,即不對時(shí)鐘進(jìn)行分頻,TOP 值代表CNT1 計(jì)數(shù)的最大值,跟PWM 位數(shù)有關(guān),當(dāng)選擇8 位快速PWM 模式時(shí),TOP=255,則輸出頻率為31.25KHz;選擇9 位快速PWM時(shí),TOP=511,則輸出頻率為15.6KHz,綜合比較,選擇9 位快速PWM 輸出模式,能同時(shí)滿足頻率和精度的要求。頻率確定后,還需確定占空比(波形)。引腳OC1A 或OC1B 的輸出波形取決于觸發(fā)器OC1A 或OC1B。在T/C1 設(shè)置成反向比較匹配輸出模式下時(shí),若TCNT1 中計(jì)數(shù)值和OCR1A 或OCR1B 中比較值匹配相等時(shí),OC1A 或OC1B 觸發(fā)器被清零,OC1A 或OC1B 引腳輸出低電平;若TCNT1 中計(jì)數(shù)值繼續(xù)計(jì)數(shù)到TOP 值并由此而返回0000H,則OC1A 或OC1B 被置位,OC1A 或OC1B 輸出高電平。工作時(shí)序如圖3-2 所示。當(dāng)TCNT1 中的計(jì)數(shù)值達(dá)由TOP 值變?yōu)?000H 時(shí),T/C1 產(chǎn)生溢出中斷,置位中斷標(biāo)志位TOV1,若中斷是開放的,則MCU 會(huì)立即轉(zhuǎn)入相應(yīng)中斷服務(wù)程序。TOV1 也由硬件自動(dòng)清零,向該標(biāo)志位寫”1”則由軟件清除該標(biāo)志位。在中斷服務(wù)程序中改變OCR1A 的值,則其PWM 波形占空比會(huì)發(fā)生相應(yīng)變化 。圖3-2 T/C1 反向比較匹配輸出模式工作時(shí)序本系統(tǒng)中,我們只需要一路PWM 信號即可,這里用OC1A 引腳產(chǎn)生,采用9 位快速PWM 模式,頻率為15.6KHz,當(dāng)要改變輸出占空比時(shí),改變OCR1A的值即可。
3.2.2 驅(qū)動(dòng)信號形成及死區(qū)發(fā)生
H橋要由4 路其中兩路反向的波形來驅(qū)動(dòng),因此需將PWM 波形進(jìn)行反向處理。此外,還需加入防止H 橋上下臂直通的延時(shí)電路。如圖3-3 所示。
EN 為PWM 輸出使能信號,當(dāng)EN 為低電平時(shí),封鎖輸出與門,輸出全為低電平,電機(jī)停轉(zhuǎn)。同時(shí)輸出與門也起著整形的作用。PWM 信號一路直接輸入與門,另一路經(jīng)反向后送入與門,增加其驅(qū)動(dòng)能力。D1、R5、C9,D3、R9、C12構(gòu)成死區(qū)發(fā)生,利用阻容充電,使波形緩慢上升,再利于與門的閾值電壓(VCC/2,這里為2.5V)對波形進(jìn)行整形。下降沿時(shí),電容通過二極管進(jìn)行快速放電,這樣就行成了導(dǎo)通延時(shí)。各點(diǎn)波形如圖3-4 所示。更新OCR1A或OCR1B的值,置位TOV1中斷標(biāo)志標(biāo)志位TCNT1OC1A或OC1B死區(qū)時(shí)間為△t,對MOSFET,死區(qū)時(shí)間可取0.2-1μs。本文將R5 和R9 用可變電阻代替,將死區(qū)時(shí)間設(shè)為500ns。
經(jīng)過該電路處理后,一路PWM 信號變成4 路PWM 信號,其中PA、PC 同相,PB、PD 也同相,這兩組信號互為反相且存在死區(qū)。
圖 3-4 死區(qū)波形