STM32F103在电力电子控制系统中的应用 点击:881 | 回复:0



陈石头

    
发表于:2012-01-13 00:28:20
楼主

1 引言
            cortex-m3处理器的核心是基于哈佛结构和三级流水线的32位内核。该内核集成了分支预测、单周期乘法和硬件除法等众多强大的功能,其出色的计算性能、对时间快速响应能力以及高度的可配置,使其支持应用范围广泛的实现。
            意法半导体公司的stm32f103以arm公司32位的cortexm3为核心,最高主频为72mhz。stm32f103不仅价格便宜,而且外设资源丰富,尤其具有适合电力变换器控制的pwm模块,使其在电力电子控制系统中具有广阔的应用前景。
            2 stm32f103资源
            st公司的stm32f103是一个完整的系列,各型号之间是脚对脚完全兼容的,该系列分为三个大类:小容量型号、中容量型号和大容量型号等。对于不同的型号,它们的存储器容量、片内外设种类及引脚数是不同的。对于大容量的stm32f103,它内部具有3个独立的12位模数转换器,2个高级定时器,4个普通定时器(定时器均可工作在输入捕获模式下)以及丰富的通讯单元,包括多达5个异步串行接口、1个usb从器件、1个can器件、i2c和spi等模块。该型号内置64k字节的静态sram
            和512k字节闪存存储器。
            stm32f103还具备直接存储器存取(dma),用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须cpu任何干预,通过dma数据可以快速地移动,这就节省了cpu的资源来执行其他操作。本文中的模拟量采样部分便使用了dma来处理数据,这样大大节省了cpu的开支。虽然stm32的adc采样周期较长(最快1微秒),但是精度很高,提高了系统的可靠性,再加上与dma配合使用,实时性也可以得到很好的保障。
            另外stm32f103的i/o口配置非常灵活,其i/o口复用功能具有重映射功能,即可以实现外设输入口输出口的多选择配置,使得端口配置更加灵活,根据实际现场的情况来自由配置,这就给pcb布线设计带来了不少方便。
            stm32f103主系统由以下部分构成。四个驱动单元:cortex-m3内核dcode总线(d-bus)、系统总线(s-bus)、通用dma1和通用dma2。四个被动单元:内部sram、内部闪存存储器、fsmc、ahb到apb的桥(ahb2apbx)。这些都是通过一个多级的ahb总线构架相互连接的,如图1所示。flitf为外部闪存接口;apb1最高限速36m;apb2无限速,可达到72m。

           

            3 拓扑结构以及pwm分配
            3.1stm32f103定时器
            stm32f103具有2个高级控制定时器(tim1、tim8)和4个通用定时器(tim2、tim3、tim4、tim5),每个定时器都具有16位向上、向下、上/下自动装载计数器,都具有4个独立的通道。不同的是高级控制定时器(tim1、tim8)的前三个通道可以输出三组互补的pwm波形,并且可以进行死区编程,其高级控制定时器的第四个通道为单脉冲输出。每个通用定时器(tim2、tim3、tim4、tim5)的4个通道都只能工作在单脉冲输出模式下。高级控制定时器还具有刹车功能,使能该功能后,在刹车输入引脚捕获到一个有效的刹车电平之后就可以禁止该定时器所有通道的比较输出。

           图2给出了高级定时器在连续增减计数模式下4个通道的输出波形。  在图2中,timx_ccry为通道y的比较寄存器(寄存器中x代表定时器编号,y代表通道编号),timx_arr为周期寄存器,同一个定时器的所有通道共用一个周期寄存器。由寄存器timx_cr1的cms【1:0】位来选择计数方式,并且在连续增减计数时可以选择由上溢事件或者下溢事件置中断标志位,或者上溢与下溢均置位(这里没有特定的上溢、下溢中断,而是统一归为更新中断)。

                        timx_ccmr1,timx_ccmr2的ccys【1:0】用来配置通道y作为输入还是输出,ocym【2:0】用来配置pwm输出模式,例如翻转,pwm模式1(在向上计数时,一旦当前计数值timx_cnttimx_ccry时通道y为无效电平,否则为有效电平),pwm模式2(与pwm模式1相反)等。
            timx_ccer用来使能每个通道及其互补通道,同时对每个通道的输出极性进行配置,注意同一组pwm输出中的每个通道及其互补通道的输出极性要保持一致,即同时高有效或者同时低有效。timx_bdtr用来配置死区时间长度,同时可以使能刹车功能,并且对刹车电平的极性进行配置。
            在使用中通常还要对比较寄存器进行预装载,timx_ccmr1,timx_ccmr2的ocype位用来使能通道y的预装载,在最后还要配置timx_cr1的arpe位和timx_cr2的ccpc位来开启预装载功能。
            3.2三相逆变器
            三相逆变器的拓扑结构如图3所示。可以看到这里需要3组互补的pwm波形来驱动igbt,而stm32f103的高级控制定时器(tim1、tim8)的前三个比较通道可以输出三组互补且带死区的pwm波形,无论使用tim1定时器还是使用tim8定时器均能实现对三相二电平逆变器的控制。

           

            3.3移相全桥dc-dc变换器
            移相全桥dc-dc变换器拓扑结构如图4所示。该电路前一级为单相逆变电路,后一级为半桥整流电路。因此移相全桥dc-dc变换器只需要两组互补的pwm波形来驱动igbt即可,因此实验中可使用tim1或tim8的通道1和通道2来负责生成所需的pwm波形。

          

            3.4前端升压的单相逆变器
            前端升压的单相逆变器拓扑结构如图5所示。该电路由升压电路和单相逆变器组成。逆变部分开关管的驱动
            可以由tim1或tim8的通道1和通道2完成。因为升压igbt(ct_b)是单管控制,相对比较简单,但是不能使用tim8的通道3和通道4,因为同一个定时器的所有通道的计数周期是一样的。为了提高系统系统设计的灵活性升压igbt的开关频率和逆变器开关频率可任意设定,因此需要再使用一个定时器,例如tim4的通道1。

           

            4 控制结构设计
            图6给出了一个基于stm32f103的电力电子控制系统的通用结构框图。
            由于不同的功率变换器模块所需要的pwm波形不同,比如升压电路需要单管pwm波形,单相逆变需要两组互补的pwm波形,三相逆变则需要三组互补的pwm波形,因此实际应用中,要根据不同的场合来合理地分配pwm。

           

            如图6所示,系统通过采样需要控制的反馈量,与给定值进行比较,所得误差送给pi控制器,并由适当的pwm调制算法计算各个通道的比较值,来产生所需的pwm波形。同时在电力电子应用中不可避免的要设计故障保护,比如igbt短路保护、输入输出过压欠压保护、过流保护、接触器故障保护等,因此必须引入多路用于故障检测的反馈量。另外还要有必要的通讯以便实时观察记录数据和故障等。

          

            实验中,对于三相逆变器只采取了电压单闭环控制,而移相全桥dc-dc变换器和单相逆变器都增加了电流内环的控制,这也是根据实际的输出要求决定的,移相全桥dc-dc变换器和单相逆变器的输出要求精度高些,并且要求响应速度要快一些,因此加入了电流内环。

           
            5 实验结果
            三相逆变器输入电压为dc600v,输出电压为ac380v±5%,输出频率为50hz±1hz,输出电压谐波含量小于5%,逆变器负载为通风机负载,通风机的功率为37kw,逆变器启动时间小于15s。下面给出了由录波仪记录的三相逆变器输出电压和电流的实验波形。图7为空载时电压的动态波形,即软启动的过程,图8为空载时电压稳态波形及其谐波分析,图9为满载时电压以及电流的动态波形,图10为满载时电压稳态波形及其谐波分析,图11为满载时电流稳态波形及其谐波分析。从实验结果来看基于stm32
            f103控制平台所设计的三相逆变器达到了要求的性能指标。

           

           

            6 结束语
            本文简单介绍了stm32f103在电力电力技术上的应用。针对不同的电力电子变换器结构,给出了stm32f103的硬件配置。可以看出,stm32f103的硬件资源能灵活满足不同电力电子控制系统配置需要,采用单片stm32f103可以实现各种控制方案。给出三相逆变器空载满载时电流电压的动态和稳态波形波形,进而验证了系统的可行性。

           



楼主最近还看过

SSI ļʱ