This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、TI、
我尝试在 lab5b (drv8301-69m-kit)中实现 POT 控制。 我使用的是 hal 教程、它起作用了。 但我不知道我的"g电 位计= HAL_readb电 位器数据(halHandle);"是否位于正确的位置。
我把它放在 for 循环的 main 中。
for (;;)
{
//等待使能系统标志被置位
while (!(gMotorVars.Flag_enableSys));
//启用库内部 PI。 Iq 现在以速度 PI 为基准
CTRL_setFlag_enableSpeedCtrl (ctrlHandle、true);
//循环、同时使能系统标志为 true
while (gMotorVars.Flag_enableSys)
{
电位计= HAL_readb电 位器数据(halHandle);
…
另一个问题、POT 范围为0-1000rpm。 如何根据电机的最大转速计算它们?
如果我使用开环、我必须根据占空比而不是 SPED_ref 设置 POT 值?!
提前感谢
什么是 HAL_read电 位器数据(halHandle)? 及其返回值类型?
IQMath 是使用定点控制器的虚拟浮点匹配函数、您可以链接到以下网站以了解 IQmath 的更多详细信息。
processors.wiki.ti.com/.../IQmath_Library_for_C28x
"motorware_hal_tutorial"的功能是添加 POT 读取。
"HAL.h"
//! \brief 读取电位计
//! \param[in]处理硬件抽象层(HAL)句柄
//! 将电位器值从_IQ (-1.0)返回到_IQ (1.0)
静态内联_IQ HAL_read电 位器数据(HAL_Handle handle)
{
HAL_Obj * obj =(HAL_Obj *)句柄;
_IQ 值;
//将电位计从 IQ12转换为 IQ24。
值=_IQ12toIq ((_Iq) ADC_readResult (obj->adcHandle、ADC_ResultNumber_8));
return (value);
}// HAL_read电 位 Data()函数结束
值类型为_iq。
如果我将 ADC 读取(gbuteometer = HAL_readb电 位器数据(halHandle)置于主系统的 for 循环中、则频率为80MHz。 这是否不是太快?
还是因为 ADCINT1用作触发源、所以它无关紧要?