您的位置:控制工程论坛网论坛 » 嵌入式系统 » 基于EP1C3T144C8的PWM控制器设计

bubli

bubli   |   当前状态:在线

总积分:817  2024年可用积分:0

注册时间: 2008-06-22

最后登录时间: 2015-05-25

空间 发短消息加为好友

基于EP1C3T144C8的PWM控制器设计

bubli  发表于 2009/3/18 21:49:11      1395 查看 1 回复  [上一主题]  [下一主题]

手机阅读

引言

  PWM技术由于自身的各种优点,已经广泛地应用于电力电子电路的控制。目前实现PWM控制的主要硬件载体是单片机,包括高性能的DSP控制器。通常情况下,单片机通过定时中断服务程序产生PWM脉冲,因此在每个载波周期必须进行中断处理,文献[1]指出,微处理器中不确定的中断响应会导致PWM脉冲的相位抖动。同时在恶劣的工业环境下,单片机抗干扰性能差的问题显得尤其突出,甚至影响到系统的安全运行。因此不得不花费大量的精力解决抗干扰问题。

  FPGA由于近年来的迅猛发展,内部资源不断增多,功能日趋完善。鉴于FPGA运行速度快、抗干扰能力强、I/O口可灵活配置等优点,在电力电子控制领域应用越来越广泛。本文结合Cyclone系列FPGA(EP1C3T144C8)较为详细地介绍了PWM控制器的设计。

  由于电压源型三相逆变电路应用非常普遍,本文以此电路为研究对象,使设计具有通用性。FPGA作为系统控制核心,负责反馈数据处理、闭环系统调节、PWM信号生成、显示/键盘等功能。

  1.PWM控制器的设计

  在本系统设计中采用自上至下(Top Down)的设计方法,分为三个层次,即行为描述、RTL方式描述、逻辑综合,系统设计过程如图1所示。

图1  系统设计过程

  系统的程序采用模块化设计,底层为各功能模块,SPWM产生模块、检测模块、显示通讯模块,顶层采用原理图对各功能模块的组合。FPGA内部结构如图2所示。

图2  FPGA内部结构图

  本系统首先通过MATLAB软件建立正弦表,装入FPGA,然后通过程序来查表调用。MOSFET的开启和关断,需要设置死区时间,在设计中可取值为20~230。具体算法流程图如图3所示。

图3  SPWM算法流程图

  要实现闭环控制需要借助于AD转换芯片,其采样控制状态转移图如图4所示。START是转换启动信号,一个正脉冲过后A/D开始转换;ALE是3位通道选择地址(ADD、CADDB、ADDA)信号锁存信号。当模拟量送至某一输入端时,由3位地址信号选择,而地址信号由ALE锁存;EOC是转换情况状态信号,当启动转换为100us后,EOC产生一个负脉冲,以示转换结束;EOC的上升沿后,且输出使能信号ENABLE为高电平,则控制打开三态缓冲器,把转换好的8位数据送至FPGA的数据总线,完成一次转换。

图4  采样控制状态转移图

  LED用于SPWM的输出频率、电网检测及其故障信息的的指示。具体程序流程图如下图5所示。

图5  LED动态显示流程图

  2. 实验结果分析

  QuartusⅡ软件自带仿真工具所截取的单极性脉宽调制波形仿真图如下图6所示。

图6  脉宽调制波形仿真图

  以下是60MHz的数字存储示波器Tektronix TDS1002拍摄得到实际波形。控制器端口输出的实际波形如图7所示。

图7 控制器端口输出波形

  逆变器阻性负载输出波形如图8所示(负载为36Ω电阻丝)。

图8  阻性负载波形

  逆变器通过RC一级滤波后,电容两端得到的正弦信号如图9所示。

图9  RC滤波后输出的正弦信号

  3. 结论

  本文利用FPGA(EP1C3T144C8)实现了PWM控制器的设计,得到了实验波形。实验结果验证了本设计是可行的,其设计方法、设计思路具有一定的参考价值。

1楼 0 0 回复
总共 , 当前 /