電動車無刷電機控制器軟件設(shè)計詳解_第1頁
電動車無刷電機控制器軟件設(shè)計詳解_第2頁
電動車無刷電機控制器軟件設(shè)計詳解_第3頁
電動車無刷電機控制器軟件設(shè)計詳解_第4頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、專業(yè)文檔僅供個人參考電動車無刷電機控制器軟件設(shè)計詳解作者 : 謝淵斌原作發(fā)表在電子報2007年合訂本下冊版權(quán)保留,轉(zhuǎn)帖請注明出處本文以 MICROCHIP公司所生產(chǎn)的PIC16F72為基礎(chǔ)說明軟件編程方面所涉及的要點,此文所涉及的源程序均以PIC 的匯編語言為例。由于軟件不可避免需與硬件相結(jié)合,所以此文可能出現(xiàn)硬件電路圖或示意圖。本文適合在單片機編程方面有一定經(jīng)驗的讀者,有些基礎(chǔ)知識恕不一一介紹。我們先列一下電動車無刷馬達控制器的基本要求:功能性要求:1. 電子換相2. 無級調(diào)速3. 剎車斷電4. 附加功能a. 限速不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考b.1+1 助力c.EB

2、S 柔性電磁剎車d. 定速巡航e. 其它功能 ( 消除換相噪音,倒車等 )安全性要求:1. 限流驅(qū)動2. 過流保護3. 堵轉(zhuǎn)保護3. 電池欠壓保護4. 節(jié)能和降低溫升5. 附加功能 ( 防盜鎖死,溫升限制等 )6. 附加故障檢測功能從上面的要求來看,功能性要求和安全性要求的前三項用專用的無刷馬達驅(qū)動芯片加上適當?shù)耐鈬娐肪浑y解決,代表芯片是摩托羅拉的MC33035 ,早期的控制器方案均用該集成塊解決。但后來隨著競爭加劇,很多廠商都增加了不少附加功能,一些附加功能用硬件來實現(xiàn)就比較困難,所以使用單片機來做控制的控制器迅速取代了硬件電路不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考芯片。

3、但是硬件控制和軟件控制有很大的區(qū)別,硬件控制的反應(yīng)速度僅僅受限于邏輯門的開關(guān)速度,而軟件的運行則需要時間。要使軟件跟得上電機控制的需求,就必須要求軟件在最短的時間內(nèi)能夠正確處理換相,電流限制等各種復(fù)雜動作,這就涉及到一個對外部信號的采樣頻率,采樣時機,信號的內(nèi)部處理判斷及處理結(jié)果的輸出,還有一些抗干擾措施等,這些都是軟件設(shè)計中需要再三仔細考慮的東西。PIC16F72是一款哈佛結(jié)構(gòu),精簡指令集的MCU ,由于其數(shù)據(jù)總線和指令總線分開,總共35 條單字指令,0-20M的時鐘速度,所以其運算速度和抗干擾性能都非常出色,2K字長的 FLASH 程序空間,22 個可用的 IO 口,同時又附加了3 個定時

4、 / 計數(shù)器, 5 個 8 位AD 口, 1 個比較 / 捕捉 / 脈寬調(diào)制器,8 個中斷源,這些優(yōu)異的性能為電動車控制器控制提供了良好的硬件環(huán)境和軟件基礎(chǔ),一經(jīng)推出就贏得眾多設(shè)計人員的熱捧。不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考那么如何使用PIC16F72來設(shè)計一個電動車控制器呢?我們下面以目前市面流行的硬件設(shè)計為基礎(chǔ),盡量通俗易懂地介紹一下程序設(shè)計思路和注意點。要使無刷電機轉(zhuǎn)起來,并且聽從駕駛者的調(diào)速、剎車等基本指揮,最基本的要求就是要實現(xiàn)硬件所能實現(xiàn)的電子換向和調(diào)速,剎車等功能。實際上軟件的整體設(shè)計也和硬件一樣,也是一個模塊化堆砌的過程,問題在于模塊的合理化堆砌,使堆砌后

