找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5577|回复: 2
打印 上一主题 下一主题
收起左侧

STM32实现的SPWM控制电路设计

[复制链接]
跳转到指定楼层
楼主
内容如题,文档内已说明编程思路,附少量代码(不完整)、原理图以及实物图。

本设计选用 STM32F103RC  Mini 开发板,以 STM32F103RC 为控制核心,辅以光耦合器驱动电路和 SPWM 逆变电路组成完整的系统。根据采样控制理论,由STM32F103RC 输出一系列周期性变化的等幅不等宽脉冲,控制 IGBT 功率开关管的导通和截止,使逆变器输出端获得一系列宽度不等的矩形脉冲波。输出的信号经 LC 低通滤波器滤波后,即可得到所需要的正弦波。改变调制脉冲的宽度可以控制输出电压的幅值,改变调制周期可以控制输出电压的频率,从而达到使逆变器的输出电压和幅值同时可调的目的。

在逆变器电路的设计中,控制方法是核心技术。早期的控制方法使得输出为矩形波,谐波含量较高,滤波困难,而SPWM 技术较好地克服了这些缺点。 本设计室基于 STM32F103RC来实现SPWM,此方法控制电路简单可靠,利用软件产生SPWM波,减轻了对硬件的要求,且成本低,受外界干扰小。

本系统由电源模块、控制模块、逆变模块、光耦驱动模块、滤波模块等5大部分组成,设计系统的总体结构框图如图 3.1 所示。

电源模块:根据实验室现有的条件,本系统的电源由两台稳压电源提供 3路直流电压。控制模块:由 STM32F103RC 开发板构成,运行系统程序并通过扩展GPIO口控制自主设计的各子模块工作。光耦驱动模块:因为 STM32F103RC GPIO口输出电压最大为 3.3V,不足驱动 IGBT 模块,经由 PS2501 光耦合器元件放大并驱动全控型器件。逆变模块:由于实验室条件原因,由 STM32F103RC 输出经过光耦元件放大的信号当作是逆变后的电压。滤波模块是由 LC 构成的二阶低通滤波电路,使之输出正弦波。


控制电路主要是由 STM32F103RC 最小系统构成的,STM32F103RC 的定时器 1有 4 个通道,可以同时输出 4 路 PWM 波,这里使用通道 1 作为输出 SPWM 波的端口,对应默认的端口是 PA8,因为查询手册可以知道 TIM1的CHN1默认的复用端口就是 PA8,在初始化定时器的时候不用使能端口复用时钟。
因为 STM32F103RC 输出的引脚电压最高为 3.3V,在实际中不足以驱动电力电子器件,同时为了让主电路与控制电路隔离,保证控制电路的安全,我们添加了PS2501 器件作为光耦和驱动电路,其电路原理图如下:

在实际应用中,SPWM 控制信号对 IGBT 实现控制,最后输出的 SPWM 波要经过低通滤波之后恢复出正弦波,LC 二阶低通滤波可以有效滤除高频成分,最后变为频率50Hz的正弦波。滤波电路如下:

逆变器程序主要分为 SPWM 脉宽调制部分,定时器更新中断处理部分和占空比数据。编程使用的 IDE 和编译器使用的是开源免费的 CoIDE 和 GNU ARM Embedded Toolchain,CoIDE这款编辑器是基于 eclipse开发的,用于 C语言开发和 ARM 程序开发非常方便,加上免费的 GNU ARM 工具链和调试工具,让STM32F103RCT6的程序开发变得极为方便。
4.1  编程思路
本设计将一个周期 T的信号分成10个点(按 X轴等分),两点间的时间间隔由 STM32F103RC 通过定时器中断产生。因此,首先需建立正弦脉宽数据表,由STM32F103RC 初始化时算好,这里通过 Python 科学计算包计算出正弦脉宽数据表。

SPWM 实际上就是用一组经过调制的幅值相等、宽度不等的脉冲信号代替调制信号,用开关量代替模拟量。调制后的信号中除了含有调制信号外,还含有频率很高的载波频率及载波倍频附近的频率分量,但几乎不含其他谐波,特别是接近基波的低次谐波。因此载波频率也即 SPWM 的开关频率越高,谐波含量越少。这从 SPWM 的原理可以直观地看出。当载波频率高时,半周期内开关次数越多,把期望的正弦波分段也越多,SPWM的基波就越接近期望的正弦波[14]。 但是,SPWM 的载波频率除了受功率器件的允许开关频率制约外,SPWM 的开关频率也不宜过高,这是因为开关器件工作频率提高,开关损耗和换流损耗会随之增加。另外,开关瞬间电压或电流的急剧变化形成很大的 du/dt 或di/dt,会产生强的电磁干扰;高 du/dt、di/dt 还会在线路和器件的分布电容和电感上引起冲击电流和尖峰电压;这些也会因频率提高而变得严重。 根据SPWM 的规则采样法,如下图


首先对程序进行初始化,初始化之后定时器 1开始工作,定时器满 1ms后程序就进入了中断,读取正弦脉宽数据表中的数值,通过修改TIM1寄存器 CCR1的值来改变下一次占空比,从而实现了占空比按正弦规律变化,得到了调制后的SPWM波形。
SPWM 调制程序流程图如图 4.3所示:


完整的pdf格式文档51黑下载地址:
基于stm32控制的SPWM变频器设计.pdf (1.44 MB, 下载次数: 117)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:632207 发表于 2019-10-29 18:26 | 只看该作者
需要32
回复

使用道具 举报

板凳
ID:742491 发表于 2020-5-1 20:13 来自手机 | 只看该作者
大神,求原理图
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表