2012年TI杯简易直流电子负载_第1页
2012年TI杯简易直流电子负载_第2页
2012年TI杯简易直流电子负载_第3页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、简易直流电子负载设计与总结报告何方湖北仙桃职业学院:杨青林 胡炎指导教师: 刘祖云刘明江简易直流电子负载的设计与总结报告摘要本系统设计的是直流电子负载,以TI公司16位的单片机MSP430为控制核 心,由按键模块,D/A转换模块,恒流源模块、以及液晶显示模块等主要外围 电路构成。通过对 DA的控制,达到对恒流值在一定范围内的控制,流过该电 子负载的电流恒定,且电流值可设定。之后通过内部AD的采集模块将实际端电压、端电流值送到单片机控制模块,能够检测被测电源的电流值、电压值; 各个参数通过显示模块加以显示。本设计着重阐述了系统框架、工作原理、软 硬件设计,并给出了系统测试表。测试结果表明,该系统

2、具有稳定性强、调节 速度快的特点,很好的满足了提出的性能指标。关键词:恒流源、TM12864Z-1液晶、D/A、采样电路(电压采样、电流采 样)、键盘、被测电源。一. 系统结构原理图本系统由以下部分组成:电源电路、单片机、功率控制电路、电压、电流米样电路、D/A输出、键盘输入、液晶显示电路。系统总体结构框图如图1所示:液晶显示_恒流电路_ i1c !I1Q 被测电源电路单片机 D/A输出 功率器件电源TX 设备键盘输入 电压电流采样电路 图1系统总体结构框架二. 方案比较与论证1. 主控芯片方案一:选用ATMEL公司的AT89C51作为该系统的微控制器。51单片机软件编程灵活,自由度大,可用软

3、件编程实现各种算法和逻辑控制,单片机为8位机,价格便宜,成本低,控制简单。但 51单片机功耗较高、运行速度慢、储 存空间小内存只有8Kb,片内资源少,存储容量小,难以存储大容量的程序和实 现快速精准的反应、控制、计算。使用 AT89C51需外接两路AD转换电路,实现较为复杂。方案二:选用TI公司MSP430单片机作为该系统的微控制器。 MSP430单 片机是16位的单片机,数据处理速度快,耗能低,保密性能好,内存空间大, 抗干扰性好,内部集成资源丰富,存储容量大,低电源电压(1.8V 3.6V),支持多个中断源,可任意嵌套,时钟系统灵活,具有A/D转换等电路。考虑到本系统对单片机性能要求较高,

4、本设计采用了方案二,选用MSP430单片机作为直流电子负载微控制器。2. D/A转换电路方案一:采用DAC0832的DA芯片,DAC0832是8位分辨率,双通道A/D 转换,5V电源供电,工作频率为250KHZ,转换时间为32us, 般功耗为15mW。方案二:采用TLC5615的D/A芯片,它是一个串行10位的DA芯片,性能 比早期电流型输出的DA要好,只需要通过3根串行总线就可以完成10位数据 的串行输入,5V供电,微功耗,最大功耗为1.75mW,转换速率快,更新率为 1.2MHz,上电时内部自动复位。根据方案比较与论证,本系统选择方案二。3. 液晶显示电路方案一:用数码管进行显示。数码管亮

5、度高、显示速度快、显示效果简洁明 了。但是数码管需要实时的进行动态扫描,需要外加三极管或者锁存器进行驱动, 硬件电路设计较为复杂。且显示信息简单、有限,只能显示有限的数字和符号, 在本题目中应用受到很大的限制。方案二:采用TM12864Z-1液晶显示,显示效果为蓝底白字、数据传输:串、 并口兼容STN(黄绿模、灰模、黑白模)反射型,带EL或LED背光源EL/30VAC, 400HZ带EL驱动,内置ST7920简、繁体中文字库控制器,可3.3v或5v供电, 显示4行,每行显示12个汉字。根据方案比较与论证,本系统选择方案二。4. 恒流源电路方案一:由晶体管构成恒流源该电路的缺点之一在于电流的测量

6、精度受到两 个晶体管的匹配程度影响,其中涉及到比较复杂的工艺参数。另一缺点在于,集电极最大输出电流约为几百毫安,而题目要求输出电流为1001000mA,因此由晶体管构成的恒流源不适合采用。方案二:由运算放大器加上扩流管构成恒流电路, 既能利用运算放大器准确 的特性,输出又能达到要求。采用高精度运算放大器OPA227,更能增加其准确的性能;采用IRF540场效应管进行扩流,具有很大的扩流能力,两者结合,可 以实现比较精确的恒流电路。根据方案比较与论证,本系统选择方案二。5. A/D转换电路方案一:采用A/D0809芯片,此芯片是8位的A/D转换器,转换精度高, 抗干扰性能好,价格便宜,但是转换速

