欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    开关电源模块并联供电系统设计.doc

    • 资源ID:2550812       资源大小:1.38MB        全文页数:32页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    开关电源模块并联供电系统设计.doc

    选 修 课 设 计 (论 文) 题题 目目 开关电源模块并联供电系统设计 专专 业业 电子信息工程 班班 级级 111 112 班 姓姓 名名 邓逸博 孙浙飞 汪超 指导教师指导教师 王章权 所在学院所在学院 信息学院 完成时间:2014 年 5 月 开关电源模块并联供电系统设计 电子信息工程专业 邓逸博 孙浙飞 汪超 摘摘 要:要:本设计设计制作的是开关电源模块并联供电系统,能够广泛应用在小功 率及各种电子设备领域,能够输出 8V 定压,功率可达到 16W,并根据要求对两路电 流进行按比例分配。本系统由 DC/DC 模块,均流、分流模块,保护电路组成。 DC/DC 模块以 IRF9530 芯片为开关,配以 BUCK 的外围电路实现 24V-8V 的降压与稳 压。采用 LM328 比较电路实现电流和电压的检测,控制由 DC/DC 模块构成的并联供 电系统均流与分流工作模式,通过比较器电路实现过流保护。同时进行 LCD1602 液 晶同步显示、独立键盘输入控制。输入的值经过单片机处理程序来控制输出电压, 且输出电压和电流可实时显示。 关键词关键词: DC/DC 模块,BUCK,电流分流 目 录 一、绪论 1 二、设计的目标与基本要求 1 (一) 、设计目标1 (二) 、基本要求2 三、系统设计 2 (一) 、系统框图2 (二) 、硬件设计与方案选择3 1、单片机选择 3 2、主电路选择 3 3、驱动电路图 4 4、辅助电源 5 5、电流、电压采样 6 6、显示、按键 7 (三)、软件设计7 1、主程序 7 2、按键程序 8 3、液晶程序 9 4、采样程序 .10 5、中断、PID 流程图11 四、调试过程 .12 (一) 、遇到的问题及解决办法.12 (二) 、数据分析.13 五、体会与展望 .14 参考文献 .15 附 录 .15 附录 1整体电路图 15 附录 2程序代码 16 1 一、绪论 分布式直流开关电源系统取代传统的集中式直流开关电源系统已成为大功率电 源系统的发展方向:(1)单台大功率电源容易受技术、成本的限制;(2)单台直 流开关电源故障会导致整个系统的故障,而分布式电源系统由若干电源模块并联组 成,某个电源模块故障不会导致整个电源故障;(3)可根据实际负荷的变化,自动 确定需要投入运行的模块数量或者解列退出的模块数量,对变负荷运行很有意义; (4)由于多个电源模块并联运行,使每个电源模块承受的电应力较小,具有较高的 运行效率,且具有较好的动态和静态特性。分布式电源系统需要解决的主要问题是 实现多个并联运行的模块输出相同的功率。随着通信电源技术的高速发展,电力电 子设备与人们的工作、生活的关系日益密切,而通信电子设备都离不开可靠的电源。 进入 20 世纪 80 年代,计算机电源全面实现了开关电源化,率先完成计算机的电源 换代;进入 20 世纪 90 年代,开关电源相继进入各种电子、电气设备领域,程控交 换机、通信、电力检测设备电源、控制设备电源等都已广泛使用了开关电源,更促 进了开关电源技术的迅速发展。 二、设计的目标与基本要求 (一) 、设计目标 设计并制作一个由两个额定输出功率均为 16W 的 8V DC/DC 模块构成的并联供电 系统(见图 2.1) 图 2.1 两路 buck 电路并联供电 2 (二) 、基本要求 (1)调整负载电阻至额定输出功率工作状态,供电系统的直流输出电压 UO=8.0±0.4V。在额定输出功率工作状态下,供电系统的效率不低于 60% 。 (2)调整负载电阻,保持输出电压 UO=8.0±0.4V,使两个模块输出电流之和 IO =1.0A 且按 I1:I2=1:1 模式自动分配电流,调整负载电阻,保持输出电压 UO=8.0±0.4V,使两个模块输出电流之和 IO =1.5A 且按 I1:I2= 1:2 模式自动分配 电流,每个模块输出电流的相对误差绝对值不大于 5%。调整负载电阻,保持输出电 压 UO=8.0±0.4V,使两个模块输出电流之和 IO =4.0A 且按 I1:I2=1:1 模式自动分 配电流,每个模块的输出电流的相对误差的绝对值不大于 2%。 (3)调整负载电阻,保持输出电压 UO=8.0±0.4V,使负载电流 IO 在 1.53.5A 之间 变化时,两个模块的输出电流可在(0.52.0)范围内按指定的比例自动分配,每个 模块的输出电流相对误差的绝对值不大于 2%。 (4)具有负载短路保护及自动恢复功能,保护阈值电流为 4.5A(调试时允许有 ±0.2A 的偏差) 。在额定输出功率工作状态下,进一步提高供电系统效率。 三、系统设计 (一) 、系统框图 图 3.1 系统框图 3 系统说明:以单片机为核心处理元件,DC-DC 变换器为主电路。按键、显示便于 人机交互。驱动电路将单片机和 DC-DC 变换器隔离,辅助电源给单片机和采样电路 供电。单片机将电压电流通过采样电路,运放采样回来在内部进行 A/D 处理,然后 将数据输出液晶显示。在内部进行算法调整。使整个系统稳定,并达到基本要求。 整个系统设计如上图 3.1 所示。 (二) 、硬件设计与方案选择 1、单片机选择 方案一:使用 89C51 单片机指令简单,易学易懂,外围电路简单,硬件设计方 便,IO 口操作简单,无方向寄存器,资源丰富, ,价格便宜、容易购买,资料丰富容 易查到,程序烧写简单,但要外接 A/D、D/A 芯片,来实现对整个供电系统的控制, 需要占用较多的 I/O 接口,会使普通单片机承载过大的数据处理任务,功耗较大。 方案二:使用 ATmega16,ATmega16外设特点:两个具有独立的预分频器和比较 器功能的8位定时器/计数器,两个具有预分频器、比较功能和扑捉功能的16位定时 器/计数器,具有独立预分频器的实时时钟计数器,两路8位 PWM,4路分辨率可编程 (216位)的 PWM,输出比较调制器,8路10位 ADC,面向字节的两线接口 I2C 总线, 两个可编程的串行 USART,可工作于主机/从机模式的 SPI 串行接口,具有独立片内振 荡器的的可编程看门狗定时器,片内模拟比较器。特殊的处理器特点:上电复位以 及可编程的掉电检测,片内经过标定的 RC 振荡器,片内/片外中断源,6种睡眠模式, 可以通过软件进行选择的时钟频率,通过熔丝位可以选择兼容模式,全局上拉禁止 功能。 结合前两个方案优点,经过方案比较与论证,最终确定使用方案二,因为 ATmega16 速度快 自带 PWM ,自带 AD,而用 89C51 会使电路更加复杂与不稳定所以, 用 ATmega16 单片机和其它控制器电路同实现整个系统的控制。 2、主电路选择 方案一:有一种型号为 LM2956 的降压开关电压调节器,能够输出 3A 的驱动电流, 同时具有很好的线性和负载调节特性,该器件内部集成频率补偿和固定频率发生器, 极大地简化了开关电源电路的设计。 4 方案二:采用 SG3525 自带脉宽调制电源芯片来设计 DC-DC 降压转换电路, SG3525 简单可靠及使用方便灵活,输出驱动为推拉输出形式,增加了驱动能力;内 部含有欠压锁定电路,死区时间可调、软启动控制电路、PWM 锁存器,有过流保护功 能,频率可调,同时能限制最大占空比。由此设计而成的电路易于实现脉宽调制, 然而在真正使用时会发现,为得到要求的电压输出值,开关管 S 的参数选取相当不 易。 方案三:将经过隔离变压器,整流滤波后得到的 24VDC 通过 BUCK 降压电路进行 DC-DC 转换,由 ATmega16 单片机产生 PWM 控制其占空比,从而得到要求的直流电压。 此方案仅用一块控制芯片不但可以实现对 BUCK 电路的控制,而且可以结合 A/D 和 D/A 对输出电压进行调整与显示。由于 ATmega16 单片机自带能够产生脉宽调制所需 的 PWM 信号的端口,在实际制作中用起来比较方便。ATmega16 单片机自带 8 路 10 位 A/D 转换。 结合前两个方案优点,经过方案比较与论证,最终确定使用方案三如图 3.2,因 为 ATmega16 单片机,自带 PWM 模块,可以输出 PWM 方波控制电路,节约芯片成本, 也可实现 AD 转换。用单片机和其它控制器电路同实现整个系统的控制。 3.2 主电路图 3、驱动电路图 方案一:单片机输出 PWM,采用 IR2101 驱动 DC-DC 电路中的 IRF9530,控制输 出电压。 5 方案二:先采用光耦 TLP250 和单片机进行隔离,有效保护单片机,之后用 IRF3205 去驱动 MOS 管 IRF9530,控制输出电压。 结合两种方案的对比选择方案二如图 3.3,因为方案二中采用光耦,将单片机与 主电路隔离,能够有效保护单片机,而且也能使正常使电路工作。 图 3.3 驱动电路图 4、辅助电源 方案一:采用集成的三端稳压集成芯片,7815 和 7805 分别给光耦和运放,还有 单片机供电,7815 内含过流,过热,过载保护电路。 方案二:采用 LM2575 开关稳压集成芯片,它内部集成了一个固定的振荡器,是 一种高效的稳压芯片,大多数情况下无需加散热片。内部有完善的保护电路,包括 电流限制及热关断电路等。它可以根据用户要求选择输出电压,可输出 3.3V,5V,12V,15V。然后再经过 7805 产生 5V 电压。 结合两种方案的对比选择方案二如图 3.4,因为方案二中的 LM2575 的是可调节 输出电压的芯片,方便调控,而且它内部有电压基准比较,使输出的电压能够准确 并稳定,比 7815 要精确,且性能好。 6 图 3.4 辅助电源电路图 5、电流、电压采样 采样模块是输出电压经过采样回来,形成一个负反馈.经过单片机内部 A/D 进 行处理,然后使输出更加稳定和准确。电压采样模块直接采用 LM358 运放如图 3.5, 将输出的电压缩小一定倍数后,然后送给单片机处理判断。电流采样是经过 0.1 欧 /4 瓦的采样电阻后,缩小一定倍数,然后经过一个差分电路,将电压值送入单片机 进行处理如图 3.6。 图 3.5 电压采样电路图 图 3.6 电流采样电路图 7 6、显示、按键 显示部分采用字符型液晶 1602,能够同时显示 16x02 即 32 个字符。16 个引脚,3 个 控制引脚,8 位双向数据端引脚。具有微功耗、体积小、显示内容丰富、超薄轻巧的 特点。用户可以对 EN、RW、RS 的数据进行编程,然后通过 D0D7 输出显示数据。其 引脚功能图见下表 6.1 表 6.1 1602 引脚功能图 按键部分采用四个独立的按键,分别控制占空比的加和减,对输出的电压和电流进 行控制,使输出能够达到期望的要求,其按键功能表如表 6.2。 表 6.2 按键功能表 键名 S1S2S3S4 功能PWM1 加 0.2%PWM1 减 0.2%PWM2 加 0.2%PWM2 减 0.2% CPU 端口号 PD0PD1PD2PD3 (三)、软件设计 1、主程序 如图 3.7 为主程序流程图,一开始给系统各部分初始化,包括按键初始化,液晶初 始化,PWM 初始化,AD 采样初始化,中断初始化,然后在进入大循环,在循环内进 行数据的显示,包括当前输入的占空比为多少,当前采样回来的数字量和实际的电 压值为多少。还有按键程序,和 AD 采样。同时每 10 毫秒进入定时器 0 中断进行调 整。 8 开始 系统各初始 化 显示PWM 显示AD数据 AD采样 按键 定时器0中断 进行PID调整 结束 定时器0中断 定时10毫秒 定时器0中断10 毫秒? 电压比较反 馈 定时器0中断 Y N 主程序 图 3.7 主程序流程图 2、按键程序 按键程序流程图如图 3.8 所示。按键采用四个独立的按键,分别控制 PWM1,PWM2 的 加和减,当有键按下时,扫描按键,然后进入判断。判断当前寄存器对应的值是否 大于了设定的上限值,如果没有则数值加 1,如果达到了则钳位在最大的上限值。然 后返回数据。通过按键程序,可以控制占空比的调节。 9 按键 开始 PD0是否按下? OCR1A+1 OCR1B+1 OCR1A265 /停止定时器 TCNT0 = 0x64;/初始值,每 10 毫秒进一次中断 TIMSK = 0x01; /允许中断 SREG |= BIT(7); /允许全局中断 /*外中断 0 函数*/ void timer0_ovf_isr(void) TCNT0 = 0x64; pid1_calculating(); /PID 调整 OCR1A pid2_calculating(); /PID 调整 OCR1B com_vol(); /电压反馈 /*PWM 设置输出*/ void KPWM(void) PORTD|=BIT(4)|BIT(5); DDRD|=BIT(4)|BIT(5); TCCR1A = 0xA2; /两路 PWM,匹配清零 TCCR1B = 0x11; /相位修正 PWM 模式,位数可调,预分频 1 ICR1 = 800; /此数为 16 位 PWM,16M 晶振,clk/(2*N*TOP),频率为 10K OCR1A = 255; /占空比 31.8% OCR1B = 255; /占空比 31.8% void main() 17 KPWM(); /PWM 函数 LCD_init(); /1602 初始化函数 key_init(); /按键初始化函数 timer0_init(); /定时器 0 初始化 adcport_init(); /AD 端口初始化 while(1) Display_PWM(); /显示 PWM 函数 press(); /按键函数 display_AD0(); /显示 AD0 的模拟量和数字量 /*1602.h*/ #ifndef _1602_H_ #define _1602_H_ #define uchar unsigned char #define uint unsigned int void delay(uint MS); void write_com(uint com); void write_dat(uint dat); void LCD_init(); void Display_PWM(); void calculate_AD0(); #endif /*1602.c*/ #include #include #include“1602.h“ #define uchar unsigned char #define uint unsigned int /*显示固定数组 PWM:*/ const uchar tab=“PWM:“; /*延时函数*/ void delay(uint MS) /约为 1MS 的延时函数 uint i,j; 18 for(i=0;i #include #include“1602.h“ #define uchar unsigned char #define uint unsigned int /参考电压 #define REF 5.12 /*ADC 端口初始化*/ void adcport_init() DDRA PORTA DDRA PORTA DDRA PORTA /*ADC0 初始化*/ void ADC0INIT(void) ADMUX=0x40; /AREF 基准压,结果右对齐,通道为 ADC0 ADCSRA=0x87; /使能 ADC,单次转换,预分频为 128 ADCSRA|=(1=360) /实际电压值大于 8.4V OCR1A=265; /钳位到 8.4V OCR1B=265; 24 if(get_ADC2data() #include #include“1602.h“ #define uchar unsigned char #define uint unsigned int uint count_pwm=255; uint count_pwm1=255; /*按键初始化函数*/ void key_init() DDRD /独立键盘接口置高电平 PORTD|=BIT(0); DDRD /独立键盘接口置高电平 PORTD|=BIT(1); DDRD /独立键盘接口置高电平 PORTD|=BIT(2); DDRD /独立键盘接口置高电平 PORTD|=BIT(3); DDRD /独立键盘接口置高电平 PORTD|=BIT(7); /*按键函数*/ 25 void press() uchar m; m=PIND; m if(m=0X0e) count_pwm=OCR1A; /读取当前 PWM 值 count_pwm+=1; count_pwm=OCR1B; /读取当前 PWM 值 count_pwm+=1; delay(1); /按键消抖 while(PIND=0x0e); OCR1A=count_pwm; /OCR1A 赋新值 OCR1B=count_pwm; /OCR1B 赋新值 if(OCR1A=265 OCR1B=265; if(m=0X0d) count_pwm=OCR1A; /读取当前 PWM 值 count_pwm-=1; count_pwm=OCR1B; /读取当前 PWM 值 count_pwm-=1; delay(1); /按键消抖 while(PIND=0x0d); OCR1A=count_pwm; /OCR1A 赋新值 OCR1B=count_pwm; /OCR1B 赋新值 if(OCR1A=261|OCR1B=260) OCR1A=250; OCR1B=260; /*PID.H*/ #ifndef _PID_H_ #define _PID_H_ void pid1_calculating(); void pid2_calculating(); #endif /*PID.H*/ #include #include #include #include“ad.h“ 27 #define uchar unsigned char #define uint unsigned int /pid 的参数 #define Kp 0.1 /PID 调节的比例常数 #define Kp1 0.6 /PID 调节的比例常数 #define ki 65536 /PID 调节的积分常数 #define ki1 65536 /PID 调节的积分常数 #define kd 0 /PID 调节的微分时间常数 #define kd1 0 /PID 调节的微分时间常数 #define T 0.01 /采样周期 #define T1 0.01 /采样周期 #define Kpp Kp*(1+0.25+0) /计算公式 #define Kpp1 Kp1*(1+0.25+0) /计算公式 #define Kii (-Kp)*(1+0.25) /计算公式 #define Kii1 (-Kp1)*(1+0.25) /计算公式 #define Kdd 0 /计算公式 #define Kdd1 0 /计算公式 #define Emin 0 /误差的阀值,小于这个数值的时候, 不做 PID 调整,避免误差较小时频繁调节引起震荡 #define Umax 2000 /调整值限幅,防止积分饱和 #define Umin -2000 #define Pmax 263 /输出值限幅 #define Pmin 250 double set=6; /设置参数 double set1=6; /设置参数 int pwm_var=0; /PID 调整量 int pwm_var1=0; /PID 调整量 int pwm_out=0; /PWM 输出量 int pwm_out1=0; /PWM 输出量 double Uo = 0; /公式计算值 double Up = 0; /公式计算值 double Ek = 0; /设定值与测量值的差值 double Ej = 0; /设定值与测量值的差值 double Ek1 = 0; /中间变量 double Ej1 = 0; /中间变量 double Ek2 = 0; /中间变量 double Ej2 = 0; /中间变量 /*PID1 运算*/ void pid1_calculating() Ek=set-get_ADC0data(); /差值的计算 28 if(fabs(Ek)=Umax) pwm_var=Umax; if(pwm_var=Pmax) pwm_out=Pmax; if(pwm_out=Umax) pwm_var1=Umax; if(pwm_var1=Pmax) pwm_out1=Pmax; if(pwm_out1=Pmin) pwm_out1=Pmin; OCR1B=pwm_out1; 29

    注意事项

    本文(开关电源模块并联供电系统设计.doc)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开