基于TMS320F2812的無刷直流電機(jī)控制_第1頁
基于TMS320F2812的無刷直流電機(jī)控制_第2頁
基于TMS320F2812的無刷直流電機(jī)控制_第3頁
基于TMS320F2812的無刷直流電機(jī)控制_第4頁
基于TMS320F2812的無刷直流電機(jī)控制_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

.PAGE...WORD完美格式....專業(yè)知識(shí)編輯整理..基于TMS320F2812的無刷直流電機(jī)控制以前一個(gè)項(xiàng)目里有一部分是使用2812控制無刷直流電機(jī),這里分享一下軟硬件設(shè)計(jì)和程序代碼:1.無刷直流電機(jī)的結(jié)構(gòu)和換相原理無刷直流電機(jī)的本體在結(jié)構(gòu)上與永磁同步電動(dòng)機(jī)相似,但沒有籠型繞組和其他啟動(dòng)裝置。其轉(zhuǎn)子采用永磁材料制成,而定子上有多相電樞繞組,繞組相數(shù)分為兩相、三相、四相和五相,但應(yīng)用最多的是三相和四相。各相繞組分別與外部的電力電子開關(guān)電路中相應(yīng)的功率開關(guān)器件連接,位置傳感器的跟蹤轉(zhuǎn)子與電動(dòng)機(jī)轉(zhuǎn)軸相連接。當(dāng)定子繞組的某一相通電時(shí),該相電流與轉(zhuǎn)子永久磁鋼的磁極所產(chǎn)生的磁場(chǎng)相互作用產(chǎn)生轉(zhuǎn)矩,驅(qū)動(dòng)轉(zhuǎn)子旋轉(zhuǎn),再由位置傳感器將轉(zhuǎn)子位置變換成電信號(hào)去控制電力電子開關(guān)電路,從而使定子各相繞組按一定次序?qū)?定子相電流隨轉(zhuǎn)子位置的變化而按一定的次序換相,這就是直流無刷電動(dòng)機(jī)的換流原理。由于電力電子開關(guān)電路的導(dǎo)通次序是與轉(zhuǎn)子轉(zhuǎn)角同步的,因而起到了機(jī)械換相器的換相作用。基于TMS320F2812的無刷直流電機(jī)控制系統(tǒng)結(jié)構(gòu)圖如圖1所示。圖1中,直流電源通過開關(guān)電路相電動(dòng)機(jī)定子繞組供電,位置傳感器采用了霍爾傳感器,可不斷檢測(cè)轉(zhuǎn)子當(dāng)前位置,DSP控制器根據(jù)當(dāng)前位置信息來判斷哪一相繞組被接通,進(jìn)而控制開關(guān)管的導(dǎo)通與截止,實(shí)現(xiàn)電機(jī)的換相。圖1直流無刷電動(dòng)機(jī)控制系統(tǒng)結(jié)構(gòu)圖圖2電子換相器的工作原理圖圖2給出了一個(gè)三相無刷直流電機(jī)電子換相原理圖。圖中符號(hào)H1、H2和H3表示三個(gè)霍爾位置傳感器,它們輸出電平信號(hào)。當(dāng)電機(jī)的轉(zhuǎn)子運(yùn)行到x-u平面的正半周〔圖中虛線標(biāo)出的區(qū)間,則H1傳感器輸出高電平。同理,當(dāng)電機(jī)的轉(zhuǎn)子分別運(yùn)行到y(tǒng)-v和z-w,平面的正半周〔圖中虛線標(biāo)出的區(qū)間,則對(duì)應(yīng)的H2和H3分別輸出高電平。由圖可見,H1、H2和H3輸出高電平的區(qū)間是互有重疊的,如果將H1、H2和H3的輸出電平組合成一個(gè)向量[H1H2H3],則可以得到6種有效組合:[001]、[010]、[011]、[100]、[110]和[101],每種組合覆蓋整個(gè)圓周的1/6〔即60°。控制器根據(jù)這六個(gè)狀態(tài)組合來決定開關(guān)電路的哪一相被接通以維持電機(jī)的運(yùn)行,當(dāng)狀態(tài)發(fā)生變化時(shí),就必須進(jìn)行相位的切換。對(duì)于電機(jī)的三相繞組,A、B和C,采用ANC表示直流母線電壓施加到A-C繞組之間;CNA則表示直流母線電壓施加到C-A繞組之間,其他類似。注意ANC電流從A→C,而CAN電流從C→A,作為直流電機(jī),繞組電流相反意味著受力是相反的,會(huì)導(dǎo)致電機(jī)反向轉(zhuǎn)動(dòng)。圖3給出了6種狀態(tài)組合下對(duì)應(yīng)的通電繞組的情況,例如在狀態(tài)[001]通電繞組是ANB。如果電機(jī)正轉(zhuǎn),則下一個(gè)組合狀態(tài)為[101],故應(yīng)將通電繞組切換為ANC;同理,如果電機(jī)反轉(zhuǎn),則下一個(gè)組合狀態(tài)為[101],故通電繞組應(yīng)該切換為CNB,以次類推。表1給出了電機(jī)正向旋轉(zhuǎn)時(shí),轉(zhuǎn)子位置傳感器輸出的狀態(tài)組合[H1H2H3]與下一個(gè)導(dǎo)通繞組之間的對(duì)應(yīng)關(guān)系。表2給出了電機(jī)反轉(zhuǎn)時(shí)的情況。圖3基于TMS320F2812無刷直流電動(dòng)機(jī)控制系統(tǒng)原理圖表1無刷直流電機(jī)正轉(zhuǎn)相序表當(dāng)前位置下一個(gè)導(dǎo)通相各開關(guān)管工作狀態(tài)H1H2H3V1V2V3V4V5V6101BNC000110100BNA100100110CNA100001010CNB001001011ANB011000001ANC010010表2無刷直流電機(jī)反轉(zhuǎn)相序表當(dāng)前位置下一個(gè)導(dǎo)通相各開關(guān)管工作狀態(tài)H1H2H3V1V2V3V4V5V6101ANB011000100CNB001001110CNA100001010BNA100100011BNC000110001ANC0100102.三相無刷直流電機(jī)的DSP控制圖3給出了本設(shè)計(jì)中采用的基于TMS320F2812A和三相全橋開關(guān)電路構(gòu)成的無刷直流電機(jī)控制器的原理圖。在無刷直流電機(jī)內(nèi)部空間間隔120°分布的三個(gè)霍爾傳感器H1、H2和H3的輸出信號(hào)經(jīng)整形隔離電路后分別與TMS320F2812時(shí)間管理器EVA的三個(gè)捕獲引腳CAP1/IOPA3,CAP2/IOPA4和CAP3/IOPA5相連,當(dāng)[H1H2H3]狀態(tài)組合發(fā)生變化的時(shí)候,將觸發(fā)捕獲單元的中斷,在中斷服務(wù)程序內(nèi),DSP讀取當(dāng)前[H1H2H3]的狀態(tài),根據(jù)表1和表2內(nèi)列出的導(dǎo)通相順序?qū)θ珮螂娐愤M(jìn)行控制,從而實(shí)現(xiàn)換相。例如,當(dāng)[H1H2H3]被讀取的當(dāng)前狀態(tài)為101時(shí),在正轉(zhuǎn)的情況下,應(yīng)該選擇下一個(gè)導(dǎo)通相為BNC。這就意味著在圖3中,要控制開關(guān)V4、V5導(dǎo)通,這樣直流母線電壓就施加到B-C繞組之間〔直流電流從B繞組流向C繞組;如果控制反轉(zhuǎn),則應(yīng)該選擇下一個(gè)導(dǎo)通相為ANB,這需要控制V2和V3導(dǎo)通。圖3中三相全橋主電路采用3片IR公司的MOSFET器件TRF7317來構(gòu)成,TRF7317內(nèi)部有兩個(gè)MOSFET的開關(guān),一個(gè)NMOS和一個(gè)PMOS,其中NMOS用于構(gòu)成橋臂的下管,而PMOS則用于構(gòu)成橋臂的上管,由于是12V的電機(jī)控制系統(tǒng),這種配置使得驅(qū)動(dòng)電路比較簡(jiǎn)單。三相全橋電路每個(gè)橋路的上下兩個(gè)開關(guān)是不能同時(shí)導(dǎo)通的,否則會(huì)引起直通短路。MOSFET的開關(guān)控制通過DSP的EVA單元的輸出PWM1-PWM6來實(shí)現(xiàn),圖3中給出了PWM1和PWM2同時(shí)發(fā)出高電平脈沖導(dǎo)致經(jīng)過幾級(jí)邏輯轉(zhuǎn)換變成互相反相的控制脈沖V1和V2,由于V1控制NMOS,而V2控制PMOS,故兩管都會(huì)導(dǎo)通引起直通短路。總之,PWM1-PWM6獨(dú)立控制三相全橋的6個(gè)MOSFET,并且高電平控制導(dǎo)通,而低電平控制截止,為了防止直流短路,不允許出現(xiàn)同一個(gè)橋臂上下兩管的控制脈沖同時(shí)為高電平的情況。3.PWM信號(hào)實(shí)現(xiàn)電機(jī)調(diào)速的原理無刷直流電機(jī)的轉(zhuǎn)速控制是通過控制施加到三相繞組上的直流電壓的大小來實(shí)現(xiàn)的,為了實(shí)現(xiàn)轉(zhuǎn)速的變化,就需要通過三相全橋開關(guān)電路產(chǎn)生可變的直流電壓,這將通過脈寬調(diào)制原理〔PWM來實(shí)現(xiàn)。PWM信號(hào)是一系列周期固定、脈寬可變的脈沖電壓,這些脈沖信號(hào)的平均值的大小取決于其占空比,這個(gè)固定周期稱為PWM的載波周期。將PWM脈沖信號(hào)施加到三相全橋電路,其輸出電壓作用于一個(gè)慣性設(shè)備〔如一個(gè)LC濾波器或者電機(jī)等,則控制作用只取決于平均電壓的大小〔慣性設(shè)備類似于一個(gè)低通濾波器,而此平均電壓正是由PWM信號(hào)的占空比來控制的。于是,不斷修改PWM信號(hào)的脈沖寬度即可控制平均電壓的大小,進(jìn)而不斷控制直流電機(jī)的轉(zhuǎn)速。在直流無刷電動(dòng)機(jī)控制中,兩個(gè)功率器件〔上級(jí)和下級(jí)被串聯(lián)放在一個(gè)功率轉(zhuǎn)換支路中,為了避免擊穿失效,兩個(gè)器件的打開周期必須不能重疊,這樣就經(jīng)常需要一對(duì)非重疊的PWM輸出來正確地開關(guān)這兩個(gè)器件。在一個(gè)三極管的關(guān)斷和另一個(gè)三極管導(dǎo)通之間插入一段死區(qū),這段時(shí)間延遲允許一個(gè)三極管在別的三極管導(dǎo)通之前完全關(guān)斷。這個(gè)所需的延遲時(shí)間由功率三極管的開關(guān)特性和特定應(yīng)用中的負(fù)載特性來決定的。4.軟件設(shè)計(jì)軟件采用模塊化設(shè)計(jì),主要有以下5個(gè)模塊組成:換相及轉(zhuǎn)向控制模塊、轉(zhuǎn)速控制模塊、轉(zhuǎn)速測(cè)量模塊、鍵盤控制模塊和液晶顯示模塊。實(shí)現(xiàn)了無刷直流電機(jī)的閉環(huán)PID控制,主程序流程圖如圖4所示。圖4閉環(huán)PID控制主程序流程圖4.1換相及轉(zhuǎn)向控制相控制是通過不斷檢測(cè)無刷直流電機(jī)的轉(zhuǎn)子位置,然后按照預(yù)先安排的相序表動(dòng)態(tài)控制三相全橋開關(guān)的導(dǎo)通及關(guān)斷,從而使電機(jī)能夠連續(xù)運(yùn)行。轉(zhuǎn)向控制則通過更換相序表來實(shí)現(xiàn)。程序設(shè)計(jì)步驟如下:配置系統(tǒng)時(shí)鐘和外設(shè)時(shí)鐘,初始化中斷向量表和中斷控制寄存器。配置GPIOA的多路轉(zhuǎn)換器寄存器GPAMUX,使PWM1~PWM6作為PWM控制引腳,CAP1~CAP3作為捕獲單元輸入引腳。初始化EVA的通用定時(shí)器T1,設(shè)置PWM載波周期〔通過T1PR和初始占空比〔通過比較寄存器CMP1、CMP2、CMP3設(shè)置初始占空比為50%,設(shè)置比較控制寄存器COMCONA使能全比較操作,但暫不啟動(dòng)定時(shí)器T1。配置CAP1~CAP3的捕獲中斷為上下沿跳變觸發(fā)方式。檢測(cè)CAP1~CAP3引腳的當(dāng)前狀態(tài),判斷當(dāng)前電機(jī)轉(zhuǎn)子的空間位置,根據(jù)轉(zhuǎn)向要求選擇合適的初始控制相序并據(jù)此配置ACTRA寄存器,然后啟動(dòng)定時(shí)器T1并開放中斷。主程序進(jìn)入等待狀態(tài)。創(chuàng)建捕獲中斷的中斷服務(wù)程序,在中斷服務(wù)程序中實(shí)時(shí)檢測(cè)當(dāng)前電機(jī)轉(zhuǎn)子的空間位置,然后根據(jù)轉(zhuǎn)向要求和預(yù)先安排的相序表選擇合適的開關(guān)控制時(shí)序,并動(dòng)態(tài)控制ACTRA寄存器,使得電機(jī)能夠連續(xù)運(yùn)行。流程圖如圖5所示:圖5換相及轉(zhuǎn)向控制流程圖4.2轉(zhuǎn)速測(cè)量轉(zhuǎn)速的測(cè)量可以通過在標(biāo)準(zhǔn)的定時(shí)時(shí)間間隔內(nèi)對(duì)換相控制的次數(shù)進(jìn)行統(tǒng)計(jì)來實(shí)現(xiàn)。由于所用的電機(jī)轉(zhuǎn)一圈換相6次,故設(shè)置定時(shí)器T2定時(shí)0.1s,在此定時(shí)時(shí)間內(nèi)換相次數(shù)記為N,則轉(zhuǎn)速即為100N/min。流程圖如下圖6示:圖6轉(zhuǎn)速測(cè)量程序流程圖4.3鍵盤控制與液晶顯示圖7鍵盤程序流程圖鍵盤則用于設(shè)定給定轉(zhuǎn)速。其程序流程圖如圖7所示。液晶顯示主要分為兩部分:說明文字的顯示及參數(shù)值的顯示。無論是文字還是參數(shù)值的顯示,都需要生成16進(jìn)制代碼,利用字模軟件zimo221生成,取字模時(shí)選擇"縱向取模,字節(jié)倒序"。然后調(diào)用相關(guān)函數(shù)即可將其顯示出來。程序設(shè)計(jì)步驟如下所示:〔1進(jìn)行初始化,清屏〔2顯示"轉(zhuǎn)速:"〔3實(shí)時(shí)顯示參數(shù)值〔轉(zhuǎn)速、占空比流程圖如下圖8所示:圖8液晶顯示流程圖5.硬件設(shè)備本設(shè)計(jì)采用的主要設(shè)備包括:〔112W無刷直流電動(dòng)機(jī)FL57BLS005-12V;〔2MOTOR-E背板,該背板包括驅(qū)動(dòng)無刷直流電機(jī)的三相全橋開關(guān)電路、霍爾傳感器輸出信號(hào)的整形和隔離電路以及來自TMS320F2812的6個(gè)PWM控制信號(hào)〔PWM1~PWM6的隔離和驅(qū)動(dòng)電路;〔3TMS320F2812開發(fā)板;〔4LPS-305型可調(diào)線型穩(wěn)壓電源,調(diào)試過程調(diào)節(jié)此電源輸出+12V,輸出限流值1.5A,用于為無刷直流電機(jī)供電。由于在調(diào)試中會(huì)頻繁出現(xiàn)短路情況,故采用帶輸出限流保護(hù)的電源,以限制短路時(shí)過流引起MOSFET損壞的問題。6.總結(jié)本設(shè)計(jì)以TMS320F2812DSP芯片為核心,來實(shí)現(xiàn)對(duì)無刷直流電機(jī)的PID控制,可以控制電機(jī)自動(dòng)加減速,自動(dòng)換向,測(cè)量轉(zhuǎn)速值并實(shí)時(shí)顯示在液晶屏上。本系統(tǒng)采用CCS編程,利用PWM信號(hào)實(shí)現(xiàn)電機(jī)調(diào)速,開關(guān)主電路同一相上下橋臂PWM波形如圖9所示。圖9同一相上下橋臂PWM波形圖調(diào)試中遇到了不少問題,主要如下:〔1電機(jī)不能自行啟動(dòng),需要用手撥一下才能轉(zhuǎn)起來。解決辦法:增大初始占空比,但不能過大,否則會(huì)導(dǎo)致過流?!?如何實(shí)時(shí)顯示轉(zhuǎn)速值?解決辦法:將0~9十個(gè)數(shù)字的字模放入一個(gè)10維的數(shù)組,分別求出測(cè)得轉(zhuǎn)速值的各位上的數(shù)字并分別調(diào)用顯示函數(shù),將各位數(shù)字分別顯示出來,即可實(shí)現(xiàn)轉(zhuǎn)速的實(shí)時(shí)顯示。〔3實(shí)時(shí)檢測(cè)到的電機(jī)轉(zhuǎn)速精度不夠,只顯示到了百位。解決辦法:這是由于T1的計(jì)時(shí)周期設(shè)為了0.1s,更改了CPU時(shí)鐘周期,同時(shí)更改了與定時(shí)器時(shí)鐘有關(guān)的寄存器以后,可顯示到個(gè)位。..附:源程序代碼#include"DSP281x_Device.h" //DSP281xHeaderfileIncludeFile#include"DSP281x_Examples.h" //DSP281xExamplesIncludeFileinterruptvoidCAPINT_ISR<void>;interruptvoidT2_ISR<void>;voidInitEv<void>;voidHallDrv<void>;Uint16 hall_status=0x0000;Uint16 hall;Uint16 direction; //電動(dòng)機(jī)轉(zhuǎn)動(dòng)方向指示,0為正轉(zhuǎn),1為反轉(zhuǎn)Uint16 direc; //撥碼開關(guān)1,位置在上為0,在下為1Uint32 counter=0; //換相數(shù)Uint32 speed=0; //實(shí)際速度int16 givespeed=0; //給定速度int32 Espeed=0; //速度差值Uint16 null,keycode,key;int16 Duty;Uint16 watchduty=0; //占空比float Kp=0; //PID參數(shù)float Ki=0;float Kd=0;float Last=0; //傳遞上次變量float LLast=0; //傳遞上上次變量float PidResult=0; #defineDIPS<*<<unsignedint*>0xc0001>> //定義撥碼開關(guān)寄存器地址和類型#defineCTRKEY<*<<unsignedint*>0x108001>> //定義鍵盤數(shù)據(jù)回讀寄存器地址#definePeriod0x0753 //載波周期main<>{ InitSysCtrl<>; //初始化DSP運(yùn)行時(shí)鐘 InitPieCtrl<>; //初始化pie寄存器 DINT; //關(guān)總中斷 IER=0x0000; //禁止所有的中斷 IFR=0x0000; //清除所有的CPU級(jí)中斷請(qǐng)求標(biāo)志 InitPieVectTable<>; //初始化PIE中斷向量表 InitEv<>; //初始化EVA模塊 EALLOW; PieVectTable.CAPINT1=&CAPINT_ISR; //將捕獲單元的中斷服務(wù)程序入口地址填寫到PIE向量表中 PieVectTable.CAPINT2=&CAPINT_ISR; PieVectTable.CAPINT3=&CAPINT_ISR; PieVectTable.T2PINT=&T2_ISR; //將T2的中斷服務(wù)程序入口地址填寫到PIE向量表中 EDIS; EvaRegs.EVAIFRC.all=0xFFFF; //EVA中斷標(biāo)志復(fù)位 EvaRegs.EVAIFRB.all=0xFFFF; EvaRegs.EVAIMRC.all=0x0007; //使能CAP1,2,3雙沿中斷<換向>,外設(shè)級(jí) EvaRegs.EVAIMRB.all=0x0001; //使能T2周期匹配中斷,外設(shè)級(jí) //使能PIE中組3的第1,5,6,7個(gè)中斷 PieCtrlRegs.PIEIER3.bit.INTx5=1; //CAPINT1 PieCtrlRegs.PIEIER3.bit.INTx6=1; //CAPINT2 PieCtrlRegs.PIEIER3.bit.INTx7=1; //CAPINT3 PieCtrlRegs.PIEIER3.bit.INTx1=1; //T2PINT direc=DIPS; direction=direc&0x0001; HallDrv<>; Kp=;Ki=;Kd=; //初始化PID參數(shù) givespeed=3000; IER|=M_INT3; //使能EVA對(duì)應(yīng)的CPU級(jí)中斷請(qǐng)求INT3 EINT; //使能全局中斷 ERTM; EvaRegs.T1CON.bit.TENABLE=1; //啟動(dòng)定時(shí)器T1 EvaRegs.T2CON.bit.TENABLE=1; //啟動(dòng)定時(shí)器T2 PieCtrlRegs.PIEACK.all=PIEACK_GROUP3; //允許CPU對(duì)PIE中斷請(qǐng)求進(jìn)行響應(yīng) Lcd_Init<>; //LCD初始化 LcdClear<>; //LCD清屏 LcdWrite<>; //LCD寫入 //等待中斷 while<1> { keycode=CTRKEY; //讀鍵盤碼 null=CTRLCDCR; //清鍵碼鎖存器 key=keycode&0x00FF; switch<key> { case1:givespeed++;break; //鍵盤按鍵1按下,則給定轉(zhuǎn)速增加1r/min case2:givespeed--;break; //鍵盤按鍵2按下,則給定轉(zhuǎn)速減小1r/min case3:givespeed+=10;break; //鍵盤按鍵3按下,則給定轉(zhuǎn)速增加10r/min case4:givespeed-=10;break; //鍵盤按鍵4按下,則給定轉(zhuǎn)速減小10r/min case5:givespeed+=100;break; //鍵盤按鍵5按下,則給定轉(zhuǎn)速增加100r/min case6:givespeed-=100;break; //鍵盤按鍵6按下,則給定轉(zhuǎn)速減小100r/min case7:givespeed+=1000;break; //鍵盤按鍵7按下,則給定轉(zhuǎn)速增加1000r/min case8:givespeed-=1000;break; //鍵盤按鍵8按下,則給定轉(zhuǎn)速減小1000r/min default:break; } if<givespeed<0>{givespeed=0;} if<givespeed>=10000>{givespeed=9999;} PutValue<72,17,givespeed>; //顯示給定速度 PutValue<72,33,speed>; //顯示實(shí)際速度 watchduty=<Uint16><<1-<float>Duty/Period>*100>; PutValue<72,49,watchduty>; //顯示占空比 }}voidInitEv<void>{ EALLOW; GpioMuxRegs.GPAMUX.all=0xFFFF; //設(shè)定EVA的引腳為外設(shè) EDIS; EvaRegs.T1CON.all=0x0804; //連續(xù)增/減計(jì)數(shù)模式,暫不啟動(dòng)定時(shí)器T1的運(yùn)行 EvaRegs.T1PR=0x0753; //設(shè)置T1定時(shí)器的周期寄存器值 EvaRegs.T1CNT=0x0000; //清零T1定時(shí)器的計(jì)數(shù)寄存器 EvaRegs.ACTRA.all=0x0000; //PWM1~PWM6強(qiáng)制低,在換向程序中再更改 EvaRegs.ACTRA.all=0x0000; //pwm1~pwm6強(qiáng)制低;在換向程序中需再更改// EvaRegs.DBTCONA.all=0x0170; //死區(qū)設(shè)為1個(gè)CPU時(shí)鐘周期 EvaRegs.COMCONA.all=0xA6E0; //使能全比較單元,在周期和下溢時(shí)重載 EvaRegs.CMPR1=0x0521; //初始占空比30% EvaRegs.CMPR2=0x0521; //初始占空比30% EvaRegs.CMPR3=0x0521; //初始占空比30% EvaRegs.CAPCONA.all=0x36FC; //選定時(shí)器1,使能CAP1,2,3,檢測(cè)兩個(gè)邊沿 EvaRegs.CAPFIFOA.all=0x0000; //清空FIFO EvaRegs.T2CON.all=0x1704; //連續(xù)增計(jì)數(shù)模式,暫不啟動(dòng)定時(shí)器T2 EvaRegs.T2PR=0xE4E2; //每100ms中斷一次 EvaRegs.T2CNT=0x0000; } voidHallDrv<void>{ hall=GpioDataRegs.GPADAT.all; hall_status=hall&0x0700; //檢測(cè)CAP1~CAP3引腳的當(dāng)前狀態(tài) if<direction==0> //正轉(zhuǎn)換向 switch<hall_status> { case0x0500:EvaRegs.ACTRA.all=0x0038;break; //PWM2/PWM3101→ANB case0x0100:EvaRegs.ACTRA.all=0x0830;break; //PWM6/PWM3001→ANC case0x0300:EvaRegs.ACTRA.all=0x0803;break; //PWM6/PWM1011→CNA case0x0200:EvaRegs.ACTRA.all=0x0083;break; //PWM4/PWM1010→CNB case0x0600:EvaRegs.ACTRA.all=0x0380;break; //PWM4/PWM5110→BNC case0x0400:EvaRegs.ACTRA.all=0x0308;break; //PWM2/PWM5100→ANC default:break; } else //反轉(zhuǎn)換向 switch<hall_status> { case0x0100:EvaRegs.ACTRA.all=0x0380;break; //PWM4/PWM5001→ANC case0x0500:EvaRegs.ACTRA.all=0x0083;break; //PWM4/PWM1101→BNC case0x0400:EvaRegs.ACTRA.all=0x0803;break; //PWM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論