5、形成的整體能夠堅固,協(xié)調(diào)、高效率運作。我們先說一說各種模塊功能的簡單實現(xiàn),然后再來討論如何使這些模塊協(xié)調(diào)運轉(zhuǎn)。1. 首先說說電子換相模塊我們知道,直流永磁電機在運轉(zhuǎn)時需要一對電刷和與線圈相對應(yīng)的換向整流子來使線圈中的電流方向根據(jù)磁場方向來不斷改變,從而轉(zhuǎn)子持續(xù)向一個方向運轉(zhuǎn),我們稱這種電機為有刷電機,在電動車剛剛面世時一般不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考均使用這種電機,但有刷電機有一個致命的缺陷,就是用作電刷的碳刷非常容易磨損,換向整流子也非常容易被油污,碳刷碎屑填滿空隙而漏電,而且功率越大,這種毛病越嚴重,導(dǎo)致有刷電機維護量和故障率急劇上升,嚴重影響其推廣,因此在較大功

6、率的場合,無刷電機應(yīng)運而生。無刷電機,顧名思義就是沒有了電刷,不能自動換向,因此要依靠傳感器檢測轉(zhuǎn)子的位置、用電子開關(guān)來改變線圈中電流的方向,所以其控制器要對轉(zhuǎn)子永磁體位置進行精確檢測,并用電子開關(guān)切換不同繞組通電以獲得持續(xù)向前的動力。轉(zhuǎn)子位置檢測傳感器有很多,比如光傳感器,磁感應(yīng)傳感器等,電子開關(guān)可以用大功率三極管、功率型場效應(yīng)管、IGBT等制作,在目前的絕大多數(shù)電動車三相無刷電機中均使用三個開關(guān)式的霍爾傳感器檢測永磁體相對于定子線圈的位置,控制器跟據(jù)三個霍爾傳感器輸出的六種不同信號輸出相應(yīng)的控制信號驅(qū)動功率型場效應(yīng)管(MOSFET )組成的電子開關(guān)向馬達供電。這就是所謂六步換相法。從電機原

7、理不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考可以看出,這種電機是一種特殊的同步電機,因此換相必須及時,否則會導(dǎo)致電機失步,從而使電機噪音增大,效率降低,嚴重的還會導(dǎo)致控制器,電機燒毀。鑒于以上要求,我們先必須測一下市面上普通的無刷馬達在最高轉(zhuǎn)速時( 考慮到順風和下坡的情況 ) 的換向情況,這個比較簡單,用示波器測量之后得到在最高速時每相霍爾傳感器輸出的頻率大概在140HZ 左右,折合到換向的最小時間,那么應(yīng)該是1.2mS 左右換相一次,根據(jù)際的使用效果,軟件的反應(yīng)時間必須在 0.12mS左右,也就是說在檢測到換相信號的改變并且輸出換相驅(qū)動信號時的過程必須在0.1-0.2mS之內(nèi)完成

8、。另一個需要考慮的是,電機驅(qū)動是一個大電流驅(qū)動,又是一個電感性負載,控制器在運行時不可避免有干擾引入,因此除了在硬件布局,布線上注意外,軟件上也要做相應(yīng)的抗干擾措施以避免錯誤的換向動作。考慮到輸入到單片機的換相信號容易受干擾,加上線路上濾波電容的影響,單片機程序在讀取換相信號時應(yīng)至少連續(xù)讀取3次,以 3次信不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考號完全一致時才采用該值作為換相信號的真值,如果其中一次不對,那么干脆就重新再讀 3 次,這就是一個有抗干擾措施的鑒相過程。取得換相信號后,我們將其與上次讀到的值做對比,如果相同,則表示沒有換相,如果不同,則要跟據(jù)這個值去取得一個相對應(yīng)的驅(qū)

