基于Actel Fusion FPGA的无刷电机控制器

发布时间:2010-11-8 11:16    发布者:eetech
关键词: Actel , FPGA , Fusion , 控制器 , 无刷电机
1 引言

无刷直流电机(BLDC)具有体积小,无机械触点,寿命长,安装方便的优点,一直都是电机应用的研究热点。目前无刷电机控制基本上都是采用霍尔传感器作为转子位置反馈元件,但位置传感器的存在不仅增加了电机的体积和成本,很大程度上还成为电机的故障源之一,使系统可靠性降低。所以无位置传感器的无刷电机控制方案业已成为当前的研究热点。

近年来,采用数字控制的无位置传感器控制技术,已逐渐成为今后无刷电机控制的发展趋势。在此采用Actel公司的Fusion系列混合信号FPGA为控制器核心,设计了一款无位置传感器无刷电机控制器。采用Fusion内部特有的12位多路高速A/D转换器,实现电机反电动势检测,使用内嵌的51软核实现速度闭环控制算法,成功实现无刷电机无位置传感器控制方案,具有系统硬件方案简单,集成度高,可靠性好,调速精度高等优点。

2 系统方案设计

2.1 Fusion FPGA简介翻

Actel Fusion系列器件是业界首款也是唯一具有模拟功能的Flash架构的FPGA,融合了FPGA数字内核、A/D转换器、Flash存储器、模拟的I/0、RTC等数字和模拟器件。Fusion器件内部具有2~8 Mbit不等的用户可用Flash存储器和30通道、最高12位精度、最高600 Ks/s采样率的A/D转换器,片内100 MHz的RC振荡器与PLL(锁相环)一起共同为FPGA提供时钟,以节省外部时钟的开销。这些特点极大地提高了该系列FPGA器件的功能,简化了系统设计,大幅度减少了电路板面积和系统总成本。当Fusion系列FPGA器件结合8051,CortexMl,ARM7等软件MCU核时,还可以实现真正的SoC系统。Actel Fusion系列FPGA器件是迄今为止最全面的单芯片模拟与数字可编程逻辑系统的解决方案。

2.2 控制器方案设计

根据无刷电机反电动势检测法原理,结合Actel FusionFPGA的内部功能特性,设计了图1所示的无刷电机控制方案。


在该设计方案中,Fusion AFS600作为控制器核心,用内嵌的软核8051 MCU实现控制算法,高速12位A/D转换器分别检测三相绕组的反电动势和外部电位器设定电压。电位器设定电压用于确定电机的转动方向和转速。通过FPGA逻辑实现LCD液晶屏接口,用于显示设定转速和实际转速。此外一个重要的模块是三相PWM波形发生模块,通过可编程计数器实现。PLL模块用于向单片机、A/D转换器和PWM模块提供基准时钟信号。





外围电路主要包括:LCDl602字符型液晶显示器、设定转速的电位器和无刷电机驱动器。无刷电机驱动器采用A3935三相全桥器件配合6个大功率NMOS管IRF2807S实现完整的无刷电机控制方案。每项绕组的反电动势通过串联电阻分压并滤波再送入Fusion AFS600内部的A/D转换器。A3935是一款汽车级三相功率MOSFET驱动器,特别适用于无刷电机控制,具有过压、欠压、过流、过热、短路和开路监控功能,功能强,可靠性高等功能。      

2.3 三相PWM产生

设计方案中采用Fusion的逻辑门电路实现了PWM频率和占空比可连续调节的PWM发生模块。其中,设定的频率参数和占空比可根据A/D转换器采集的电位器电压值转换为相应的参数值,只要调节外部电位器就能产生6路占空比可调的PWM信号波形。下面给出的相关代码是采用VerilogHDL语言编写的一部分三相PWM的源码。图2示出用示波器测出的其中两路PWM信号波形。









2.4 反电动势检测

实现反电动势检测原理是:无刷直流电动机在运转过程中,同一时间只有两相绕组处于工作状态,即该两相所对应的功率器件处于PWM状态,而第三相处于悬空状态,其端电压等于感应电动势。反电动势的过零点就发生在该相绕组悬空期间。此时通过检测端电压就能间接检测该相反电动势的过零点。该控制器的反电动势检测采用Fusion系列FPGA器件内部的模拟模块,三相端电压经过电阻分压滤波后送入Fusion系列FPGA器件内的12位A/D转换器进行分时采样。Fusion系列FPGA器件内部采用分时循环采样电位器设定电压和三相绕组的反电动势电压,A/D转换器将转换结果分别存入相应的数据寄存器。A/D转换器循环采样部分的





图3示出用示波器测量到的实际反电动势μ1和μ2的波形,由于反电动势信号经过一定的模拟滤波处理,信噪比较好,便于FPGA进行过零点检测。





2.5 控制软件设计

上述有关PWM产生模块和A/D转换器循环采样模块都是用Verilog HDL语言编写的,在Actel Libero IDE集成开发环境下编译通过并作为模块调用,而调速控制算法的实现则使用了Fusion系列FPGA器件内部的8051软核实现,开发工具是Keil C。图4示出51软核的算法流程。







3 结论

无刷电机控制器硬件平台基础上分别编制开发了FPGA内部各功能单元,并进行了编译链接和引脚分配。经过实验实现了对无刷电机的平稳启动和转速调节。所用无刷电机24 V供电,额定转速l 600 r/min。由该FPGA控制器控制的调速范围为760"1 600 r/min内连续可调。该控制器的实现充分体现了Actel Fusion系列混合信号FPGA在模数混合系统应用中的高度集成性,真正单片SoC的优点,为Fusion系列FPGA器件的应用提供了参考价值。
本文地址:https://www.eechina.com/thread-37299-1-1.html     【打印本页】

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

厂商推荐

相关视频

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