技术文章

当前页面: 首页 >技术文章 >基于NIOS软核处理器的直流无刷电机控制系统设计(上)

基于NIOS软核处理器的直流无刷电机控制系统设计(上)

2006/5/31 9:06:00

0 人气:741

摘要:介绍了一种新型的基于NIOS软核处理器的直流无刷电机控制系统及设计方法。该系统采用FPGA作为核心器件,极大减少了分离元件的使用,充分利用NIOS处理器集成度高、灵活性强、实时控制的特点在片内实现电机控制逻辑,因此系统具有极大的灵活性、扩展性和通用性,抗干扰能力强、且系统本身结构紧凑,已成功应用于机器人仿人灵巧手手指中。
关键饲:NIOS软核处理器 直流无刷电机(BLDCM) 现场可编程逻辑门阵列(FPGA)
1 引言
随着大规模集成电路技术的发展,数字化的电子自动化设计(EDA)工具给电子设计带来了巨大变革,尤其是硬件描述语言的出现,解决了传统电路原理图设计系统工程的诸多不便,FPGA(现场可编程逻辑门阵列)器件在电机控制领域的应用也越来越广泛。用FPGA控制直流无刷电机,能够将大量逻辑功能集成于一个单片IC中,节省资源,实现在线编程、擦除,使设计更灵活,可靠程度更高,且系统结构极为紧凑。FPGA在逻辑实现上具有无与伦比的优势。但是在运算方面却逊于DSP(数字信号处理器),因此Altera公司在2003年推出新款的软核处理器——NIOS。它是一个32/16位精简指令处理器软核,可以实现SOPC(system on a progamable chip)集成。提供了16位专用指令集、ALU、同步地址发生器、16或32bit数据总线、各种外设(如定时器、SRAM、FLASH)和接口(如UART、PIO、SPI、PWM、SDRAM接口和IDE硬盘控制器等),把微处理器的优点和PLD异常强大的并行功能结合在一起。NIOS处理器指令执行速度可达50MI/s,几乎所有的指令都可以在20ns的单周期内执行完毕。这种高性能使复杂的电机控制算法的实时执行成为可能,例如空间矢量控制和卡尔曼滤波等。本文采用NIOS软核处理器为核心、结合其它功能模块,充分利用高性能FPGA实现所需的控制逻辑,通过软核处理器完成软件控制算法,设计结构简单灵活、高性能的直流无刷电机控制系统,并将其成功应用于机器人多指仿人灵巧手系统。
2 系统构成及工作原理
机器人多指仿人灵巧手手指单个关节的直流无刷电机伺服系统采用角度、角速度双环从属控公司所产的直流无刷电机作为伺服系统的执行元件,采用谐波减速器将电机轴高速运动转化为与关节轴的低速转动。驱动电路由直流无刷电机专用驱动芯片Si9979和MOSFET构成。控制电路由一片ALTERA公司的FPGA实现。整个系统可以通过由FPGA实现的串行接口与PC机通信。



在本系统的设计过程中,电机的换向、转速和加速度以及电机输出力矩是伺服系统设计必须考虑的因素。电机的旋转输出与手指关节的运动存在一个固定的关系,这个关系由灵巧手机械系统的结构决定,本系统利用关节位关节的运动角度。位置传感器获得旋转关节位置作为控制系统的位置反馈。在灵巧手抓握某个物体或者手指与外界环境接触时,系统利用关节力矩传感器反馈信号以实现精确的力矩控制。直流无刷电机内部集成了三相线形霍尔传感器,Si9979根据这些霍尔信号产生基本的电机换向逻辑,实现无刷电机的无接触换向。电机霍尔传感器的输出信号除了实现电机换向逻辑转换外,其另外一个重要的功能是计算电机转子的位置及速度。由于霍尔传感器本身具有较高的分辨率,而关节位置传感器的位置信号输出具有相对较大的噪声,因此驱动器控制采用霍尔信号折算得到的关节速度作为控制系统的速度反馈。由于Si9979是一款高性能的直流无刷电机控制芯片,内部有输人控制信号逻辑电路、功率放大电路、电源分离悬浮电路、斩波电路及电流反馈及硬件死区产生电路等构成。FPGA只需提供PWM信号、方向(DIR)信号、刹车(BRK)信号就可对电机进行控制。传感器模拟输出信号通过串行AD转换成串行数字信号,串行AD通过SPI总线与FPGA实现通信。FPGA对这些信号进行处理产生PWM、方向和刹车控制信号,传输给Si9979驱动板,实现对直流无刷电机的驱动和灵巧手关节的力矩、位置闭环控制。
3 具体实现
3.1 硬件系统设计
直流无刷电机控制系统硬件上主要包括以下部分:CYCLONE FPGA包括NIOS软核CPU、锁相环、CPU同外部设备的接口;EPCS4用来上电时对FPGA进行配置;AD7888用来采集传感器信号,8路单端输入,串行接口为SPI;驱动器为直流无刷电机驱动芯片Si9979。
在本系统中使用一片CYCLONE芯片中定制的NIOS处理器作为直流无刷电机控制系统的中央处理器。整个系统的结构如图2所示。


NIOS处理器是一种软核处理器,即用户可随意配置和构建的32位/16位总线(用户可选的)指令集和数据通道的嵌入式系统微处理器IP核。这部分设计使用到的开发工具是Altera公司的SOPC Builder,该工具会自动进行系统定义,完成SOPC开发的集成过程。FPGA的NIOS软核中的资源有:32位RISC架构CPU,4KByte的片上ROM,256Byte的片上RAM。在处理器中加入定时器实现AD定时采样及电机的实时控制。SPI模块用来实现与串行AD7888的接口,电机控制模块实现对直流无刷电机的控制。UART接口模块实现与上位机的串行通信,完成人机交互。片上处理器和其它IP模块之间通过Avalon片上总线相连,规定了主部件和从部件之间进行连接的端口和通信的时序。
SOPC Builder将定制的处理器转换为VHDL等具体的设计文件,除此之外SOPC Builder还根据定制的结果,自动的生成针对特定硬件环境的C语言和汇编语言的头文件以及函数库。

手机扫描二维码分享本页

工控网APP下载安装

工控速派APP下载安装

 

我来评价

评价:
一般