9、動信號,從而驅(qū)動電子開關(guān)動作。這個過程可以使用逐項比較法,查表法等來實現(xiàn)。鑒于查表法比較快捷,一般使用查表法。其中需要考慮的是,一旦獲得的信號與所有的六個信號都不相同,可能表示電機中霍爾元件或者其連接線路出現(xiàn)故障,此時我們應(yīng)該讓電機斷電以避免誤操作。市面上有兩種電機,即所謂的 120 °和 60 ° 霍爾信號,這個角度代表三個霍爾器件輸出的三相電信號其相位角相差的角度,其實這里面的區(qū)別僅僅是電平的不一樣,在馬達內(nèi)部的安裝上,位置沒什么不同,只是中間一相的相位相反,所以仍然是六種信號對應(yīng)六種驅(qū)動,軟件上將表稍作調(diào)整即可。需要提一下的是,在120 °的霍爾信號中,不可

10、能出現(xiàn)二進制0B000 和0B111 的編碼,所以在不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考一定程度上避免了因霍爾零件故障而導(dǎo)致的誤操作。因為霍爾元件是開路輸出,高電平依靠電路上的上拉電阻提供,一旦霍爾零件斷電,霍爾信號輸出就是0B111 。一旦霍爾零件短路,霍爾信號輸出就是0B000 ,而 60 °的霍爾信號在正常工作時這兩種信號均會出現(xiàn),所以一定程度上影響了軟件判斷故障的準確率。目前市面馬達已經(jīng)逐漸舍棄60 °相位的霍爾排列。編程提示:在程序上,我們綜合考慮單片機的處理速度,采用定時中斷去檢測相位變化,中斷周期采用128 S ,中斷源可使用TMR0 ,或者

11、PWM本身的TMR2 中斷。在同一個中斷中,我們還將安排其它更重要的工作,這個在后面的電流控制中再說明。編程技巧:從硬件電路圖中我們看到,位置霍爾信號在PORTC 口的 RC4 、 RC5 、 RC6 三個口輸入,以120 °相位為例,如果直接讀出來,對應(yīng)十六進制值是0X10-0X60 ,考慮到霍爾出錯的可能,那么對應(yīng)的值是0X00-0X70 ,顯然這不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考個值對今后的查表處理造成非常大的麻煩,我們不可能去弄一個0X70 這么大的表格而其中只放僅僅 8 個元素,所以有必要考慮編程時的優(yōu)化,且看下面一個例程:讀取相位值的例程:READHA

12、LL:SWAPF PORTC,W將; PORTC的高,低半字節(jié)交換后讀至WANDLW 0X07 ;屏蔽掉不必要的位,MOVWF HALLTEMP存 ;人暫存器SWAPF PORTC,W再;次讀ANDLW 0X07SUBWF HALLTEMP,W與;舊值比較BTFSS STATUS,ZGOTO READHALL如 ;果與第一次讀取的不一樣,則從頭再來SWAPF PORTC,W第;三次讀ANDLW 0X07SUBWF HALLTEMP,W再;次比較BTFSS STATUS,ZGOTOREADHALL不 ;一樣則從頭再來RETURN三 ;次讀取值一致,返回。不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔

13、僅供個人參考這個程序中,最關(guān)鍵是SWAPF PORTC,W這句,這句語句一方面讀取了霍爾值,另一方面與下句語句結(jié)合還將此值變?yōu)?0-7 的最小值,這樣使得我們后面的查表只需要8 個空間的元素。以上程序, 也有人認為有可能會導(dǎo)致程序陷入死循環(huán),但不必擔心,因為要導(dǎo)致這個程序進入死循環(huán)的信號頻率必須非常高,有興趣的讀者可計算一下。有了上面的霍爾讀取程序,我們下面的查表讀取相應(yīng)驅(qū)動值就會變的比較方便,但查表也有很多種,在 PIC16F72 中,查表可以用 RETLW 在程序空間查,也可以用專用的讀取FLASH 空間的指令去讀,考慮到我們這個表格一共只有8 個元素,我們可以將器放在內(nèi)存寄存器中,利用用

