使用Excel 对S型曲线加减速算法进行仿真

项目场景:

项目场景:代码中写了S型加减速算法,相查看生成的加减速数组,直观的展示出来,USB通信一次64字节,对于我几个个32位的频率值不太方便,于是采用Excel进行仿真。


代码中如何生成S加减速曲线数组?

这是原理:传送门

不再过多赘述,本文要点在于仿真。

这是我用代码复现:

使用2种曲线对比效果

c 复制代码
uint32_t CurveS_Para[100]={0};  //频率列表

/*
 正常版
*pbuff 存放S曲线的脉冲对应 ARR寄存器的值
 fre_max  最大频率
 fre_min  起始频率
 count 需要加速次数
*/
void CurveS_init_1(uint32_t *pbuff,uint32_t fre_max, uint32_t fre_min,int16_t count)
{
	int16_t i;
	uint16_t flexible =4;//曲线区间4-6
	float del_fre = fre_max-fre_min;
	float deno;
	float melo;
	float fre;

	for(i = 0;i<count;i++)
	{
		melo = flexible* (i-count/2.0f) / (count/2.0f);
		deno = 1.0f / (1 + expf(-melo));
		fre = del_fre * deno + fre_min;
	    pbuff[i] = (uint32_t)ceil((float)TIM1_CLOCK_FREQ/fre);
	}	
}
c 复制代码
/*
平移拉伸版
*/
void CurveS_init_2(uint32_t *pbuff,uint32_t fre_max, uint32_t fre_min,int16_t count)
{
	int16_t i;
	float del_fre = fre_max-fre_min;
	float deno;//分母部分
	float melo;//指数函数自变量
	float fre;

	for(i = 0;i<count;i++)
	{
		melo = ((-i*14.0f) /count)+7.0f;
		deno = 1.0f / (1.0f + expf(melo));
		fre = del_fre * deno + fre_min;
	    pbuff[i] = (uint32_t)ceil((float)TIM1_CLOCK_FREQ/fre);
	}	
}

Excel如何实现上述仿真:

  • 代码中有循环,在Excel中某列输入顺序数,右下角下拉,生成需要的数组个数。
  • 第二列编辑公式,保存后下拉。

正常版:=CEILING.MATH((495001)/(1+EXP(-4((A1-50)/50)))+500)

拉伸版:=CEILING.MATH((49500)/(1+EXP((-14*A1/100)+7))+500)

选中AB 或AC列生成散点图

  • 修改名称
    正常版:

    拉伸版:

效果展示:

经过Excel仿真后,用这个数组在代码中对步进电机进行加减速控制。生成PWM波形如下:

  • 百步加减速:
  • 按比例20步加减速:
相关推荐
软行4 分钟前
LeetCode 每日一题 3341. 到达最后一个房间的最少时间 I + II
数据结构·c++·算法·leetcode·职场和发展
nlog3n13 分钟前
Go语言交替打印问题及多种实现方法
开发语言·算法·golang
How_doyou_do24 分钟前
备战菊厂笔试4
python·算法·leetcode
朱剑君24 分钟前
第九天——贪心算法——非递减数组
算法·贪心算法
东方巴黎~Sunsiny36 分钟前
EasyExcel导出excel再转PDF转图片详解
pdf·excel
Wnq100721 小时前
工业场景轮式巡检机器人纯视觉识别导航的优势剖析与前景展望
人工智能·算法·计算机视觉·激光雷达·视觉导航·人形机器人·巡检机器人
Winter_world2 小时前
Excel中批量对多个结构相同的工作表执行操作,可以使用VBA宏来实现
excel·excel批量sheet操作
慧一居士2 小时前
EasyExcel集成使用总结与完整示例
java·excel
零凌林2 小时前
使用exceljs将excel文件转化为html预览最佳实践(完整源码)
前端·html·excel·vue3·最佳实践·文件预览·exceljs
天上路人3 小时前
AI神经网络降噪算法在语音通话产品中的应用优势与前景分析
深度学习·神经网络·算法·硬件架构·音视频·实时音视频