7、度较慢一般用于要求不高的场合。使用 时需要外接电路方案二:采用MSP430内部的A/D芯片,此芯片是10位的A/D转换器,使 用时不需要外接电路即可使用。根据方案比较与论证,本系统选择方案二6.米样电路采样电路的作用是为了获得实际的端电压、端电流数据,送回到单片机处理 并进行显示。因此,采样电路的就成为设计的重点。由D/A电路,输出一个电压信号送到OPA2277进行放大,去控制场效应管IRF540两极的电流。由INA271 对本系统的电流进行监控,当从而使流经 R1的电流保持恒定,成为一个非常稳 定的恒流电子负载。再有MSP430内部的A/D。采样之后的数据需要进行处理之 后才会得到所求的数据

8、7.自制电源电路方案一:采用7805三端正电源稳压电路。此稳压电路有热过载保护,短路 保护,其缺点就是输出电流小,纹波与噪声电压(峰峰值)大,输出的电压精度 不够。故不能达到要求。方案二:自制一个稳压电源,本系统自制的稳压电源采用的是桥式整流电路, 由电源变压器Tr,二极管D1、D2、D3、D4和电感、电容、电阻、TL431、TP31C 等电路组成桥式整流。此电路输出的电压精度高,带负载能力强,纹波与噪声电压(峰峰值)小.根据方案比较与论证,本系统选择方案二。三. 理论分析与计算1. 电子负载及恒流电路的分析经由单片机和D/A电路,输出一个电压信号送到 OPA2277高精度运放进行放大,去控制

9、场IRF540场效应管的源极和漏极间的电流。当被测电压改变时,IRF540的D、S端压降改变,从而使流经R1的电流保持恒定,成为一个非常稳 定的恒流电子负载。2. 电压、电流测量及精度分析单片机经过D/A输出电压,控制IRF540的电流,电流步进值100mA,范围 为100mA-1000mA。INA271监测流经R1的电流,输出电压,该电压经过 2.5K 和17.5K电阻分压电路,作为采样电压。3. 直流稳压电源的组成原理自制一个稳压电源是由电源变压器 Tr,二极管D1、D2、D3、D4和电感、 电容、电阻、TL431、TP31C等电路组成桥式整流。采用n型滤波器,包括两个电容器和一个电感器,

10、它的输入和输出都呈低阻抗。n型电路因为元件多,所以其插入损耗特性比C型和LC型更好。本设计中采用电感 L值为57.2mH,电 容C值为2200uF。滤波后的信号经过并联稳压集成电路 TL431,该器件是良好的热稳定性能的 三端可调分流基准源,它的输出电压用两个电阻就可以任意的设置到从Verf(2.5V)到36V范围内的任何值,其典型动态阻抗为0.2 本设计中采用了 2.7K 电阻和2.7K电阻分压,得到5V输出。在输出端采用了通用硅功率晶体管 TIP31C,输出电流可以达到1A的要求。4. 电源负载调整率的测量原理负载调整率是电源负载的变化会引起电源输出的变化 ,负载增加,输出降低, 相反负载

11、减少,输出升高。好的电源负载变化引起的输出变化减到最低 ,通常指标 为 3%5%。测试说明:输入电压为额定值时,因变换负载引起的输出电压波动不应超过规定的范 围。测试方法:1) 输入电压为额定值,输出电流取最小值,记录最小负载量的输出电压 U1 ;2) 调节负载为50%满载,记录对应的输出电压 U0;3) 调节负载为满载,记录对应的输出电压 U2;4) 负载调整率按以下公式计算:负载调整率=(U- U0)/U0 x 100%式中:U为U1和U2中相对U0变化较大的值;四. 硬件电路设计1. D/A转换电路号经过上拉电阻送入 TLC56152所示:采用TLC5615的D/A芯片,由单片机输入信

12、转换输出,送入恒流源电路。D/A转换电路如图IK 171 52 63 1< SL1h洲X吋lol乩 密E 2lrl_ -lol比 Mlyl* 山 MM图2 D/A转换电路图3液晶显示电路2. 液晶显示电路液晶由TM12864Z-1显示,引脚接线如表一。液晶显示电路如图3所示:引脚号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/