14、 FSR 去讀取表內(nèi)容。這樣做有好處,就是查表時不用去考慮查表偏移量造成程序計數(shù)器溢出,另一方面是120 ° 和 60 °可以使用同一個表格而不用切換。這個表格,我們可以放在寄存器空間不太方便使用的 BANK1 ,在程序初始化時預(yù)先寫入正確的換向?qū)?yīng)值。這個程序在時間上并不比不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考其它兩種查表法顯得快多少,而且程序空間也不節(jié)省,在這里只是作為一個方法示例,可以讓我們看到實現(xiàn)同一個功能可以走不同的路。使用內(nèi)存查表法的驅(qū)動值獲取例程:;HALLSTART EQU 0XA1定 ;義霍爾 - 驅(qū)動表格的起始地址在BANK1 的 0XA

15、1 開始處;HALL_DRIVER:;由霍爾值取得對應(yīng)驅(qū)動值的內(nèi)存查表例程MOVF HALLTEMP,W取 ;得 HALL 的真值A(chǔ)DDLW HALLSTART加 ;上表格的起始地址MOVWF FSR放 ;到間接讀內(nèi)存的指針中。MOVF INDF,W ;讀出驅(qū)動值MOVWF PORTB不 ;管返回值如何,先寫入驅(qū)動端口,SUBLW STOP_D與 ;電機停止值相比較,BTFSC STATUS,ZGOTO HALL_ERR如 ;果獲得停止電機值,那么表示霍爾信號有問題RETURN不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考無級調(diào)速模塊部分:由于使用直流電源,電機的速度得依靠調(diào)節(jié)加在電機

16、兩端的電壓來調(diào)整,較簡單的辦法是使用 PWM 脈寬調(diào)制來調(diào)節(jié)加到電機兩端的電壓。PWM 的工作周期根據(jù)電機的使用環(huán)境,采用64 S,折算成頻率大約15.625KHz ,頻率太低了會產(chǎn)生人耳能明顯感覺到的高頻噪聲,電流也不容易控制; 太高了又增加電子開關(guān)的開關(guān)損耗;PWM 脈沖的寬度是調(diào)節(jié)加到電機兩端有效電壓高低的手段,直接影響到電機的輸出功率,我們可以根據(jù)手柄輸出的電壓決定最終應(yīng)該分配給電機多高的電壓。手柄電壓檢測比較簡單,人對速度的感覺很遲鈍,所以手柄的檢測不需要很頻繁,這個AD檢測與電源電壓AD 等檢測均不需要很快的速度,所以每隔10mS-50mS輪番檢測一次便足夠, AD 的檢測在定時中

17、斷中做,而結(jié)果則放在中斷外做,這樣不會占用中斷太多的時間。編程提示:由于現(xiàn)在大多采用線性霍爾作為手柄調(diào)節(jié)不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考速度方案,優(yōu)點是無觸電,故障率極低。缺點是在5V 供電的情況下,電壓只能在1.1V-4.3V的范圍內(nèi)變化,因此軟件的處理相對復(fù)雜一點。這只需要我們做一點簡單的運算,或者采用查表的方法,將這期間的AD 數(shù)值轉(zhuǎn)換成PWM 占空比的值即可。雖然講是無級調(diào)速,實際上分32 級時人已經(jīng)感覺不出速度的細微變化了。但是有一點,根據(jù)手柄得出的 PWM 脈沖寬度不能直接用來控制PWM 占空比,需要在電流允許的情況下才能讓占空比達到設(shè)定值。程序中所用關(guān)鍵控制

18、寄存器及其作用:PR2 :決定 PWM 的工作周期,也就是PWM 的調(diào)制頻率,工作中其值不斷地與TMR2 中的值相比較,當 TMR2 的值等于PR2 時 TMR2 歸零重新開始另一個周期,由于用到TMR2 ,所以 TMR2 的預(yù)分頻器也同樣影響到 PWM 的工作周期。 具體計算公式在數(shù)據(jù)手冊上可以找到,下同。CCPR1L 及 CCP1CON的第 4 , 5 位:決定 PWM 的占空比,單片機在運行時TMR2 的值不斷與CCPR1L 中的值比較,當 TMR2=CCPR1L 時,不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考PWM 輸出腳輸出低電平。當 CCPR1L中的值大于PR2 時,

