《简易直流电子负载(C).docx》由会员分享,可在线阅读,更多相关《简易直流电子负载(C).docx(25页珍藏版)》请在三一文库上搜索。
1、2012 江苏省电子设计竞赛参赛学校:苏州大学文正学院参赛队员姓名:王卫鑫王干申进参赛队编号: 512053竞赛选题: C 题简易直流电子负载简易直流电子负载( C题)摘要本文介绍简易直流电子负载的结构、 原理和设计过程等。整个电子负载由 LCD 显示电路、参考电压电路、 D/A电路、 A/D电路、直流恒定电流负载电路和输出电路等电路组成。 该电子负载的原理是通过单片机 MSP430控制,使电子负载工作于CC模式。在 CC模式下,通过 MSP430单片机、 DAC、运放等元件所组成反馈环路的控制功率 MOSFET的导通量(量占空比大小),以使在 CC模式下,输出电流恒定、电压可变。 MSP43
2、0单片机,通过 A/D电路进行电压电流检测, 通过 D/A电路进行 CC 模式下电流恒定值地检测,最后由键盘控制, LCD显示所得值。关键词:电子负载; MSP430单片机;数模( D/A);模数( A/D); CC模式;反馈环路;目录摘要 .Abstract.目录 .一、绪论 .二、方案选择 .1. 系统框图 .2. 显示模块选择 .3. 直流恒流设计 .4.D/A 模块选择 .5.A/D 模块选择 .6. 单片机系统 .三、单元模块设计1、系统电源 .2、显示模块 .3、直流恒流设计 .4、 D/A 模块 .5、单片机系统与 A/D 、键盘 .6、程序模块 .四、系统调试 .4.1测试方案
3、 .4.2电流的测量 .4.3电压的测量 .4.4负载调整率的测量 .4.5测试结果分析 .五、设计总结 .参考文献 .附录 .一、绪论电子负载即电子负荷。 凡是能够消耗能量的器件, 可以广泛地称为负载。 电子负载能消耗电能, 使之转换成热能或其它形式的能量。 静态的电子负载可以是电阻性(如功率电阻、滑线电阻)、电感性、电容性。但在实际应用中,负载形式就较为复杂,如动态负载,消耗功率是时间函数,或电流、电压是动态,也可以是恒定电流、恒定电阻、恒定电压,不同峰值系数(交流情况下),不同功率因数或瞬时短路等。 电子负载就是在实际应用中负载比较复杂的情况下而设计生产的测试设备。它能替代传统的负载,如
4、电阻箱、滑线变阻器、电阻线、电感、电容等。尤其是吸收恒定电流或恒定电压吸收电流, 或电压电流都要在设定范围突变等传统方法不能解决的领域,更能显示出优越性能。电子负载是一种起程控电能吸收吸收装置作用的仪器。 其主要应用是对直流电源进行测试。不过,它也可用于其它场合,如制造或研发期间的电池测试、固态半导体大功率元件测试、 直流电动机测试、 直流发电机测试和固态电动机控制的测试。通常,电子负载具有允许输出电压和输出电流迅速改变的高输出阻抗。由于电子负载要吸收能量,故常常称之为“电流吸收器”。典型情况下,电子负载有固定电流( CC),固定电压( CV),固定电阻( CR)模式,可分别用于不同的电源参数
5、的测量。 电子负载在作为一个可变或恒定电阻时, 还可以作为直流电压、直流电流的测量,而且有保护功能。这既有利于提高测量速度也方便测量。因此,电子负载的正确使用和测试是很重要的。二、方案选择1. 系统框图LCD 显示A/D 转换器直流MSP430 单片机恒流模块键盘D/A 转换器2. 显示模块选择方案一:采用 8 位 LED配以 74LS164显示。控制简单,调试方便,且串行显示占用 I/O 口少;但只能显示一般数码,不能显示字母和汉字,故不采用。方案二:采用 LCD1602液晶显示屏。虽然占用 I/O 口多,编程相对复杂点,但功能强大,可以显示数字、字母和符号,可设计清晰的简单,提供全面的信息
6、,功耗低,界面友好,控制灵活,使系统智能化、人性化。3. 直流恒流设计方案一:采用 LM7805或者 LM317组成恒流电路。原理简单,但如果要输出大功率的电压,则电路将会变得复杂,难于调试,且无法达到所需的精度,故不采用。方案二:采用晶体三极管组成恒流电路,除了存在方案一的缺陷,晶体三极管的导通内阻大,难以实现自动调节电子负载的电流。方案三:采用 MOS场效应管和 LM358运放组成恒流电路,由于方案以填补了方案一和方案二的缺点,电路简单明了,容易调试,且达到题目要求精度,因此本次设计采用此方案。4.D/A 模块选择方案一:采用 8 位 DAC0832 DA转换器, DAC0832由 8 位
7、输入寄存器、 8位 DAC寄存器和 8 位 D/A 转换电路组成。 输入寄存器和 DAC寄存器作为双缓冲,因为在 CPU数据线直接接到 DAC0832的输入端时,数据在输入端保持的时间仅仅是在 CPU执行输出指令的瞬间内, 输入寄存器可用于保存此瞬间出现的数据。但由于 DAC0832是并行输入,占用的 I/O 口多,且 8 位 DA输入无法满足设计所需的精度。此外, DAC0832是电流型的 D/A,需要外接运放,且只有一个通道, 从而使电路复杂, 难以调试,精度不高, 考虑到以上缺点,故没有采用。方案二:采用 12 位 DAC MAX19 693,该芯片是串行输出,且能够满足设计的精度要求,
8、但由于该芯片成本高,控制复杂,故而没有使用。方案三:采用 12 位的 TLV5616DAC。该芯片是串行输出且电路设计简单,编程容易,转换效率高。采用 TLV5616具有方案一和方案二的优点,又填补了它的缺点,因此本次设计选用 TLV5616。5.A/D 模块选择方案一:采用 8 位的 ADC0809,该芯片价格便宜,使用广,电路设计简单编程容易,但是精度达不到题目要求且模数转换速度相对较慢, 故不采用。方案二:采用 12 位的 TLV2543,该芯片有转换快、 稳定性好与微处理器接口简单价格低等优点,但电路设计需要和其他芯片搭配使用,且编程相对复杂,故不采用。方案三:采用 12 位 MAX1
9、87,该芯片转换快,性能稳定,电路设计简单,串口接口,编程容易,价格相对昂贵,综合考虑使用 MAX187。三、单元模块设计1. 系统电源稳压电源运用桥式整流和电容滤波,后面输出则采用了三端稳压集成电路LM317T和 LM337T作为稳压处理,其中后四个二极管起保护作用,调节两个电位器可以分别调节正负输出电压大小;同样的原理采用三端稳压集成电路 LM7805 做稳压处理,可得到 +5V电源。2. 显示模块仿真原理图如下:3. 直流恒流恒压设计(1) 恒流设计恒流源电路是由比较放大器,调整管和采样电阻组成。电路图如下所示。 LM358是单电源运放,采用 +12+12V电压供电, Rs(R6 和 R
10、7的并联 0.1 )的上端引入深度负反馈到比较器的反相输入端,单片输出机数字信号经 D/A 数模转换的模拟电压与取样电阻Rs 两端的电压形成压差,经 LM358放大器放大电压配合 6.2v 稳压管作用开启 MOS管 IRFP460,便可得到稳定电流 iD ,iD 与取样电阻乘积经 OP2134运放后送给 A/D 转换器进行模数转换输入到单片机处理,从而得到了稳定的电流。(2) 恒压设计从比较器的负端输入基准电压,反馈到正端相连。LM358 同样是+12-12V 供电,有稳压管保护MOS管,免电压很大,当正端与负端之差值经过比较器到了 MOS这端,打开了 MOS的开启电压, MOS正常工作,他的
11、电阻很小,就可以实现稳压源了。4.D/A 模块5. 单片机系统与 A/D、键盘6. 程序模块开始电压、电流显示否电流设置并显示电路断开stop自检测test是否是否显示调整率setup否否电流设置完成是Work 电流输出步进电流加步进电流减电流输出四、测试方案与测试结果4.1 测试方案测试仪器:数字万用表,直流电压源4.2 电流的测量预 设 电 流 值输 出 电 流 值显 示 电 流 值精度( %)(A)(A)(A)1.0001.0000.9990.1%0.9000.9000.8990.1%0.8000.8000.7990.1%0.7000.7010.7000.1%0.6000.6000.60
12、00.1%0.5000.4990.4980.1%0.4000.4000.4010.1%0.3000.3000.3010.1%0.2000.2010.2000.1%0.1000.1000.1010.1%4.3 电压的测量电源电压 (V)显示电压 (V)精度 (%)10.00010.0030.03%9.0009.0050.05%8.0008.0100.125%7.0007.0060.034%6.0006.0120.002%5.0005.0140.137%4.0004.0160.201%3.0003.0190.196%2.0002.0160.28%4.4 负载调整率的测量负载时电压 Vn(V)空载时
13、电压 Vo(V)负 载 电 压 调 整 率(Vo-Vn)/Vo*100%)10.008.8711.3%8.006.4219.7%7.005.2125.6%6.003.9134.8%5.002.2355.4%4.001.8757.8%3.000.7874.1%2.000.7164.5%4.5 发挥部分1.电源内部装有防反接电路,保证电源负载接错极性后不会烧坏。2.超过 18.000V 后有声光报警,以保护电路不损坏。3.输出可以动态步进增加电流、减少电流。4.外接负载电池电压极低,对测试电源电压0 至 18V 都可测量。5.100mA 以下可以输出电流。五、结论通过此次电子设计大赛, 从硬件电路
14、到软件程序的设计, 都进行一定的研究与创作。通过对电子负载原理的学习、 对作品的设计, 对电子负载有了进一步的认识,基本掌握了电子负载的原理及其应用, 学会了认识并解决电路的干扰问题。查阅大量的资料, 这对我完成设计任务奠定了坚实的基础。 同时在此期间, 我也复习了 C 语言、模拟电路、数字电路的理论知识,掌握了 C 员严重的很多技巧。在具体工作的过程中,要实时、稳定、高效地完成控制系统的设计,必须考虑许多外围电路和实际的应用。通过本次电子设计大赛的制作, 更加锻炼了我的动手能力和独立解决问题的能力。六、参考文献【1】康华光、邹寿彬、秦臻著. 电子技术基础(模拟部分). 高等教育出版社 .20
15、05年 7 月【2】康华光邹寿彬、秦臻著. 电子技术基础(数字部分). 高等教育出版社 .2005年 7 月【3】王毓银 . 数字电路逻辑设计 . 高等教育出版社 .2004 年 5 月【4】樊昌信、曹丽娜著 . 通信原理 . 国防工业出版社 .2006 年 2 月【5】黄志伟著 . 全国大学生电子设计竞赛系统设计 . 北京航空航天大学出版社 .2011 年 1 月【6】史红梅著 . 测控电路及应用 . 华中科技大学出版社 .2010 年 11 月【7】丁亚寿。 C语言程序设计(第 2版),高等教育出版社,2007【8】黄智伟。全国大学生电子竞赛训练教程,电子工业出版社, 2006七、附件#i
16、nclude#include 1602LCD.h#include 5616.h#include Keypad.h#include gdata.htypedef unsigned char uchar;/uchar *s1 = welcome!;unsigned charsd116=0x30;/LCD show1unsigned charsd216=0x30;/LCD SHOW2unsigned intaaa10;/LCD SHOW2unsigned intbbb10;/LCD SHOW2unsigned intccc10;/LCD SHOW2unsigned intddd10;/LCD SHO
17、W2void delay_nmP(unsigned int n);void key_scan();unsigned int m,t,opt1,opt2,opt3,page,q;unsigned int ad1,ad2,opt4,ap1,ap2,amax,amin,aptx,apty; void main(void)unsigned int i;unsigned long yy,k,tva,tv1,tv2;WDTCTL = WDTPW + WDTHOLD; / Stop watchdog timerBCSCTL1 = 0X00;/ XT2 开启OK/ TX1 工作在低频模式/ ACK 的分频因子
18、为 1BCSCTL2 |=0X88; /SELM1; BCSCTL3 |=0X8c; IFG1 &= OFIFG; for (i = 0xFF; i 0; i-);/MCK=XT210001000/10000100/ 清除振荡器失效标志/稳定时间doIFG1 &= OFIFG;for (i = 0xFF; i 0; i-);while (IFG1 & OFIFG) !=0);BCSCTL2 |=0X88; /SELM1;BCSCTL3 |=0X8c;delay_nmP(0x0ffff);/* 延时delay_nmP(0x0ffff);/* 延时P3DIR |= 0xFF;/LCDP5DIR |
19、= 0xF0;/KEY/ 清除振荡器失效标志/稳定时间/ 如果振荡器失效存在/MCK=XT210001000/10000100300ms */300ms */P4DIR |=0x02; /p4.1 控制输出P6DIR |= 0x0f;/P1.0=DINP1.1=SCLKP1.2=CSP1.3=FSP1SEL |= 0X01;/TACLK P1.0P4SEL |= 0X80;/TBCLK P4.7 HL 工作P4OUT |= 0X02;/P4.1 H关TACTL =TACLR;TACTL |=MC1;TBCTL=TBCLR;TBCTL |=MC1;delay_nmP(0x0ffff);/* 延时
20、LCD_init ();300ms */for (i=0; i150000) /k=0;q=q+1;if (q9) q=0;/5 以上采样稳定 ,最好 9sd115=q+0x30;/-调整率 -if (page=3 )if (q4)amin=aaa0;amax=aaa0;yy=aaa0;for (i=1;iaaai) amin=aaai;if (amax3;tv1=yy;/ 负载q=0;page=4;tlv5616(0x00);P4OUT |= 0X02;/输出 =0 /P4.1 H关ALARMsd29=0x30;sd211=0x30;sd212=0x30;sd213=0x30;LCDX_sh
21、ow(sd1,0);if (page=4 )if (q4)amin=aaa0;amax=aaa0;yy=aaa0;for (i=1;iaaai) amin=aaai;if (amax3;tv2=yy; / 空载q=0;page=5;if (page=5 )tva=tv2*1000;tva =tva-(tv1 *1000);tva=tva/tv2;apty=tva;sd18=apty/1000+0x30;aptx=apty;apty=aptx%1000;sd19=apty/100+0x30;aptx=apty;apty=aptx%100;sd110=apty/10+0x30;sd112=apty
22、%10+0x30;/ sd19=S;/ sd110=e;sd111=.;/ sd112=u;sd113=%;if (sd18=0x30) sd18=0x20;LCDX_show(sd1,0);/调整率page=6;/= Key_Event();key_scan();if ( (P1IN & 0X02)!=0X0) /p1.1if (ad1= 0x0)ad1=0x1;opt2=TAR;TACTL |=TACLR;opt2 -= 0x2712;ap1=ap1+1;if (ap19) ap1=0;aaaap1=opt2;amin=aaa0;amax=aaa0;yy=aaa0;for (i=1;iaa
23、ai) amin=aaai;if (amax3;aptx=yy;if ( aptx 18000)P4OUT |= 0X02;/18V 过压保护/P4.1 H关ALARMtlv5616(0x00);/输出 =0sd19=A;sd110=l;sd111=a;sd112=r;sd113=m;LCDX_show(sd1,0);/alarmsd10=aptx/10000+0x30;apty=aptx%10000;sd11=apty/1000+0x30;aptx=apty;apty=aptx%1000;sd13=apty/100+0x30;aptx=apty;apty=aptx%100;sd14=apty
24、/10+0x30;sd15=apty%10+0x30;if (sd10=0x30) sd10=0x20;LCDX_show(sd1,0);/Velsead1=0x0;if ( (P4IN & 0X40)!=0X0) /p4.6if (ad2= 0x0)ad2=0x1;opt3=TBR;TBCTL |=TBCLR;opt3 -= 0x2712;ap2=ap2+1;if (ap29) ap2=0;bbbap2=opt3;amin=bbb0;amax=bbb0;yy=bbb0;for (i=1;ibbbi) amin=bbbi;if (amax3;aptx=yy;if (aptx 100) aptx
25、=50;aptx -=50;sd21=aptx/10000+0x30;apty=aptx%10000;sd23=apty/1000+0x30;aptx=apty;apty=aptx%1000;sd24=apty/100+0x30;aptx=apty;apty=aptx%100;sd25=apty/10+0x30;/sd25=apty%10+0x30;if (sd20=0x30) sd20=0x20;LCDX_show(sd2,1);/Aelsead2=0x0;/-void delay_nmP(unsigned int n)/N ms 延时函数unsigned int j=0;for (j=0;
26、j 0x40)if(key_val = 0x41)sd18= ;sd19=S;sd110=e;sd111=t;sd112=u;sd113=p;LCDX_show(sd1,0);/setupAsd20?tlv5616(0x00);/输出 =0P4OUT |= 0X02;/P4.1 H关page=0;if(key_val=0x42)sd18= ;sd19=S;sd110=t;sd111=o;sd112=p;sd113= ;LCDX_show(sd1,0);/stopBsd29=0x30;sd210=.;sd211=0x30;sd212=0x30;sd213=0x30;LCDX_show(sd2,1
27、);tlv5616(0x00);/输出 =0P4OUT |= 0X02;/P4.1 H关page=1;if(key_val=0x43)sd18= ;sd19=W;sd110=o;sd111=r;sd112=k;sd113= ;LCDX_show(sd1,0);/workCopt1= (sd29-0x30);opt1= opt1*10+(sd211-0x30);opt1= opt1*10+(sd212-0x30);opt1= opt1*10+(sd213-0x30);if (opt1 4000/300-301/200-202.5/100-103if ( opt1400) opt1 -=10;if ( opt1800) opt1 -=10;if ( opt11200) opt1 -=4;tlv5616(opt1);/输出 =0P4OUT &= 0Xfd;/P4.1 0工作继电器吸合elsesd18= ;sd29=0x30;sd210=.;sd211=0x30;sd212=0x30;sd213=0x30;LCDX_show(sd2,1);tlv5616(0x00);/输出 =0page=2
链接地址:https://www.31doc.com/p-9643073.html