智能车制作

标题: 请教官网算法不明白的几点 [打印本页]

作者: 王海    时间: 2013-5-9 09:31
标题: 请教官网算法不明白的几点
1、电机输出函数里电机输出最大值#define  MOTOR_OUT_MAX  1.0。这里的1.0是指满占空比吗?2、速度控制函数里的速度偏差的积分最大值是电机输出最大值的10倍,这个最大值会不会太大呢?

3、函数
    void SetMotorVoltage(float fLeftVoltage, float fRightVoltage)
    {
        short nPeriod;
        int nOut;
        nPeriod = (short)getReg(PWM_PWMCM);                                                                                                         
        if(fLeftVoltage > 0) {
                setReg(PWM_PWMVAL1, 0);
                nOut = (int)(fLeftVoltage * nPeriod);
                setReg(PWM_PWMVAL0, nOut);
        }   
      中的nOut = (int)(fLeftVoltage * nPeriod);是什么意思呢?
请大家帮忙指点下,谢谢                                 



作者: lyb    时间: 2013-5-9 10:09
nOut这个应该是给的PWM的值吧,这个值应该是正值并且是整数
作者: 王海    时间: 2013-5-9 10:13
lyb 发表于 2013-5-9 10:09
nOut这个应该是给的PWM的值吧,这个值应该是正值并且是整数

这个我知道哈!只是nOut的值是怎么计算出来的不怎么清楚

作者: lyb    时间: 2013-5-9 10:22
王海 发表于 2013-5-9 10:13
这个我知道哈!只是nOut的值是怎么计算出来的不怎么清楚

nPeriod他你知道是怎么算出来的吗?
作者: 王海    时间: 2013-5-9 10:25
lyb 发表于 2013-5-9 10:22
nPeriod他你知道是怎么算出来的吗?

这个应该是读取当前电机的占空比吧!

作者: lyb    时间: 2013-5-9 10:38
王海 发表于 2013-5-9 10:25
这个应该是读取当前电机的占空比吧!

这不就完了,fLeftVoltage * nPeriod再类型转换就是那个值了




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