打印

dspic30F占空比双更新

[复制链接]
1727|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lilyy|  楼主 | 2012-12-14 15:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lilyy 于 2012-12-14 15:13 编辑

菜鸟新学的DSPIC30F2010,在使用PWM输出口做逆变电源,使用双更新模式,PWM口的初始化如下,
//PWM功能初始化
void Init_PWM( void )
{
PTMR = 0x0000; //PWM时基寄存器
PTPER =  dLoopInTcy;     // 设定PWM的频率
    PWMCON1 = 0x0077;    // 使能PWM口
     PTCON = 0x8003;      //,双边更新,时基为Tcy
   PWMCON2 = 0x0004;    //使能占空比立即更新

   DTCON1 =0x0000;  
        PDC1 = Pwm_min;       //初始化占空比  
    PDC2 = Pwm_min;
    OVDCON = 0x3F3F;      //开始由PWM发生器控制
FLTACON=0x0003;//故障引脚为低电平时,6路PWM输出无效

SEVTCMP = 0;              // 0 不由PWM启动AD转换
SEVTCMPbits.SEVTDIR = 0;  //=0 ,特殊事件触发信号将在PWM 时基的向上计数周期产生
IPC9bits.PWMIP = 6;//PWM中断优先级为6级
IFS2bits.PWMIF = 0; //清PWM中断标志位
IEC2bits.PWMIE = 1; // 使能PWM 中断

IPC10bits.FLTAIP = 7 ;//设置过流故障中断为7级中断
IFS2bits.FLTAIF = 0;// 故障中断标志清零.
IEC2bits.FLTAIE = 1;// 使能故障中断 A
}

想在一个PWM周期内占空比更新两次,可从滤波口输出看不出更新两次,只看到一次变化,但实际计算的时候确实是算了两次,也用了两次,只是不知道别人的怎么能看到两次,下图是从滤波口看到的一个PWM周期的对应变化正弦波,1是别人的程序,明显看到一个PWM波内有两个变化,2是自己的程序,一个PWM周期只看到一个变化,各位说说怎么实现像1的形式呢?


沙发
pengkaile| | 2012-12-14 15:48 | 只看该作者
你做的这个逆变电源是不是数码发电机的逆变器哈!  嗯,这个控制考虑的东西可不是那么简单的!

使用特权

评论回复
板凳
lilyy|  楼主 | 2012-12-14 15:51 | 只看该作者
是DC-AC逆变,高手说下如何实现呢?

使用特权

评论回复
地板
lilyy|  楼主 | 2012-12-17 15:18 | 只看该作者
高手呢? 坐等。。。。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

粉丝