freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于dsp(數(shù)字信號(hào)處理器)的三相交流電機(jī)變頻調(diào)速控制器設(shè)計(jì)-文庫(kù)吧

2024-10-21 03:50 本頁(yè)面


【正文】 控制電路設(shè)計(jì) 本系統(tǒng)控制電路主要由以 TMS320LF2407A為核心的 DSP最小系統(tǒng),外加各種通信及控制電路接口組成??刂葡到y(tǒng)功能框圖如圖 34所示: 圖 34控制系統(tǒng)功能框圖 主控芯片 TMS320LF2407A介紹 TMS320系列 DSP的體系結(jié)構(gòu)是專為實(shí)時(shí)信號(hào)處理而設(shè)計(jì),該系列 DSP 控制器將實(shí)時(shí)處理能力和控制器外設(shè)功能集于一身,為控制系統(tǒng)應(yīng)用提供了理想的解決方案。其中TMS320LF2407A是 TI公司面向電機(jī)控制推出的一款定點(diǎn)型 DSP處理器,其特點(diǎn)可歸結(jié)如下: (1) 采用高性能靜態(tài) CMOS技術(shù),使得供電電壓降為 3. 3V,減小了處理器的功耗; 40MIPS的執(zhí)行速度使得指令周期縮短到 25ns,從而提高了處理器的實(shí)時(shí)控制能力,使 LF2407A 可以提供遠(yuǎn)遠(yuǎn)超過(guò)傳統(tǒng)的 16位微處理器和控制器的性能。 (2) 基于 TMS320C2XXDSP 的內(nèi)核,保證了 TMS320LF2407A 芯片的代碼與 TMS320系列DSP代碼兼容。 (3) 片內(nèi)高達(dá) 32K字的 Flash程序存儲(chǔ)器,高達(dá) 2. 5K字的數(shù)據(jù)/程序 RAM, 544字雙端口 DARAM, 2K字的 SARAM。 (4) SCI/ SPI引導(dǎo) ROM。 (5) 兩個(gè)事件管理器模塊 EVA和 EVB,每個(gè)管理器模塊包括:兩個(gè) 16位通用定時(shí)器, 8個(gè) 16位的脈寬調(diào)制 PWM通道,可以實(shí)現(xiàn)三相反相控制、 PWM的中心或邊緣校正、當(dāng)外部引腳 PDPINTx出現(xiàn)低電平時(shí)快速關(guān)閉 PWM通道;防止擊穿 故障的可編程的 PWM死區(qū)控制:對(duì)外部時(shí)間進(jìn)行定時(shí)捕獲的 3 個(gè)捕獲單元;片內(nèi)光電編碼器電路; 16 通道的同步 A/ D 轉(zhuǎn)換器。時(shí)間管理器模塊適用于控制交流異步電動(dòng)機(jī)、無(wú)刷直流電機(jī)、步進(jìn)電機(jī)、開(kāi)關(guān)磁阻電機(jī)、多級(jí)電機(jī)和逆變器。 (6) 可擴(kuò)展的外部存儲(chǔ)器總共 192K字的空間,分別為 64K程序存儲(chǔ)空間、 64K數(shù)據(jù)存儲(chǔ)空間、 64K字的 I/ 0空間。 (7) 10 位 AD轉(zhuǎn)換器,最小轉(zhuǎn)換時(shí)間為 375ns, 8 個(gè)或 16個(gè)多路復(fù)用的通道,可選擇由兩個(gè)事件管理器或軟件觸發(fā)。 (8) ,即控制器局域網(wǎng)模塊。 (9) 串行通信接口 SCI模塊。 (10) 16位串行外部設(shè)備接口 SPI模塊。 (11) 看門狗定時(shí)器模塊基于鎖相環(huán) PLL的時(shí)鐘發(fā)生器。 (12) 高達(dá) 41個(gè)可單獨(dú)編程或復(fù)用的通用輸入輸出引腳。 (13) 5個(gè)外部中斷,其中 2個(gè)驅(qū)動(dòng)保護(hù), 1個(gè)復(fù)位中斷和兩個(gè)可屏蔽中斷。 (14) 電源管理,具有 3種低功耗模式,能獨(dú)立地將外同器件轉(zhuǎn)入低功耗工作模式。 DSP最小系統(tǒng)設(shè)計(jì) DSP最小系統(tǒng)是指既沒(méi)有輸入通道,也沒(méi)有輸出通道,同時(shí)也不與其它系統(tǒng)進(jìn)行通信的DSP系統(tǒng)。 DSP 最小系統(tǒng)的設(shè)計(jì)是 DSP硬件設(shè)計(jì)中的最基本,也是最重要的一步。它主要包括:電源電路、時(shí)鐘電路、復(fù)位電路、仿真接頭、擴(kuò)展 SRAM等,圖 35便是一個(gè) DSP最小系統(tǒng)框圖。 圖 35 DSP最小體統(tǒng)框圖 DSP外圍接口電路設(shè)計(jì) 1.串行接口 串行接口電路如圖 36,我們通過(guò)一片 MAX232構(gòu)成串行通信接口。 MAX232是雙路驅(qū)動(dòng)/接收器,內(nèi)部包括電容型的電壓生成器,可以將 5V 電源轉(zhuǎn)換成符合 EIA/ TIA232E 的電壓等級(jí)。接收器將 EIA/ TIA232E標(biāo)準(zhǔn)的輸入電平轉(zhuǎn)換成 5VTTL/ CMOS電平。接收器的典型臨界值是 1. 3V,典型磁滯是 0. 5V。發(fā)送器將 TTL/ CMOS輸入電平轉(zhuǎn)換成 EIA/ TIA232E電平。這樣就可以實(shí)現(xiàn)下位機(jī)與上位機(jī)之間的通信。 圖 36 串口電路圖 2. CAN總線接口 UC5350是 CAN協(xié)議控制器和物理總線的接口,對(duì)總線提供不同的發(fā)送能力和對(duì) CAN控制器提供不同的接收能力,完全和 IS011898標(biāo)準(zhǔn)兼容,并具有對(duì)電池和地的短路保護(hù)功能。圖 37是 CAN總線接口電路。 圖 37 CAN總線接口電路 四、變頻調(diào)速系統(tǒng)的軟件設(shè)計(jì) 系統(tǒng)控制能力的優(yōu)劣很大程度取決十軟件可靠性和通用性之外,滿足實(shí)時(shí)性的前提下,還要具有很好的實(shí)時(shí)性.控制軟件還應(yīng)具仃靈活性。本系統(tǒng)軟件采用了自上而下、從整體到局部的設(shè)計(jì)思想,采用模塊化設(shè) |十方案,使程序恩路清晰,可讀性強(qiáng)。 系統(tǒng)軟件整體設(shè) 計(jì) 本系統(tǒng)的軟件辛要有兩部分組成:一、上位機(jī)監(jiān)控程序:二、下位機(jī)控制程序。上位機(jī)負(fù)責(zé)電機(jī)參數(shù)的設(shè)定、電機(jī)及 IPM運(yùn)行狀態(tài)的顯示;下位機(jī)主要負(fù)責(zé)串口通信、空間矢量算法的計(jì)算、 PWM 輸心、電壓電流采集、故障監(jiān)控等。上位機(jī)軟件只需要實(shí)現(xiàn)對(duì) Pc 機(jī)串口的讀寫操作,本系統(tǒng)采用 Vc++編制了上位機(jī)監(jiān)控顯示程序控制界面。 下位機(jī)控制程序主要由主程序和三個(gè)中斷服務(wù)子程序組成。主程序主要負(fù)責(zé) DSP初始化、串口接收發(fā)送、循環(huán)等待等,其程序流程如圖 42所示。中斷服務(wù)子程序包括:串口通信中斷服務(wù)程序、 PWM中斷服務(wù)程序、故障中斷服務(wù)程序。 串口通信中斷服務(wù)程序的主要任務(wù)是:一、接收上位機(jī)發(fā)送的參數(shù)給定信息。二、將電機(jī)轉(zhuǎn)速、母線電壓、 IPM狀態(tài)等信息傳給上位機(jī)顯示。其程序流程如圖 41所示: PWM中斷服務(wù)程序的主要任務(wù)是:一、根據(jù)給定頻率完成頻率的調(diào)節(jié)控制。二、根據(jù)當(dāng)前頻率值實(shí)時(shí)完成 SVPWM 算法的計(jì)算和波形輸出。三、電壓電流 及溫度信號(hào)的采集和 A/ D轉(zhuǎn)換。其程序流程如圖 43所示: 故障中斷服務(wù)程序主要任務(wù)是:當(dāng) TMS320LF2407 的功率驅(qū)動(dòng)保護(hù)引腳接收到過(guò)流、欠壓、過(guò)熱、短路等故障信號(hào)時(shí),產(chǎn)生中斷,立刻封鎖 PWM輸出,斷開(kāi)主電路并顯示相應(yīng)的故障,避免系統(tǒng)和 IPM功率模塊燒壞。故障中斷服務(wù)程序流程如圖 44所示: 圖 41串口通信中斷程序流程 圖 42主程序流程圖 圖 43 SPWM中斷服務(wù)程序流程 圖 44故障中斷服務(wù)程序流程 源程序 // 該程序用于簡(jiǎn)單的 SVPWM 演示 ,產(chǎn)生 3 相互差 120 度電角度的正弦交流電壓 ,此程序?qū)? // 時(shí)計(jì)算 cmp1 和 cmp2 的值 //include include include include float ualfa[200],ubeta[200]。 // 存儲(chǔ)電壓矢量 Uout 的(α ,β)軸分量 ualfa、 ubeta 的數(shù)組 int sector[200]。 // 定義存儲(chǔ)扇區(qū)數(shù)的數(shù)組 define PI2 2* // 定義 2π的值 define DETA PI2/200 // 定義相臨兩個(gè) Uout 之間的電角度的差值 define INIA define TP 20 // t1 的周期寄存器的值 ,其值等于 SVPWM 調(diào)制周期一半 , // 因?yàn)樵谠摮绦蛑?2π電角度內(nèi) Uout 的點(diǎn)數(shù)一定 ,故改變此值 // 可以改變輸出的 3 相正弦交流電壓的頻率 define KP // 定義 Uout 的標(biāo)幺值 ,KP 的值在 0 和 1 之間 ,改變此值可以 // 改變逆變橋輸出電壓的幅值 // 屏蔽中斷子程序 void inline disable() { asm( setc INTM)。 } // 系統(tǒng)初始化子程序 void initial() { *IFR=0x0FFFF。 // 清除所有的中斷標(biāo)志 *IMR=0x0000。 // 屏蔽所有中斷 *SCSR1=0x81FE。 // CLKIN=6M,CLKOUT=24M *WDCR=0x00E8。 // 不使能看門狗 *T1PR=TP。 // 通用定時(shí)器 1 的周期 =PWM 的周期 /指令周期 /2 *T1CON=0x0802。 // 設(shè)置通用定時(shí)器 1 為連續(xù)增減模式 ,以產(chǎn)生對(duì)稱的PWM, // 且為了便于調(diào)試 ,使仿真一掛起時(shí)時(shí)鐘就停止運(yùn)行 *ACTRA=0x0666。 // PWM 5 高有效 ,PWM 6 低有效 *COMCONA=0x9200。 // 使能 PWM 輸出和比 較動(dòng)作 *EVAIMRA=0x0000。 // 禁止 EVB 和時(shí)鐘及比較有關(guān)的中斷 *T1CNT=0x0000。 // T1 的計(jì)數(shù)器清 0 *EVAIFRA=0x0FFFF。 // 清除 EVB 相應(yīng)的中斷標(biāo)志 *MCRA=*MCRA|0x0fc0。 // PWM1PWM6 輸出使能 ,使能 PWM 功能 0x007E WSGR=0x0000。 // 不使能所有的等待狀態(tài) } // 根據(jù) Uout 的標(biāo)幺值 KP 計(jì)算 ualfa,ubeta 子程序 void calu() { int i。 for(i=0。i200。i++) { ualfa[i]=KP*cos(INIA+i*DETA)。 ubeta[i]=KP*sin(INIA+i*DETA)。 } } // 各點(diǎn)的扇區(qū)確定子程序 void SECTOR() { int i,a,b,c。 floatvref1,vref2,vref3。 for(i=0。i200。i++) { vref1=ubeta[i]。 vref2=(ubeta[i]+ualfa[i]*)/2。 vref3=(ubeta[i]ualfa[i]*)/2。 // 計(jì)算確定扇區(qū)數(shù)需要的 3 個(gè)參考量 // vref vref vref3 if(vref10) a=1。 else a=0。 if(vref20) b=1。 else b=0。 if(vref30) c=1。 else c=0。 a=4*c+2*b+a。 switch(a){ case 1:sector[i]=1。break。 case 2:sector[i]=5。break。 case 3:sector[i]=0。break。 case 4:sector[i]=3。break。 case 5:sector[i]=2。break。 case 6:sector[i]=4。break。 default:break。 } // 根據(jù)相應(yīng)的關(guān)系確定各個(gè) Uout 所在的扇區(qū) } } // 主程序 main() { int anticlk[6]={0x1666,0x3666,0x2666,0x6666,0x4666,0x5666}。 // 逆時(shí)針旋轉(zhuǎn)的 6 個(gè)基本矢量 int i,k=0,cmp1,cmp2。 floatx,y,z。 disable()。 // 屏蔽所有中斷 initial()。 // 系統(tǒng)初始化 calu()。 // 計(jì)算 ualfa,ubeta 的值 SECTOR()。 // 確定各點(diǎn)的扇區(qū) ,在實(shí)際應(yīng)用時(shí)應(yīng)該由即時(shí) // 的 ualfa 和 ubeta 即時(shí)算出 while(1) { for(i=0。i200。i++) { *ACTRA=anticlk[sector[i]]。 // 重新裝配 ACTRA x=ubeta[i]。 y=(*ualfa[i]+ubeta[i])/2。 z=(*ualfa[i]+ubeta[i])/2。 // 以上 3 句計(jì)算 3 個(gè)相應(yīng)的參考量 switch(sector[i]) { case 0 :cmp1=(int)(z*TP),cmp2=(int)(x*TP)。break。 case 1 :cmp1=(int)(y*TP),cmp2=(int)(z*TP)。break。 case 2 :cmp1=(int)(x*TP),cmp2=(int)(y*TP)。break。 case 3 :cmp1=(int)(z*TP),cmp2=(int)(x*TP)。break。 case 4 :cmp1=(int)(y*TP),cmp2=(int)(z*TP)。break。 case 5 :cmp1=(int)(x*TP),cmp2=(int)(y*TP)。break。 default : break。 } // 以上根據(jù) uout 所處的扇區(qū)計(jì)算相應(yīng)的 cmp1 和 cmp2 的值 *CMPR1=cmp1。 // 比較寄存器 4 賦值 *CMPR2=cmp1+cmp2。 // 比較寄存器 5 賦值 if((i+k)==0) *T1CON=*T1CON|0x0040。 // 啟動(dòng)定時(shí)器 ,只啟動(dòng)一次 while(1) { k=*EVAIFRAamp
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1