三大电机控制方案之FPGA篇(1):Actel Fusion
电位器设定电压。电位器设定电压用于确定电机的转动方向和转速。通过 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器件的应用提供了参考价值。
SmartFusion
是全新的ARM和FPGA的混合体,在Actel独特的模数混合的Fusion系列的基础上融入了高效的ARM内核——Cortex-M3,该内核属于硬核,不占用FPGA的逻辑资源,不仅具有FPGA的高速并行的特点,而且可以发挥ARM灵活控制的长处,取长补短。
功能框图
芯片内部结构图
SmartFusion相关设计资料下载:
Actel Smartfusion数模混合芯片中文资料
Actel Smartfusion多轴伺服电机控制解决方案
Actel Fusion相关资料下载:
Fusion用于外围器件管理的系统
基于 Actel FPGA 的 CoreFFT 应用
基于 Actel FPGA 的 TFT 显示控制方案一
基于 Actel FPGA 的多串口扩展方案
基于Actel FPGA的正交解码方案
欲了解更多关于电机控制的解决方案,可点击电机控制方案的MCU篇进行查阅:
三大电机控制方案之MCU篇
fpga 相关文章:
- 用大电流LDO为FPGA供电需要低噪声、低压差和快速瞬态响应(08-17)
- 基于FPGA 的谐波电压源离散域建模与仿真(01-30)
- 基于FPGA的VRLA蓄电池测试系统设计(06-08)
- 降低从中间总线电压直接为低电压处理器和FPGA供电的风险(10-12)
- FPGA和功能强大的DSP的运动控制卡设计(03-27)
- DE0-Nano-SoC 套件 / Atlas-SoC 套件(10-30)