好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于PICFA控制boostbuckDCDC变换器.docx

16页
  • 卖家[上传人]:1537****568
  • 文档编号:212368974
  • 上传时间:2021-11-19
  • 文档格式:DOCX
  • 文档大小:187.08KB
  • / 16 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 基于PICFA控制boost-buckDC-DC变换器———————————————————————————————— 作者:———————————————————————————————— 日期: 输出电压可设置的升降压DC-DC变换器如下列图,设计一个DC-DC变换电路: 要求:1〕 当输入电压Ui 在14V~16V变化时,输出电压Uo恒压输出,Uo稳态相对误差不超过2%,Uo可通过键盘设置为10~20V间的任意电压,电压步进长度;2〕 要求用液晶屏显示输出电压和输出电流,电压显示精度到,电流显示精度到50mA;要求带4*4键盘,键盘定义如下:123del456自定义789自定义小数点0自定义ok3〕 输出负载电流I2范围0~1A;4〕 试计算电源效率<一>电路局部:设计原理:主电路boost-buck电路,驱动电路,控制电路〔pic单片机控制〕原理概述:boost-buck电路利用开关管的开关,输出电压的平均值Uo=ton/(T-ton)Ui=D/(1-D)*uiD为占空比用单片机输出PWM方波〔经过驱动电路放大后〕控制MOS管的开关,来调节输出电压将输出电压送回PIC单片机模数转换模块,通过反应调节PWM占空比调节电压,使输出稳定。

      利用差分运放电路,检测出输出电压与输出电流的关系键盘输入设置电压外接液晶屏显示输出电压和输出电流和输出电流主电路:驱动电路:控制电路:液晶外围电路:键盘电路模块:用multisim仿真如下结果:设计小结:输出电流与输出电压的关系U=RI在程序设计中,通过电压的输出在液晶屏上显示电流的输出〈二〉程序局部:输出pwm:#include<>unsigned int DRE;__CONFIG(0x2001);void PWM(){ PR2=39; //频率25KHz TRISC|=0x04; //RC2置为输入 CCP1CON=0X0c; //PWM输出 CCPR1L=0X01; //占空比25% T2CON=0X04; //开定时器TMR2,预分频1:1 TMR2IF=0; //去除TMR2中断标志位 }void main(){ while(1) { PWM(); DRE=40; //高电平存放器的值 CCPR1L=DRE/4; //装入高8位 CCP1CON<5>=(DRE/2)%2; //装入次低位 CCP1CON<4>=DRE%2; //装入最低位 while(TMR2IF==0); TRISC=0x00; }} AD转换:#include<>__CONFIG(FOSC_XT&WDTE_OFF&LVP_OFF);void AD() { TRISA0=1; //RA1设置为模拟输入 ADCON1=0x00; //参考电压电源电压VDD AD转换周期Fosc/4 ADCON0=0x40; // }void delayms(int xms) {int i,j ; for(i=0;i#define LCD_EN RC7#define LCD_RW RC6#define LCD_RS RC5unsigned int x,y,z,A,B,C;unsigned char dis0[]="voltage:";unsigned char dis1[]={0,1,2,3,4,5,6,7,8,9,.};unsigned char dis2[]="current:";unsigned char dis3[]={0,1,2,3,4,5,6,7,8,9,.};unsigned char dis4[3], dis5[3]; __CONFIG(FOSC_XT&WDTE_OFF&LVP_OFF);void delay (int xms) { int i,j; for(i=0;i#include<>#define LCD_EN RC7#define LCD_RW RC6#define LCD_RS RC5unsigned int x,y,z,A,B,C;unsigned char dis0[]="voltage:";unsigned char dis1[]={0,1,2,3,4,5,6,7,8,9,.};unsigned char dis2[]="current:";unsigned char dis3[]={0,1,2,3,4,5,6,7,8,9,.};unsigned char dis4[3], dis5[3]; __CONFIG(FOSC_XT&WDTE_OFF&LVP_OFF);void delay (int xms) { int i,j; for(i=0;i

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.