Nios II在电机伺服控制中的应用.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Nios II在电机伺服控制中的应用

Nios II在电机伺服控制中的应用 1 引言 ??? Nios II系列32位RISC嵌入式处理器是Altera公司的第二代软核嵌入式处理器,性能超过200DMIPS Nios II处理器是软核,开发者能够从无限的系统配置组合中选择满足性能和成本目标的方案,而不必为系统级设计采用ASIC,这种开发方式非常适合设计针对网络、电信、数据通信、嵌入式和消费市场的各种嵌入式应用。本文采用Nios II嵌入式处理器为核心,结合其它功能模块,充分利用高性能FPGA实现所需的控制逻辑,设计结构简单、灵活、高性能的直流无刷电机控制系统,并将其成功应用于机器人多指仿人灵巧手系统。 2 基于Nios II内核的SOPC软硬件开发 ??? 采用Nios处理器开发设计与采用传统的处理器开发设计不同,开发者必须先配置处理器结构、设置接口等内容 也就是说,开发者必须根据实际需求构建一个处理器,而传统的处理器具有固定接口、片内RAM 和外部设备。应用SOPC Bulider(嵌入式开发套件)可以进行Nios II IP核的开发。构建嵌入式系统 SOPC Bulider中提供一个集成开发环境Eclipse,集成了硬件平台产生器、软件平台产生器、仿真模型生成器、软件编译器和软件调试工具等,方便用户完成嵌入式系统开发的整个流程。具体步骤如图1所示。 ? 图1 Nios II开发流程 ??? 在FPGA上设计的嵌入式系统的层次结构分为3级。其中,第一级为定义处理器,在最低层硬件资源上开发IP核,定义处理器包括CPU、片内存储器、片外存储器、外围设备等;第二级为构建处理器,软件产生一个处理器后还需要配置CPU硬件选项包括数据总线宽度(32 or 16 bits)、乘法器和自定义指令用法、定义处理器启动地址、为外围设备和接口设置中断优先级、设置Avalon总线结构。第三级为系统验证,任务是编写测试文件对系统进行全面测试。 ??? 软件开发包括头文件生成、外部设备驱动、用户自定义库、RTOS核的编写等 3 Nios II 的嵌入式应用 ??? 直流无刷电机由于其无电刷及换向火花、小转动惯量、小体积、低噪声、免维护等优点,在机器人领域中得到广泛应用。在直流伺服控制系统中,目前国内外普遍采用的是以单片机或DSP作为控制系统的微处理器来实现电机的控制算法,但是由于用单片机或DSP控制电机,占用接口资源较多,所需周边元器件也较多,对整个系统的稳定性和可靠性有较大影响。用FPGA设计直流无刷电机控制系统,能够将大量逻辑功能集成于一个单片IC中,节省资源,可实现在线编程和擦除,使设计更灵活,可靠程度更高,而且系统结构极为紧凑,虽然FPGA在逻辑实现上具有无与伦比的优势,但是运算能力低于DSP(数字信号处理器)。 ??? 软核处理器的出现弥补了这一缺陷,Nios II处理器指令执行速度最高可达200DMIPS,几乎所有的指令都可以在5ns的单周期内执行完毕。这种高性能使复杂的电机控制算法的实时执行成为可能,例如空间矢量控制和卡尔曼滤波等。本文中采用Nios II软核处理器为核心,结合其它功能模块,充分利用高性能FPGA实现所需的控制逻辑,通过软核处理器完成软件控制算法,设计结构简单灵活、高性能的直流无刷电机控制系统。 ??? 单个关节的直流无刷电机伺服系统采用角度、角速度双环从属控制结构,如图2所示。系统直流无刷电机作为伺服系统的执行元件,采用谐波减速器将电机轴高速运动转化为与关节轴的低速转动。驱动电路由直流无刷电机专用驱动芯片Si9979和MOSFET构成。控制电路由一片Altera的FPGA实现。整个系统可以通过由FPGA实现的串行接口与PC机通信。由于Si9979是一款高性能的直流无刷电机控制芯片,内部由输入控制信号逻辑电路、功率放大电路、电源分离悬浮电路、斩波电路及电流反馈及硬件死区产生电路等构成,FPGA只需提供PWM信号、方向(DIR)信号、刹车(BRK)信号就可对电机进行控制。传感器模拟输出信号通过串行AD转换成串行数字信号,串行AD通过SPI总线与FPGA实现通信FPGA对这些信号进行处理产生PWM、方向和刹车控制信号,传输给Si9979驱动板,实现对直流无刷电机的驱动和灵巧手关节的力矩、位置闭环控制。 ? 图2 无刷直流电机伺服系统组成 ??? 本文设计的直流无刷电机控制系统的整体结构如图3所示 ? 图3 FPGA系统总体框图 ??? FPGA的Nios软核中的资源有:32位RISC架构CPU,4KByte的片上ROM,256Byte 的片上RAM。在处理器中加入定时器实现AD定时采样及电机的实时控制。SPI模块用来实现与串行AD7888的接口,电机控制模块实现对直流无刷电机的控制。UART接口模块实现与上位机的串行通信。完成人机交互。片上处理器和其它IP模块之间

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档