用加法器实现T型曲线的理论分析

//  2017年12月28日     建立 by cofin

T型加速曲线公式:如下所示:

Vt = v0+at                (1)

S = 1/2at2 + v0*t              (2)

举例,如果我们要在5MHz下产生一个1Khz的方波,那么我们需要用5M/1K = 5000 来得到计数数值,然后用计数器设计,当计数到5000-1时即完成了发送一个脉冲的任务,这样的设计肯定需要用除法, 就算不会综合成除法器,但是当我们的1K改成变量时,肯定会综合出来除法器的,由此会占用大量的资源,如果这种模块并列几个的话,fpga的大量资源就会被浪费了。

改进算法:基于以上原因,我们提出了改进的算法,对上式进行变换5M = 1K * x,这里X的值很显然是常量,然后我们接着变换,5Mhz = V0 * x,这样,不同的V0就会对应不同的x值,现假设我不知道x的值,但是我已知V0的值,那么我对V0进行累计,每进行一次累计,就和5Mhz做比较,当累加的数值大于或者等于5MHz时,此时去得到累加的次数,也就是x的值了。这样的话,我设计一个基于V0的累计器就可以不用除法器了,从资源上来说,占用加法器的位数会比较多,所占加法器资源会增加,但是却省略了除法器,这样从一定程度上回节约很多资源,二来由于是大于等于式的设计,那么必定存在误差,当恰好等于5Mhz时,此时没有误差,当大于5Mhz时,必定会有误差,此时可以减1来改变误差。。。

基于以上理论,我们讨论如何进行T型加速。

设现在运行的速度时Vw,则当前速度运行一步所需要数的脉冲:5Mhz / Vw,其值乘以1/5Mhz(在5Mhz时钟下产生的)就是步进电机运行该速度的时间,而该值在公式中也就是一个脉冲,所以我们不用式(2),然后我们将上述式子进行变换,如下:

Y MHz = Vw * X;

其中Y和Vw已知,通过累加Vw(每个脉冲的上升沿来到之后),然后每次累计完毕都和Y比较,当大于等于Y时,也就说明一个脉冲发送完毕了,其累加次数X就是要数多少下。

同样的速度的变化量怎么得到呢?同样的,我对式(1)进行变换,Vt = V0 + ∆V,其中∆V = aT,a已知,T等于什么呢?T在该系统中是运行一步的时间,即∆V = a * (5Mhz/Vw ) * (1/5Mhz),化简一下,∆V = a * (1/Vw);再次化简∆V * Vw = a;解释:只要对Vw进行计数,同时每计一次数就和a(加速度)进行比较,如果大于等于加速度,此时当前的计数累加值就是速度变化量∆V,也就是下次速度的变化量 ,误差分析,当刚好等于时,速度的变化量就是标准正确值,当大于a时,存在微小的误差。

综上所述,我们只要对Vw(当前的速度)进行一定的累加就可以得到位移的变化和速度的变化,但与其比较的值会带来误差,经过分析,提高时钟频率可以减小误差,也就是说合理的提高一点时钟频率会影响电机的加减速运行。这样做的优点:省资源,存在一定的误差,也就是速度可能比实际设置的速度大一点,二来减速过程最终的速度可能和初速度不相等。

转载于:https://www.cnblogs.com/cofin/p/9979685.html

