- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于PICFA控制boostbuckDCDC变换器
输出电压可设置的升降压DC-DC变换器
如下图,设计一个DC-DC变换电路:
要求:
1) 当输入电压Ui 在14V~16V变化时,输出电压Uo恒压输出,Uo稳态相对误差不超过2%,Uo可通过键盘设置为10~20V间的任意电压,电压步进长度0.1V;
2) 要求用液晶屏显示输出电压和输出电流,电压显示精度到0.1V,电流显示精度到50mA;要求带4*4键盘,键盘定义如下:
123del456自定义789自定义小数点0自定义ok
3) 输出负载电流I2范围0~1A;
4) 试计算电源效率。
一电路部分:
设计原理:主电路boost-buck电路,驱动电路,控制电路(pic单片机控制)。
原理概述:boost-buck电路利用开关管的开关,输出电压的平均值Uo=ton/(T-ton)×Ui=D/(1-D)*ui。D为占空比。用单片机输出PWM方波(经过驱动电路放大后)控制MOS管的开关,来调节输出电压。将输出电压送回PIC单片机模数转换模块,通过反馈调节PWM占空比调节电压,使输出稳定。利用差分运放电路,检测出输出电压与输出电流的关系。键盘输入设置电压。外接液晶屏显示输出电压和输出电流和输出电流。
主电路:
驱动电路:
控制电路:
液晶外围电路:
键盘电路模块:
用multisim仿真如下结果:
设计小结:输出电流与输出电压的关系U=RI。在程序设计中,通过电压的输出在液晶屏上显示电流的输出。
〈二〉程序部分:
输出pwm:
#includepic.h
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位
CCP1CON5=(DRE/2)%2; //装入次低位
CCP1CON4=DRE%2; //装入最低位
while(TMR2IF==0);
TRISC=0x00;
}
}
AD转换:
#includepic.h
__CONFIG(FOSC_XTWDTE_OFFLVP_OFF);
void AD()
{
TRISA0=1; //RA1设置为模拟输入
ADCON1=0x00; //参考电压电源电压VDD AD转换周期Fosc/4
ADCON0=0x40; //
}
void delayms(int xms)
{
int i,j ;
for(i=0;ixms;i++)
for(j=0;j150;j++) ;
}
void main()
{
unsigned int x,y,z,A,B,C;
unsigned int Result,Result1,ADRES;
while(1);
{ delayms(5); //采样采样电压充电延时
GO=1;
}
while(GO==1);
{
}
Result=ADRES;
x=(Result*5)/256; //取个位十分位百分位
y=((Result*50)/256)%10;
z=((Result*500)/256)%10;
Result1=Result/1.2-1.5;
A=(Result*5)/256; //取个位十分位百分位
B=((Result*50)/256)%10;
C= ((Result*500)/256)%10;
}
液晶屏与键盘:
#includepic.h
#define LCD_EN RC7
#define LCD_RW RC6
#define LCD_RS RC5
unsigned 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,.};
un
您可能关注的文档
最近下载
- 《装配式多层混凝土墙板建筑技术规程》.pdf VIP
- 建设工程造价咨询业务指导规程.docx VIP
- 监狱电网工程施工方案(3篇).docx
- 2025年中国婴儿纸尿裤市场调查研究报告.docx
- 鼎捷ERP全套操作参考手册.doc VIP
- 牛津译林六上Unit 3 Holiday fun Cartoon time课件.ppt VIP
- 「备战2024高考语文」重点古诗文篇目默写复习:《谏太宗十思疏》理解性默写精选.docx VIP
- 2025年秋最新人教版七年级上册英语单词默写版 .pdf VIP
- 普通高中语文课程标准(2017年版2020年修订).pdf VIP
- 教育事业发展“十五五”规划.docx
文档评论(0)