19、PWM 輸出腳持續(xù)輸出高電平。注意: CCP1CON 中的第 4, 5 位在這里并非無用,在后面的電流調(diào)節(jié)中可以用來微調(diào)PWM 的占空比。T2CON :決定 TMR2 的預(yù)分頻器和后分頻器的分頻比,預(yù)分頻器和前面講過的PR2 共同決定 PWM 頻率,后分頻器決定 TMR2 的中斷周期。剎車斷電模塊:電動車在剎車手柄附近裝了一個微動開關(guān),一方面在剎車時點亮剎車燈,一方面給控制器提供一個剎車高或低電平信號,各廠家不一定,在電路上作一些電平轉(zhuǎn)換很容易就可以提供給單片機一個準確的信號,我們可以采用數(shù)字測量的方法測量這個電平是高還是低,也可以使用AD 去測量有幾伏,總之監(jiān)測到這個信號后必須關(guān)閉所有的驅(qū)動

20、輸出和PWM 輸出,這樣就可以實現(xiàn)剎車斷電。編程方面我就不多說了。至于如何實現(xiàn)EBS 電子剎車,我們后面在附加功能再講。4。限流驅(qū)動不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考這是整個控制器的靈魂,如果限流驅(qū)動沒做好,其他功能再好還是一個字:燒! 。電動車控制器的電子開關(guān)均使用功率MOSFET 控制, MOSFET的最大允許電流,最大允許功耗都有其限制,如果沒有電流控制,或者電流控制不好,均會導(dǎo)致功率MOSFET的燒毀,從而導(dǎo)致整個控制器報廢,因此電流控制是本程序的重中之重,這個做不好,其它功能一概免談。說起來嚴重,其實做起來,摸到竅門也是很簡單的,其秘訣也只有四個字:準確,及時電流

21、信號經(jīng)康銅絲采樣之后分兩路,一路送至放大器,一路送至比較器。具體電路見硬件部分。放大器用來實時放大電流信號,放大倍數(shù)大約6.5 倍,放大后的信號提供給單片機進行AD 采樣轉(zhuǎn)換,轉(zhuǎn)換所得數(shù)字用來控制電流不超過我們所允許的值。另一路信號送至比較器,當電流突然由于某種原因大大超過允許值,比如一只MOSFET 擊穿或誤導(dǎo)通時,比較器翻轉(zhuǎn)送出低電平,觸發(fā)單片機的INT0 外部中斷,使單片機能夠快速關(guān)斷驅(qū)動,從而保護MOSFET 避免更大傷害。不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考我們這里所要講述的準確,及時兩個要素,主要是針對放大器放大之后的信號處理過程來表述的。準確圖1首先一個條件是準

22、確,這里所指的是電流的AD 采樣和轉(zhuǎn)換的時機。我們現(xiàn)在使用的是PWM 脈沖驅(qū)動,這種脈沖驅(qū)動導(dǎo)致的直接結(jié)果是放大后的電流信號與PWM 脈沖頻率相同,相位上滯后一定時間的脈動電流波形,見圖 1。這種波形會類似于一個梯形,如果我們要獲得準確的電流AD 轉(zhuǎn)換值,最好的辦法就是在梯形波的上邊中間采樣電流信號,這樣所獲得的電流 AD 值才能較為準確地反應(yīng)不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考電流的實際大小。在本文所選的單片機上,AD 轉(zhuǎn)換的采樣開始時間由ADCON0中的 ADON 位控制開始,AD 轉(zhuǎn)換則由 ADGO 位啟動,采樣時間,在單片機的數(shù)據(jù)手冊里有明確的規(guī)定,在一般控制器放大電

