InstaSPIN FOC软硬件使用指南

描述

  随着市场需求的发展,C2000实时处理器不断地在性价方面做优化, 高性价比的F28002x系列在2020年开始量产。 F28002x系列拥有100MHz C28x 32Bit DSP CPU,高达128KB Flash 和24KB RAM,有两个独立的12位ADC 转换器,每个ADC 转换器高达3.45MSPS采样率,有16个ADC通道,有14路ePWM 输出(其中8路支持高精度HRPWM,最高可到达150ps精度),有四个窗口比较器CMPSS,支持CAN 和LIN 通讯,有48脚/64脚/80脚LQFP三种封装,因此,非常适合做各种风机,水泵,油泵,空调压缩机等电机控制应用以及做交错式PFC,图腾柱PFC, LLC,移相全桥等数字电源拓扑控制。

  F280023C/F280025C 型号内置TI 高性能的无传感器InstaSPIN FOC控制算法,其优异的观测器性能,可以提升客户产品的启动性能,也可以让客户产品运行在更低的工作频率。过调制功能可以让客户产品运行在更高的工作频率,从而提升了电机运行的效率。InstaSPIN FOC 同时还自带电机参数自学习功能,通过自学习功能,可以识别电机的电阻,电感和反电势参数, 从而自动生成速度环和电流环控制的PID,因此大大简化了客户匹配电机的过程,减少了客户的开发时间。同时降低了客户对于FOC电机控制的经验要求,因此深受广大客户的欢迎。从而广泛应用于白电空调压缩机,冰箱压缩机,洗衣机电机,无人机动力电机,新能源汽车空调压缩机,各种风机,水泵,油泵等控制场合。

  本文将介绍基于F280025C ControlCard和DRV8312-Kit 的InstaSPIN FOC 软硬件使用指南。

  硬件准备工作

  首先, 请准备好下面三个硬件:

  1. TMDSCNCD280025C -- F280025C ControlCard

  2. DRV8312-C2-KIT/DRV8312-69M-KIT — DRV8312电机控制套件

  这个套件包含以下内容:

  DRV8312 三相电机控制板

  Piccolo TMDSCNCD28035ISO controlCARD或者TMDSCNCD28069MISO controlCARD

  1个 BLDC/BLAC NEMA17 55W 电机

  24 V 电源

  USB 线

  3. TMDSADAP180TO100 — 180PIN 到100PIN转接卡

  因为DRV8312-KIT是比较早的电机控制套件, 设计时ControlCARD的接口是按第二代C2000 ControlCARD 设计的100PIN 接口, 而F280025C ControlCARD是按照第三代C2000 ControlCARD 设计的120接口,因此F280025C ControlCARD需要通过TMDSADAP180TO100转接才能接到DRV8312-KIT的接口上。

  硬件设置

  接下来请按下面步骤来设置硬件。

  步骤一. DRV8312-KIT跳线和拨码开关设置:

  如下图所示:JP1 跳线接到VR1, M1 接到H ,RSTA/RSTB/RSTC 拨到中间(MCU)位置

  

cpu

 

  步骤二. F280025C ControlCard 拨码开关设置

  如下图所示:S1A 全拨到上面, S3 拨到上面 ,S5 左边的拨到下面,右边的拨上面

  

cpu

 

  步骤三:将F280025C ControlCard 接到TMDSADAP180TO100 上, 然后将它们一起接到DRV8312-KIT 的J1 ControlCard 插槽上,如下图所示:

  

cpu

 

  步骤四:

  1.将电机三相输入接到M0A/MOB/MOC,

  2.将Mini USB 接口一端链接电脑USB 口,一端连接到F280025C ControlCard J1:A 接口上,

  3.24V 电源接到J9

  整体安装完成图如下:

  

cpu

 

  软件准备工作请确保已经安装C2000Ware_MotorControl_SDK_F28002x_3_00_00_01

步骤一:打开CCS,导入项目CCS 项目,例如is05_motor_id_eabi

(项目在“..\C2000Ware_MotorControl_SDK_F28002x_3_00_00_01\solutions\drv8312_c2_kit\f28002x

\ccs\sensorless_foc”路径下)

