




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STM32微控制器控制的可调开关电源设计摘要开关电源作为一种新型电源,由于其小型、轻便及效率高等优点被广泛应用于以电子计算机为主导的电子设备中,成为当今科技发展不可或缺的电源方式。本系统是基于STM32微控制器控制的开关电源。系统由单片机模块、BUCK-BOOST开关电源模块、信号采集模块、输出电压控制模块等组成。以STM32微控制器为核心,实现输出电压控制,电源参数采集显示等功能。电源芯片采用TPS63020,产生可升可降的输出电压。调理模块由差分放大、电压跟随、模拟开关等电路组成,完成信号放大、衰减、变换等功能。系统不仅可以支持常用电压的转换,输入电压范围为1.8V至5.5V,输出电压支持范围为1.5V至5.5V,输出电流支持范围为0到500mA,还可以在TFT屏上面实时显示电压、输出电流和输出功率值。系统输出电压稳定,性能优良、成本低,可以在未来的科技发展中为电子设备提供优秀的电源方式。关键字:BUCK-BOOST开关电源;单片机;数据采集;自动升降压目录TOC\o"1-3"\h\u254541前言 前言选题背景与意义21世纪随着科技的高速发展,电子信息技术的创新也带来了各类电子产品的升级换代,使人们的生活更加便利。而这些电子产品的工作都少不了电源的参与。常见的电源有线性电源和开关电源[1]。线性电源体积大,稳定性好,输出范围小,适用在一些特定场合。而市面上使用最多的是开关电源。开关电源最早是利用在火箭技术上,经过几十年的发展与创新,出现许多类型的开关电源,主要分为模拟开关开关电源和数字开关电源。它们有着体积小,效率高,输出范围广,稳定性好等特点慢慢成为电子设备的主流电源选择,尤其是高频开关电源在开关电源中得到最好的发展,得到了最为广泛的应用。不同种类的开关电源也在不同的场景中发挥着各自重要的作用。如今的时代趋势是向数字化靠拢,开关电源也是如此。目前的开关电源主要是单电压输出,在现代科技产品开发过程中逐渐暴露出许多不足,特别是对大范围输出的要求。此时,基于计算机控制的开关电源显示出其优越性。可灵活控制,实现宽电压、宽电流的调节和输出。因此有必要学习基于单片机的开关电源的相关知识[2]。系统设计可以实现的功能如下:通过单片机控制数字电位器的电阻值,稳定输出1.5v-5.5v的直流电压,输出电流的最大值为500mA。单片机可以实时显示电源的电压、电流和输出功率值。主要研究内容本论文对于整个系统所实现功能的模块进行对比论证,选择一个合适我们系统的方案,然后再整合以确定最终的方案。然后对系统具体的硬件电路和程序进行设计。最后对所搭好的系统进行功能测试,对于误差和出现的问题进行分析和解决;并对此系统提出改进方案。
2方案论证及选择2.1开关电源方案一、选取LM5175芯片,输入电压范围和输出范围都比较灵活,它可以使输出电压等于输入电压,高于输入电压或低于输入电压。它在buck和boost模式下都采用电流模式控制,以提供良好的负载和线路调节性能[3]。但是LM5175只是控制器;输出电流能力依赖外接MOSFET,并且外围电路比较复杂,系统要求尽可能搭建简易电路,并且该芯片价格较为昂贵,成本高,不适应于本系统。方案二、选取TPS63020,输入电压范围和输出电压范围也很灵活。它工作在一个固定的频率,并在整个负载范围内具有高效率[4]。输出电压可通过外部电位计编程,在负载电流较低的情况下,该转换器会进入节能模式,并且它使用起来简单,外围电路较LM5175相比来说使用起来简单,芯片成本也比较低,性价比也较高。综上所述,基于对成本和可行性上考虑,选取方案二。2.2信号采集电路方案一、对于输入电压采集端,因为AD电压采集的范围是0-3.3V,输入电压的最大值超过了可采集的最大值,所以在输入端利用采样电阻,对输入电压进行分压,然后经过一个电压随器,得到AD可采集的电压值;输出电压采集端与输入电压采集端使用的方法一样;输出电流,利用通过改变电子负载,使得采样电阻两端的电压发生变化,由欧姆定律可得输出电流,然后利用电压跟随器与STM32的12位ADC相连,然后利用STM32单片机进行最后的数据处理及显示。方案二、此方案与方案一的不同点在于输出电流采集电路,主要是采用AD620仪表放大器和CD4052模拟开关,虽然AD采集的范围是0-3.3V,理论上这个范围的电压值都可以采集,但是对于幅值很小的直流信号来说,AD数据直接采集完然后进行处理,得到的数据存在着很大的误差,因为幅值很小,极易受到外界无用信号的干扰;所以对于小幅值和大幅值的直流信号来说,采用CD4052程控开关将它们区分开。对于小幅值的直流信号,可以利用AD620仪表放大器将采样电阻两端的电压放大,然后经过一个电压跟随器再由AD进行采集;而对于大幅值的直流信号,可直接经过一个电压跟随后再由AD进行数据采集。综上所述,使用模拟开关芯片可以有效的将小幅值和大幅值的直流信号区分开,并且小幅值的直流信号可以经过放大从而更好的被AD采集,相比方案一避免了采集时的误差,所以选取了方案二。2.3电压输出控制电路方案一、X9015US8是intersil公司生产的易失性32抽头数字电位器,该器件由31个电阻串联组成,可以串联编程为将RW/VW抽头输出与以下任何一个连接电阻之间的节点相连。有10kΩ、50kΩ和100kΩ三种阻值选择,支持2.7-5V供电,与单片机利用I2C进行通信,外围电路简易。但是本系统的要求是断电后重新上电,输出电压保持和断电前一致,但是X9015US8在断电后重新上电,抽头会自动回到中间阻值,无法输出和断电前一致的电压,需要重新设置,所以不满足系统要求。方案二、X9315UM8I是intersil公司生产的非易失性32抽头电位器,它串联电阻数、阻值选择及供电方式和X9015US8一致,并且外围电路简易、与单片机也是利用I2C进行通信。但是这款芯片在断电后会自动保存抽头位置,重新上电后可以输出断电前的电压,使得系统上电后可以直接工作。综上所述,选取方案二。2.4AD采集方案一、采用51单片机加ADC0804。51单片机本身没有内置AD,所以需要外置AD采集模块。ADC0804是一款8位采用逐次采样的集成A/D转换器,ADC0804负责采集采样电阻两端的电压值,送入51单片机进行数据处理,在液晶屏上显示。需要单独为ADC0804进行编程,并且需要外接。方案二、采用STM32。STM32内部拥有2个独立的12位器A/D转换器,可以独立采集18个不同的信号,可以通过GPIO的方式采集16路外部电压和2路内部的信号源,每个通道的A/D转换可以在单个、连续、扫描或间歇模式下实现。并且不需要任何外接电路,直接调用内部函数,即可使用。综上所述,STM32相比51单片机来说,省去了外接ADC电路,并且也不需要额外的编程,节约了成本,并且可靠性和精度都比较高,所以选择方案二。3系统介绍与硬件电路设计系统总体框架如图3-1所示。它主要由开关电源、信号采集电路、电压输出控制电路和STM32单片机组成。图3-1系统总体框图图3-1所示,开关电源模块由TPS63020设计而来,利用STM32单片机控制数字电位器来实现不同电压的输出,直流信号采集电路控制输入输出电压和采样电阻两端电压,STM32对经采集电路处理后输出的输入电压、输出电压以及输出电流进行采集并处理。3.1开关电源电路设计开关电源模块是整个系统的核心[5]。它的性能和稳定性随时都会影响系统,在设计过程中要想到可能会出现的问题,并将其解决。开关电源模块如图3-2所示。图3-2电源模块电路原理图本电路是由buck-boost芯片TPS63020芯片组成,输入电压范围为1.8V-5.5V,可调节输出电压范围为1.2V-5.5,输出电流最大可达2A,效率最高可以达到96%(输出输入压差越小效率越高)。该器件的静态电流小于50ua,用于改善低输出功率效率的节能模式。2.4MHz强制固定工作频率可实现同步,具有超温、过压保护功能。其稳定性好,电路结构简单,使用便捷等诸多优点。本开关电源模块采用可变电源供电,通过电路上的电位器调整准确输出1.5V-5.5V直流电压且精度很高。设计电位器RW2,可以让电路处于升压或降压状态,应对不同的使用场景;因为TPS63020变换器内部有内环补偿,所以外部电感器必须选择输出电容器与内部补偿一起工作。存在一个电感值的低限值,以避免由电流引起的次谐波振荡导致感应器电流上升太快,所以根据芯片手册上的推荐,电感器选择1uH;输出端加上D3发光二极管,判断电路是否正常工作;输入端,使用100uF来改善调节器的线路瞬态特性和电磁干扰特性,并且为了确保内部控制电路稳定的低噪声电源电压,在输入端并联22uF电容与2.2uF的陶瓷电容;输出端,使用2个22uF大电容电容与2.2uF的陶瓷电容的组合,大电容会导致较低的输出电压纹波及在负载瞬态期间有较低的输出电压降,陶瓷电容可以减小整体电路的ESR。3.2信号采集电路设计3.2.1程控模拟开关电路设计CD4052是一个差分4通道模拟开关,具有A和B两个二进制控制输入。它具有低阻抗和低截止泄漏电流的特点。根据系统要求,采用CD4052模拟开关来完成对大小直流信号通道切换,通过芯片A、B引脚连接单片机GPIO口进行程序控制,单片机改变A、B引脚的电平而切换至不同的信号通道,对应关系如表3-1所示[6]。表3-1控制状态和通道通断关系A状态B状态大直流信号小直流信号00开启关闭01关闭开启图3-3程控模拟开关电路原理图3.2.2衰减跟随电路设计采用大电阻分压外加运放跟随组成衰减器。通过分压公式,它也能将直流电压值衰减到一定的值,使用方法比较简单,使用的物料比较少,同时利用一个运放实现了跟随,避免了AD采集采集时前级影响后级的情况,确保了直流信号的完整性。衰减跟随器电路图如图3-4所示。图3-4衰减跟随电路原理图3.2.3仪表差分放大器电路设计如图3-5所示为仪表差分放大电路,采用AD620仪表放大器芯片。实现放大采样电阻Rs两端的电压信号的功能,由于采样电阻两端的电压有时候会出现低于20mV的情况,所以需要低噪声的放大器。该仪表放大器噪声低,并且具有极高的KCMRR(共模抑制比)[7]。采用差分结构可以准确采集采样电阻R两端的电压并将其放大,放大倍数设置为100倍,并采用+12V电压供电,用在本系统上是足够的。图3-5仪表差分放大器电路原理图3.3电压输出控制电路设计图3-6是电压输出控制电路。采用intersil公司生产的X9315UM8I数字电位器。将数字电位器的阻值设为100kΩ,输入5V电源,将RH和RW引脚接入开关电源电路中,连接STM32,利用矩阵键盘对数字电位器的阻值进行改变,实现不同电压的稳定输出。图3-6电压输出控制电路原理图3.4STM32单片机控制电路设计系统功能的实现和操作是由STM32单片机来实现的,其使用5V-1A电源供电。此单片机主要模块如图3-7-1所示。设计单片机使用的电源电路时,我们要关注所需电源产生的纹波对整体系统的影响,电路如图3-7-2所示[8]。滤波电路部分,分布在芯片的每个模拟电路引脚和数字电源引脚,布板时需要尽量靠近芯片电源引脚,避免产生电磁效应,抵消了电容的滤波效果,滤波电路如图3-7-3所示。复位电路部分,NRST低电平有效,按键按下瞬间电容释放,电平拉低,开启复位,释放按键,电容充电至饱和,NRST端口电平重新拉升,高电平无效,不执行复位操作,电路如图3-7-4所示[9]。按键电路部分,采用4x4矩阵键盘,当按键没有按下时,CPU对应的I/O口与地之间没有导通,CPU对应的I/O接口外有上拉电阻,输入接口高电平;当按下按钮时,CPU的I/O口与地导通,I/O口电平被地拉低。所以只要读取I/O口的状态,即可知道按键是否有被按下,通过按16个不同的按键,即可得到不同的输出电压。电路如图3-7-5所示。时钟电路部分,STM32103VCTT6电路设计不仅支持片内的8MHz作为时钟源,还支持从外界输入的8MHz晶振。C3_1和C3_2为起振电容,时钟电路如图3-7-6所示[10]。图3-7-1单片机最小系统电路图3-7-2USB接口和供电电源电路图3-7-3电源滤波电路图3-7-4复位及下载端口电路图3-7-5矩阵键盘电路图3-7-6时钟电路TFT液晶模块用于显示测得的开关电源参数,其原理图如图3-7-7所示。图3-7-7液晶显示电路
4系统软件设计本系统的软件设计为:基于stm32的自动升降压可调电源设计。软件设计使用keilc51软件。4.1主程序设计主程序可以分成三个部分,分别分为外设初始化、信号采集、按键控制电压输出。外设初始化主要是对系统中需要用的外设资源进行初始化设置。信号采集部分是对开关电源输入输出的电压进行采集。在采集小幅值的电压时,利用一个AD620差分放大器将相应的电压进行放大,然后再进行采集,最后再将采集的数据送入STM32进行数据处理然后对于的参数在液晶屏上显示[11]。按键控制电压输出部门是利用按键改变数字电位器的阻值,使电源输出稳定。图4-1为系统的主程序流程图。图4-1自动升降压可调电源程序主流程图系统初始化:液晶、端口、A/D转换、键盘等外设初始化。显示提示信息:显示系统具体参数和操作方法。功能实现:系统默认打开测试功能,当输入输出端接入GPIO口,即可显示具体参数值。4.2ADC程序设计STM32F103内部含有2个独立的12位模拟数字转换器。因为STM32的晶振为14MHz,而ADC的时钟不能超过14MHz,所以在打开ADC时钟后,设置ADC时钟为系统时钟的6分频[12]。首先先对ADC的输入引脚进行配置,并对ADC在DMA通道也进行配置。ADC有多种触发采集方式,本程序采用的是定时器触发方式,定时器触发先设定一个时间长度,定时器时间到,就控制启动一次AD转换,还需要配合DMA通道来联系传递数据。ADC有分规则组采样和注入组以及单通道采样,根据要求,选择了规则组采样,并且对通道进行配置。ADC在使用时,要对ADC进行软件自动校准。如图4-2所示。图4-2ADC采集程序流程图4.3按键控制电压输出程序设计外部我们采用矩阵键盘,16个按键都对着16个5位二进制数,通过按键可以在这些二进制数之间进行切换,这些二进制数对应着数字电位器内部的MOS管开关状态。我们通过按键切换二进制数,单片机将变换后的数值利用I2C通信传递给数字电位器,数字电位器通过这些数值控制内部32个mos开关,从而改变相应的阻值,使得开关电源输出不同的电压[13]。单片机与数字电位器之间的通信方式是I2C。I2C在数据传送前主机会发送一个起始信号给从机,从机收到以后会发出响应信号,然后主机开始发送数据,等数据发送完成,主机会发送一个结束信号代表数据发送结束。按键控制电压输出流程图如图4-3所示。图4-3按键控制电压输出程序流程图4.4可调输入电压检测设计按键选择进入数据显示界面后,TPS63020的输入端电压利用STM32F103的12位ADC(数模转换器)进行采集,计算得出输入电压。输入电压测量流程图如图4-4所示。图4-4输入电压程序流程图4.5可调输出电压检测设计按键选择进入数据显示界面后,TPS63020的输出端电压利用STM32F103的12位ADC(数模转换器)进行采集,计算得出输入电压。所示输出电压程序流程图如图4-5所示。图4-5输出电压程序流程图4.6输出电流检测设计输出电流检测的设计相对复杂,系统初始化完毕后,TPS63020的输出电流利用STM32F103的12位ADC(数模转换器)对输出端采样电阻两端电压进行采集,并对电压值进行判断。利用一个CD4052模拟开关以17mv为分界,将不同的电压值进行不同的处理[14]。如果采样电阻两端的电压小于17mV,两端电压必须用差分放大器AD620放大,放大倍数为100倍,然后经过被ADC采集并将数据进行处理;如果采样电阻两端电压大于17mv,则直接经过一个跟随器然后被ADC采集,并进行数据处理。输出电路检测流程图如图4-6所示。图4-6输出电流程序流程图5系统测试与误差分析5.1测试仪器BEST DT9205A万用表一个;GWINSTEK PEL-2030A电子负载一台;KEUTHLEY2231A-30-3数字电源一台;线性直流稳压电源一台;图5-1整体系统5.2硬件调试输入3.3V,输出1.5V输入3.3V,输出5V输入5V,输出1.5V输入5V,输出3.3V输出5V,输出电流1mA输出5V,输出电流10mA输出5V,输出电流23mA输出5V,输出电流299mA输出5V,输出电流30mA输出5V,输出电流50mA输出3.3V,输出电流98mA输出5V,输出电流502mA输出5V,输出电流148mA输出5V,输出电流451mA调试硬件时遇到过两个问题:问题1:TPS63020带重载时(4欧姆以下),输出端掉电压,供电电源上显示达到供电电源的最大电流为1A。解决方法:这是因为芯片内部软启动电路由电流限制比较器的斜坡控制,该电流限制比较器启动开关电流限制低电平并增加到最大值。在此期间监视输出电压,并且必须增加开关电流以增加。所以一是在刚启动时,EN引脚需要很大的电流,将电源的最大电流设置为最大输出电流的两倍,芯片即可正常工作[15]。在输入端放置电容,启动时,电容充电,起短暂延时作用,使能引脚能够得到较大的电流。问题2:带2欧姆负载时输出端电压为5V,但电阻上的电压只有3.5V左右,且杜邦线发烫。解决方法:经过测试短杜邦线上的电阻值为0.45欧姆,长杜邦线上的阻值为1欧姆,在测量重载时有较大的误差。在测量时应把杜邦线换为纯铜导线(越短越好),即使是纯铜导线仍有0.25欧姆的阻值。问题3:输入3V,最大电流1A。输出电压5V,带8欧姆负载。输出端电压掉为3V,芯片发烫。解决方法:供电电源电流不够,将供电电源最大电流设置为2A问题4:采样电路中,电子负载一端接地,另一端跟采样电阻相接,测试时发现,采集小电流时,AD620放大倍数不对,并且单片机上显示的电流大小与实际误差很大,分析发现,虽然理论上电路是正常的,但是如果电子负载接地,采样电阻两端的电势接近电源电压,超过AD620单端的最大输入电压,使得AD620差分放大电路无法正常工作。解决方法:电子负载与采样电阻位置互换,问题得到解决。问题5:采样电阻两端直接接入ADC输入端,AD采集完数据显示乱码,由于ADC端口内的输入电阻会与采样电路进行分压,使得实际采集的电压会偏小,导致STM32无法识别和处理。解决方法:在采样电阻和ADC中间加入跟随器,STM32的ADC可以正常采集并显示数据。5.3软件调试 问题1:测量20mV及以下的电压时,由于幅值太小,导致有时候测量的采样电阻两端的电压值误差很大,也会出现乱码情况,从而输出电流无法测量。解决方法:通过分析可知,因为使用ADC前级使用一个AD620放大器,但是放大电路对于20mv以下的电压放大倍数不是固定的,经过多次测量,我们在15mV时设置AD620放大倍数50倍,并且对20mV以下多设置几个区间,使得不同的采集电压可以根据实际情况获得不同的处理,尽可能降低风险,并且数据乱码的情况也得到解决[16]。5.4测试结果表5-4-1输入电压检测(Ui)测试数据理论Ui(V)实测Ui(V)误差1.81.800%22.010.5%2.152.140.46%2.352.330.85%2.82.820.71%3.13.080.65%3.23.210.31%3.53.520.57%3.73.690.27%3.93.920.51%4.24.200%4.54.490.22%4.74.720.42%55.030.6%5.55.480.36%表5-4-2输出电流检测(Io)测试数据测试条件理论Io(mA)实测Io(mA)误差输入电压3.3V,输出电压5V110%550%880%12120%16160%20200%25250%57561.7%1001000%2002000%3003020.66%3503510.28%3803820.52%4003980.5%4304290.23%4504530.66%5004990.2%表5-4-3输出电压检测(Uo)测试数据测试条件理论Uo(V)实测Uo(V)误差输入电压3.3V1.51.5050.3%22.010.5%2.52.5050.2%3.33.310.3%44.010.25%4.54.490.22%55.010.2%5.55.520.36%表5-4-2输出功率检测(Po)测试数据测试条件理论Io(mA)实测Io(mA)理论输出功率(W)实际输出功率(W)误差输入电3.3V,输出电压5V110.0050.0050%550.0250.0250%880.040.040%12120.060.060%16160.080.080%20200.10.10%25250.1250.1250%57560.2850.281.7%1001000.50.50%200200110%2502481.251.240.8%2702721.351.360.74%3003021.51.510.66%3503511.751.7550.28%40039821.990.5%4304292.152.1450.23%4504532.252.2650.66%5004992.52.4950.2%5.5误差分析与方案改进从测试结果来看,输入电压、输出电压、输出电流及输出功率的误差都基本控制在1%以下,输出电流值偶尔误差较大,出现这种情况是因为对于小信号来说,因为其幅值较小,容易受到干扰,ADC采集的精度不是特别高并且AD620对于小幅值的直流信号放大倍数也不是固定的,本系统取得的是采样电阻两端电压为10mv时AD620放大倍数为100倍,但是幅值改变,放大倍数也随之改变,小幅值时,放大倍数就低于100倍,这就导致了算法取的固定值对于越小的幅值作用就越小。幅值小,放大倍数也存在误差,外界也存在一些干扰,ADC采集的就不精确,所以显示的输出电流值误差就比较大,本设计中采取用算法把输出电流进行分段处理,对计算结果进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水泥河沙购销合同范本
- 铜矿居间服务合同范本
- 景观亮化施工合同模板
- 进口商品独家分销合同样本
- 物业管理服务外包合同
- 半成品门窗合同范本
- 提供市场服务合同范本
- 比亚迪新车购买合同范本
- 牦牛买卖合同范本
- 家装合同范本木工
- 微创外科技术课件
- 第六单元课外古诗词诵读《泊秦淮》课件(共23张PPT)-部编版语文七年级下册
- 大学生自我意识课件
- 关于太阳能路灯的英文文献
- 中国近现代史纲要的学习心得体会-中国现代历史纲要小结
- PI形式发票模板
- 新托福口语核心分类词汇
- 接触网应急处置培训
- (西北)火力发电厂汽水管道支吊架设计手册
- 最新老年人照料设施建筑设计标准JGJ450-2018
- 智慧环卫大数据一体化管理平台解决方案课件
评论
0/150
提交评论