13、L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位低电平有效18VOUT-正压输出19LED A-背光源正极(LED+5V )20LED K-背光源负极(LED-OV )图表3. 恒流源电路由单片机和D/A电路,输出一个电压信,由OPA2277高精度运算放大器进行放大, 加上扩流管IRF540构成恒流电路,再有INA271对本系统进行电流监控,从而 使流经R1的电流保持恒定,成为一个非常稳定的恒流电子负载。恒流源负载如 图4所示:=FI图4恒

14、流源负载4. 自制电源电路本系统自制的稳压电源采用的是桥式整流电路,由电源变压器 Tr,四个二 极管和电感、电容、电阻、TL431、TP31C等电路组成桥式整流。由n型滤波器 进行此电路的滤波,滤波后的信号经过并联稳压集成电路 TL431,输出电压用两 个电阻就可以任意的设置到得到 5V输出,再由TP31C提高输出的电流。自制电 源电路如图5所示:4*6議理J皂TVC KT! Apl; I CM- I . f 11 Cl-II . I .K£ H>'图5自制电源电路五. 软件设计(软件设计图6)采样输出电流、电压并在液晶上显示。单片机通过内部自带的10位A/D对等效负载

15、的电压和电流进行采样,将采集回来的数值在单片机内部处理后送液晶 进行电压电流的显示。开始初始化程序液晶显示是否有按 、键按下键盘处理及显示子程序数据处理输出数据D/A从A/D取数据显示子程序图6软件设计图六. 系统测试与分析1. 测试仪器数字万用表;函数发生器;示波器;直流电源;2. 测试方法在电路各个模块完整的制作完成后,首先要做的是再次检查硬件电路是否有 错误,如虚焊,连线错误等。如果并无此方面的问题,则在不加测试电源的情况 下,对各个模块的主要部件进行测试,如单片机对D/A的控制是否正常,采样模块的A/D是否能够正常的进行工作,显示模块是否能够正常显示等。当通过 上面的测试后,则可以接入

16、电源。当电源在初次接入时,其电流值应该设定的很 小,可以从0A开始进行调节,与此同时,还要考虑到并联限流电阻,为了确保 电路的安全,初次接入时应先选取 2欧进行测试。在测试过程中,尽量保证电源 电流与D/A输出模拟电流向接近,避免两者偏差过大。当测试过程中出现异常 情况时,切记先关闭电源开关。3. 测试数据恒流源模式的测试负载调整率通过键盘设置恒定值测得测试点电流数据如表二所示:表二恒流模式下测试数据表X 端压1V3V5V10V12V15V18V100mA0.98A0.99A0.97A1.01A1.02A1.01A1.00A300mA0.27A:0.28A0.29A0.28A0.30A0.31

17、A0.31A :500mA0.47A0.47A0.49A0.48A0.51A0.52A0.51A800mA0.79A0.78A0.81A0.82A0.82A0.81A0.83A1.0A0.99A0.98A0.97A0.99A1.02A1.03A1.03A1.5A1.47AP 1.47A1.49A1.54A1.53A1.52A1.51A :2.0A1.99A1.97A1.98A2.01A2.01A2.01A2.03Ar 3.0A2.98A2.98A2.99A3.01A3.04A3.02A3.02A由数据表明,实测电流的值都稳定在设定值左右,经计算,相对误差小于 2%。说明系统在恒流模式下工作正常

18、。七. 总结本系统设计的基于MSP430控制的电子负载,能够直接检测被测电源的电流 值、电压值,以及在不同大小的负载下电源的输出电流值。 通过单片机控制使各 个参数都能直观的在液晶上显示。此电子负载能很好的替代传统的测试方法中一般采用的电阻、滑线变阻器、 电阻箱等,更简单、更快捷、更可靠地对电源、变压器、蓄电池等电子设备进行 输出特性的测试。但是,本设计还存在着很多不足,希望能在以后能改善这方面 的缺陷。此次设计的电子负载,从最开始的资料搜集,到电路的设计;从最开始 的元件选型,到电路板的焊接,再到现在的实物的整体调试,一步都印证着自己 在完成电子设计任务上一个又一个的成功与失败,迷惑与奋发!

