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.

[参考译文] CCS/LANCCHXL-F2.8027万F:调谐电机-自定义代码写入,滤波极,过流检测等

Guru**** 2549110 points
Other Parts Discussed in Thread: DRV8301, INA302, MOTORWARE, CONTROLSUITE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/621800/ccs-launchxl-f28027f-tunning-motorware---custom-code-writing-filter-poles-over-current-detection-etc

部件号:LAUNCHTXL-F2.8027万F
线程中讨论的其他部件:DRV8301MOTORWAREINA302TMS320F2.8027万FcontrolSUITE

工具/软件:Code Composer Studio

我在使用汽车器具正确识别电动机时遇到一些问题,我们最近使用DRV8301和F2802x MCU的核心文件构建了一个设计。

到目前为止,我们使用实验2b。

我们用专用栅极驱动器替换了DRV8301,并使用INA302电流感应放大器获得电流电平,并使用OCP驱动TZ3引脚,以逐周期停止PWM。

一切正常工作,但未准确检测到电机参数,因此需要进行一些测试和错误,电机才可用。

其中一个问题是在处理过流的情况时。 在识别过程中,电机跳转和停止数次,通常会看到高于user.h文件上设置的最大电流。 在过去,这已导致电源开关损坏。 通过使用上述设置,我们现在能够通过硬件逐个循环限制此电流,并且在电机旋转(扭矩控制)后,此功能正常工作,但它似乎会干扰识别。

  • 为什么在user.h,电机参数上设置的这些电流未被正确检测和限制?

我们使用了Rsense = 5MR,INA302增益为20,VCC = 3.3V,因此我们将具有+/-15A的完整范围。 当前没有对电流感应放大器的输入进行过滤。

  • 是否需要过滤如何计算这些参数? instaspin手册仅提供有关相位电压滤波器的详细信息
  • 是否有一个参数报告电流和相位电压,仅用于验证目的?

在实验2b中,我觉得在启动时检测到(部分或全部)参数并使用它们,而不是依赖user.h文件中的配置。 是否还有另一个实验,我可以在最后一种跳过标识的方法上使用?  

  • 最后,我目前正在使用软件上的变量定义速度参考,但我想使用电位计和内部ADC通道。 是否有代码示例?
  • 我是否应该从头开始新项目?
    • 假设我更愿意修改F2802x所包含的其中一个实验,哪一个比较合适(最终方法,电机的手动参数,在早期识别和使用电位计手动控制速度期间获得)?

谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. user.h中的USER_IQ/FULL比例电流A为ADC/(0.005 *20)=33A,即3.3 处的最大电流
    2.假设电流采样没有延迟,或者延迟比电压滤波器小。
    3.您可以根据自己的选择修改现有项目或创建新的自项目。 您需要在基于您的系统的user.h中更改h/w参数(user_adc_full Scale当前_A,user_adc_full _scale Voltage_V....)和电机参数。
    4.使用电位计设置速度参考并不困难。 将电位计连接到ADC通道,然后读取转换结果,将其转换为基于速度刻度的参考速度。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Carlos,您能发布您的用户吗?h? 此外,这是为安装在F2.8027万F LaunchPad上而创建的自定义主板吗?

    有关ADC+电 位计教程,请参阅“C:\ti\motorware\motorware_1_01_00_18\docs\tutorials”中的motorware_hal_tutorial.pdf文件。

    此外,lab2x实验室用于电机ID,不用于最终产品。 我建议使用带InstaSPIN控制器(CTRL)的扭矩模式的lab4,或不带InstaSPIN控制器的使用lab11/11a

    Sean
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢Sean。
    我现在希望主板在速度模式下操作电机,而不是在扭矩模式下操作电机。 您所说的'在没有instaSPIN控制器的情况下使用'究竟是什么意思?

    另一个问题是,如果来自电流感应放大器的输入电压高于某个阈值,TMS320F2.8027万F I上是否有内置比较器可用于使PWM跳闸? 我希望通过硬件而不是软件/专用外部硬件比较器(当前已实施)来执行此操作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    卡洛斯

    快速估算器配有控制器(CTRL)模块,可帮助在流量,速度,角度和扭矩估计之外运行FOC控制回路。 控制器处理Clarke和Park转换以及SVGEN模块的计时和执行等事务。 您可以将其视为类似于状态机。 本文档第26页显示了CTRL_setup()和CTRL_run()处理InstaSPIN-FOC的功能: www.ti.com/.../spruhj1g.pdf

    F2802x ePWM模块具有内置跳闸区域功能,请参阅本文档的2.7 部分: www.ti.com/.../spruge9e.pdf

    Sean
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sean,您理解我的问题吗?

    是的,存在跳闸区域,我将其与其他硬件一起使用,以便在发生过电流事件时停止PWM,如上所述:

    我们用  专用栅极驱动器替换了DRV8301,并使用 INA302 电流感应放大器获得电流电平,并使用OCP驱动TZ3引脚,以逐周期停止PWM。

    同样,问题是如何使用MCU上的内置比较器来获取馈入ADC的模拟信号,将其与内部DAC设置的参考进行比较,并触发跳闸区域,从而在INA302上分配外部参考电压和比较器的要求。

    本文档 说明了内置比较器和DAC。 我是否可以获得一些有关如何使用此功能的帮助或代码示例?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我认为controlSUITE中没有任何代码示例可用于将DAC设置为比较器的参考,然后触发跳闸区域以强制基于ADC输入的PWM输出。 我认为在一些系统示例中有一些类似的代码,例如Lighting_DCDC和BOOSTXL_BUCKCONVs项目。 我将努力为Piccolo安排一些工作来完成任务,但无法给出何时可以移交任何工作的时间框架

    Sean
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Sean。
    我成功地修改了实验室,因此我们有一个例子来获取电机参数,另一个例子来使用电位计作为速度参考,以变速运行电机。

    您是否能够根据ADC输入值在内部PWM触发方面取得一些进展?