Skip to content

舵机板子的pid速度环没有放进去吗? #273

@zhangmiaomiao985

Description

@zhangmiaomiao985

motor.CalcDceOutput(motor.angle, 0);第二个参数应该是速度,但写的是0。
void Motor::UpdateVelocity()应该是速度函数,但并未调用。
是否可以调用然后更改为如下:
void TIM14_PeriodElapsedCallback()
{
// Read sensor data
LL_DMA_EnableChannel(DMA1,LL_DMA_CHANNEL_1);
LL_ADC_REG_StartConversion(ADC1);

motor.angle = motor.mechanicalAngleMin +
                (motor.mechanicalAngleMax - motor.mechanicalAngleMin) *
                ((float) adcData[0] - (float) motor.adcValAtAngleMin) /
                ((float) motor.adcValAtAngleMax - (float) motor.adcValAtAngleMin);
motor.UpdateVelocity();
motor.CalcDceOutput(motor.angle, motor.velocity);

motor.SetPwm((int16_t) motor.dce.output);

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions