栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

FOC(基于DSP28335)-ADC模块配置

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

FOC(基于DSP28335)-ADC模块配置

电机控制之ADC转换

(1)软件采集电压与电流:

BUS_Curr = (float32)((int16)(ADCSampPara.BUS_Curr- ADCSampPara.OffsetBUS_Curr)/4096.0*1.5*BUS_Curr_Sensor_Range);

PhaseU_Curr = (float32)((int16)(ADCSampPara.PhaseU_Curr- ADCSampPara.OffsetPhaseU_Curr)/4096.0*1.5*Phase_Curr_Sensor_Range);

PhaseV_Curr = (float32)((int16)(ADCSampPara.PhaseV_Curr- ADCSampPara.OffsetPhaseV_Curr)/4096.0*1.5*Phase_Curr_Sensor_Range);

BUS_Voltage=  ADCSampPara.BUS_Voltage*BUS_Voltage_Mult_Coeff +BUS_Voltage_Add_Coeff ;

PhaseW_Curr= -(PhaseU_Curr+ PhaseV_Curr);//相电流Iu Iv Iw和等于0

首先,需要明确的是单片机采集到的是什么信号?

电机输出的是模拟信号,经过A/D转换变为数字信号。DSP28335的ADC是12位的,所以(0-3V)对应数字量(0-4095)。假设结果寄存器读到的数字量为X(0=

这里,代码中提到采集母线电流也是交流,为后面弱磁控制做准备。

直流母线电压通过万用表标定得出系数,y=ax+b

(2)ADC模块配置

     EALLOW;

    SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; //使能 ADC 外设时钟

    ADC_cal(); //调用 ADC_cal 汇编程序,它是 TI 提供的 ADC 校准程序,直接使用即可

    EDIS;

    AdcRegs.ADCTRL3.all = 0x00E0;  //顺序采样

    DELAY_US(ADC_usDELAY);    

//  上面代码等价于Ti封装的函数InitAdc();

    AdcRegs.ADCTRL1.bit.ACQ_PS = ACQPS_X[0]; //SOC脉冲宽度等于9个ADCCLK周期

    AdcRegs.ADCTRL1.bit.CPS = 1;  //2分频

    AdcRegs.ADCTRL3.bit.ADCCLKPS = 0; //不分频

    AdcRegs.ADCTRL1.bit.SEQ_CASC = 0;  //双排序器模式

    AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 0x0; //禁止INT_SEQ1向CPU发出中断申请

    AdcRegs.ADCTRL2.bit.RST_SEQ1 = 0x1; //复位排序器SEQ1到CONV00状态

    AdcRegs.ADCTRL2.bit.RST_SEQ2 = 0x1; //立即复位SEQ2为预触发状态,退出正在执行的转换序列

    AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1=0x1; //允许ePWM的触发信号启动SEQ1

    AdcRegs.ADCCHSELSEQ1.bit.CONV00 = ChSel_X[0];

    AdcRegs.ADCCHSELSEQ1.bit.CONV01 = ChSel_X[1];

    AdcRegs.ADCCHSELSEQ1.bit.CONV02 = ChSel_X[2];

    AdcRegs.ADCCHSELSEQ1.bit.CONV03 = ChSel_X[3];

    AdcRegs.ADCCHSELSEQ2.bit.CONV04 = ChSel_X[4];

    AdcRegs.ADCCHSELSEQ2.bit.CONV05 = ChSel_X[5];

    AdcRegs.ADCCHSELSEQ2.bit.CONV06 = ChSel_X[6];

    AdcRegs.ADCCHSELSEQ2.bit.CONV07 = ChSel_X[7];

    AdcRegs.ADCCHSELSEQ3.bit.CONV08 = ChSel_X[8];

    AdcRegs.ADCCHSELSEQ3.bit.CONV09 = ChSel_X[9];

    AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 9; //10个通道

    EDIS;

   

    EPwm1Regs.ETSEL.bit.SOCAEN = 1;

    EPwm1Regs.ETSEL.bit.SOCASEL = 2;

    EPwm1Regs.ETPS.bit.SOCAPRD = 1;

    EPwm1Regs.ETCLR.bit.SOCA = 1;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/832821.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号