23、路中,采樣的時間一般采用10-20 S,在這期間可以做一些固定的事,比如系統(tǒng)計時之類的,以免浪費資源。而轉(zhuǎn)換時間,只要保證不小于數(shù)據(jù)手冊所規(guī)定的 1.6 S/bit 的最低要求,當然是越快越好,這里設(shè)定為2 S/bit 。那么怎樣保證采樣的準確性呢?這里有一個前面提過的辦法,就是使用定時中斷,我們可以設(shè)定好使定時中斷和PWM 周期同步,這里采用TMR2 經(jīng)以 PWM 頻率 1:2 的后分頻之后產(chǎn)生的中斷。此中斷發(fā)生在每兩個PWM 信號起始時刻,預(yù)先設(shè)定好AD 的通道,將AD 轉(zhuǎn)換器切換到檢測電流的那個通道,當進入 TMR2 中斷處理完現(xiàn)場保護,中斷源判斷等一系列動作之后,再延時一段時間,開啟A

24、DON 的時刻,也就是對電流波形采樣的時刻剛好落在電流梯形波的前部,采樣完畢之后馬上進行轉(zhuǎn)換。在等待轉(zhuǎn)換結(jié)果出來的過程不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考中,我們也不能閑著,畢竟那是>20 S 的時間,在資源比較緊張的時候浪費了可惜,我們可以做一些比如" 鑒相 " 的工作,就是在電子換相中所作必須作的工作。中斷中 AD 采樣時機的掌握例程:BCF PIR1,TMR2IF ;6 S, TMR2 中斷 CALL HENGLIU ;恒流查表程序,利用這個程序延時一段時間以便在合適的時間準確采樣電流值。BTFSC INTCON,INTFGOTO INTB0

25、;是否過流MOVFAD_CHANNEL,W;AD檢測部分 , 設(shè)置合適的AD 通道,并且開啟AD 模塊開始采樣MOVWF ADCON0 ;CALL TIME05 ;大 于4.5 S 采 樣 時 間FOR 16F886BTFSC INTCON,INTFGOTO INTB0 ;是否過流BSF ADCON0,GO開;始 AD 轉(zhuǎn)換CALL READ_HALL利;用 AD 轉(zhuǎn)換的間歇做別的事不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考LOOP_TMR2BTFSC INTCON,INTFGOTO INTB0 ;是否過流BTFSC ADCON0,GOGOTO LOOP_TMR2及時其次是要及時。

26、如果我們想及時準確地控制電流,采樣次數(shù)也是要求越多越好,因為電流的變化相當快,在一個 PWM 周期中變化量可能會很大, 所以我們最好是在一個PWM 周期里采樣數(shù)次,但是我們的單片機沒有這么快的速度, 再說 PWM 的占空比在一個周期中只接受最后的改變,新的占空比參數(shù)要到下個周期才能發(fā)揮作用,所以一個PWM 周期采樣一次就夠了,但每個采樣周期采樣單片機還是來不及處理,為了更好地處理其它事情,我們兩個 PWM 周期才對電流采樣一次。采樣轉(zhuǎn)換之后的工作,就是處理了。怎樣根據(jù) AD 結(jié)果去調(diào)節(jié)電流?我們不需要想到PID 控制那么復(fù)雜的概念,只需要在電流沒達到限制值時逐漸增加 CCPR1L 的值,直到等

27、于不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考手柄設(shè)定值為止,如果在此過程中電流接近限制值,那么應(yīng)該不再增加CCPR1L的值,直到電流減小。如果電流超過了限制值,則根據(jù)超過的量,找一個比較合適的減小量,比如CCPR1L 減 1 或減 3,一切以電流比較穩(wěn)定為準,不要有太大的波動,但波動越小,我們要求PWM 占空比調(diào)整精度越高。這里要提一下的是PWM 分辨率,以PIC16F72的條件,在16M 時鐘的工作頻率和15.625K的PWM 頻率前提下, PWM 的占空比調(diào)整可以有 10BIT 的精度,可調(diào)整的為數(shù)越多,電流細調(diào)就越精確,但 10BIT 的數(shù)據(jù)涉及2 個字節(jié)的運算,所以我們還是