T型加速算法fpga实现思想研究相关推荐

  1. 【GNN】谷歌、阿里、腾讯等在大规模图神经网络上必用的GNN加速算法

    点击上方,选择星标或置顶,每天给你送上干货 作者 | 对白 出品 | 对白的算法屋 今天我们来聊一聊在大规模图神经网络上必用的GNN加速算法.GNN在图结构的任务上取得了很好的结果,但由于需要将图加载 ...

  2. STM32F103步进电机梯形匀加速算法

    最近公司的一个项目用带驱动器的步进电机,奈何,经理让我搞个匀加速的启动和停止.以前从来没考虑过算法的我,走了很多弯路,不过最后还是解决了这个问题. 梯形加减速应该是指数加速算法和S型加速算法中最简单也 ...

  3. T-S型模糊算法简述及FPGA的实现

    目录 0 引言 1 将清晰的数据模糊化 2.模糊推理 2.1模糊命题 2.2T-S模糊推理 3.将模糊的数据清晰化 4.使用模糊算法逼近一阶线性定常系统在MATLAB中实现 5.在FPGA中实现模糊算 ...

  4. 灯管实验的em算法_Gamma过程的加速退化试验设计关键技术研究

    Gamma过程的加速退化试验设计关键技术研究 导读:本文在介绍步进应力加速退化试验设计基本理论的基础上,研究基十Gamma过程的步进应力加速退化试验设计相关问题,给出单应力.多应力下步进应力加速退化试 ...

  5. 【《Real-Time Rendering 3rd》 提炼总结】(十一) 第十四章 : 游戏开发中的渲染加速算法总结

    本文由@浅墨_毛星云 出品,转载请注明出处.   文章链接: http://blog.csdn.net/poem_qianmo/article/details/78884513 导读 这是一篇1万3千 ...

  6. FPGA设计思想与技巧(转载)

    题记:这个笔记不是特权同学自己整理的,特权同学只是对这个笔记做了一下完善,也忘了是从那DOWNLOAD来的,首先对整理者表示感谢.这些知识点确实都很实用,这些设计思想或者也可以说是经验吧,是很值得每一 ...

  7. CNN 模型压缩与加速算法总结

    CNN 模型压缩与加速算法 转载地址:https://blog.csdn.net/QcloudCommunity/article/details/77719498 导语:卷积神经网络日益增长的深度和尺 ...

  8. 【转载】【《Real-Time Rendering 3rd》 提炼总结】(十一) 第十四章 : 游戏开发中的渲染加速算法总结

    本文由@浅墨_毛星云 出品,转载请注明出处.    文章链接:  http://blog.csdn.net/poem_qianmo/article/details/78884513 导读 这是一篇1万 ...

  9. 基于AdaBoost算法的情感分析研究

    源码下载 http://www.byamd.xyz/hui-zong-1/ 基于AdaBoost算法的情感分析研究 摘 要 随着互联网的快速发展,各类社交媒体平台如微信.QQ等也与日俱增,而微博更是集 ...

最新文章

  1. java的队列实现方法_Java实现队列的三种方法集合
  2. idea实现抽象类的所有抽象方法_父类子类抽象类,super final 重写方法,搞懂继承中复杂的知识点
  3. 蓝桥杯-基础练习 十六进制转八进制
  4. Node.js Error: Cannot find module express
  5. MFC调用dos窗口使用printf,cout打印输出
  6. 未能加载文件或程序集Tianyige.SqlServerDAL问题解决
  7. GITC 2014全球互联网技术大会正式开始
  8. 小程序停止html5音乐,微信小程序-音乐播放器+背景播放
  9. hdu 2837 Calculation
  10. Android APK 修改
  11. 利用root权限随意对app进行保资料降级 99%成功
  12. FOI对象中显示labels --Oracle Map
  13. 【第二节】HTML5小实例
  14. win10镜像文件能直接安装吗
  15. 途牛VS去哪儿VS去啊旅游产品竞品分析报告
  16. 疫情让“灵活用工”浮出水面,作为Android开发的你“灵活用工”了吗?
  17. 推土机距离(Wasserstein distance)以及其他几种常用的分布差异度量方法(mark)
  18. 微软的面试题及答案-超变态但是很经典(转)
  19. CAN总线协议:标准CAN和扩展CAN
  20. Promise: 手写Promise

热门文章

  1. Vue中Web组态实现方案-WebTopo的使用
  2. Redis常用命令之操作String类型
  3. ZedGraph怎样在生成曲线时随机生成不一样的颜色
  4. Eclipse安装从dao层直接到mapper层的插件
  5. spring系列-注解驱动原理及源码-自动装配
  6. AndroidStudio创建第一个 Flutter 应用程序
  7. 吐血整理《计算机网络五层协议之物理层(中)》
  8. mme设备内部错误_防爆电气设备安装的三大误区 你中招了没?
  9. linux 串口编程_ARM-Linux开发与MCU开发有何不同?上篇
  10. VMware Skyline