版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、電動(dòng)車無(wú)刷控制器硬件電路解釋2009-07-08 08:25電動(dòng)車無(wú)刷電機(jī)是目前最普及的電動(dòng)車用動(dòng)力源,無(wú)刷電機(jī)以其相對(duì)有刷電機(jī)長(zhǎng)壽,免維護(hù)的特點(diǎn)得到廣泛應(yīng)用,然而由于其使用直流電而無(wú)換向用的電刷,其換向控制相對(duì)有刷電機(jī)要復(fù)雜許多,同時(shí)由于電動(dòng)車負(fù)載極不穩(wěn)定,又使用電池作電源,因此控制器自身的保護(hù)及對(duì)電機(jī),電源的保護(hù)均對(duì)控制器提出更多要求。自電動(dòng)車用無(wú)刷電動(dòng)機(jī)問(wèn)世以來(lái),其控制器發(fā)展分兩個(gè)階段:第一階段為使用專用無(wú)刷電動(dòng)機(jī)控制芯片為主組成的純硬件電路控制器,這種電路較為簡(jiǎn)單,其中控制芯片的代表是摩托羅拉的MC33035,這個(gè)不是這里的主題,所以也不作深入介紹。第二階段是以MCU為主的控制芯片。這
2、是這篇文章介紹的重點(diǎn),在MCR版本的設(shè)計(jì)中,揉和了模擬、數(shù)字、大功率MOSFET驅(qū)動(dòng)等等許多重要應(yīng)用,結(jié)合MCU智能化控制,是一個(gè)非常有啟迪性的設(shè)計(jì)。今以應(yīng)用最廣泛的以PIC16F72為智能控制中心,350W的整機(jī)電路為例,整機(jī)電路如圖1: 電路大體上可以分成五部分:一、電源穩(wěn)壓,供應(yīng)部分;二、信號(hào)輸入與預(yù)處理部分;三、智能信號(hào)處理,控制部分;四、驅(qū)動(dòng)控制信號(hào)預(yù)處理部分;五、功率驅(qū)動(dòng)開(kāi)關(guān)部分。下面我們先來(lái)看看此電路最核心的部分:PIC16F72組成的單片機(jī)智能處理、控制部分,因?yàn)槠渌娐范际菫槠浞?wù)或被其控制,弄清楚這部分,其它電路就比較容易明白。我們先來(lái)簡(jiǎn)單介紹一下PIC16F72的外部資源
3、:該單片機(jī)有28個(gè)引腳,去掉電源、復(fù)位、振蕩器等,共有22個(gè)可復(fù)用的IO口,其中第13腳是CCP1輸出口,可輸出最大分辨率達(dá)10BIT的可調(diào)PWM信號(hào),另有AN0-AN4共5路AD模數(shù)轉(zhuǎn)換輸入口,可提供檢測(cè)外部電路的電壓,一個(gè)外部中斷輸入腳,可處理突發(fā)事件。內(nèi)部軟件資源我們?cè)谲浖糠种v解,這里并不需要很關(guān)心。 各引腳應(yīng)用如下:1:MCLR復(fù)位/燒寫高壓輸入兩用口2:模擬量輸入口:放大后的電流信號(hào)輸入口,單片機(jī)將此信號(hào)進(jìn)行A-D轉(zhuǎn)換后經(jīng)過(guò)運(yùn)算來(lái)控制PWM的輸出,使電流不致過(guò)大而燒毀功率管。正常運(yùn)轉(zhuǎn)時(shí)電壓應(yīng)在0-1.5V左右3:模擬量輸入口:電源電壓經(jīng)分壓后的輸入口,單片機(jī)將此信號(hào)進(jìn)行A-D轉(zhuǎn)換后
4、判斷電池電壓是否過(guò)低,如果低則切斷輸出以保護(hù)電池,避免電池因過(guò)放電而損壞。正常時(shí)電壓應(yīng)在3V以上4 模擬/數(shù)字量輸入口:由于電機(jī)的位置傳感器排列方法不同,該口的電平高低決定適合于哪種電機(jī),目前市場(chǎng)上常見(jiàn)的有所謂120°和60°排列的電機(jī)。有的控制器還可以根據(jù)該口的電壓高低來(lái)控制起動(dòng)時(shí)電流的大小,以適合不同的力度需求。 5:模擬量輸入口:線性霍爾組成的手柄調(diào)速電壓輸入口,單片機(jī)根據(jù)此電壓高低來(lái)控制輸出給電機(jī)的總功率,從而達(dá)到調(diào)整速度的目的。6:數(shù)字量輸入口:1+1助力脈沖信號(hào)輸入口,當(dāng)騎行者踏動(dòng)踏板使車前行時(shí),該口會(huì)收到齒輪傳感器發(fā)出的脈沖信號(hào),該信號(hào)
5、被單片機(jī)接收到后會(huì)給電機(jī)輸出一定功率以幫助騎行者更輕松地往前走。7:模擬/數(shù)字量輸入口:剎車信號(hào)電壓輸入口??梢允褂肁D轉(zhuǎn)換器判斷,或根據(jù)電平高低判斷,平時(shí)該腳為高電平,當(dāng)有剎車信號(hào)輸入時(shí),該腳變成低電平,單片機(jī)收到該信號(hào)后切斷給電機(jī)的供電,以減少不必要的損耗。8:?jiǎn)纹瑱C(jī)電源地。9:?jiǎn)纹瑱C(jī)外接振蕩器輸入腳。10:?jiǎn)纹瑱C(jī)外接振蕩器反饋輸出腳。11:數(shù)字輸入口:功能開(kāi)關(guān)112:數(shù)字輸入口:功能開(kāi)關(guān)213:數(shù)字輸出口:PWM調(diào)制信號(hào)輸出腳,速度或電流由其輸出的脈沖占空比寬度控制。14:數(shù)字輸入口:功能開(kāi)關(guān)315、16、17:數(shù)字輸入口:電機(jī)轉(zhuǎn)子位置傳感器信號(hào)輸入口,單片機(jī)根據(jù)其信號(hào)變化決定讓電機(jī)的相
6、應(yīng)繞組通電,從而使電機(jī)始終向需要的方向轉(zhuǎn)動(dòng)。這個(gè)信號(hào)上面講過(guò)有120°和60°之分,這個(gè)角度實(shí)際上是這三個(gè)信號(hào)的電相位之差,120°就是和三相電一樣,每個(gè)相位和前面的相位角相差120°。60°就是相差60°。18:數(shù)字輸出口:該口控制一個(gè)LED指示燈,大部分廠商都將該指示燈用作故障情況顯示,當(dāng)控制器有重大故障時(shí)該指示燈閃爍不同的次數(shù)表示不同的故障類型以方便生產(chǎn)、維修。19:?jiǎn)纹瑱C(jī)電源地。20:?jiǎn)纹瑱C(jī)電源正。上限是5.5V。21:數(shù)字輸入口:外部中斷輸入,當(dāng)電流由于意外原因突然增大而不在控制范圍時(shí),該口有低電平脈沖輸入。單片機(jī)收到此信號(hào)
7、時(shí)產(chǎn)生中斷,關(guān)閉電機(jī)的輸出,從而保護(hù)重要器件不致?lián)p壞或故障不再擴(kuò)大。22:數(shù)字輸出口:同步續(xù)流控制端,當(dāng)電流比較大時(shí),該口輸出低電平,控制其后邏輯電路,使同步續(xù)流功能開(kāi)啟。該功能在后面詳細(xì)講解。 23-28:數(shù)字輸出口:是功率管的邏輯開(kāi)關(guān),單片機(jī)根據(jù)電機(jī)轉(zhuǎn)子位置傳感器的信號(hào),由這里輸出三相交流信號(hào)控制功率MOSFET開(kāi)關(guān)的導(dǎo)通和關(guān)閉,使電機(jī)正常運(yùn)轉(zhuǎn)。有了智能化的控制中心,就需要有其它電路來(lái)為其服務(wù),我們?cè)谶@里從頭開(kāi)始介紹。一、電源部分控制器有三組電源,第一組當(dāng)然是提供總能源的電池,板子上的電解電容C1:1000F,63V)C11:47F,63V及C13,C33:0.1F63V是退耦用的,用于消
8、除由于電源線、電路板走線所帶來(lái)的電阻、寄生電感等引起的雜波干擾,由于工作在大電流、高頻率、高溫狀態(tài)下,特別對(duì)電解電容有損耗角小、耐高溫的要求,普通的電解電容容易發(fā)熱爆裂。第二組電源提供12-15V的電壓,這組電壓主要提供給MOSFET的開(kāi)通電壓,由于場(chǎng)效應(yīng)管的驅(qū)動(dòng)要求比較特殊,必須有10V以上20V以下的電壓才能很好導(dǎo)通,所以必須有合適的電壓供給,同時(shí)該組電壓也為后面5V穩(wěn)壓塊提供預(yù)穩(wěn)壓。這組電壓由LM317提供,輸出大約13.5V。由于LM317的輸入輸出壓差不能超過(guò)40V,而輸入電壓可能高達(dá)60V,因此在前面加了一個(gè)330,2W的電阻,既預(yù)先降壓,又替317分擔(dān)了一部分功耗。 第三組電源是
9、5V,由LM78L05提供,由于78L05提供的最大電流只有100mA,所以另并聯(lián)了兩個(gè)1.5K的電阻以擴(kuò)流,同時(shí)也分擔(dān)一部分功耗。在整個(gè)系統(tǒng)中,對(duì)5V電源的要求比較高,不單單是因?yàn)檫壿嬰娐?,MCU等的電源電壓都不能過(guò)高,而且由于MCU的所有AD轉(zhuǎn)換都是以5V電壓為基準(zhǔn),所以當(dāng)5V不準(zhǔn)時(shí)會(huì)出現(xiàn)電流,欠壓值,手柄控制等均不能達(dá)到設(shè)計(jì)要求的情況,甚至不能動(dòng)作,因此該電壓的范圍應(yīng)被嚴(yán)格限制在4.90-5.10V之間。二、信號(hào)輸入與預(yù)處理部分這部分電路包括電源電壓輸入、工作電流比較,放大輸入、手柄電壓輸入、電機(jī)轉(zhuǎn)子位置傳感器的霍爾信號(hào)輸入、剎車信號(hào)輸入及各種其它功能開(kāi)關(guān)信號(hào)輸入等。1.電源電壓輸入:由
10、于MCU只接受0-5V的信號(hào),所以電源電壓必須經(jīng)過(guò)分壓才能輸入MCU。2.工作電流放大、輸入U(xiǎn)3A是一個(gè)放大電路,它將康銅絲R55采樣過(guò)來(lái)的電流信號(hào)經(jīng)過(guò)6.5倍放大送入單片機(jī)。最早的設(shè)計(jì)在R23上并聯(lián)了一個(gè)0.1F的電容組成低通放大器,后來(lái)為了更好地實(shí)時(shí)檢測(cè)電流,將該電容去掉,這樣放大后的電壓和電流的實(shí)際變化基本一致以便MCU采樣值更接近于實(shí)際值。U3B是一個(gè)比較器接法,實(shí)際也是一個(gè)比較器,正常時(shí)的電流絕對(duì)不會(huì)讓該比較器翻轉(zhuǎn),當(dāng)電流由于某種原因突然增大到一定程度,該比較器翻轉(zhuǎn)從而觸發(fā)單片機(jī)的外部中斷,單片機(jī)就會(huì)完全關(guān)閉電機(jī)的輸出進(jìn)入保護(hù)狀態(tài),避免故障進(jìn)一步擴(kuò)大。 這里有人會(huì)問(wèn),為什么放大器的放
11、大倍數(shù)取得這么小,如果放大倍數(shù)再大一點(diǎn)的話,單片機(jī)經(jīng)過(guò)AD轉(zhuǎn)換后的數(shù)字相對(duì)比較大,分辨率可以做得比較高,何樂(lè)而不為呢?這種想法是有道理的,但是限于LM358的頻率響應(yīng)不夠高,15KHZ(PWM的工作頻率大約為15.6K)的方波經(jīng)358放大之后變成梯形波了,我們目前對(duì)電流峰值的采樣應(yīng)當(dāng)采取梯形波的上邊,如果放大倍數(shù)過(guò)大,梯形波的上邊就會(huì)變得很窄而使單片機(jī)采樣困難,甚至采樣錯(cuò)誤,比如采樣到梯形波的斜邊,因而不能正確反映電流的實(shí)際大小,這就會(huì)導(dǎo)致電流控制的紊亂。所以寧愿放大倍數(shù)取小點(diǎn)以保證采樣位置的準(zhǔn)確無(wú)誤。3.手柄輸入部分:手柄輸出的電壓范圍在1.2-4.2V的范圍內(nèi),經(jīng)過(guò)阻容濾波后輸入到單片機(jī)處
12、理。手柄需要一個(gè)5V的電源才能工作。4.電機(jī)轉(zhuǎn)子位置傳感器輸入部分:由于該傳感器安裝在電機(jī)內(nèi)部,采用開(kāi)路輸出的辦法,所以除提供5V電源外,每個(gè)傳感器都必須接上拉電阻,并對(duì)其輸出的信號(hào)進(jìn)行阻容濾波以抗干擾,同時(shí)在電源處接二極管、接地采用細(xì)銅膜做保險(xiǎn)絲,防止電機(jī)相線與霍爾信號(hào)線短路后高電壓反串近來(lái)?yè)p壞板子上別的零件。5.剎車信號(hào)輸入:由于剎車信號(hào)開(kāi)關(guān)往往和剎車燈共用一個(gè)開(kāi)關(guān),每個(gè)廠商的剎車電壓也不統(tǒng)一,所以必須接入二極管防止高壓串入。高電平輸入部分,要做到8-50V輸入時(shí)都能正常工作。 6.其它功能開(kāi)關(guān)信號(hào)比較簡(jiǎn)單,功能實(shí)現(xiàn)均依靠?jī)?nèi)部程序?qū)崿F(xiàn),四、驅(qū)動(dòng)控制信號(hào)預(yù)處理部分;驅(qū)動(dòng)控制信號(hào)大致由兩種信號(hào)
13、合成:PWM信號(hào)和相位邏輯開(kāi)關(guān)信號(hào),這里不得不先介紹一下功率開(kāi)關(guān)部分:功率開(kāi)關(guān)部分是由三組半橋開(kāi)關(guān)組成的三相開(kāi)關(guān),用以改變電機(jī)線圈的通電順序和通電方向,我們一般把與電源正相接的功率管稱為上橋,與電源地相接的功率管稱為下橋,參考圖一,上橋的相位邏輯開(kāi)關(guān)信號(hào)由A+、B+、C+提供,這三個(gè)控制信號(hào)必須與PWM信號(hào)合成后控制對(duì)應(yīng)的上橋,下橋的相位邏輯開(kāi)關(guān)信號(hào)由A-、B-、C-提供,基本上直接被用來(lái)控制下橋的開(kāi)關(guān)。單片機(jī)這六個(gè)腳上都接了一個(gè)2.2K-10K的電阻到地,是為了防止單片機(jī)處在復(fù)位時(shí),由于這些腳均處于高阻狀態(tài),有可能會(huì)引入干擾信號(hào)而導(dǎo)致后面邏輯電路誤動(dòng)作,這個(gè)比較簡(jiǎn)單,但是我們現(xiàn)在看到控制部分
14、的電路圖并非上面所說(shuō)的那么簡(jiǎn)單,實(shí)際電路中間彎彎繞繞經(jīng)過(guò)了4個(gè)邏輯電路處理后才到達(dá)上下橋的驅(qū)動(dòng)電路,許多朋友會(huì)問(wèn):為什么要如此復(fù)雜呢?其實(shí)這些電路都是為了實(shí)現(xiàn)一個(gè)功能:同步續(xù)流。為什么要同步續(xù)流需要說(shuō)明一下,這里的“同步續(xù)流”,被一些人稱為“同步整流”,同步整流是用在電源上的名詞,用在這里明顯不太合適。 先參考圖假設(shè)此時(shí)A相上橋和C相下橋通電,當(dāng)A相上橋PWM占空比沒(méi)有達(dá)到100%時(shí),通過(guò)電機(jī)線圈的電流是斷續(xù)的,但上橋關(guān)閉的時(shí)候,由于電機(jī)線圈是一個(gè)電感,線圈上必定會(huì)出現(xiàn)一個(gè)自感反電動(dòng)勢(shì),這個(gè)反電動(dòng)勢(shì)必須維持線圈電流的方向不變,由于A相上橋已經(jīng)關(guān)閉,這個(gè)電流就會(huì)通過(guò)原來(lái)已經(jīng)開(kāi)通的C相下橋,地,A
15、相下橋的續(xù)流二極管繼續(xù)流動(dòng),見(jiàn)圖6。當(dāng)總電流小時(shí)這個(gè)自感電流并不大,但總電流大時(shí),線圈中儲(chǔ)存的能量多起來(lái),這個(gè)自感電流也會(huì)相當(dāng)大,我們知道MOSFET的續(xù)流二極管本身的壓降大約在0.7-1V,在通過(guò)的自感電流大時(shí),功耗便會(huì)相當(dāng)大,假設(shè)自感電流為10A,二極管壓降為0.7V時(shí),功耗為7W,顯然這個(gè)發(fā)熱量是相當(dāng)大的,這時(shí)下橋便會(huì)變得很燙,假如我們此時(shí)把下橋打開(kāi),讓自感電流直接從MOSFET的溝道里走掉(MOSFET導(dǎo)通時(shí)電流可以雙向流通),再假設(shè)MOSFET導(dǎo)通電阻RDSON=10m,10A的時(shí)候功耗就變?yōu)?W,理論上就可以大大降低下橋的功耗,從而降低溫升。但在實(shí)際上,由于上下橋在交*導(dǎo)通時(shí)需要一
16、個(gè)死區(qū)以避免雙管直通造成2.同步續(xù)流的邏輯關(guān)系圖為A相驅(qū)動(dòng)電路的實(shí)際電路因?yàn)槿囹?qū)動(dòng)相同,所以我們這里僅以A相為例說(shuō)明同步續(xù)流功能的實(shí)現(xiàn)電源短路,這個(gè)作用會(huì)打一些折扣,不過(guò)效果還是很明顯。這也是為什么很多產(chǎn)品的下橋會(huì)用好一點(diǎn)的管子的原因。 同步續(xù)流的實(shí)現(xiàn)單片機(jī)產(chǎn)生的PWM占空比信號(hào)一路通過(guò)與門,經(jīng)R53,R52,C71截波(縮小占空比)后輸出,相位不變,截波量大約為1.5S,形成PWM信號(hào),此路輸出至上橋驅(qū)動(dòng),與上橋邏輯開(kāi)關(guān)信號(hào)相與后驅(qū)動(dòng)上橋MOSFET。另一路經(jīng)R57和C24,反相器U5A移相,相移量大約750nS,再經(jīng)U5B反相,形成PWM-信號(hào),最后合成至下橋驅(qū)動(dòng)。此時(shí)兩個(gè)信號(hào)輸出時(shí)相位
17、相同,但PWM-信號(hào)占空比比PWM信號(hào)占空比大1.5S,但由于PWM-信號(hào)已經(jīng)偏移750nS,所以PWM信號(hào)剛好套在PWM-信號(hào)中間,兩邊空出750nS作為MOSFET開(kāi)關(guān)的死區(qū)。處理后波形示意圖如圖此主題相關(guān)圖片如下:同步續(xù)流示意圖.gif此主題相關(guān)圖片如下:截波波形.gif2.同步續(xù)流的邏輯關(guān)系圖12為A相驅(qū)動(dòng)電路的實(shí)際電路圖12因?yàn)槿囹?qū)動(dòng)相同,所以我們這里僅以A相為例說(shuō)明同步續(xù)流功能的實(shí)現(xiàn)過(guò)程當(dāng)A向的邏輯開(kāi)關(guān)信號(hào)“A+”為高電平時(shí),A相上橋被“PWM”信號(hào)驅(qū)動(dòng),在整機(jī)電流較小的情況下,PV信號(hào)為高電平,不管或非門U3C其它兩個(gè)輸入腳電平如何,其輸出總是低,所以此時(shí)或非門U2B僅受“A-
18、”信號(hào)控制,“A-”信號(hào)是下橋的邏輯開(kāi)關(guān),它僅在下橋需要導(dǎo)通時(shí)置高,平時(shí)為低。當(dāng)整機(jī)電流比較大,而PWM占空比小于100%時(shí),由于A相上橋在PWM間隙關(guān)斷導(dǎo)致電機(jī)線圈中出現(xiàn)較大感應(yīng)電流,感應(yīng)電流通過(guò)另一相的下橋和A相下橋的二極管泄放,為降低該二極管的功耗,此時(shí)應(yīng)將A相下橋MOSFET打開(kāi)以減小壓降,這時(shí)單片機(jī)將“PV”信號(hào)端拉低,在PV信號(hào)和反向后的“A+”信號(hào)共同作用下,“PWM-”信號(hào)通過(guò)U3C傳遞到U2B,而此時(shí)由于“A-”為低,所以U2B受“PWM-”信號(hào)控制,在PWM信號(hào)關(guān)斷的間隙使下橋MOSFET導(dǎo)通。當(dāng)“A+”信號(hào)為低電平時(shí),“PWM-”信號(hào)并不影響下橋,保證了下橋的正確邏輯而不
19、會(huì)誤導(dǎo)通。五、功率驅(qū)動(dòng)開(kāi)關(guān)部分。以單獨(dú)一組A相上下橋驅(qū)動(dòng)為例,見(jiàn)圖12見(jiàn)了這種電路,很多人首先會(huì)問(wèn):為何上橋的驅(qū)動(dòng)電路如此復(fù)雜?很顯然,這么復(fù)雜的電路一定有其用途,如果要簡(jiǎn)單一點(diǎn)話,上橋的功率開(kāi)關(guān)直接用P溝道的MOSFET來(lái)做就可以,這樣驅(qū)動(dòng)電路會(huì)簡(jiǎn)單很多,但P溝道的功率MOSFET又貴又難買,為了節(jié)省成本,只能用N溝道的代替,但N溝道的MOSFET導(dǎo)通時(shí)其柵極G的電壓必須比源極S高出10V以上才能保證完全導(dǎo)通,這樣在上橋?qū)〞r(shí),假設(shè)電源電壓為48V,那么上橋G極的電壓就必須比電源電壓高12V,也就是大于60V才行。但怎樣獲得比電源電壓還高的驅(qū)動(dòng)電壓呢?一般情況可以通過(guò)變壓器耦合驅(qū)動(dòng)信號(hào),電荷
20、泵升壓提供高壓等方法,而在這里,則采用了一種叫做“高壓浮柵型驅(qū)動(dòng)電路”來(lái)驅(qū)動(dòng)上橋。顧名思義,浮柵驅(qū)動(dòng)的柵極是浮動(dòng)的,這是一個(gè)很形象的描述,我們根據(jù)線路圖來(lái)分析一下柵極是怎樣“浮動(dòng)”起來(lái)的我們先看一下C5的接法,這是整個(gè)驅(qū)動(dòng)的關(guān)鍵所在,C5正極通過(guò)二極管接到13.5V電源(實(shí)際在13.5V左右),負(fù)極很奇怪地接到電機(jī)的相位線,與它所驅(qū)動(dòng)的MOSFET V1的源極接在一起,在電機(jī)不動(dòng)的情況下,所有的MOSFET關(guān)閉,此時(shí)C5通過(guò)二極管D1,電阻R40充電至接近13.5V,當(dāng)A+和PWM的合成信號(hào)使U4A的3腳輸出高電平時(shí),q1導(dǎo)通帶動(dòng)t1導(dǎo)通,這樣12V多的電壓就會(huì)加到V1的柵極使V1導(dǎo)
21、通,而V1導(dǎo)通使電源電壓加至負(fù)載,也就是V1的源極電壓會(huì)升高至48V,而此時(shí)由于C5充滿電,C5上的電壓仍然是12V,所以可以維持t1的導(dǎo)通并使V1柵極的電壓始終保持高于VCC,這樣V1的柵極就好像隨著源極電壓浮動(dòng)而浮動(dòng),所以叫做“浮柵驅(qū)動(dòng)”。這時(shí)如果U4A的3腳一直維持高電平的話,在電容k1和MOSFET本身GS間電容充飽電之后,C5上的儲(chǔ)存的電荷主要通過(guò)t1的BE結(jié),電阻a1到三極管q1放電(由于此時(shí)二極管D7處于正偏狀態(tài),所以t2的BE結(jié)反偏而截止,因此t2并不參與放電),如果C5足夠大,那么可以在相當(dāng)長(zhǎng)的一段時(shí)間內(nèi)保證V1的驅(qū)動(dòng)電壓在合理的范圍內(nèi)。這里b1放在q1的射極上組成一個(gè)近似恒
22、流的驅(qū)動(dòng)電路,用以保證在C5正極電壓升得很高時(shí),通過(guò)三極管q1的放電電流不致過(guò)大而導(dǎo)致電容很快放完。當(dāng)U4A的3腳輸出低電平時(shí),q1,t1迅速關(guān)閉,t2開(kāi)始導(dǎo)通,將k1和柵極本身積累的電荷迅速泄放,V1被關(guān)閉,而此時(shí)由于另兩組中的一組之下橋維持在導(dǎo)通狀態(tài),電容C5就會(huì)通過(guò)電機(jī)繞組和該下橋迅速充電補(bǔ)充電能,為下一個(gè)周期做準(zhǔn)備。從上面的過(guò)程可以看出,電容C5的充電量應(yīng)該是越大越好,但電容大了,可能二極管來(lái)不及給電容充電,電容小了,又不能保證導(dǎo)通時(shí)間,所以這種驅(qū)動(dòng)不能使V1長(zhǎng)時(shí)間維持在導(dǎo)通狀態(tài),這也是為什么PWM信號(hào)要耦合到上橋的一個(gè)原因。其次對(duì)于這個(gè)驅(qū)動(dòng)電路有人還會(huì)產(chǎn)生一個(gè)疑問(wèn):按理說(shuō)用作功率開(kāi)關(guān)
23、的MOSFET,為了減少開(kāi)關(guān)損耗,應(yīng)盡量避免MOSFET工作在放大狀態(tài),按照這個(gè)原則,驅(qū)動(dòng)MOSFET的電平應(yīng)該是快速上升、快速下降,而且這個(gè)速度是越快越好,但此電路中增加了電阻e1、e2,電容k1、k2,這四個(gè)元件在這里的作用顯然有悖于快升快降的原則,實(shí)際上這四個(gè)零件在電路中的作用也確實(shí)是有意減慢MOSFET的開(kāi)啟速度,使驅(qū)動(dòng)MOSFET的電壓波形上升沿沒(méi)那么陡峭,為什么要這樣做呢?這個(gè)要從MOSFET的結(jié)構(gòu)來(lái)看,MOSFET本身各極之間存在極間電容,這個(gè)電容被稱為密勒電容。而我們現(xiàn)在這種上下橋類似推挽結(jié)構(gòu)的電路,上橋?qū)〞r(shí),由于下橋漏極的電壓急劇升高,這種電壓變化會(huì)通過(guò)下橋的密勒電容傳遞給
24、下橋的柵極,我們把上橋?qū)〞r(shí)下橋漏極電壓升高的速度以v/t表示,當(dāng)v/t足夠大時(shí),傳遞給下橋柵極的電荷便會(huì)積蓄到足以使下橋?qū)ǖ牡夭剑@樣就會(huì)導(dǎo)致上下橋直接將電源短路,而解決這個(gè)問(wèn)題最簡(jiǎn)單的辦法,就是讓上下橋開(kāi)通的速度不要那么快,所以加上阻容延時(shí),并且這里的k1,k2還有吸收部分沖擊電壓的功效,這里就不多做描述了。電動(dòng)車無(wú)刷電機(jī)控制器軟件設(shè)計(jì)詳解作者:謝淵斌 原作發(fā)表在電子報(bào)2007年合訂本下冊(cè)版權(quán)保留,轉(zhuǎn)帖請(qǐng)注明出處本文以MICROCHIP 公司所生產(chǎn)的PIC16F72為基礎(chǔ)說(shuō)明軟件編程方面所涉及的要點(diǎn),此文所涉及的源程序均以PIC的匯編語(yǔ)言為例。由于軟件不可避免需與硬件相結(jié)合,所以此文可能
25、出現(xiàn)硬件電路圖或示意圖。本文適合在單片機(jī)編程方面有一定經(jīng)驗(yàn)的讀者,有些基礎(chǔ)知識(shí)恕不一一介紹。我們先列一下電動(dòng)車無(wú)刷馬達(dá)控制器的基本要求:功能性要求:1.電子換相2.無(wú)級(jí)調(diào)速3.剎車斷電4.附加功能a.限速b.1+1助力c.EBS柔性電磁剎車d.定速巡航e.其它功能(消除換相噪音,倒車等)安全性要求:1.限流驅(qū)動(dòng)2.過(guò)流保護(hù)3.堵轉(zhuǎn)保護(hù)3.電池欠壓保護(hù)4.節(jié)能和降低溫升5.附加功能(防盜鎖死,溫升限制等)6.附加故障檢測(cè)功能從上面的要求來(lái)看,功能性要求和安全性要求的前三項(xiàng)用專用的無(wú)刷馬達(dá)驅(qū)動(dòng)芯片加上適當(dāng)?shù)耐鈬娐肪浑y解決,代表芯片是摩托羅拉的MC33035,早期的控制器方案均用該集成塊解決。但
26、后來(lái)隨著競(jìng)爭(zhēng)加劇,很多廠商都增加了不少附加功能,一些附加功能用硬件來(lái)實(shí)現(xiàn)就比較困難,所以使用單片機(jī)來(lái)做控制的控制器迅速取代了硬件電路芯片。但是硬件控制和軟件控制有很大的區(qū)別,硬件控制的反應(yīng)速度僅僅受限于邏輯門的開(kāi)關(guān)速度,而軟件的運(yùn)行則需要時(shí)間。要使軟件跟得上電機(jī)控制的需求,就必須要求軟件在最短的時(shí)間內(nèi)能夠正確處理?yè)Q相,電流限制等各種復(fù)雜動(dòng)作,這就涉及到一個(gè)對(duì)外部信號(hào)的采樣頻率,采樣時(shí)機(jī),信號(hào)的內(nèi)部處理判斷及處理結(jié)果的輸出,還有一些抗干擾措施等,這些都是軟件設(shè)計(jì)中需要再三仔細(xì)考慮的東西。PIC16F72是一款哈佛結(jié)構(gòu),精簡(jiǎn)指令集的MCU,由于其數(shù)據(jù)總線和指令總線分開(kāi),總共35條單字指令,0-20
27、M的時(shí)鐘速度,所以其運(yùn)算速度和抗干擾性能都非常出色,2K字長(zhǎng)的FLASH程序空間,22個(gè)可用的IO口,同時(shí)又附加了3個(gè)定時(shí)/計(jì)數(shù)器,5個(gè)8位AD口,1個(gè)比較/捕捉/脈寬調(diào)制器,8個(gè)中斷源,這些優(yōu)異的性能為電動(dòng)車控制器控制提供了良好的硬件環(huán)境和軟件基礎(chǔ),一經(jīng)推出就贏得眾多設(shè)計(jì)人員的熱捧。那么如何使用PIC16F72來(lái)設(shè)計(jì)一個(gè)電動(dòng)車控制器呢?我們下面以目前市面流行的硬件設(shè)計(jì)為基礎(chǔ),盡量通俗易懂地介紹一下程序設(shè)計(jì)思路和注意點(diǎn)。要使無(wú)刷電機(jī)轉(zhuǎn)起來(lái),并且聽(tīng)從駕駛者的調(diào)速、剎車等基本指揮,最基本的要求就是要實(shí)現(xiàn)硬件所能實(shí)現(xiàn)的電子換向和調(diào)速,剎車等功能。實(shí)際上軟件的整體設(shè)計(jì)也和硬件一樣,也是一個(gè)模塊化堆砌的
28、過(guò)程,問(wèn)題在于模塊的合理化堆砌,使堆砌后形成的整體能夠堅(jiān)固,協(xié)調(diào)、高效率運(yùn)作。我們先說(shuō)一說(shuō)各種模塊功能的簡(jiǎn)單實(shí)現(xiàn),然后再來(lái)討論如何使這些模塊協(xié)調(diào)運(yùn)轉(zhuǎn)。1.首先說(shuō)說(shuō)電子換相模塊我們知道,直流永磁電機(jī)在運(yùn)轉(zhuǎn)時(shí)需要一對(duì)電刷和與線圈相對(duì)應(yīng)的換向整流子來(lái)使線圈中的電流方向根據(jù)磁場(chǎng)方向來(lái)不斷改變,從而轉(zhuǎn)子持續(xù)向一個(gè)方向運(yùn)轉(zhuǎn),我們稱這種電機(jī)為有刷電機(jī),在電動(dòng)車剛剛面世時(shí)一般均使用這種電機(jī),但有刷電機(jī)有一個(gè)致命的缺陷,就是用作電刷的碳刷非常容易磨損,換向整流子也非常容易被油污,碳刷碎屑填滿空隙而漏電,而且功率越大,這種毛病越嚴(yán)重,導(dǎo)致有刷電機(jī)維護(hù)量和故障率急劇上升,嚴(yán)重影響其推廣,因此在較大功率的場(chǎng)合,無(wú)刷電
29、機(jī)應(yīng)運(yùn)而生。無(wú)刷電機(jī),顧名思義就是沒(méi)有了電刷,不能自動(dòng)換向,因此要依靠傳感器檢測(cè)轉(zhuǎn)子的位置、用電子開(kāi)關(guān)來(lái)改變線圈中電流的方向,所以其控制器要對(duì)轉(zhuǎn)子永磁體位置進(jìn)行精確檢測(cè),并用電子開(kāi)關(guān)切換不同繞組通電以獲得持續(xù)向前的動(dòng)力。轉(zhuǎn)子位置檢測(cè)傳感器有很多,比如光傳感器,磁感應(yīng)傳感器等,電子開(kāi)關(guān)可以用大功率三極管、功率型場(chǎng)效應(yīng)管、IGBT等制作,在目前的絕大多數(shù)電動(dòng)車三相無(wú)刷電機(jī)中均使用三個(gè)開(kāi)關(guān)式的霍爾傳感器檢測(cè)永磁體相對(duì)于定子線圈的位置,控制器跟據(jù)三個(gè)霍爾傳感器輸出的六種不同信號(hào)輸出相應(yīng)的控制信號(hào)驅(qū)動(dòng)功率型場(chǎng)效應(yīng)管(MOSFET)組成的電子開(kāi)關(guān)向馬達(dá)供電。這就是所謂六步換相法。從電機(jī)原理可以看出,這種電
30、機(jī)是一種特殊的同步電機(jī),因此換相必須及時(shí),否則會(huì)導(dǎo)致電機(jī)失步,從而使電機(jī)噪音增大,效率降低,嚴(yán)重的還會(huì)導(dǎo)致控制器,電機(jī)燒毀。鑒于以上要求,我們先必須測(cè)一下市面上普通的無(wú)刷馬達(dá)在最高轉(zhuǎn)速時(shí)(考慮到順風(fēng)和下坡的情況)的換向情況,這個(gè)比較簡(jiǎn)單,用示波器測(cè)量之后得到在最高速時(shí)每相霍爾傳感器輸出的頻率大概在140HZ左右,折合到換向的最小時(shí)間,那么應(yīng)該是1.2mS左右換相一次,根據(jù)際的使用效果,軟件的反應(yīng)時(shí)間必須在0.12mS左右,也就是說(shuō)在檢測(cè)到換相信號(hào)的改變并且輸出換相驅(qū)動(dòng)信號(hào)時(shí)的過(guò)程必須在0.1-0.2mS之內(nèi)完成。另一個(gè)需要考慮的是,電機(jī)驅(qū)動(dòng)是一個(gè)大電流驅(qū)動(dòng),又是一個(gè)電感性負(fù)載,控制器在運(yùn)行時(shí)不
31、可避免有干擾引入,因此除了在硬件布局,布線上注意外,軟件上也要做相應(yīng)的抗干擾措施以避免錯(cuò)誤的換向動(dòng)作??紤]到輸入到單片機(jī)的換相信號(hào)容易受干擾,加上線路上濾波電容的影響,單片機(jī)程序在讀取換相信號(hào)時(shí)應(yīng)至少連續(xù)讀取3次,以3次信號(hào)完全一致時(shí)才采用該值作為換相信號(hào)的真值,如果其中一次不對(duì),那么干脆就重新再讀3次,這就是一個(gè)有抗干擾措施的鑒相過(guò)程。取得換相信號(hào)后,我們將其與上次讀到的值做對(duì)比,如果相同,則表示沒(méi)有換相,如果不同,則要跟據(jù)這個(gè)值去取得一個(gè)相對(duì)應(yīng)的驅(qū)動(dòng)信號(hào),從而驅(qū)動(dòng)電子開(kāi)關(guān)動(dòng)作。這個(gè)過(guò)程可以使用逐項(xiàng)比較法,查表法等來(lái)實(shí)現(xiàn)。鑒于查表法比較快捷,一般使用查表法。其中需要考慮的是,一旦獲得的信號(hào)與
32、所有的六個(gè)信號(hào)都不相同,可能表示電機(jī)中霍爾元件或者其連接線路出現(xiàn)故障,此時(shí)我們應(yīng)該讓電機(jī)斷電以避免誤操作。市面上有兩種電機(jī),即所謂的120°和60°霍爾信號(hào),這個(gè)角度代表三個(gè)霍爾器件輸出的三相電信號(hào)其相位角相差的角度,其實(shí)這里面的區(qū)別僅僅是電平的不一樣,在馬達(dá)內(nèi)部的安裝上,位置沒(méi)什么不同,只是中間一相的相位相反,所以仍然是六種信號(hào)對(duì)應(yīng)六種驅(qū)動(dòng),軟件上將表稍作調(diào)整即可。需要提一下的是,在120°的霍爾信號(hào)中,不可能出現(xiàn)二進(jìn)制0B000和0B111的編碼,所以在一定程度上避免了因霍爾零件故障而導(dǎo)致的誤操作。因?yàn)榛魻栐情_(kāi)路輸出,高電平依靠電路上的上拉電阻提供,一旦霍
33、爾零件斷電,霍爾信號(hào)輸出就是0B111。一旦霍爾零件短路,霍爾信號(hào)輸出就是0B000,而60°的霍爾信號(hào)在正常工作時(shí)這兩種信號(hào)均會(huì)出現(xiàn),所以一定程度上影響了軟件判斷故障的準(zhǔn)確率。目前市面馬達(dá)已經(jīng)逐漸舍棄60°相位的霍爾排列。編程提示:在程序上,我們綜合考慮單片機(jī)的處理速度,采用定時(shí)中斷去檢測(cè)相位變化,中斷周期采用128S,中斷源可使用TMR0,或者PWM本身的TMR2中斷。在同一個(gè)中斷中,我們還將安排其它更重要的工作,這個(gè)在后面的電流控制中再說(shuō)明。編程技巧:從硬件電路圖中我們看到,位置霍爾信號(hào)在PORTC口的RC4、RC5、RC6三個(gè)口輸入,以120°相位為例,如
34、果直接讀出來(lái),對(duì)應(yīng)十六進(jìn)制值是0X10-0X60,考慮到霍爾出錯(cuò)的可能,那么對(duì)應(yīng)的值是0X00-0X70,顯然這個(gè)值對(duì)今后的查表處理造成非常大的麻煩,我們不可能去弄一個(gè)0X70這么大的表格而其中只放僅僅8個(gè)元素,所以有必要考慮編程時(shí)的優(yōu)化,且看下面一個(gè)例程:讀取相位值的例程:READHALL:SWAPF PORTC,W ;將PORTC的高,低半字節(jié)交換后讀至WANDLW 0X07 ;屏蔽掉不必要的位,MOVWF HALLTEMP ;存人暫存器SWAPF PORTC,W ;再次讀ANDLW 0X07SUBWF HALLTEMP,W ;與舊值比較BTFSS STATUS,ZGOTO READHAL
35、L ;如果與第一次讀取的不一樣,則從頭再來(lái)SWAPF PORTC,W ;第三次讀ANDLW 0X07SUBWF HALLTEMP,W ;再次比較BTFSS STATUS,ZGOTO READHALL ;不一樣則從頭再來(lái)RETURN ;三次讀取值一致,返回。這個(gè)程序中,最關(guān)鍵是 SWAPF PORTC,W 這句,這句語(yǔ)句一方面讀取了霍爾值,另一方面與下句語(yǔ)句結(jié)合還將此值變?yōu)?-7的最小值,這樣使得我們后面的查表只需要8個(gè)空間的元素。以上程序,也有人認(rèn)為有可能會(huì)導(dǎo)致程序陷入死循環(huán),但不必?fù)?dān)心,因?yàn)橐獙?dǎo)致這個(gè)程序進(jìn)入死循環(huán)的信號(hào)頻率必須非常高,有興趣的讀者可計(jì)算一下。有了上面的霍爾讀取程序,我們下面
36、的查表讀取相應(yīng)驅(qū)動(dòng)值就會(huì)變的比較方便,但查表也有很多種,在PIC16F72中,查表可以用RETLW在程序空間查,也可以用專用的讀取FLASH空間的指令去讀,考慮到我們這個(gè)表格一共只有8個(gè)元素,我們可以將器放在內(nèi)存寄存器中,利用用FSR去讀取表內(nèi)容。這樣做有好處,就是查表時(shí)不用去考慮查表偏移量造成程序計(jì)數(shù)器溢出,另一方面是120°和60°可以使用同一個(gè)表格而不用切換。這個(gè)表格,我們可以放在寄存器空間不太方便使用的BANK1,在程序初始化時(shí)預(yù)先寫入正確的換向?qū)?yīng)值。這個(gè)程序在時(shí)間上并不比其它兩種查表法顯得快多少,而且程序空間也不節(jié)省,在這里只是作為一個(gè)方法示例,可以讓我們看到實(shí)
37、現(xiàn)同一個(gè)功能可以走不同的路。使用內(nèi)存查表法的驅(qū)動(dòng)值獲取例程:HALLSTART EQU 0XA1 ;定義霍爾-驅(qū)動(dòng)表格的起始地址在BANK1的0XA1開(kāi)始處HALL_DRIVER: ;由霍爾值取得對(duì)應(yīng)驅(qū)動(dòng)值的內(nèi)存查表例程MOVF HALLTEMP,W ;取得HALL的真值A(chǔ)DDLW HALLSTART ;加上表格的起始地址MOVWF FSR ;放到間接讀內(nèi)存的指針中。MOVF INDF,W ;讀出驅(qū)動(dòng)值MOVWF PORTB ;不管返回值如何,先寫入驅(qū)動(dòng)端口,SUBLW STOP_D ;與電機(jī)停止值相比較,BTFSC STATUS,ZGOTO HALL_ERR ;如果獲得停止電機(jī)值,那么表示霍
38、爾信號(hào)有問(wèn)題RETURN無(wú)級(jí)調(diào)速模塊部分:由于使用直流電源,電機(jī)的速度得依靠調(diào)節(jié)加在電機(jī)兩端的電壓來(lái)調(diào)整,較簡(jiǎn)單的辦法是使用PWM脈寬調(diào)制來(lái)調(diào)節(jié)加到電機(jī)兩端的電壓。PWM的工作周期根據(jù)電機(jī)的使用環(huán)境,采用64S,折算成頻率大約15.625KHz,頻率太低了會(huì)產(chǎn)生人耳能明顯感覺(jué)到的高頻噪聲,電流也不容易控制;太高了又增加電子開(kāi)關(guān)的開(kāi)關(guān)損耗;PWM脈沖的寬度是調(diào)節(jié)加到電機(jī)兩端有效電壓高低的手段,直接影響到電機(jī)的輸出功率,我們可以根據(jù)手柄輸出的電壓決定最終應(yīng)該分配給電機(jī)多高的電壓。手柄電壓檢測(cè)比較簡(jiǎn)單,人對(duì)速度的感覺(jué)很遲鈍,所以手柄的檢測(cè)不需要很頻繁,這個(gè)AD檢測(cè)與電源電壓AD等檢測(cè)均不需要很快的速
39、度,所以每隔10mS-50mS輪番檢測(cè)一次便足夠,AD的檢測(cè)在定時(shí)中斷中做,而結(jié)果則放在中斷外做,這樣不會(huì)占用中斷太多的時(shí)間。編程提示:由于現(xiàn)在大多采用線性霍爾作為手柄調(diào)節(jié)速度方案,優(yōu)點(diǎn)是無(wú)觸電,故障率極低。缺點(diǎn)是在5V供電的情況下,電壓只能在1.1V-4.3V的范圍內(nèi)變化,因此軟件的處理相對(duì)復(fù)雜一點(diǎn)。這只需要我們做一點(diǎn)簡(jiǎn)單的運(yùn)算,或者采用查表的方法,將這期間的AD數(shù)值轉(zhuǎn)換成PWM占空比的值即可。雖然講是無(wú)級(jí)調(diào)速,實(shí)際上分32級(jí)時(shí)人已經(jīng)感覺(jué)不出速度的細(xì)微變化了。但是有一點(diǎn),根據(jù)手柄得出的PWM脈沖寬度不能直接用來(lái)控制PWM占空比,需要在電流允許的情況下才能讓占空比達(dá)到設(shè)定值。程序中所用關(guān)鍵控制
40、寄存器及其作用:PR2:決定PWM的工作周期,也就是PWM的調(diào)制頻率,工作中其值不斷地與TMR2中的值相比較,當(dāng)TMR2的值等于PR2時(shí)TMR2歸零重新開(kāi)始另一個(gè)周期,由于用到TMR2,所以TMR2的預(yù)分頻器也同樣影響到PWM的工作周期。具體計(jì)算公式在數(shù)據(jù)手冊(cè)上可以找到,下同。CCPR1L及CCP1CON的第4,5位:決定PWM的占空比,單片機(jī)在運(yùn)行時(shí)TMR2的值不斷與CCPR1L中的值比較,當(dāng)TMR2=CCPR1L時(shí),PWM輸出腳輸出低電平。當(dāng)CCPR1L中的值大于PR2時(shí),PWM輸出腳持續(xù)輸出高電平。注意:CCP1CON中的第4,5位在這里并非無(wú)用,在后面的電流調(diào)節(jié)中可以用來(lái)微調(diào)PWM的占
41、空比。T2CON:決定TMR2的預(yù)分頻器和后分頻器的分頻比,預(yù)分頻器和前面講過(guò)的PR2共同決定PWM頻率,后分頻器決定TMR2的中斷周期剎車斷電模塊:電動(dòng)車在剎車手柄附近裝了一個(gè)微動(dòng)開(kāi)關(guān),一方面在剎車時(shí)點(diǎn)亮剎車燈,一方面給控制器提供一個(gè)剎車高或低電平信號(hào),各廠家不一定,在電路上作一些電平轉(zhuǎn)換很容易就可以提供給單片機(jī)一個(gè)準(zhǔn)確的信號(hào),我們可以采用數(shù)字測(cè)量的方法測(cè)量這個(gè)電平是高還是低,也可以使用AD去測(cè)量有幾伏,總之監(jiān)測(cè)到這個(gè)信號(hào)后必須關(guān)閉所有的驅(qū)動(dòng)輸出和PWM輸出,這樣就可以實(shí)現(xiàn)剎車斷電。編程方面我就不多說(shuō)了。至于如何實(shí)現(xiàn)EBS電子剎車,我們后面在附加功能再講。4。限流驅(qū)動(dòng)這是整個(gè)控制器的靈魂,如
42、果限流驅(qū)動(dòng)沒(méi)做好,其他功能再好還是一個(gè)字:燒!。電動(dòng)車控制器的電子開(kāi)關(guān)均使用功率MOSFET控制,MOSFET的最大允許電流,最大允許功耗都有其限制,如果沒(méi)有電流控制,或者電流控制不好,均會(huì)導(dǎo)致功率MOSFET的燒毀,從而導(dǎo)致整個(gè)控制器報(bào)廢,因此電流控制是本程序的重中之重,這個(gè)做不好,其它功能一概免談。說(shuō)起來(lái)嚴(yán)重,其實(shí)做起來(lái),摸到竅門也是很簡(jiǎn)單的,其秘訣也只有四個(gè)字:準(zhǔn)確,及時(shí)電流信號(hào)經(jīng)康銅絲采樣之后分兩路,一路送至放大器,一路送至比較器。具體電路見(jiàn)硬件部分。放大器用來(lái)實(shí)時(shí)放大電流信號(hào),放大倍數(shù)大約6.5倍,放大后的信號(hào)提供給單片機(jī)進(jìn)行AD采樣轉(zhuǎn)換,轉(zhuǎn)換所得數(shù)字用來(lái)控制電流不超過(guò)我們所允許的值
43、。另一路信號(hào)送至比較器,當(dāng)電流突然由于某種原因大大超過(guò)允許值,比如一只MOSFET擊穿或誤導(dǎo)通時(shí),比較器翻轉(zhuǎn)送出低電平,觸發(fā)單片機(jī)的INT0外部中斷,使單片機(jī)能夠快速關(guān)斷驅(qū)動(dòng),從而保護(hù)MOSFET避免更大傷害。我們這里所要講述的準(zhǔn)確,及時(shí)兩個(gè)要素,主要是針對(duì)放大器放大之后的信號(hào)處理過(guò)程來(lái)表述的。準(zhǔn)確圖1首先一個(gè)條件是準(zhǔn)確,這里所指的是電流的AD采樣和轉(zhuǎn)換的時(shí)機(jī)。我們現(xiàn)在使用的是PWM脈沖驅(qū)動(dòng),這種脈沖驅(qū)動(dòng)導(dǎo)致的直接結(jié)果是放大后的電流信號(hào)與PWM脈沖頻率相同,相位上滯后一定時(shí)間的脈動(dòng)電流波形,見(jiàn)圖1。這種波形會(huì)類似于一個(gè)梯形,如果我們要獲得準(zhǔn)確的電流AD轉(zhuǎn)換值,最好的辦法就是在梯形波的上邊中間采
44、樣電流信號(hào),這樣所獲得的電流AD值才能較為準(zhǔn)確地反應(yīng)電流的實(shí)際大小。在本文所選的單片機(jī)上,AD轉(zhuǎn)換的采樣開(kāi)始時(shí)間由ADCON0中的ADON位控制開(kāi)始,AD轉(zhuǎn)換則由ADGO位啟動(dòng),采樣時(shí)間,在單片機(jī)的數(shù)據(jù)手冊(cè)里有明確的規(guī)定,在一般控制器放大電路中,采樣的時(shí)間一般采用10-20S,在這期間可以做一些固定的事,比如系統(tǒng)計(jì)時(shí)之類的,以免浪費(fèi)資源。而轉(zhuǎn)換時(shí)間,只要保證不小于數(shù)據(jù)手冊(cè)所規(guī)定的1.6S/bit的最低要求,當(dāng)然是越快越好,這里設(shè)定為2S/bit。那么怎樣保證采樣的準(zhǔn)確性呢?這里有一個(gè)前面提過(guò)的辦法,就是使用定時(shí)中斷,我們可以設(shè)定好使定時(shí)中斷和PWM周期同步,這里采用TMR2經(jīng)以PWM頻率1:2
45、的后分頻之后產(chǎn)生的中斷。此中斷發(fā)生在每?jī)蓚€(gè)PWM信號(hào)起始時(shí)刻,預(yù)先設(shè)定好AD的通道,將AD轉(zhuǎn)換器切換到檢測(cè)電流的那個(gè)通道,當(dāng)進(jìn)入TMR2中斷處理完現(xiàn)場(chǎng)保護(hù),中斷源判斷等一系列動(dòng)作之后,再延時(shí)一段時(shí)間,開(kāi)啟ADON的時(shí)刻,也就是對(duì)電流波形采樣的時(shí)刻剛好落在電流梯形波的前部,采樣完畢之后馬上進(jìn)行轉(zhuǎn)換。在等待轉(zhuǎn)換結(jié)果出來(lái)的過(guò)程中,我們也不能閑著,畢竟那是>20S的時(shí)間,在資源比較緊張的時(shí)候浪費(fèi)了可惜,我們可以做一些比如"鑒相"的工作,就是在電子換相中所作必須作的工作。中斷中AD采樣時(shí)機(jī)的掌握例程:BCF PIR1,TMR2IF ;6S,TMR2中斷CALL HENGLIU
46、;恒流查表程序,利用這個(gè)程序延時(shí)一段時(shí)間以便在合適的時(shí)間準(zhǔn)確采樣電流值。BTFSC INTCON,INTFGOTO INTB0 ;是否過(guò)流MOVF AD_CHANNEL,W ;AD檢測(cè)部分,設(shè)置合適的AD通道,并且開(kāi)啟AD模塊開(kāi)始采樣MOVWF ADCON0 ;CALL TIME05 ;大于4.5S采樣時(shí)間FOR 16F886BTFSC INTCON,INTFGOTO INTB0 ;是否過(guò)流BSF ADCON0,GO ;開(kāi)始AD轉(zhuǎn)換CALL READ_HALL ;利用AD轉(zhuǎn)換的間歇做別的事LOOP_TMR2BTFSC INTCON,INTFGOTO INTB0 ;是否過(guò)流BTFSC ADCON
47、0,GOGOTO LOOP_TMR2及時(shí)其次是要及時(shí)。如果我們想及時(shí)準(zhǔn)確地控制電流,采樣次數(shù)也是要求越多越好,因?yàn)殡娏鞯淖兓喈?dāng)快,在一個(gè)PWM周期中變化量可能會(huì)很大,所以我們最好是在一個(gè)PWM周期里采樣數(shù)次,但是我們的單片機(jī)沒(méi)有這么快的速度,再說(shuō)PWM的占空比在一個(gè)周期中只接受最后的改變,新的占空比參數(shù)要到下個(gè)周期才能發(fā)揮作用,所以一個(gè)PWM周期采樣一次就夠了,但每個(gè)采樣周期采樣單片機(jī)還是來(lái)不及處理,為了更好地處理其它事情,我們兩個(gè)PWM周期才對(duì)電流采樣一次。采樣轉(zhuǎn)換之后的工作,就是處理了。怎樣根據(jù)AD結(jié)果去調(diào)節(jié)電流?我們不需要想到PID控制那么復(fù)雜的概念,只需要在電流沒(méi)達(dá)到限制值時(shí)逐漸增加
48、CCPR1L的值,直到等于手柄設(shè)定值為止,如果在此過(guò)程中電流接近限制值,那么應(yīng)該不再增加CCPR1L的值,直到電流減小。如果電流超過(guò)了限制值,則根據(jù)超過(guò)的量,找一個(gè)比較合適的減小量,比如CCPR1L減1或減3,一切以電流比較穩(wěn)定為準(zhǔn),不要有太大的波動(dòng),但波動(dòng)越小,我們要求PWM占空比調(diào)整精度越高。這里要提一下的是PWM分辨率,以PIC16F72的條件,在16M時(shí)鐘的工作頻率和15.625K的PWM頻率前提下,PWM的占空比調(diào)整可以有10BIT的精度,可調(diào)整的為數(shù)越多,電流細(xì)調(diào)就越精確,但10BIT的數(shù)據(jù)涉及2個(gè)字節(jié)的運(yùn)算,所以我們還是只采用8BIT的調(diào)整精度,實(shí)踐證明,8BIT的精度對(duì)調(diào)整電流
49、來(lái)說(shuō)足夠。所以我們只對(duì)CCPR1L進(jìn)行操作就可以,前提是TMR2預(yù)分頻值為1:1恒流算法-電流即時(shí)值和有效值的矛盾:也許我們注意到大多數(shù)控制器的最大電流并沒(méi)有出現(xiàn)在堵轉(zhuǎn)的時(shí)候,這是因?yàn)樯厦嫖覀兯鶛z測(cè)到的是電流的即時(shí)值,我們?cè)陔娏鞅砩峡吹降氖请娫措娏鞯挠行е?,?dāng)PWM占空比不是100%的情況下,電流有效值電流即時(shí)值*PWM占空比,也就是說(shuō),占空比越小,要保證電流有效值達(dá)到我們的期望值,電流的即時(shí)值要提高,這樣就涉及一個(gè)算法問(wèn)題:提高多少?我們可以根據(jù)上面那個(gè)公式做一個(gè)表格,或者根據(jù)CCPR1L中的值做一個(gè)簡(jiǎn)單的換算??傊撬惴ú荒芴珡?fù)雜,不能占用太多的系統(tǒng)時(shí)間。電流的測(cè)量和控制還涉及到其他兩個(gè)附
50、加功能:換相消噪和降低溫升。這里就只講講換相消噪。怎樣減小換相噪聲?在電動(dòng)車剛剛起步的時(shí)候我們會(huì)發(fā)現(xiàn)換相時(shí)電機(jī)會(huì)發(fā)出很大的突突聲,這是由于電機(jī)起步時(shí)電流比較大,而電機(jī)是個(gè)感性負(fù)載,換相后由于電機(jī)線圈電流不會(huì)一下增大到換相前的水平,這樣就造成換相前后電流反差非常大,從而導(dǎo)致?tīng)恳Φ募眲∽兓?,這種變化便會(huì)引起電機(jī)強(qiáng)烈振動(dòng),這種振動(dòng)噪聲我們不能完全消除,但有簡(jiǎn)單的方法減小,就是在換相后的一段時(shí)間使PWM脈沖占空比達(dá)到100%來(lái)使電流增長(zhǎng)快一點(diǎn),從而減輕振動(dòng)噪聲。需要提醒的是在這個(gè)過(guò)程中我們需要隨時(shí)監(jiān)測(cè)電流變化,電流一達(dá)到換相前的水平就可以恢復(fù)換相前的PWM占空比。如果電流始終達(dá)不到以前的水平,那么最
51、多延時(shí)十多個(gè)PWM周期即可,時(shí)間長(zhǎng)了也沒(méi)用,以不影響到鑒相等其它重要工作為度。降低溫升這個(gè)我在硬件電路詳解要點(diǎn)中已經(jīng)初步介紹過(guò),主要的手段就是加入同步續(xù)流的概念,那么,在軟件中什么時(shí)候開(kāi)始開(kāi)啟同步續(xù)流開(kāi)關(guān)呢?在電流小的時(shí)候,電機(jī)線圈中的感應(yīng)電流并不大,所以沒(méi)必要開(kāi)啟;在PWM占空比達(dá)到100%時(shí),由于沒(méi)有上橋的開(kāi)關(guān)損耗,也沒(méi)必要開(kāi),或在PWM占空比接近100%時(shí),下橋沒(méi)來(lái)得及開(kāi)就被關(guān)閉,也沒(méi)有必要開(kāi),所以開(kāi)啟同步續(xù)流功能的條件可歸納為:電流超過(guò)3-5A時(shí),PWM占空比95%時(shí)開(kāi)啟同步整流,由于硬件電路設(shè)計(jì)得比較完善,在軟件中,開(kāi)啟同步續(xù)流只需將RB1置為低電平即可。關(guān)于電流的另一點(diǎn):過(guò)流保護(hù),
52、當(dāng)有MOSFET擊穿或MOSFET誤導(dǎo)通時(shí),比如死區(qū)發(fā)生器有故障時(shí),會(huì)造成上下橋直通將電源直接短路,這樣會(huì)有很大的電流,為避免更大的傷害,在電流信號(hào)引起比較器翻轉(zhuǎn)時(shí)觸發(fā)INT0中斷,由于PIC16F72沒(méi)有中斷嵌套,因此在整個(gè)定時(shí)中斷中均要隨時(shí)檢測(cè)INT0中斷標(biāo)志,防止短路發(fā)生。一般說(shuō)來(lái),上下橋直通不超過(guò)30S時(shí)對(duì)管子損害不大,超過(guò)30S后功率管就會(huì)有報(bào)銷的危險(xiǎn),所以在中斷中執(zhí)行其他程序時(shí),一定要保證每隔30S必須去檢測(cè)一次INT0的中斷標(biāo)志,如果發(fā)現(xiàn)INT0中斷標(biāo)志置1,應(yīng)立即關(guān)斷所有的驅(qū)動(dòng)輸出。堵轉(zhuǎn)保護(hù)模塊為了防止電機(jī)發(fā)生堵轉(zhuǎn)時(shí)電流始終通過(guò)同一組MOSFET而造成永久損害,因此有必要在堵轉(zhuǎn)
53、發(fā)生之后數(shù)秒鐘之內(nèi)切斷電機(jī)的供電。一般堵轉(zhuǎn)保護(hù)時(shí)間是2秒。要注意的是有時(shí)電機(jī)雖然發(fā)生堵轉(zhuǎn),但剛好在換相的臨界點(diǎn),此時(shí)會(huì)產(chǎn)生頻繁的換相動(dòng)作,這對(duì)MOSFET也是有害的,所以也應(yīng)當(dāng)作堵轉(zhuǎn)來(lái)對(duì)待。堵轉(zhuǎn)保護(hù)實(shí)際與系統(tǒng)計(jì)時(shí)捆綁在一起,在電動(dòng)機(jī)運(yùn)行時(shí),如果檢測(cè)到換向則將堵轉(zhuǎn)計(jì)時(shí)寄存器清空,如果堵轉(zhuǎn)計(jì)時(shí)寄存器溢出則進(jìn)入保護(hù)狀態(tài),關(guān)閉所有驅(qū)動(dòng)輸出欠壓保護(hù)模塊這是針對(duì)電池的保護(hù)動(dòng)作,如果電池過(guò)放電,將導(dǎo)致電池的永久損壞。注意欠壓保護(hù)和電池電壓上升后恢復(fù)供電這兩個(gè)電壓應(yīng)有一定回差,比如48V電池欠壓點(diǎn)在42V,而恢復(fù)供電點(diǎn)在45V,當(dāng)電池電壓回到45V時(shí)還應(yīng)延時(shí)數(shù)秒再恢復(fù)供電,避免控制器頻繁進(jìn)入保護(hù)狀態(tài)使騎行者感
54、到不適。另一點(diǎn)要注意的是,電池是具有內(nèi)阻的電源,因此在大電流放電的情況下因適當(dāng)調(diào)低欠壓值。在一些產(chǎn)品中,當(dāng)電池電壓接近欠壓時(shí),控制器會(huì)減小供給電機(jī)的電流,這在一方面可以提醒使用者電池處于虧欠狀態(tài),小電流放電避免了電池的損壞;另一方面還可以使電動(dòng)車?yán)^續(xù)跑動(dòng)相當(dāng)長(zhǎng)的距離而不會(huì)經(jīng)常進(jìn)入保護(hù)狀態(tài),避免使用者感到不舒適或者要受到推車之苦,這也不失為一種比較好的方法。電壓值的檢測(cè)也是不需要非常頻繁的,所以和手柄,剎車一道,在中斷中每隔10-50ms輪流檢測(cè)一次AD值即可,檢測(cè)后的結(jié)果保存起來(lái)放在全局變量中,等到退出中斷后,利用單片機(jī)的"空余時(shí)間"來(lái)處理這些值。AD通道的切換及基本程序結(jié)
55、構(gòu)安排由于單片機(jī)的AD模塊是復(fù)用的,在必須的幾個(gè)功能中,單片機(jī)必須完成電流,手柄,電源電壓等AD檢測(cè),由于電流的AD檢測(cè)非常重要,并且在中斷中,所以AD通道的切換就必須非常注意,通常,手柄,電源電壓變化比較緩慢,為了僅可能把資源讓給電流,手柄和電源電壓的檢測(cè)只需要20-30mS輪換檢測(cè)一次就夠了。還有一個(gè)要考慮的是在換向時(shí)由于消音程序需要用到電流通道的AD轉(zhuǎn)換,所以所有的AD結(jié)果必須安排在換向之前取出,并且根據(jù)當(dāng)時(shí)通道將結(jié)果放到相應(yīng)的結(jié)果寄存器中保存起來(lái),以避免AD結(jié)果造成控制紊亂。程序結(jié)構(gòu)的安排涉及兩個(gè)方面:定時(shí)中斷中的結(jié)構(gòu)安排和非中斷中的結(jié)構(gòu)安排。定時(shí)中斷中程序結(jié)構(gòu)的一種安排:中斷保護(hù)系統(tǒng)
56、計(jì)時(shí)AD通道選擇開(kāi)始AD采樣AD轉(zhuǎn)換開(kāi)始檢測(cè)相位變化AD結(jié)果保存電流判斷及處理根據(jù)相位變化是否換向,消噪中斷恢復(fù)并返回非中斷中的程序結(jié)構(gòu)安排:見(jiàn)圖2:主循環(huán)流程圖 圖2以上電子換相,電流檢測(cè)、處理等大部分要緊的工作均在同一個(gè)128S的定時(shí)中斷中完成。另外中斷中還要完成計(jì)時(shí)工作,其它對(duì)時(shí)間,時(shí)機(jī)要求不嚴(yán)格的則放在中斷外空余時(shí)間處理。故障的檢測(cè),保護(hù)及告警顯示:使用了單片機(jī)這樣的可以智能化操作的零件,我們就可以做一些工作來(lái)幫助生產(chǎn)和維修:由于生產(chǎn)過(guò)程中不可避免會(huì)造成一些諸如虛焊,連錫之類的缺陷,所以在產(chǎn)品組裝成半成品測(cè)試時(shí)就會(huì)出現(xiàn)一些故障,輕則某些功能失效,重的會(huì)導(dǎo)致元器件燒毀,這是老板絕對(duì)不愿意
57、看到的,所以我們可以多做一些工作最大限度上避免此類問(wèn)題的發(fā)生:我們最擔(dān)心的是生產(chǎn)過(guò)程中由于連錫或虛焊導(dǎo)致MOSFET燒毀,一個(gè)MOSFET好幾塊RMB,燒一個(gè)誰(shuí)都心疼。幸好現(xiàn)在有單片機(jī),在開(kāi)機(jī)時(shí)可以用極短的時(shí)間(大概10-20S)全部開(kāi)啟一下上橋,關(guān)閉,同時(shí)檢測(cè)電流,然后再開(kāi)啟一下下橋,如果其中有MOSFET短路就會(huì)產(chǎn)生比較大的電流,這個(gè)電流我們可以用單片機(jī)在開(kāi)啟MOSFET的同時(shí)檢測(cè)到,而在這么短的時(shí)間內(nèi)即使某個(gè)MOSFET短路,也不至于把另外一個(gè)燒掉,所以可以利用這個(gè)檢驗(yàn)方法來(lái)初步檢查產(chǎn)品的好壞,也便于修理工修理。其他的故障比較好檢測(cè),這里就不一一贅述。故障檢測(cè)出來(lái)了,需要顯示出來(lái)以告知人
58、們出了什么故障,目前一般采用LED閃爍次數(shù)來(lái)表示,次數(shù)可以自己定,也可以采用比較流行的辦法:慢閃:1秒鐘閃一次,表示沒(méi)有檢測(cè)出故障。快閃:連續(xù)閃兩次,停一下,表示剎車,或者剎車部分有故障。連續(xù)閃三次,停一下,表示INT0口始終為低電平,很有可能是比較器部分有問(wèn)題。連續(xù)閃四次,停一下,表示上橋有短路現(xiàn)象連續(xù)閃五次,停一下,表示下橋有短路現(xiàn)象連續(xù)閃六次,停一下,表示電機(jī)霍爾信號(hào)有故障,或者相位選擇有誤。連續(xù)閃七次,停一下,表示剛剛發(fā)生了過(guò)流保護(hù),INT0口有低電平脈沖出現(xiàn)連續(xù)閃八次,停一下,表示電源電壓過(guò)低或給單片機(jī)供電的5V電源電壓過(guò)高。附加功能:一、1+1助力:大多數(shù)電動(dòng)自行車都有踏腳板,可以使用人力驅(qū)動(dòng),如果在人力驅(qū)動(dòng)的同時(shí)電動(dòng)機(jī)也開(kāi)始輸出一部分功率以提供“助力”。這需要在腳踏齒輪邊上安裝一個(gè)自鎖相位的開(kāi)關(guān)型霍爾傳感器,在腳踏齒輪上安裝一個(gè)帶若干磁鐵的感應(yīng)盤,當(dāng)腳踏動(dòng)踏板時(shí)霍爾感應(yīng)器感應(yīng)到磁鐵經(jīng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度綠色倉(cāng)儲(chǔ)倉(cāng)房買賣合同范本環(huán)保解讀3篇
- 2025年度旅游單項(xiàng)服務(wù)保障合同4篇
- 2024-2025學(xué)年高中英語(yǔ)Unit4Breakingboundaries突破語(yǔ)法大沖關(guān)教師用書(shū)外研版選擇性必修第二冊(cè)
- 2024-2025學(xué)年新教材高中歷史第八單元20世紀(jì)下半葉世界的新變化第18課冷戰(zhàn)與國(guó)際格局的演變課時(shí)作業(yè)含解析新人教版必修中外歷史綱要下
- 二零二五版工程招投標(biāo)與合同管理法律法規(guī)匯編及解讀3篇
- 2024版汽車維修工具套件租賃合同
- 2024版廣西事業(yè)單位聘用合同樣板
- 2025年屋頂雨水排水管及配套設(shè)施銷售與安裝服務(wù)合同2篇
- 二零二五年度教育合作辦班合同范本3篇
- 2024版汽車修理廠土地租賃合同
- 2023年上海英語(yǔ)高考卷及答案完整版
- 西北農(nóng)林科技大學(xué)高等數(shù)學(xué)期末考試試卷(含答案)
- 金紅葉紙業(yè)簡(jiǎn)介-2 -紙品及產(chǎn)品知識(shí)
- 《連鎖經(jīng)營(yíng)管理》課程教學(xué)大綱
- 《畢淑敏文集》電子書(shū)
- 頸椎JOA評(píng)分 表格
- 員工崗位能力評(píng)價(jià)標(biāo)準(zhǔn)
- 定量分析方法-課件
- 朱曦編著設(shè)計(jì)形態(tài)知識(shí)點(diǎn)
- 110kV變電站工程預(yù)算1
- 某系統(tǒng)安全安全保護(hù)設(shè)施設(shè)計(jì)實(shí)施方案
評(píng)論
0/150
提交評(píng)論