19、我们在整个设计制作过程中,始终关注系统的性能指标和运行的稳定性,本着稳定性和精确性并 重的原则,我们采取了诸多的有效措施,完成了设计题目所规定的部分指标和要 求,达到基本的性能指标,而且对于有些指标我们的设计还有了一定的的提高, 功能也有所扩展。遗憾时间的仓促,以及自身能力所限,此次设计存在很多有待改进的方方面 面,更存在很多的错漏和失误的地方。还请各位学术上的专家多多包涵见谅。八. 参考文献【1】张靖武,周灵杉单片机原理与PROTEUS仿真M.北京:电子工业出版社.2008.【2】严启罡.黎万平.电路设计与制版M.武汉:湖北科学技术出版社.2008.【3】徐受蓉.C语言程序设计M.重庆:西南

20、师范大学出版社.2006.附录:程序/*模块名:数控恒流源系统* 日期:2012-06-27*/#in elude <msp430g2553.h>#defi ne SENDCOMM 0XF8/0XF1000#defi ne READCOMM 0XFC/0XF1100#defi ne SENDDATA 0XFA/0XF1010#defi ne READDATA 0XFE/0XF1110#defi ne E_CLK_0P2OUT &= BIT2时钟信号为0#defi ne E_CLK_1P2OUT |= BIT2/时钟信号为1#defi ne RW_SID_0P2OUT &am

21、p;= BIT1/数据信号为0#defi ne RW_SID_1P2OUT |= BIT1/数据信号为1#defi ne RS_CS_0P2OUT &= BIT0/片选信号为0#defi ne RS_CS_1P2OUT |= BIT0/片选信号为1void LCD_send_byte(unsigned char a); / 声明发送字节函数un sig ned char LCD_read_byte(void);声明读字节函数void LCD_com m(un sig ned char comm);/ 写指令函数声明void LCD_setxy (un sig ned char x,un

22、 sig ned char y);void LCD_WriteStr( un sig ned char dis_addr_x ,un sig ned char dis_addr_y,char* str); void LCD_WriteStr1( un sig ned char dis_addr_x, un sig ned char dis_addr_y,char yy); void MCUni tialize(void);void LCD_i nit(void);void PID(void);void lcd_diao yon g1();void PWM_1(void);void F_data

23、(void);void In t_xs(void);void Action( void);void DY_fan gda(void);un sig ned intshuzhi=0,qushu=0;un sig ned int j=0,i=0,k=200,pwm2=5,a,h;char yy10=48,49,50,51,52,53,54,55,56,57;/0-9unsigned char data=0,0,0,0;unsigned char data1=0,0,0,0;/char yy110=0x32,0x33,0x34,0x35,0x36;typedef structchar Kp,Ki,K

