在上一个问题中、我询问了如何尝试下拉三相开关以用于固定电机、例如停车制动器。 我收到了该代码并将其添加到 proj 主文件中。
静态内联 void HAL_enableBreakPwm (HAL_Handle handle)
{
HAL_Obj * obj =(HAL_Obj *)句柄;
//强制高侧关闭,低侧打开
PWM_setActionQualContSWForce_PwmA (obj->pwmHandle[PWM_Number_1]、PWM_ActionQualContSWForce_Clear);
PWM_setActionQualContSWForce_PwmB (obj->pwmHandle[PWM_Number_1]、PWM_ActionQualContSWForce_Set);
PWM_setActionQualContSWForce_PwmA (obj->pwmHandle[PWM_Number_2]、PWM_ActionQualContSWForce_Clear);
PWM_setActionQualContSWForce_PwmB (obj->pwmHandle[PWM_Number_2]、PWM_ActionQualContSWForce_Set);
PWM_setActionQualContSWForce_PwmA (obj->pwmHandle[PWM_Number_3]、PWM_ActionQualContSWForce_Clear);
PWM_setActionQualContSWForce_PwmB (obj->pwmHandle[PWM_Number_3]、PWM_ActionQualContSWForce_Set);
返回;
}// HAL_enableBreakPwm()函数结束
我在项目顶部添加了如下所示的原型:
void HAL_enableBreakPwm (HAL_Handle handle);
当我查看调试器中的代码时、它会显示黄色警告和状态
#174-D 外部/内部链接与之前的声明冲突
尽管如此、代码仍会编译并看起来运行良好。 当我停止电机并调用 enableBreakPwm 函数时、它提供了一个可接受的制动操作、但即使电机未加载且未转动、它也会产生很大的噪声。 当我在示波器上查看相位时、我可以看到随机出现的占空比极低尖峰、这些尖峰从接地基线变为完整的电压电源值。 这些尖峰是它看起来的噪声源。 我是否忽略了某些内容? 为什么我会收到有关先前声明的警告。 我在项目中的任何 HAL 代码或其他代码中找不到名为此的函数。 BTW 此项目的基础项目是 lab5b。
噪音几乎听起来像是盖革计数器-它只是一个噼啪声、但振幅相当高。 是否有某种方法可以真正地拉低开关而不会出现这种毛刺脉冲运行?