三大电机控制方案之FPGA篇:Actel Fusion
示设定转速和实际转速。此外一个重要的模块是三相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器件的应用提供了参考价值。
SmartFusion
是全新的ARM和FPGA的混合体,在Actel独特的模数混合的Fusion系列的基础上融入了高效的ARM内核——Cortex-M3,该内核属于硬核,不占用FPGA的逻辑资源,不仅具有FPGA的高速并行的特点,而且可以发挥ARM灵活控制的长处,取长补短。
功能框图
芯片内部结构图
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 基于FPGA的快速并行FFT及其在空间太阳望远镜图像锁定系统中的应用(06-21)
- 3DES算法的FPGA高速实现(06-21)
- 用FPGA实现FFT算法(06-21)
- FPGA的DSP性能揭秘(06-16)