智能车制作

标题: 关于驱动双电机 求帮助。。。 [打印本页]

作者: Iamasoldier6    时间: 2013-12-26 11:17
标题: 关于驱动双电机 求帮助。。。
void PWM_Init(void)
{
    //DDRB = 0XFF;
    //PORTB = 0XFF;
    PWME = 0X00; ////PWM启动寄存器,禁止8个PWM通道输出
    PWMCTL_CON01 = 1; //通道01级联,为了需要PWM输出波形的精度更高
    PWMPRCLK = 0X22; // ClockA=ClockB=Busclock/4=32/4=8MHz
                     //选择的PWM时钟源为ClockA和ClockB
    PWMSCLA = 0X04; //ClockSA=ClockA/(2*PWMSCLA)=8/8=1MHz
    PWMSCLB = 0X04; //ClockSA=ClockA/(2*PWMSCLA)=8/8=1MHz
    PWMCLK = 0XFF; //时钟源选择SA,SB
    PWMPOL = 0XFF; //正极性脉冲
    PWMCAE = 0X00; // 左对齐模式
    PWMPER01 = 20000;//舵机计数周期寄存器(20ms)         
    PWMDTY01 = 1800; //输出高电平时间1.4ms

    PWMPER1 = 100; //0.1ms,10KHz         
    PWMDTY1 = 30;
    PWMPER2 = 100; //0.1ms,10KHz         
    PWMDTY2 = 30;
   
    PWMPER3 = 100; //0.1ms,10KHz         
    PWMDTY3 = 50;
    PWMPER4 = 100; //0.1ms,10KHz         
    PWMDTY4 = 20;
                                               
    PWME= 0x07; //输出PWM,
}
大家帮我看看这一段
为什么12可以 34不可以呢
驱动双电机

这样只能驱动一个电机



作者: liningbo888    时间: 2013-12-26 11:41
pwme输出要全部打开
作者: Iamasoldier6    时间: 2013-12-26 12:12
pwme输出要全部打开

听君一言 如醍醐灌顶 大谢!
作者: Iamasoldier6    时间: 2013-12-26 12:17
pwme输出要全部打开


PWMPER1 = 100; //0.1ms,10KHz         
    PWMDTY1 = 30;
    PWMPER2 = 100; //0.1ms,10KHz         
    PWMDTY2 = 30;
   
    PWMPER3 = 100; //0.1ms,10KHz         
    PWMDTY3 = 50;
    PWMPER4 = 100; //0.1ms,10KHz         
    PWMDTY4 = 20;

不过为什么这样 两轮才一起转 将DTY4=50时y都不转 必须得保证34一定差值时才行 其他情况都不行。。。
作者: 幽蓝の灵魂    时间: 2013-12-26 12:50
用示波器看看,输出的波是否正确。
作者: wzp1992    时间: 2013-12-26 13:47
“PWME= 0x07; //输出PWM“,错误在这儿
作者: dongchaoxu    时间: 2013-12-26 15:26

作者: Iamasoldier6    时间: 2013-12-26 19:27
幽蓝の灵魂 发表于 2013-12-26 12:50
用示波器看看,输出的波是否正确。

谢谢 解决了 不过示波器之前测过了,,

作者: Iamasoldier6    时间: 2013-12-26 19:28
wzp1992 发表于 2013-12-26 13:47
“PWME= 0x07; //输出PWM“,错误在这儿

恩 二楼的已经说了 后来调了下硬件 没什么问题了。。

作者: Iamasoldier6    时间: 2013-12-26 19:29
dongchaoxu 发表于 2013-12-26 15:26

经验拿好 滚粗。。

作者: 君啸凤舞    时间: 2013-12-26 21:34
Iamasoldier6 发表于 2013-12-26 12:17
PWMPER1 = 100; //0.1ms,10KHz         
    PWMDTY1 = 30;
    PWMPER2 = 100; //0.1ms,10KHz     ...

肯定要有差值的啊,要不怎么转。。

作者: Iamasoldier6    时间: 2013-12-26 21:38
君啸凤舞 发表于 2013-12-26 21:34
肯定要有差值的啊,要不怎么转。。

硬软都有问题 问题解决啦 谢谢哈!
作者: 小南啊啊啊    时间: 2014-3-18 22:32
呵呵  nb




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2