基于ARM和FPGA的多路电机控制方案

网友投稿 377 2022-11-12

基于ARM和FPGA的多路电机控制方案

1 多轴控制器主要功能

2 多轴控制器组成

3 fpga控制逻辑

专用控制器在完成整个控制的过程中,arm只负责指令解析、控制指令发送、实时数据上传等任务,fpga才是多轴专用控制器的核心。通过Verilog HDL语言在fpga内部实现了加减速曲线、编码器信号辩向及四细分、绝对位移记录等功能。图3为电机控制的整体输入、输出信号图,通过片选信号CS、读有效信号rd_enable、写有效图信号wr_enable进行电机通道选择。图4给出了1#通道控制的fpga内部逻辑示意图,下面将逐一对各主要模块进行详细介绍。

1)加减速曲线模块

为了更有效、更理想地控制电机的运行,在fpga内部设计了加减速曲线模块。文中采用了一种近似指数加减速曲线的方法,如图5为近似指数加速曲线,减速曲线与之对称。速度等距分布,那么在该速度级上保持的时间不一样场。为了简化,用速度级数N与一个常数C的乘积去模拟并且保持的时间用不熟来代替。因此,速度每升一级,电机都要在该速度级上走NC步(其中N为该速度级数)。

fpga获得方向信号、脉冲(距离)信号、目标分频值之后.如果电机运行过程中不需要加减速,直接以目标分频值控制脉冲信号的发送即可。如果需要执行加减速,则fpga内部要调用加减速模块。根据地址线获取一组数据,即脉冲个数pul_cnt和分频值div_num,以div_num大小的分频值发送pul_cnt个脉冲,然后再按照下一组数据值发送脉冲,直到分频值达到目标分频值为止,减速过程与加速过程对称。当电机按照脉冲(距离)信号运行到一半行程的时候,如果分频值还未达到目标分频值,此时就要进行强制减速。

2)编码器反馈辨向及四细分

编码器反馈信号由A、B、Z三相信号组成。A、B两相信号相位相差90度,一个周期内A、B相信号会出现4种不同的组合状态,根据这一特征可以对编码器信号进行辩相和四细分处理。Z相信号为编码器零位信号,当编码器旋转一圈,Z相就会有信号输出。

3)绝对位移记录

多轴专用控制器可以将电机运行的绝对位移实时地上传给上位机,这一功能的实现就有赖于fpga中的绝对位移记录部分的逻辑功能。在fpga内部设置一个绝对位移寄存器,用来对编码器反馈信号(辨向四细分之后)进行计数运算。当编码器信号的一个脉冲到来时,根据辩向后的方向信号做不同的运算处理。方向为正则绝对位移寄存器的值就进行加1运算,否则进行减1运算,从而达到对绝对位移进行记录的目的。并且arm可以随时读取该绝对位移寄存器的值,然后将其值上传给上位机,从而完成实时上传电机运行位置信息的功能。编写仿真程序对绝对位移寄存器进行功能仿真,结果如图9所示。

4 结束语

该方案成功已应用于某6轴Stewart平台运动控制中,在实现了0.1μm的运动定位精度的同时,运动机构得到了很好的保护,多次实验及实际使用中,该专用控制器运行安全可靠。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【ceph学习笔记】ceph -s 出现health HEALTH_ERR,pg remapped
下一篇:10个确保微服务与容器安全的最佳实践
相关文章

 发表评论

暂时没有评论,来抢沙发吧~