伺服控制的加减速过程

在日益完善的伺服系统控制中,只要确认频率和脉冲数,就可以输出PWM了,但是如果短时间输入频率过高,就会因伺服电机来不及达到它所能及的最高转速,产生报警,而且如果加速度过冲产生还会影响工艺,所以在伺服系统中除了关注输入的频率脉冲数还有一项就是加减速过程

 

常见的加减速方式

1. 直线加速

根据该图可以看到非常直观的加减速过程(实际使用中发现减速应该要更长),确定加减速时间常量,再解出一次方程

y=kx+b

 

程序方面一个定时器和一个变量就可以搞定。

但是如果MCU性能有限,或者就是单纯想省掉这个定时器,就需要一个相对复杂的过程。首先你要了解到,Tim一个脉冲(秒)=1(秒)/f(频率),你唯一确定的是加速时间常数(Tim加速),那么后面考虑的递增变量应该是时间单位,频率的递加那么就是时间的递减,就需要求解Tim频率=1/(f起始频率)+1/(f+1)+1/(f+2)...+1/(f结束频率),在通过 d=Tim频率/Tim加速 将加减速的时间拉长,得到d,每次将d减到脉冲定时器的计数器中即可。

写完上面的代码发现几乎没有节省什么性能而且不平稳,而且还考虑到是否频率越高加速时间也要随着拉长,所以将确定常量加速时间改为加速脉冲数量,递增也就变成频率,事先计算好由加减速时间常量得到的最低和最高加减速脉冲数量,d=脉冲数/频率,每次将d加到之前的频率再转换给脉冲定时器的计数器中即可。

 

2. S曲线加速

 

比直线更好的加速曲线,符合了伺服电机扭矩提升的特性,计算公式

y=1/(1+exp(-x))

 

程序方面因其计算的复杂,MCU性能不够的话每次去调用算式去算使得脉冲间隔时间有些大,就事先算好频率放到数组里再代入到对应脉冲的当中。

 

宏观加减速

上面说的都是一段脉冲的加减速过程,复杂的比如cnc连续多段的,每一段都上升下降就太浪费,连续的运动应该有一个频率的承接,比如第一段F500,第二段F1000,过程应该是0 ------- F500 --------- F1000,也因为伺服电机的转矩特性,这样转矩也不会丢掉。

 

参考:

https://wenku.baidu.com/view/690b5e7b02020740be1e9ba6.html

https://blog.csdn.net/weixin_42399752/article/details/85245942

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
开源 FPGA 伺服控制是指利用开源的 FPGA (场可编程门阵列)技术来实现伺服控制系统。FPGA 是一种可编程的硬件设备,可以根据用户需求灵活地配置和重新编程。 传统的伺服控制系统通常使用专用的芯片或模块来完成特定的控制任务。然而,这些专用芯片的设计和制造非常昂贵,并且难以实现个性化定制。相比之下,开源 FPGA 技术可以提供更大的灵活性和可定制性。用户可以根据自己的需求设计和开发适用于不同应用领域的伺服控制系统。 利用开源 FPGA 技术进行伺服控制能够带来一些主要的优势。首先,开源硬件的开发和维护成本相对较低,因为用户可以共享和重复使用现有的开源设计和代码。其次,开源社区的支持和参与可以促进技术的发展和改进,使得伺服控制系统更可靠和高效。此外,开源 FPGA 技术还可以鼓励创新和合作,促进相关领域的发展。 然而,开源 FPGA 伺服控制系统也面临一些挑战。首先,开源硬件技术的普及度可能相对较低,需要更多的宣传和推广。其次,对于非专业用户而言,学习和使用 FPGA 技术可能有一定的学习曲线。此外,开源硬件的可靠性和性能也需要进一步验证和优化。 总而言之,开源 FPGA 伺服控制是一种具有潜力的技术,可以为伺服控制系统带来更大的灵活性和可定制性。尽管面临一些挑战,随着开源硬件技术的进一步发展和推广,开源 FPGA 伺服控制有望在各个领域得到更广泛的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值