FPGA+MCU的伺服电机控制器系统设计+原理+框图
1 引 言1.1项目背景 此项目为待开发项目《基于RABBIT5700+FPGA的伺服电机控制器》的前期规划方案,目的在于帮助研发人员了解伺服电机控制器的有关知识和给出基于FPGA的接口模块的设计概要说明。
1.2研究意义
目前国内主力通用的伺服电机生产厂商主要有:众为兴、雷赛、固高、中达电通、摩森达等,趋于研发成本的考虑,大多数厂家在电机编码器接口芯片选择上,倾向于采用集成芯片如MX314,PCL6045等,但是随着控制要求的如见复杂,在一个ASIC上实现多轴的控制越来越吃力,这就刺激着我们回归基于MCU+FPGA的架构,把所有的多轴运算全都放到MCU里。本次设计着重对接口FPGA的架构和主要检测算法进行讨论,对接口FPGA的设计,具有一定参考意义。
2 系统组成2.1 运动控制器
主要实现对增量编码器信号的采集,以及对电机驱动器的控制,通过上位机发送过来的指令,在控制器里进行插补运算,再通过FPGA接口模块传递给驱动器。
2.1.1 MCU功能
a.通过自身的以太网模块,接受上位控制机的指令
b.多轴插补运算本文来自辣^文~论-文.网
c.通过与FPGA的借口,控制FPGA发出控制脉冲
2.1.2 FPGA功能毕业论文http://www.751com.cn
a.采集增量编码器的信号
b.通过与MCU的接口,把速度,位置等信息传给MCU
c.通过与MCU的接口,接受MCU命令,实现单轴操作。
2.1.3光电隔离模块构成
实现输入输出光电隔离
2.2伺服驱动器
应用于伺服电机的专用伺服驱动单元被称为伺服驱动器。
2.2.1常用伺服驱动器简介
SIMODRIVE 611U的简介:
西门子SIMODRIVE 611是一种模块化晶体管脉冲变频器,可以实现多轴及组合驱动的解决方案。基于其模块化的设计,使用SIMODRIVE可以根据具体的驱动任务来制定灵活多变的解决方案。
驱动器的各模块从功能上分为6个部分:
1) 电源模块
2) 变频模块
3) 反馈模块
4) 监控模块
5) 功率模块
6) 控制模块
目 录
摘要
ABSTRACT
1引言 1
1.1项目背景 1
1.2研究意义 1
2 系统组成2
2.1 运动控制器 2
2.1.1 MCU功能 2
2.1.2 FPGA功能 2
2.1.3光电隔离模块功能 2
2.2伺服驱动器 2
2.2.1常用伺服驱动器简介 2
2.3伺服电机3
2.3.1伺服电机简介3
2.3.2伺服电机工作原理4
2.3.3伺服电机的控制4
2.4HMI 4
2.5控制器上位机部分4
2.5.1上位机功能4
2.6以太网模块4
2.6.1以太网模块功能4
3 FPGA接口模块详细介绍5
3.1实现功能5
3.1.1 速度控制模块 5
3.1.2 位置控制模块 5
3.1.3 CPU接口模块 6
3.2速度与位置检测算法讨论6
3.2.1M法6
3.2.2T法6
3.2.3等精度测频算法6
3.2.4高精度数字测速算法9
3.3速度与位置控制算法20
3.4硬件部分14
3.4.1ALTERA FPGA介绍 14
3.4.2FPGA硬件部分 14
3.4.2.1电源及晶振部分 14
3.4.2.2内存及FLASH 15
3.4.2.3主芯片15
3.4.2.4JTAG下载16毕业论文http://www.751com.cn
3.4.3输入输出光电隔离17
3.4.3.1输入光电隔离模块17
3.4.3.2输出光电隔离模块18
3.5软件部分 18
3.5.1 verilog HDL编程语言介绍 18
3.5.2输入输出端子定义18
3.5.3寄存器定义19
3.5.4FPGA架构20
3.5.5主要模块介绍 20
4 仿真实验结果 22
5 应用案例 24
6 结论 26
谢辞
参考文献
附录 1511