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

正文內(nèi)容

三相交流電機變頻調(diào)速控制器的設計dsp課程設計報告-資料下載頁

2025-08-18 17:22本頁面

【導讀】本課題主要針對基于DSP的交流異步電機變頻調(diào)速系統(tǒng)進行了研究和探討,并設計出了一套完整的軟硬件方案。以TI公司的DSPTMS320LF2407A為主控。芯片,采用恒定壓頻比的控制方法,實現(xiàn)了對交流異步電機變頻調(diào)速的控制。文闡述了交流異步電機的數(shù)學控制模型和變頻調(diào)速原理。設計了包含逆變電路和。并在CCS的IDE下采用C語言編程實現(xiàn)了上述的變頻調(diào)。硬件電路上,主要包含TMS320LF2407的主控制器,三相全橋逆變電路,EEPROM構成的轉(zhuǎn)速存儲電路。

  

【正文】 timer counter */ *T1PR = pwm_half_per。 /* set timer period */ *DBTCONA = 0x0000。 /* deadband units off */ *ACTRA = 0x0666。 /* PWM1 pin set active high */ /* 附錄一 26 bit 15 0: space vector dir is CCW (don39。t care) bit 1412 000: basic space vector is 000 (dont39。 care) bit 1110 01: PWM6/IOPB3 pin active low bit 98 10: PWM5/IOPB2 pin active high bit 76 01: PWM4/IOPB1 pin active low bit 54 10: PWM3/IOPB0 pin active high bit 32 01: PWM2/IOPA7 pin active low bit 10 10: PWM1/IOPA6 pin active high */ *COMCONA = 0x8200。 /* configure COMCON register */ /* bit 15 1: 1 = enable pare operation bit 1413 00: 00 = reload CMPRx regs on timer 1 underflow bit 12 0: 0 = space vector disabled bit 1110 00: 00 = reload ACTR on timer 1 underflow bit 9 1: 1 = enable PWM pins bit 80 039。s: reserved */ *T1CON = 0x0840。 /* configure T1CON register */ /* bit 1514 00: stop immediately on emulator suspend bit 13 0: reserved bit 1211 01: 01 = continousup/down count mode bit 108 000: 000 = x/1 prescaler bit 7 0: reserved in T1CON bit 6 1: TENABLE, 1 = enable timer bit 54 00: 00 = CPUCLK is clock source bit 32 00: 00 = reload pare reg on underflow bit 1 0: 0 = disable timer pare bit 0 0: reserved in T1CON */ 三相異步電機變頻調(diào)速控制器的設計 27 /* Timer 2: configure to generate a 250ms periodic interrupt */ *T2CNT = 0x0000。 /* clear timer counter */ *T2PR = timer2_per。 /* set timer period */ *T2CON = 0xD740。 /* configure T2CON register */ /* bit 1514 11: stop immediately on emulator suspend bit 13 0: reserved bit 1211 10: 10 = continousup count mode向上計數(shù) bit 108 111: 111 = x/128 prescaler128 分頻 bit 7 0: T2SWT1, 0 = use own TENABLE bit使用自身的使能位 bit 6 1: TENABLE, 1 = enable timer bit 54 00: 00 = CPUCLK is* clock source bit 32 00: 00 = reload pare reg on underflow bit 1 0: 0 = disable timer pare bit 0 0: SELT1PR, 0 = use own period register */ fv_ = ( / (num_f_d*U_DC*F_V_radio))。 /*** Setup the core interrupts ***/ *IMR = 0x0000。 /* clear the IMR register */ *IFR = 0x003F。 /* clear any pending core interrupts *///向標志寄存器寫 1,清除中斷標志 *IMR = 0x0004。 /* enable desired core interrupts (in1,in3)*/ //int1 為 adc 中斷, int3 為 time2 中斷 /*** Setup the event manager interrupts ***/ *EVAIFRA = 0xFFFF。 /* clear all EVA group A interrupts */ *EVAIFRB = 0xFFFF。 /* clear all EVA group B interrupts */ *EVAIFRC = 0xFFFF。 /* clear all EVA group C interrupts */ *EVAIMRA = 0x0000。 /* enable desired EVA group A interrupts */ *EVAIMRB = 0x0001。 /* enable desired EVA group B interrupts ENABLE TIME2*///使能定時器 2 上溢中斷 附錄一 28 *EVAIMRC = 0x0000。 /* enable desired EVA group C interrupts */ *EVBIFRA = 0xFFFF。 /* clear all EVB group A interrupts */ *EVBIFRB = 0xFFFF。 /* clear all EVB group B interrupts */ *EVBIFRC = 0xFFFF。 /* clear all EVB group C interrupts */ *EVBIMRA = 0x0000。 /* enable desired EVB group A interrupts */ *EVBIMRB = 0x0000。 /* enable desired EVB group B interrupts */ *EVBIMRC = 0x0000。 /* enable desired EVB group C interrupts */ } void init_adc(void) { *ADCTRL1 = 0x00。//啟動停止模式,高優(yōu)先級,雙排序器模式 *ADCTRL2 = 0x0504。//中斷標志為 1 時立刻申請中斷, SEQ1 觸發(fā)源是 EVA, SEQ2 沒用 *MAX_CONV = 0x07。 *CHSELSEQ1 = 0x3210。//ad 轉(zhuǎn)換順序, 5 為電位器 *CHSELSEQ2 = 0x7654。//配置 SEQ1 轉(zhuǎn)換序列 } void adc_soc(void) { *T4CON = *T4CON | 0x40。//使能定時器 } void interrupt adcint(void) { asm(clrc SXM)。 /* T4_NUM1 = *T4CNT。 Speed_result[i] = T4_NUM1 T4_NUM0。 T4_NUM0 = T4_NUM1。 */ if (!(i%I_DIV))//每次都執(zhí)行, I_LOOP 無用 三相異步電機變頻調(diào)速控制器的設計 29 { adc_res = *RESULT5 6。//左對齊,需要右移 6 位 I_result[i / I_DIV] = *RESULT0 6。//電流檢測 if (adc_res 0x3fe)adc_res = 0x3fe。 if (adc_res0x01)adc_res = 0x01。 *ADCTRL2 |= 0x4200。//復位排序器,清除標志位 *T2PR = *(511 abs((511 adc_res))) * 2 + 200。 if (adc_res = 511) rotation_dir = 1。 else rotation_dir = 0。 b_time = (fv_ / ((float)*T2PR))。 if (b_time1)b_time = 1。 LED = ~(1 (8(int)(b_time * 8)))。 } i++。 if (i = I_LOOP) i = 0。 asm( CLRC INTM)。 } /********************** INTERRUPT SERVICE ROUTINES *********************/ void interrupt timer2_isr(void) { *EVAIFRB = *EVAIFRB amp。 0x0001。 /* clear T2PINT flag */ if (rotation_dir == 1) { a = *CMPR1 = b_time*pwm_half_per*( + *sin_table[index_pwm%num_f_d])。 b = *CMPR2 = b_time*pwm_half_per*( + *sin_table[(index_pwm + ((2 * num_f_d) / 3)) % num_f_d])。 c = *CMPR3 = b_time*pwm_half_per*( + *sin_table[(index_pwm + ((num_f_d) / 3)) % num_f_d])。 } 附錄一 30 else { b = *CMPR2 = b_time*pwm_half_per*( + *sin_table[index_pwm%num_f_d])。 a = *CMPR1 = b_time*pwm_half_per*( + *sin_table[(index_pwm + ((2 * num_f_d) / 3)) % num_f_d])。 c = *CMPR3 = b_time*pwm_half_per*( + *sin_table[(index_pwm + ((num_f_d) / 3)) % num_f_d])。 } /* *CMPR1=pwm_half_per*sin_table[index_pwm%(num_f_d)]。 *CMPR2=pwm_half_per*sin_table[(index_pwm+((2*num_f_d)/3))%(num_f_d)]。 *CMPR3=pwm_half_per*sin_table[(index_pwm+((num_f_d)/3))%(num_f_d)]。 */ index_pwm++。 if (index_pwm = num_f_d)index_pwm = 0。 } /* void qep_init(void)
點擊復制文檔內(nèi)容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1