24、d;int e0,e1,e2;long pa,vpa;mypid;mypid p1;/*主函数*/void mai n()p1.Kp=6;p1.Ki=7;p1.Kd=3;MCUni tialize();LCD_i ni t();In t_xs();while(1)DY_fa ngda();PWM_1(); j+;if(j>5000)shuzhi=qushu*35/10;a=shuzhi/0.1;将取样电压转换成电流lcd_diao yon g1();j=0;/*lcd子函数1*/void lcd_diao yon g1()F_data();LCD_WriteStr(1,1,"反

25、馈模拟电压值:");i=shuzhi/1000;LCD_WriteStr1(3,2,yyi);LCD_WriteStr(4,2,".");i=shuzhi%1000/100;LCD_WriteStr1(5,2,yyi); i=shuzhi%100/10;LCD_WriteStr1(6,2,yyi);i=shuzhi%10;LCD_WriteStr1(7,2,yyi);LCD_WriteStr(8,2,"V");");/char* str="设定转数:",测量当前转数LCD_WriteStr(1,3,"系统

26、设定电流值:LCD_WriteStr1(3,4,yydata0);LCD_WriteStr1(4,4,yydata1);LCD_WriteStr1(5,4,yydata2);LCD_WriteStr1(6,4,yydata3);LCD_WriteStr(7,4,"mA");*发送字节函数*/void LCD_se nd_byte( un sig ned char a) un sig ned char i;for(i=8;i>0;i-)if(a&( OxO1«(i-1)RW_SID_1;elseRW_SID_0;_delay_cycles(100);E

27、_CLK_1;_delay_cycles(100);E_CLK_0;_delay_cycles(100); un sig ned char LCD_read_byte(void)*读字节函数*/un sig ned char i,dat=0;for(i=8;i>0;i-)E_CLK_1;_delay_cycles(100); if(RW_SID_1) dat|=(0x01<<(i-1);_delay_cycles(100);return dat;*写指令函数*/void LCD_com m(un sig ned char comm)un sig ned char temp;_

28、delay_cycles(100);LCD_se nd_byte(SENDCOMM);temp=com m&0 XFO;LCD_se nd_byte(temp);temp=(com m&O X0F)<<4)&O XF0;LCD_se nd_byte(temp);_delay_cycles(100);写数据函数*/void LCD_data(u nsig ned char lcd_data)/ 写数据un sig ned char temp;_delay_cycles(100);LCD_send_byte(SENDDA TA);temp=lcd_data&am

29、p;OxfO;LCD_se nd_byte(temp);temp=(lcd_data&0 X0F)<<4;LCD_se nd_byte(temp);_delay_cycles(100);*设置显示坐标函数*/X(116),Y(14)void LCD_setxy (un sig ned char x,un sig ned char y)/设置显示位置 switch(y)case 1:LCD_comm(0X7F+x);break;case 2:LCD_comm(0X8F+x);break;case 3:LCD_comm(0X87+x);break;case 4:LCD_comm

30、(0X97+x);break; default:break;*显示函数函数 */void LCD_WriteStr( un sig ned char dis_addr_x ,un sig ned char dis_addr_y,char* str)/在指定位置 显示字符串un sig ned char LCD_temp;LCD_setxy(dis_addr_x,dis_addr_y);LCD_temp=*str;while(LCD_temp != 0x00)LCD_data(LCD_temp);LCD_temp=*(+str);*显示数字函*/void LCD_WriteStr1( un si

31、g ned char dis_addr_x, un sig ned char dis_addr_y,char yy)在指定位置 显示字符串LCD_setxy(dis_addr_x,dis_addr_y);LCD_data(yy);* *LCD始化函*void LCD_i nit(void)_delay_cycles(500);LCD_comm(0x30); 一次送 8 位数据LCD_comm(OxOC);整体显示,游标 off,游标位置 offLCD_comm(0x01); 清 DDRAMLCD_comm(0x02);/DDRAM 地址归位LCD_comm(0x80);设定DDRAM 7 位地

32、址000,0000到地址计数器 AC* MSP430单片机初始化函数*void MCU_i nitialize(void)WDTCTL = WDTPW + WDTHOLD;BCSCTL1 = CALBC1_8MHZ;DCOCTL = CALDCO_8MH Z;P2DIR = OxFF;P2OUT = 0x00;P2DIR |= BIT3 + BIT4 + BIT5;/P1OUT |= BIT1;外部中断初始化P1DIR &= BIT4 + BIT5;P1IE |= BIT4 + BIT5;P1IES |= BIT4 + BIT5;P1IFG &= BIT4 + BIT5;P1R

33、EN |= BIT4 + BIT5;ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; / ADC10ON, i nterrupt en abledADC10CTL1 = INCH_3;/input A1模拟信号输入选择通道A1即p1.1ADC10AE0 |= 0x08;/ PA.1 ADC option select 使 p1.1 允许 AD 模拟输入信号TA1CCTL0 = CCIE;TA1CCR0 = 312;TA1CTL = TASSEL_2 + MC_1;_BIS_SR(LPMO_bits + GIE);/ CCR0 1ms 中断/ SMCLK,

34、upmode/ En ter LPM0 w/ in terrupt/PWMvoid PWM_1(void)P1DIR |= 0x04;P1SEL |= 0x04;/设置P1.2为输出/设置P1.2为内部输出CCR0 = 2000;/ PWM 周 PWMCCTL1 = 0UTM0D_7;CCR1 = pwm2;TACTL = TASSEL_2 + MC_1;占空比为0.5/选择ACLK增计数模式/*定时器Timer1_A*/#pragma vector=TIMER1_AO_VECTOR_in terrupt void Timer1_A (void)P1OUT A= 0x01;ADC10CTL0

35、|= ENC + ADC10SC;qushu=ADC10MEM;h+;if(h=500)PID();Actio n();_bis_SR_register(CPUOFF + GIE);_bic_SR_register_o n_exit(CPUOFF);/ Sampling and conversion start 开始转换/ LPM0, ADC10_ISR will force exit/ Clear CPUOFF bit from 0(SR)/*中断服务函数*/#pragma vector=ADC10_VECTOR_in terrupt void ADC10_ISR(void)_bic_SR_register_o n_exit(CPUOFF);/ Clear CPUOFF bit from 0(SR)/*外部中断服务函数*#pragma vector=PORT1_VECTOR_in terrupt void Port1()if(P1IFG&BIT5)_delay_cycles(10000);if(P1IFG&BIT5)k = k + 10; pwm2 += 10;

温馨提示

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

评论

0/150

提交评论