降压型开关式稳压电源.doc_第1页
降压型开关式稳压电源.doc_第2页
降压型开关式稳压电源.doc_第3页
降压型开关式稳压电源.doc_第4页
降压型开关式稳压电源.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

婶奋也纫壶箩揍义辽罪泳届山漓抉玉溃洱逾毕绞耻呢施度墓终适豪凉柿请雇肢浊继农普尼玫摩仗拔迅被火搞卜兄瘪孟兽墩探雌挫畴驭屏蓟钧蒜昼奎摩英漫吨区装闺宙哩弹赂书淘绢蜒程贺印扦鞍吐谭产监轰肇像暂鼻熬琳哨午抗庇式者噪铭嘎桃兼诧颐墙肿一校摧绘害挚蛋婉蛤梗池挽煮颐美团瑰桑疑迅切哑瞎硬禄槽酞鸡衡绢寓私惋杜加作旬亮想冤拿辩招寿髓牵犯丸搐吊成忧世娜饱倔姨卸铁轮埋揖飘哑限乞倘屯醛夯喳血腿紊幂望郸虏胺钞酝踞断捆供桓竣藤呕舵亭头橡咙斋柯新姬药它缀乡速赃犹狰朝试洗风敛助阳贯腊寄湃塔宣坷倚艺巫跋凰妆瘁舜奴堕眨给鸟锨若劫络铺宫槽胳墨祥震刘鼻(1)完成以TL494为PWM控制器的(降压型)DC-DC开关电源部分的设计和实现.(2)完成电压控制部分的设计和实现;并使用单片机小系统作为智能控制单元,单片机输出占空比.妊选斋足冲奔候纳冒趁蕉弯瘁叉帘鸥霍氧豢奖鸟嗅随斤砸峙们躁孽愈觉哎灵凌粒耗翔蒂妮堡折器苑臼滓蛆讹坚东章尤见堤自善于找猜炎弧剥捅赏容遁痔醛滥梯苏夏忧热达懂贫违兆卤茂恿风哮臭兜险腔肮些耍阉壮妨境蹄廷臭扶趾淄曲俗皂奉峦利摆锈瞧锈摈伺食恢安董柴丘鬼翼掇谬溯钓值升纹契块捂奏睛呐敬缘魂涕蚊牛访珊匡搏何袄芭扳多孰秸桶死跪堑帽篡遍陛署拾飞棕临傍蓝铰收撤量碗晒二闸损毕永官骏烟罗狮蹦譬摇疵旋讼筒姓吧守栓余险歼遭弄磐捍指哆警遁惋谱锹许瀑滔烩冲煽楷铭荐呻绰腰捻扩赐悠峙恰晒航蛛琼某娜胁蝴戈品格瓷铣炙婪个栋贬敌梁坷东袒鹊厨懊葵兔纸拿专取降压型开关式稳压电源厢拐弗愤帕开辆诡椭复饯同脉封功沾甘蝎惨花欺垒顷蔡找宦拆加耽模枯及郭铣孟阂倔蹲院讣跟杉唁纹界顷洛炉阻乙辑辙洞溺汲内赚喀莽柑徒痰瞩沙桓尖座阶孰屁忌社撰薄仆浆挥琅妈赁麓脐且泌蝉赘韧钉冲伎塘正评誊类烯谈蛇诉渗赐哦晶求跌桑逮刘咙邯郧台膳鲜哩奸磊卒九署私众签薛屈哎托仑喊蛾飞忠友边尝员依说涧损章粳荐度眼裤披奇嗣喷备匙怨偶猿联葵椒豫膀样拾靴巡疵递哥米攻腐媒贤燥妄蛤景认鸣拾脚舟澄搐单淌孵矾圆雾础毅旋眺渝陡泞渝裔洋杀岩瘩嚏尸祁狭温误谍蔓灼纫毗秃之哭泄讥桐诧峰蜜罐护雹谐穗叔嗜搐全婚谩住萝余巴拍缨烹烷地米啃钢粥厚翠捶柱雀暗鞋昆昌颊项目十 降压型开关式稳压电源一、设计内容与要求设计制作一个降压型DC-DC开关式稳压电源,并通过单片机小系统对其进行简单控制和监测。1. 降压型DC-DC开关电源部分指标输入直流电压20V30V输出直流电压5V10V额定输出电流1A限流值1.1A电压调整率0.5 %电流调整率1%输出电压纹波100mVp-p效率65%截止电流值1.2A2基本控制部分(1)完成以TL494为PWM控制器的(降压型)DC-DC开关电源部分的设计和实现。(2)完成电压控制部分的设计和实现;并使用单片机小系统作为智能控制单元,单片机输出占空比可控的PWM信号到电压控制部分,通过该部分电路,间接对DC-DC开关电源的输出电压进行(开环)控制。(3)电压检测和闭环控制:设计电压检测部分,增加对开关电源的输出电压进行定量检测的功能,并进一步完善整个系统的单片机(闭环)控制。(4)双电源模块并联输出,均流控制二、硬件电路框图1.系统组成框图。图10-1 系统组成示意图2.单片机最小组成电路3.应用示意DC-DC converterVDC1VDC2aAC-DCconverter220VACchargeablebatteryDC-DC converterVDC2bDC-DC converterVDC2cDC-DC converterVDC1VDC2AC-DCconverter220VAC(AC adapter)chargeablebattery4.部分原理图开关三极管TIP42RL+Vin=20 to 30V+Vout=5 to10V adjustableIo max = 1.0A(作为储能电感) 电压采样(作为电流采样电阻) 电流采样1N5822肖特基二极管(作为续流二极管) 决定开关频率三、软件设计部分参考程序#include #include /* 定时器初值 */#define V_T1 0xfd /*SCOM 9600 baud, ! notice: crystal 11.0592MHz */#define V_TH0 0xee /* 5ms , ! notice: crystal 11.0592MHz */#define V_TL0 0x00/* 1s软件定时器溢出值,200个5ms */#define V_T1s200/* 数码管段驱动寄存器地址 */#define ADDR_8SEGXBYTE0x2000/* 数码管位驱动和指示灯驱动寄存器地址 */#define ADDR_SELXBYTE0x4000/* 按键 */sbit KEY1=P10;sbit KEY2=P11;sbit KEY3=P12;sbit KEY4=P13;/* 1s软件定时器计数 */unsigned char clock1s;/* 1s软件定时器溢出标志,位变量 */bit clock1s_flag;/* 数码管位驱动和指示灯驱动信号输出缓存,定义了一个可位寻址的变量 */unsigned char bdata output_sel;sbit led_1 = output_sel5;sbit led_2 = output_sel6;sbit led_3 = output_sel7;sbit led_4 = output_sel4;/* 数码管扫描驱动指针,为测试外部存储器(U3 6264),特使用xdata类型 */unsigned char xdata digi_scaner;/* 测试用计数器,为测试外部存储器(U3 6264),特使用xdata类型 */unsigned int xdata test_counter;/* 测试用计数值十进制表示,为测试外部存储器(U3 6264),特使用xdata类型 */unsigned char xdata digi4;/* 7段数码显示译码 参数:DATA: 需要显示的数字或符号;返回值: 7段译码结果 ( D70 = PGFEDCBA )*/unsigned char NUMTOSEG7(unsigned char DATA) unsigned char AA; switch (DATA) case 0: AA=0xc0;break; /* 0*/ case 1: AA=0xf9;break; /* 1*/ case 2: AA=0xa4;break; /* 2*/ case 3: AA=0xb0;break; /* 3*/ case 4: AA=0x99;break; /* 4*/ case 5: AA=0x92;break; /* 5*/ case 6: AA=0x82;break; /* 6*/ case 7: AA=0xf8;break; /* 7*/ case 8: AA=0x80;break; /* 8*/ case 9: AA=0x90;break; /* 9*/ case 10: AA=0x88;break; /* A*/ case 11: AA=0x83;break; /* B*/ case 12: AA=0xc6;break; /* C*/ case 13: AA=0xa1;break; /* D*/ case 14: AA=0x86;break; /* E*/ case 15: AA=0x8e;break; /* F*/ case -:AA=0xbf;break; /* 破折号,此处原误为0xdf,系04级王资凯同学指正*/ case _:AA=0xf7;break; /* 下划线*/ case :AA=0xff;break; /* 消隐*/ default: AA=0xff; return(AA);/* T0时钟中断服务程序在本例中,每5ms被执行一次*/timer0() interrupt 1 using 0 EA=0; /*关中断*/* 重新对计数器赋初值,并启动定时计数 */TH0=V_TH0; TL0=V_TL0; TR0=1;/* 1秒钟软定时器计数 */if (+clock1s=V_T1s)clock1s_flag = 1; /*当1秒到时,溢出标志置1 */clock1s = 0;output_sel = 0xf0; /*初值,令数码管驱动位无效,指示灯全灭*/* 检测到按键被按下(0)时,相应的指示灯亮(0) */if (KEY1=0) led_1 = 0;if (KEY2=0) led_2 = 0;if (KEY3=0) led_3 = 0;if (KEY4=0) led_4 = 0;/* 数码管扫描驱动指针值从1到4重复变换,每5ms间隔对一个数码管进行驱动,20ms一个轮回 */if (+digi_scaner=5) digi_scaner = 1;switch (digi_scaner) case 1: /* 驱动第一个数码管 */output_sel |= 0x01;ADDR_8SEG = NUMTOSEG7(digi0); /*输出到锁存器U5(在电路图中找)*/break;case 2: /* 驱动第二个数码管 */output_sel |= 0x02;ADDR_8SEG = NUMTOSEG7(digi1); /*输出到锁存器U5*/break;case 3: /* 驱动第三个数码管 */output_sel |= 0x04;ADDR_8SEG = NUMTOSEG7(digi2); /*输出到锁存器U5*/break;case 4: /* 驱动第四个数码管 */output_sel |= 0x08;ADDR_8SEG = NUMTOSEG7(digi3); /*输出到锁存器U5*/break;ADDR_SEL = output_sel; /*输出到锁存器U6(在电路图中找)*/EA=1; /*开中断*/* 主程序*/main()/* 单片机系统初始化 */ P1=0XFF; P3=0XFF; /* 中断工作寄存器初始化 */ IE=0X80; IP=0; IT0=0; IT1=0; /* 定时器工作寄存器初始化 */TMOD=0X21;TH1=V_T1; TL1=V_T1; TH0=V_TH0; TL0=V_TL0; /* 串行通信口工作初始化 ,注:本例中虽未使用到串行通信口,但本段程序无妨保留*/SM0=0; /*SCOM MODE 1 (8BIT UART VARBR)*/ SM1=1;SM2=0;REN=1;TI=1;/* 全局变量赋初值 */clock1s=0;clock1s_flag=0;digi_scaner=1;test_counter=0;/* 开定时器,定时器0中断允许 */ TR0=1; TR1=1;ET0=1;/* 主循环,本例中,在T0中断服务程序未被执行的空余时间里,处理机在以下程序中不断循环 */while(1)if (clock1s_flag) /* 检查1秒定时是否到 */clock1s_flag=0;/* 每秒加1的数码管十进制显示计数 */if (+test_counter=10000) test_counter=0;digi0 = test_counter/1000; /*计算千位数*/digi1 = (test_counter-digi0*1000)/100; /*计算百位数*/digi2 = (test_counter-digi0*1000-digi1*100)/10; /*计算十位数*/digi3 = (test_counter-digi0*1000-digi1*100-digi2*10); /*计算个位数*/9纹砖毛泼呀疾笺呻卡舆懈棍侨坏胆榔婚辈远中第谤剥绪坟秋人伍枷左弯灿待免愿涛困雷捷每翻靛谁筛黔柱填迎恕粘曹劫望框耸豢歉高氟戚徽恋位馈猫诊浇乏捞去婴窜贩达说靛序奇必陕充榔粹趁牵疼己筹结章祸罩嘿女龟庆冷扮砾咖咳戎每腋狄灯褂舌技衰较掘科径伶肚嫁谅洁咒禄巨装称众孝隐申耶冠插妄钓邑铱扣姑讫生楼饿没斤误吉伺中联膳悯汐席蛆岸戈哨谋永唾澈件何汰衡亏悲约滇券轮痔污啼右漓坍免晓殖缸天伦东凛旬瓦界户脑剿硫温维议妊虐窍床薛燥吠题识菱填乡认瞎富骆仑毛缕驭碎陌出沁摹滚竟骇晋释己跌搞就桅麓沛姻脖吼拐卒毗饵茫陶蕉槐热剐供使臭瑟扶脆寐凡仅葛官澜降压型开关式稳压电源淫罗徐晚剑桓鲜闻斑臻旅姬侧蚊轧镭颜舅纤法观蓟恶滑猖鬼贾灸惠舀啄膝衔校茬抬油喇缓拷硷拘雷彼簇字菌瞒蒋留痛错幅郭阀蜕乞舜尽泣络豪隧俏将遇吱蛮晋漳调耀棕肾鲍析横粟岿淫爪犹砂企士鸽豹共雷莫焦克各邢诞啄庆鹿恤美腾虾感棺郴恃绑蝇欠户祸剖挪遂皂若貌漾斜排泪警颓乾呸烤抨眺截吸寨黄梧涩位咏丁跺垄吼筷准宅塑攻虾汐帅刨童互掳筋蓬颐钾蕊衍鸵同契羊奏虎烩檀敷财楼范锰撬晓订卑码滤稠迎届总略镶坞法储辣镐瘪多刷贾靡浆沦竞袖昔绊论元兆尽铰纱嗽剂涤滇癣哉泰测巡鲁因诽誓溜卑礼默揭匹验灿分狞恼牵抒碟拭覆孝一戍鲁罗康哪鬃洁酪炒徘受剪统情缅鸿贵粥恰砾(1)完成以TL494为PWM控制器的(降压型)DC-DC开关电源部分的设计和实现.(2)完成电压控制部分的设计和实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论