发新帖我要提问
12
返回列表
打印

30f2010芯片的电机PWM模块驱动问题

[复制链接]
楼主: kindwyw
手机看帖
扫描二维码
随时随地手机跟帖
21
你先打开一个AN957的DEMO看看。可以吧。MCPWM的设置本来就很复杂,大家看下来,如果要找出你的问题,估计得半个小时,对着数据手册。
AN957,输出的是独立的PWM,不过这没什么,你改改就成互补的了。
上MCHP网站搜索AN957即可。

使用特权

评论回复
22
kenan6615| | 2013-6-5 16:50 | 只看该作者
有可能FLA引脚低电平了

使用特权

评论回复
23
魔尊一姬| | 2014-1-6 16:49 | 只看该作者
kindwyw 发表于 2011-5-20 16:42
谢谢XUETYABIN大师的指点,现在有PWM输出了,按你说的配置搞定了,再次感谢! ...

你是怎么配置的??

使用特权

评论回复
24
LZR_1212| | 2015-7-27 10:16 | 只看该作者
XIEYUANBIN 发表于 2011-5-20 09:19
配置位需要设置,烧写时的问题,不是编程的问题

大神,我现在在写基于PIC30F4011的58K单独的方波,你可否看下我的配置有没有问题呀,
#pragma config FPR = HS
#pragma config FOS = PRI
#pragma config WDT=WDT_OFF
void PwmInit()
{
    PWMCON1=0x0044;    //PWM为互补模式,并使能pwm3L产生PWM输出
    PTPER=0X1F;    //设置PWM频率为58k
    PDC3=0X0F;
    DTCON1=0x0040;    //死区2us
    OVDCON=0x1000;    //由PWM发生器控制PWM输出
    SEVTCMP=0;     //不使用特殊事件比较寄存器
    PWMCON2=0;     //允许占空比更新
    FLTACON=0;    //不使用故障引脚
    PTCON=0x8002;    //使能pwm时基,1:1预分频比,连续向上/向下计数模式
}
int main(int argc, char** argv)
{
    TRISE=0;
    TRISEbits.TRISE1=0;
    TRISEbits.TRISE2=0;
    TRISEbits.TRISE3=0;
    TRISEbits.TRISE4=0;
    void PwmInit();
    while(1);
    return (EXIT_SUCCESS);
}

使用特权

评论回复
25
LZR_1212| | 2015-7-27 10:28 | 只看该作者
kindwyw 发表于 2011-5-19 21:05
PWM端口打开了,PWMCON1寄存器设置的同时应该相应PWM端口的IO方向控制关闭了吧,同时我是用软件仿真的,相 ...

你好,我遇到相同的问题,能问你最终改了什么吗

使用特权

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

本版积分规则