TI学习笔记之“Flying Start”

18 篇文章 13 订阅
12 篇文章 1 订阅

Flying start具备在非零转速下启动的能力,这种功能适用于洗衣机、风机、电动自行车、电动滑板车等应用。Flying start模式对于启动命令的响应是和电机转速(频率和相位)以及电压同步的,而后电机加速至目标转速,这将避免触发过流保护。

无传感器flying start功能植入了一个“频率搜索算法”来寻找电机转速,“频率搜索算法”寻找与电机的激励电流相对应的电机电压。

电机在旋转过程中,转速和位置信息可以通过反电势来估算。如下图所示,flying start模式下,速度环被禁用,零转矩电流作用于电机,即iq基准值设为0。当flying start运行时间达到时,使能转速环并设置速度环的基准值。

在ISR中,调用了FS_run()函数,分析代码不难看出,如果使能了flying start功能,将id和iq的基准值均设为0,同时获取FAST估算的转速,并对该转速进行低通滤波,当检查时间达到时,禁用flying start功能,并使能转速环,将FAST估算出的转速作为转速环的基准。

static inline void FS_run(CTRL_Handle handle, FS_Handle fsHandle)
{
  CTRL_Obj *ctrl = (CTRL_Obj *)handle;

  FS_Obj *fs = (FS_Obj *)fsHandle;

  if(fs->flag_enableFs == true)
  {
	  CTRL_setId_ref_pu(handle, _IQ(0.0));
	  CTRL_setIq_ref_pu(handle, _IQ(0.0));

	  fs->speed_ref_pu = CTRL_getSpd_ref_pu(handle);
	  fs->speed_est_pu = EST_getFm_pu(ctrl->estHandle);
	  fs->speed_est_avg = _IQmpy(fs->speed_est_avg, _IQ(0.8)) + _IQmpy(fs->speed_est_pu, _IQ(0.20));

	  if(fs->cnt_checktime >= fs->max_checktime)
	  {
		  if(_IQabs(fs->speed_est_avg) < fs->speed_fs_min)
		  {
			  fs->speed_set_pu = _IQ(0.0);
		  }
		  else
		  {
			  fs->speed_set_pu = fs->speed_est_avg;
		  }

		  fs->flag_enableFs = false;
		  fs->flag_enableSpeedCtrl = true;

		  TRAJ_setIntValue(ctrl->trajHandle_spd, fs->speed_set_pu);
		  PID_setUi(ctrl->pidHandle_spd, _IQ(0.0));

		  CTRL_setSpd_out_pu(handle, _IQ(0.0));
	  }
	  else
		  fs->cnt_checktime++;
  }
  else
  {
	  fs->flag_enableSpeedCtrl = true;
  }

  return;
} // end of FS_run() function

参考文献:InstaSPIN Projects and Labs User’s Guide,TI技术文档

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
TI RTOS学习笔记是作者在学习TI-RTOS过程中记录的学习笔记。根据引用[1],在学习TI-RTOS之前,先要了解什么是RTOS,以及什么是TI-RTOS。RTOS是实时操作系统(Real-Time Operating System)的缩写,它是一种专门用于处理实时任务的操作系统。TI-RTOS是Texas Instruments(TI)公司提供的一种RTOS,适用于TI系列的处理器和微控制器。 根据引用,作者在网上没有找到TI-RTOS的学习视频,但TI公司提供了许多相关的文档资料,因此作者选择通过阅读文档并记录笔记学习TI-RTOS。 另外,引用中提到了TI RTOS SDK编译框架的介绍。TI RTOS SDK是TI公司提供的用于开发TI-RTOS应用程序的软件开发工具包。编译框架是指用于将源代码转换为可执行文件的编译和构建过程。通过学习和了解TI RTOS SDK的编译框架,可以更好地理解和使用TI-RTOS。 所以,TI RTOS学习笔记是作者记录的关于学习TI-RTOS的笔记,包括对RTOS的理解、TI-RTOS的介绍以及TI RTOS SDK的编译框架的学习和总结。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [TI-RTOS学习记录(一)——初识TI-RTOS](https://blog.csdn.net/qq_43105170/article/details/126447116)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [TI RTOS SDK编译框架介绍](https://download.csdn.net/download/embededman/86951678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值