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.

[参考译文] TMS320F2.8069万M:Lab01c电流传感器配置(电机抖动问题)

Guru**** 2589300 points
Other Parts Discussed in Thread: MOTORWARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/657148/tms320f28069m-lab01c-current-sensor-configuration-motor-jitter-issue

部件号:TMS320F2.8069万M
主题中讨论的其他部件:MOTORWARE

您好,

我正在尝试运行Lab01c,以便使用TMS320F2.8069万MPZT在自己的逆变器板上配置电流传感器电路。

使用C:\motorware\motorware_1_01_00_18\sw\solutions\instaspin_inf\boards\drv8301kit_revD\F28x\f2806xF项目2806项目的IM。

Lab01b运行完美! 感谢这个论坛!

如果我将"gMotorVars.Flag_enableSys"和"gMotorVars.Flag_Run_Identity"设置为1 MY Telco/Anaheim DT4260-24-055-04 Motor is jittering (我的Telco/Anaheim DT4260-24-055-04电机抖动)。 在这种情况下,配置为24V和3A电流限制的工作台电源存在问题,无法为电机提供足够的电流,因此电压下降,而工作台电源正在恒流模式和恒压模式之间切换。 我尝试了lab2a,发现几乎相同的问题,电动机使用3A电流,电动机以高频率振动。

 

以下是我在user.h文件中的设置:

#define user_IQ_full _scale FREQ_Hz               (640)

#define user_IQ_full标度电压V                     (24.0)   

#define user_ADC_FULL比例电压_V          (59.3)       

#define user_IQ) FULL磅秤_CURRENT_A            (18)   

#define user_ADC_FULL比例电流A          (35)     

#define user_NUM_CURRENT_SENSORS               (3)   

#define user_NUM_voltage_sensors                          (3)

#define  I_A_offset                                   (0.8331743479)

#define  I_B_offset                                   (0.8331743479)

#define  I_C_offset                                   (0.8331743479)

#define  V_a_offset                                  (0.5020679235)

#define  V_B_offset                                  (0.4977650046)

#define  V_C_offset                                  (0.4986107945)

#define user_system_FREQ_MHz                    (90.0)

#define user_PWM_FREQ_kHz                       (45.0)

#define user_MAX_VS_MAG_PU                      (0.5)    

#define user_vd_sf                                (0.95)

#define user_NUM_PWM_TICK_Per_ISR_TICK         (3)

#define user_NUM_ISR_TICS_PRL_TICK         (1)      

#define user_NUM_CTRL_TICS_PRIVATS_PRIVATE_TICK  (1)      

#define user_NUM_CTRL_TICS_PRIVATS_PRE_ET_TICK        (1)      

#define user_NUM_CTRL_TICS_PRIVE_per _速度_tick      (15)   

#define user_NUM_CTRL_TICS_PRIVE_per TRAJ_TICK       (15)   

#define user_MAX_NOLICS_ID_REF_CURRENT_A     (0.5 * USER_MOTOR_MAX_CURRENT)   

#define USER_ZEROSPEEDLIMIT                       (0.5 / USER_IQ_FULL比例FREQ_Hz)

#define user_MAX_ACCEL_Hzps                       (20.0)

#define user_MAX_ACCEL_EST_Hzps                  (5.0)      

#define user_IDRATED_fraction for _rated流量  (1.0)      

#define user_IDRATED_fraction for L_ident        (1.0)      

#define user_IDRATED_Delta                        (0.0.0002万)

#define user_SPEEDMAX_fraction for L_ident      (1.0)

#define user_flue_fraction                        (1.0)            

#define user_POWERWARP_Gain                      (1.0)         

#define user_R_over,L_EST_FREQ_Hz                (300)               

#define user_voltage_filter_pole_Hz               (335.648)

#define user_offset_pole_rps                       (20.0)

#define user_flue_pole rps                         (100.0)   

#define user_direction pole rps                    (6.0)   

#define user_speed_pole                        (100.0)   

#define user_DCBus_pole_rps                       (100.0)

#define  user_EST_KAPAQ                          (1.5)

 

仅对于当前测量,哪些设置是调整所必需的?  

问题1:这些user.h设置是否正常? (特别是USER_IQ) FULL比例当前A和USER_ADC_FULL比例当前A)

 

下图是每个相位的电流测量的我的电路。

来自运算放大器的所有偏移电压均正确。

问题2:我忘了将1000pF电容器放在并联电阻器附近。 这可能是问题吗?

 


 

问题3:我意外地将相位C和B切换为ADC输入。 这是否也是一个问题?  

 

                                          

我还注意到,当我将"gMotorVars.IqSet_A"设置为0.001 时,马达运行良好。 如果我将此值增加到0.015 ,则会遇到前面提到的相同问题。

我希望有人能帮助我。 提前感谢您的参与。

此致,

马丁   

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    确保某些参数根据您的硬件正确。 user_ADC_FULL标定电流A为(33)根据原理图,检查HAL_readAdcData()中读电流ADC的符号(hal.h),检查PWM和电流/电压ADC序列在HAL.c中是否适合电动机相位。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    ´ve明白了!

    hal.c文件中的ADC配置不正确。 检查ADC-configs是否适合的方法是查看ADCRESULT寄存器。

    为了完整性:
    步骤1:测量来自反馈电路的偏移电压(例如1.65 V)
    步骤2:转到注册视图并将特定的ADCRESULT注册添加到监视窗口。 如果程序运行´s,它们将被永久更新。
    步骤3:现在计算值:ADC (十进制值)= 4096 *(1.65V/3.3V)
    ADC (十进制值)= 2048
    步骤4:将监视窗口中特定ADCRESULT寄存器的值与计算值进行比较。 如果该值大约在此区域中,则应该正确。 如果是n´t (在我的情况中),请检查hal.c文件中的ADC–配置。

    我指的是motorware_hal_tutorial.pdf。 本文档完美地描述了如何进行配置。

    此致,

    马丁
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的。 如果正确配置ADC,让我们知道运行状态是什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Yanming,

    "正在运行"状态的含义是什么? 我´m困惑。
    如果我使用gMotorVars.KP_idq = 2.5.15524864亿 和gMotorVars.IqSet_A = 0.5 的默认值运行实验室1c,我仍然遇到轴抖动和电机电流过高的问题,导致工作台电源(24V 6A)电压下降。

    ´m我调整gMotorVars.KP_idq,gMotorVars.IqSet_A和gMotorVars.SpeedRef_Krpm,则我能够实现当前环路正在工作。 ´m手动降低电动机的速度,我可以观察到(工作台供电)电流消耗增加。 我认为现在可以正确调整当前测量的硬件。

    感谢你的帮助。

    此致,

    马丁
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.您能否确认ADC读数的符号在hal.h的HAL_readAdcData()中如下?
    _IQ Current_SF = HAL_getCurrentScaleFactor (句柄);
    _IQ voltage_SF = HAL_getVoltageScaleFactor (句柄);
    2.请根据您的硬件主板检查偏移是否正确。
    3.您可以先使用lab01b运行马达,然后使用数据记录检查电流感应。 使用数据记录的图形应与示波器上的波形相似。 您也可以检查角度输出作为实验指南。
    4.调谐gMotorVars.IqSet_A,并将gMotorVars.IdSet_A设置为零,如果电流感应正确,电动机应运行良好。 您还可以调谐gMotorVars.SpeedRef_Krpm。