新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Actel Fusion FPGA的无刷电机控制器

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

作者: 时间:2008-12-31 来源:网络 收藏

  2.3 三相PWM产生

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

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

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

  2.4 反电动势检测

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

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

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

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

  2.5 控制软件设计

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

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

  3 结论

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


上一页 1 2 下一页

关键词: Actel FPGA 电机控制

评论


相关推荐

技术专区

关闭