新聞中心

        EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > TMS320F2812型DSP在車輛四輪轉(zhuǎn)向控制系統(tǒng)中的應(yīng)用

        TMS320F2812型DSP在車輛四輪轉(zhuǎn)向控制系統(tǒng)中的應(yīng)用

        作者: 時間:2009-03-31 來源:網(wǎng)絡(luò) 收藏

        4.2 后輪轉(zhuǎn)角信號采集
        后輪轉(zhuǎn)角信號由高精度的增量式光電編碼器獲得。它將蝸桿轉(zhuǎn)動的角度根據(jù)轉(zhuǎn)動的方向變?yōu)橄鄳?yīng)的增、減計數(shù)脈沖,每轉(zhuǎn)一圈產(chǎn)生2048個脈沖,輸出量為一時鐘信號和一方向信號。本文采用DICH0(CAP2)引腳捕捉時鐘信號,輸入引腳DICH19(GPIOF12)取得方向信號。帶光耦的開關(guān)量輸入電路設(shè)計如圖4,捕獲單元電路DSP芯片內(nèi)部集成。

        本文引用地址:http://www.104case.com/article/197880.htm

        圖4 輸入電路框圖


        部分程序設(shè)計過程如下:
        EvaRegs.CAPFIFO.all=0x0400;
        // 設(shè)置捕獲FIFO狀態(tài)寄存器的初值;
        EvaRegs.CAPCON.bit.CAPQEPN=0x1;
        // 使能捕獲單元2;
        EvaRegs.CAPCON.bit.CAP12TSEL=1;
        // 選擇定時器1為基準(zhǔn);
        EvaRegs.CAPCON.bit.CAP2EDGE=0x1;
        // 檢測上升沿有效;
        EvaRegs.T1CMPR=0x0080;
        // 為捕獲單元2設(shè)置定時器1;
        EvaRegs.T1PR = 0xFFFF;
        EvaRegs.T1CON.all = 0x1042;
        interrupt void cap2_int(void)
        // 捕獲中斷服務(wù)子程序;
        { if(GpioDataRegs.GPFDAT.bit.GPIOF12==1)PositivePulsecount++;
        else NegativePulsecount++;
        deltar=(PositivePulsecount-NegativePulsecount)*pi/1024.0;
        }
        // 根據(jù)I/O引腳來計算后輪轉(zhuǎn)角,取弧度;


        4.3 算法設(shè)計與D/A輸出
        算法的基本思路是:4WS啟動時,輸入一前輪轉(zhuǎn)角,通過橫擺率反饋,將其與速度相關(guān)的理想橫擺率穩(wěn)態(tài)響應(yīng)增益G0進(jìn)行比較,然后經(jīng)控制器G1控制后輪轉(zhuǎn)角,實現(xiàn)四輪轉(zhuǎn)向,輸出質(zhì)心側(cè)偏角、橫擺率、側(cè)向加速度用于監(jiān)測,控制框圖如圖5所示。電機(jī)的驅(qū)動電壓由DSP的比較寄存器產(chǎn)生PWM信號,在通過D/A 轉(zhuǎn)換電路輸出。本文采用定時器4產(chǎn)生PWM,由DA4引腳輸出,一級放大的D/A轉(zhuǎn)換電路如圖6所示。

        圖5 控制框圖

        圖6 D/A轉(zhuǎn)換電路


        部分程序設(shè)計過程如下:
        EvbRegs.T4PR=0x3FF;
        // 設(shè)置定時器2的周期寄存器;
        EvbRegs.T4CMPR=0x0080;
        // 設(shè)置定時器4的比較寄存器初值;
        EvbRegs.T4CON.all=0x1042;
        // 使能比較單元;
        EvbRegs.GPTCONB.bit.TCOMPOE=1;
        // 驅(qū)動定時器4的PWM輸出;
        EvbRegs.GPTCONB.bit.T4PIN=1;
        // 定時器4的比較輸出低電平有效;
        y0[0]=c[0][0]*x0[0]+c[0][1]*x0[1]+d[0][0]*u[0]+d[0][1]*u[1]; // 輸出量質(zhì)心側(cè)偏角;
        y0[1]=c[1][0]*x0[0]+c[1][1]*x0[1]+d[1][0]*u[0]+d[1][1]*u[1]; // 輸出量橫擺角速度;
        y0[2]=c[2][0]*x0[0]+c[2][1]*x0[1]+d[2][0]*u[0]+d[2][1]*u[1]; // 輸出量側(cè)向加速度;
        Dutycycle=volt_out/10.0*1024;
        // 計算占空比;
        EvbRegs.T4CMPR=Dutycycle;
        // 重載定時器4的周期寄存器;



        關(guān)鍵詞: F2812 2812 320F TMS

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 虎林市| 长宁县| 开平市| 德清县| 新泰市| 黑河市| 江城| 涡阳县| 和田市| 威宁| 宝山区| 利川市| 柳州市| 灵武市| 昌平区| 南宫市| 舟山市| 天峨县| 洛隆县| 南部县| 麻江县| 玉山县| 逊克县| 晋州市| 平安县| 白玉县| 蓝山县| 盐山县| 盐池县| 兴化市| 大埔区| 涟源市| 容城县| 宁化县| 盈江县| 兰坪| 通化市| 麻栗坡县| 沽源县| 应城市| 喜德县|