28、只采用8BIT 的調(diào)整精度,實踐證明,8BIT 的精度對調(diào)整電流來說足夠。所以我們只對CCPR1L進行操作就可以,前提是TMR2 預(yù)分頻值為1 : 1恒流算法 - 電流即時值和有效值的矛盾:也許我們注意到大多數(shù)控制器的最大電流并沒有出現(xiàn)在堵轉(zhuǎn)的時候,這是因為上面我們所檢測到的是電流的即時值,我們在電流表上看到的是電源電流的有效值,當PWM 占不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考空比不是 100% 的情況下,電流有效值電流即時值*PWM 占空比,也就是說,占空比越小,要保證電流有效值達到我們的期望值,電流的即時值要提高,這樣就涉及一個算法問題:提高多少?我們可以根據(jù)上面那個公式

29、做一個表格,或者根據(jù)CCPR1L中的值做一個簡單的換算??傊撬惴ú荒芴珡?fù)雜,不能占用太多的系統(tǒng)時間。電流的測量和控制還涉及到其他兩個附加功能:換相消噪和降低溫升。這里就只講講換相消噪。怎樣減小換相噪聲?在電動車剛剛起步的時候我們會發(fā)現(xiàn)換相時電機會發(fā)出很大的突突聲,這是由于電機起步時電流比較大,而電機是個感性負載,換相后由于電機線圈電流不會一下增大到換相前的水平,這樣就造成換相前后電流反差非常大,從而導(dǎo)致牽引力的急劇變化,這種變化便會引起電機強烈振動,這種振動噪聲我們不能完全消除,但有簡單的方法減小,就是在換相后的一段時間使PWM 脈沖占空比達到100% 來使電流增長快一點,從而減輕振不得用于

30、商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考動噪聲。需要提醒的是在這個過程中我們需要隨時監(jiān)測電流變化,電流一達到換相前的水平就可以恢復(fù)換相前的PWM 占空比。如果電流始終達不到以前的水平,那么最多延時十多個PWM 周期即可,時間長了也沒用,以不影響到鑒相等其它重要工作為度。降低溫升這個我在硬件電路詳解要點中已經(jīng)初步介紹過,主要的手段就是加入同步續(xù)流的概念,那么,在軟件中什么時候開始開啟同步續(xù)流開關(guān)呢?在電流小的時候,電機線圈中的感應(yīng)電流并不大,所以沒必要開啟;在 PWM 占空比達到100% 時,由于沒有上橋的開關(guān)損耗,也沒必要開,或在PWM 占空比接近100% 時,下橋沒來得及開就被關(guān)閉,也

31、沒有必要開,所以開啟同步續(xù)流功能的條件可歸納為:電流超過3-5A 時, PWM 占空比 95% 時開啟同步整流,由于硬件電路設(shè)計得比較完善,在軟件中,開啟同步續(xù)流只需將 RB1 置為低電平即可。關(guān)于電流的另一點:過流保護,當有 MOSFET不得用于商業(yè)用途W(wǎng)ORD格式可編輯專業(yè)文檔僅供個人參考擊穿或MOSFET 誤導(dǎo)通時,比如死區(qū)發(fā)生器有故障時,會造成上下橋直通將電源直接短路,這樣會有很大的電流,為避免更大的傷害,在電流信號引起比較器翻轉(zhuǎn)時觸發(fā)INT0中斷,由于PIC16F72沒有中斷嵌套,因此在整個定時中斷中均要隨時檢測INT0 中斷標志,防止短路發(fā)生。一般說來,上下橋直通不超過30 S 時對管子損害不大,超過30 S 后功率管就會有報銷的危險,所以在中斷中執(zhí)行其他程序時,一定要保證每隔30 S 必須去檢測一次INT0 的中斷標志,如果發(fā)現(xiàn)INT0 中斷標志置1 ,應(yīng)立即關(guān)斷所有的驅(qū)動輸出。堵轉(zhuǎn)保護模塊為了防止電機發(fā)生堵轉(zhuǎn)時電流始終通過同一組MOSFET而造成永久損害,因此有必要在堵轉(zhuǎn)發(fā)生之后數(shù)秒鐘之內(nèi)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論