步骤二:确保hal.c(..\C2000Ware_MotorControl_SDK_F28002x_3_00_00_01\solutions\

drv8312_c2_kit\f28002x\drivers\source\hal.c路径下)文件,HAL_setupADCs(HAL_Handle handle)函数中, ADC SOC 配置如下:

  // configure the SOCs for drv8312kit_revD

  // IA-FB - A1/RA0

  ADC_setupSOC(obj->adcHandle[0], ADC_SOC_NUMBER0, ADC_TRIGGER_EPWM1_SOCA,

               ADC_CH_ADCIN1, 14);

 

  // IB-FB - C1/RC0

  ADC_setupSOC(obj->adcHandle[1], ADC_SOC_NUMBER0, ADC_TRIGGER_EPWM1_SOCA,

               ADC_CH_ADCIN1, 14);

 

  // IC-FB - A3/RA1

  ADC_setupSOC(obj->adcHandle[0], ADC_SOC_NUMBER1, ADC_TRIGGER_EPWM1_SOCA,

               ADC_CH_ADCIN3, 14);

 

  // ADC-Vhb1 - C11/RC1

  ADC_setupSOC(obj->adcHandle[1], ADC_SOC_NUMBER1, ADC_TRIGGER_EPWM1_SOCA,

               ADC_CH_ADCIN11, 14);

 

  // ADC-Vhb2 - A7/RA2

  ADC_setupSOC(obj->adcHandle[0], ADC_SOC_NUMBER2, ADC_TRIGGER_EPWM1_SOCA,

               ADC_CH_ADCIN7, 14);

 

  // ADC-Vhb3 - C7/RC2

  ADC_setupSOC(obj->adcHandle[1], ADC_SOC_NUMBER2, ADC_TRIGGER_EPWM1_SOCA,

               ADC_CH_ADCIN7, 14);

 

  // VDCBUS -   A14/RA3. DRV8312 board does not have capacitor on Vbus feedback, so

  // the sampling needs to be very long to get an accurate value

  ADC_setupSOC(obj->adcHandle[0], ADC_SOC_NUMBER3, ADC_TRIGGER_EPWM1_SOCA,

               ADC_CH_ADCIN14, 200);

 

  // throttle -  C0->RC3

  ADC_setupSOC(obj->adcHandle[1], ADC_SOC_NUMBER3, ADC_TRIGGER_EPWM1_SOCA,

               ADC_CH_ADCIN0, 14);

步骤三:确保user.h(..\C2000Ware_MotorControl_SDK_F28002x_3_00_00_01\solutions\

drv8312_c2_kit\f28002x\drivers\include\user.h路径下) 中电流,电压,截止频率参数如下:

//! \brief Defines the nominal DC bus voltage, V

//!

#define USER_NOMINAL_DC_BUS_VOLTAGE_V          ((float32_t)(24.0f))

 

//! \brief Defines the maximum voltage at the AD converter

//!

// Full scale voltage of AD converter, not the current voltage

#define USER_ADC_FULL_SCALE_VOLTAGE_V         ((float32_t)(66.32f))

 

//! \brief Defines the maximum current at the AD converter

//!

// DRV8312 motor control kit

#define USER_ADC_FULL_SCALE_CURRENT_A         ((float32_t)(17.3f))

 

//! \brief Defines the analog voltage filter pole location, Hz

//!

#define USER_VOLTAGE_FILTER_POLE_Hz           ((float32_t)(714.14f))

步骤四:增加下面部分内容,并确保 #define USER_MOTOR my_motor_new

#define my_motor_new                 600

#elif (USER_MOTOR == my_motor_new)

#define USER_MOTOR_TYPE                   MOTOR_TYPE_PM

#define USER_MOTOR_NUM_POLE_PAIRS         (4)

#define USER_MOTOR_Rr_Ohm                 (NULL)

#define USER_MOTOR_Rs_Ohm                 (0.417878777f)

#define USER_MOTOR_Ls_d_H                 (0.0007190173f)

#define USER_MOTOR_Ls_q_H                 (0.0007190173f)

#define USER_MOTOR_RATED_FLUX_VpHz        (0.0327013217f)

#define USER_MOTOR_MAGNETIZING_CURRENT_A  (NULL)

#define USER_MOTOR_RES_EST_CURRENT_A      (1.5f)

#define USER_MOTOR_IND_EST_CURRENT_A      (-1.5f)

#define USER_MOTOR_MAX_CURRENT_A          (5.0f)

#define USER_MOTOR_FLUX_EXC_FREQ_Hz       (20.0f)

#define USER_MOTOR_NUM_ENC_SLOTS          (NULL)

#define USER_MOTOR_INERTIA_Kgm2           (7.06154e-06f)

 

#define USER_MOTOR_MIN_MAX_HZ             (5.0)           // Hz

#define USER_MOTOR_FREQ_MAX_HZ            (390.0)         // Hz

 

#define USER_MOTOR_FREQ_LOW_HZ            (10.0)          // Hz

#define USER_MOTOR_FREQ_HIGH_HZ           (400.0)         // Hz

#define USER_MOTOR_VOLT_MIN_V             (4.0)           // Volt

#define USER_MOTOR_VOLT_MAX_V             (24.0)          // Volt

至此软硬件准备工作完毕,接下来可以参考MotorControl SDK InstaSPIN Lab Guide.pdf进行具体的InstaSPIN FOC 软件调试工作。

(MotorControl SDK InstaSPIN Lab Guide.pdf..\C2000Ware_MotorControl_SDK_F28002x_3_00_00_01\

solutions\common\sensorless_foc\docs\labs路径下)

  注意事项:

  C2000Ware_MotorControl_SDK_F28002x_3_00_00_01 软件包并未公开发布,有需要的客户请联系所对应的TI销售和FAE 进行申请。

  参考文档:

  1.InstaSPIN FOC 详细说明文档,请参考手册

  InstaSPIN-FOC and InstaSPIN-MOTION User's Guide

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分