基于FPGA的永磁同步电机控制器设计

发布时间:2010-3-17 11:47    发布者:李宽
关键词: FPGA , 电机 , 控制器 , 设计 , 永磁
1 引言

国内普遍采用TM320系列的DSP器件作为永磁同步电机控制系统的主控制器,因CPU负载过重导致系统实时性降低的问题日益显著。采用具有并行工作特性的FPGA器件作为主控制器能够提高系统实时性。因此,这里给出一种基于FPGA的永磁同步电机控制器设计方案。

FPGA器件内嵌NiosⅡCPU软核的SoPC是Altera公司首创的SoC解决方案。将SoPC应用到电机控制中,是当前的研究热点。FPGA依靠硬件逻辑门工作,NiosⅡ处理器依靠执行软件程序工作。而在电机控制中实现软硬件协同工作则是设计的难点和创新之处。本设计需要特别注意软硬件协同工作的时序控制。软硬件之间信号的交换需按严格时序进行控制。

2 片上系统规划

片上系统功能总体规划为电机硬件驱动和NiosⅡ系统模块两部分,前者主要完成速度外环,电流内环的双闭环运算;而后者主要完成按键输入、LED数码管显示、电机驱动器参数设置和传输以及上位机通信。

3 系统硬件设计

3.1 NioslI系统模块

3.1.1 Nios lI系统模块的设计

在QuaauslI的SoPC builder中调出nioslI软核。调用4个用于输出的PIO核,挂接到Avalon总线上,作为信号输出I/O端口,这4个PIO核分别是 start(启动电机信号),Data(16位,电机参数值),ec(8位,参数寄存器使能信号),choice(3位,多路选择信号)。调用6个作为输入的PIO核用以按键输入。设置中断掩码寄存器为中断有效,边沿捕获寄存器为上升沿检测。按键经FPGA引脚,用户设计硬件防抖动后,产生一个上升沿信号,启动NioslI处理器中断,执行相应中断功能。调用异步串口UART内核,实现与上位机通信,设置其波特率同定,UART通过中断请求实现数据通信功能。图1和图2分别给出Niosll系统结构框图和其电路原理图。

1.gif

2.gif

3.1.2 NiosⅡ系统软件设计

该系统设计的软件程序主要在Nios IED软件中编辑调试,实现按键中断程序,按键如下:reset(复位),start/stop(启动和暂停),choose(参数选择),increase(参数值的增量),de-crease(参数值的减量),transmit(参数的传输);并实现串口通信中断程序。图3为 NiosⅡ处理器软件执行流程。

3.gif

这里只给出 stait按键中断软件程序代码,而choose,in-crease,decrease,transmit程序与之相同。

int main(void)
{ alL_irq_register(start_IRQ,start_BASE,start_ISR);//按键
start 的中断注册
IOWR_ALTERA_AVALON_PIO_IRQ_MASK(start_BASE,
0x01);//开启中断使能;
IOWR_ALTERA_AVALON_PIO_EDGE_CA(start_BASE,
0x00)://清除捕获寄存器;
//只给出start变量(用于启动电机)初始化,并写入输出
寄存器:其他变量初始化相同;
Unsigned start=0;
. IOWR_ALTERA_AVALON_PIO_data(start_BASE,start);
//变量写入输出 PIO寄存器;
While()
}

3.2 电机硬件驱动模块

电机硬件驱动模块实现clark,park,i_park坐标变换,PI调节器,SVPWM产生器,转速检测等硬件模块等双闭环结构。由于上述各个模块设计比较简单常见,因此,这里主要介绍SoPC时序控制部分。Reset按键为全局复位。复位后系统软件从主程序入口开始执行;而此时硬件驱动模块中的两个状态计数器为“-1”。这两个计数器计数时间对应50μs和1 ms,分别对应于电流环和速度环的采样时间。一旦检测到来自NiosⅡ处理器的start高电平信号,该信号作为计数使能信号,这两个计数器从“0”开始计数,计数为“0”时产生一个高电平脉冲信号,电流环计数器脉冲用于锁存SVPWM中的Ta,Tb,Tc(三相占空比信号),并启动A/D转换。速度环的计数器脉冲锁存一个反馈速度信号,然后计数器循环计数。

4 仿真结果

该系统设计对电机驱动部分进行开环验证。给定uq(旋转坐标中的力矩分量)为2 048(16位Q12的定点),ud(旋转坐标中的励磁分量)为0。正余弦两个查找表各有720个地址,相邻地址相差0.5°。每相隔50μs查找地址增量为l,即电机每隔50μs转过0.5°,约为1 666 r/m。在QuartusⅡ中进行时序仿真可得到如图4和图5所示的波形。

4.gif

由图4可知,A相上桥臂在每个PWM周期的占空比不同,具有从增到减,从减到增的规律;从图5可知,器件实际工作时,上下桥臂死区时间为2μs,而且死区时间可采用NiosⅡ处理器设置。由于有死区时间的控制,该PWM可接入电机进行开环调试。

5 结论

本设计的SoPC器件已产生PWM波,用于开环验证,为后续闭环验证提供条件。FPGA在高速数字信号处理领域逐显优越,且SoC已成为集成电路发展的主流,而SoPC是SoC一种灵活的解决方案。其具有软硬件协同工作,合理分配软硬件功能等特点,从而能够快速灵活实现系统设计。SoPC控制电机可提高电机动态响应,缩小系统面积,节省成本。

参考文献

   1. Parkhi V,Shilaskar S,Tirmare M,et al.FPGA Implementation of PWM control technique for three phase induction motor drive[C].2008.
   2. 汪洋.基于SoPC的嵌入式系统设计[J].仪器仪表用户,2008,15(2):59-61.
   3. 侯建军,郭勇.SoPC技术基础教程[M].北京:清华大学出版社,北京交通大学出版社,2008.
   4. 李广深,任德志.基于SoPC技术的运动控制器设计[J].仪器仪表用户,2007,14(4):39-40.
   5. 谢明伟.交流同步伺服马达控制晶片之设计[D].基隆:国立台湾海洋大学,2004.
   6. 徐凯.矢量控制中电流采样值的定点Q格式处理[J].仪表技术,2006(1):56-57,62.

作者:陈平  曾岳南  杨志平 (广东工业大学模式识别实验室,广东,广州,510006)
来源:电子设计工程 2009 17(12)
本文地址:https://www.eechina.com/thread-9484-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关在线工具

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表