有ARM和FPGA助阵,多路电机控制更完美

2017-02-08 08:41:56 来源:互联网
标签:
相关器件

 介绍了一种基于fpga的多轴控制器,控制器主要由arm7(LPC2214)和fpga(EP2C5T144C8)及其外围电路组成,用于同时控制多路电机的运动。利用Verilog HDL硬件描述语言在fpga中实现了电机控制逻辑,主要包括脉冲控制信号产生、加减速控制、编码器反馈信号的辨向和细分、绝对位移记录、限位信号保护逻辑等。论文中给出了fpga内部一些核心逻辑单元的实现,并利用QuartusⅡ、Modelsim SE软件对关键逻辑及时序进行了仿真。实际使用表明该控制器可以很好控制多轴电机的运动,并且能够实现高精度地位置控制。

 

随着电机广泛地应用于数字控制系统中,对电机控制的实时性和精度上的要求越来越高。如何灵活、有效地控制电机的运行成为研究的主要方向。文中采用现场可编程逻辑门阵列(Field Programmable Gate Array,fpga),通过Verilog语言编程来实现电机的控制。利用fpga设计具有硬件设计软件化、高度集成化、高工作频率等优点。fpga最大的特点就是灵活,实现你想实现的任何数字电路,可以定制各种电路,减少受制于专用芯片的束缚,真正为自己的产品量身定做。在设计的过程中可以灵活的更改设计,而且它强大的逻辑资源和寄存器资源可以让你轻松的去发挥设计理念。其并行执行,硬件实现的方式可以应对设计中大量的高速电子线路设计需求。


1 多轴控制器主要功能

多轴控制器与上位机、电机驱动器等配合使用,图1为采用多轴控制器组成的控制系统总体示意图。控制器接收上位机发送的控制指令,分析处理并产生相应的方向信号、脉冲信号给驱动器,从而达到控制电机运行的目的。为了提高系统的控制精度,将电机的编码器信号作为反馈信号输入给控制器(内部实现自动辨向及四细分)。在各轴运动过程中,专用控制器对电机运行的绝对位移进行记录,并且可以实时地将各轴的绝对位置信息上传给上位机。另外在电机运行的过程中,为了保证电机运行的安全性,控制器还采用了限位信号反馈实现全硬件保护措施。

 


 

2 多轴控制器组成

专用控制器由arm(LPC2214)、fpga(EP2C5T144C8)、驱动器接口电路、编码器接口电路、限位检测电路和电源电路等组成,如图2为一个八轴电机控制器的硬件组成图。arm通过串口实现与上位机之间的通信,解析从上位机获得的控制指令,并通过fpga产生相应输出信号给驱动器接口,驱动器接口外接驱动器。编码器信号作为位置反馈信号同编码器接口相连,形成位置环反馈。限位信号作为安全检测信号同限位检测接口相连,为整个系统添加一道安全保障。

 



3 fpga控制逻辑

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

 

 

 

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
几种基于Linux操作系统内核的崩溃转储机制

随着嵌入式Linux系统的广泛应用,对系统的可靠性提出了更高的要求,尤其是涉及到生命财产等重要领域,要求系统达到安全完整性等级3级以上 ,故障率(每小时出现危险故障的可能性)为10-7以下,相当于系统的平均故障间隔时间(MTBF)至少要达到1141年以上,因此提高系统可靠性已成为一项艰巨的任务。

从易到难总结几种FPGA时序约束方法

从最近一段时间工作和学习的成果中,我总结了如下几种进行时序约束的方法。按照从易到难的顺序排列如下:

初学者如何选择ARM开发硬件?

软件方面,这应该是最大的区别了。引入了操作系统。为什么引入操作系统?有什么好处嘛?

做好FPGA设计还需要具备的其它相关硬件技能

FPGA在各个领域都是必不可少的一种硬件工具,掌握并有效使用FPGA对当代的电子设计工程师来讲是非常必要的,如前面文章曾讲过的,要做到较好的FPGA设计需要具备的基本素质

RISC-V带给中国CPU和芯片行业发展的历史性机遇

6月底arm建立了riscv-basics.com 的网站,以“设计系统芯片之前需要考虑的五件事”为主题从从成本、生态系统、碎片化风险、安全性和设计保证方面攻击RISC-V 攻击。不过RISC-V在7月9日也建立了arm-basics.com 的网站对arm进行反击。次日,也就是7月10日,arm关闭了攻击网站,并发表声明:“我们最初建立

更多资讯
如何使用一个DSP block实现4个11位浮点型数据乘法运算

随着深度学习的发展,为了解决更加抽象,更加复杂的学习问题,深度学习的网络规模在不断的增加,计算和数据的复杂也随之剧增。INTEL FPGA具有高性能,可编程,低功耗等特点,为AI应用加速提供了一种灵活、确定的低延迟、高通量、节能的解决方案。

FPGA时序约束方法汇总,从易到难的都有

从最近一段时间工作和学习的成果中,我总结了如下几种进行时序约束的方法。按照从易到难的顺序排列如下:

PCB设计中BGA器件布局布线经验谈
PCB设计中BGA器件布局布线经验谈

SMT(Surface Mount Technology 表面安装)技术顺应了智能电子产品小型化,轻型化的发展潮流,为实现电子产品的轻、薄、短、小打下了基础。SMT技术在90年代也走向成熟的阶段。

什么?Python+FPGA!?

早年,虽然Python是一款比较容易上手的脚本语言,而且有强大的社区支持,一些非计算机专业领域的人都选它作为入门语言。遗憾的是,它不能实现一些非常底层的操控,所以在硬件领域并不起眼。

一文读懂为什么要选择 Python做机器学习

随着机器学习的兴起,Python 逐步成为了「最受欢迎」的语言。它简单易用、逻辑明确并拥有海量的扩展包,因此其不仅成为机器学习与数据科学的首选语言,同时在网页、数据爬取可科学研究等方面成为不二选择。此外,很多入门级的机器学习开发者都是跟随大流选择 Python,但到底为什么要选择 Python 就是本文的核心内容。

电路方案