欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    电子设计报告简易数控直流电流源.doc

    • 资源ID:4145570       资源大小:992KB        全文页数:24页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子设计报告简易数控直流电流源.doc

    合肥学院暑期培训电子设计报告作品名称: 简 易 数 控 直 流 电 流 源 学校全称: 合 肥 学 院 系别班级: 电子系09级电气(1)班 队员姓名: 简易数控直流电流源摘要:本系统设计以AT89S52为核心,通过D/A转换、功率放大电路、I/V转换、独特的算法及ICL7107电压测量实现了高精度的电压输出范围在09.9V范围内的数控直流电流源。此外本电流源还具有菜单选择功能、电压可预置,多种波形供选择、并可以以0.1V电压步进、显示给定值和实测值等功能并具备过流保护的功能。 关键词: 单片机DA转换数字控制功率放大一 、引言1.1系统设计目的设计出有一定输出电压范围和功能的数控电源。满足下列要求 :(1)输出电压:范围09.9V,步进0.1V,纹波不大于10mV;(2)输出电流:500mA; (3)输出电压值由数码管显示; (4)由“”、“”两键分别控制输出电压步进增减; (5)为实现上述几部件工作,自制一稳压直流电源,输出±15V,5V。设计概念图如下所示:图一:设计概念图另外还可以实现如下要求:(1)输出电压可预置在09.9V之间的任意一个值; (2)用自动扫描代替人工按键,实现输出电压变化(步进0.1V不变); (3)扩展输出电压种类(比如三角波等)。1.2 系统设计思想本系统以AT89S52为系统控制单元、DA转换器为数字控制输出单元、运放组合电路为功率放大单元、ICL7107为实际电压测量反馈单元、4*4键盘为预置控制输入单元, 12864为显示单元。通过键盘控制实现预置初始化,由单片机给DA转换器相应的数据,通过功率放大电路运放,最后经射极输出器完成输出。ICL7107接至输出,显示实际的输出电压。综上所述,系统最终的方框模块图如下所示。AT89S52键盘输入预置显示DA转换功率放大输出基准电压稳压源ICL7107过流保护数码管显示图二:系统方框图二、方案比较及确定2.1、主要控制模块方案(1):凌阳单片机是本身具备语音识别功能的十六位单片机,具有基本的DSP功能,具备语音识别的优点。如常见的语音控制机器人,语音控制小车等。方案(2) :采用AT89S52作为控制模块核心。单片机最小系统相对简单,容易制作PCB,算术功能强,软件编程灵活、可以通过ISP方式将程序快速下载到芯片,方便的实现程序的更新,自由度大,较好的发挥C语言的灵活性,可用编程实现各种算法和逻辑控制,同时其具有功耗低、体积小、技术成熟和成本低等优点。基于以上分析,选择方案(2),利用89S52单片机将电压步进值或预先设定值通过换算由D/A转换,驱动功率放大电路最终实现电压输出。输出电流经处理电路显示到数码管上,通过过流保护电路提高输出的稳定性及电路的安全性。2.2稳压电源模块方案(1):使用LM337、317作为三端稳压器的可调电压电源。方案(2):使用固定电压输出的7805、7815、7915作为三端稳压器的电源。在本设计中,运放需±15V供电,单片机和DAC、ICL7107需要5V供电,采用三端稳压器7805、7812、7912构成一稳压电源,固定输出稳压电压电源较可调电压电源相对稳定,因此采用第二种电源方案。图三:电源电路本系统要求自制一稳压直流电源,输出±15V,5V。电源主要为单片机系统、DA转换器、功率放大电路及实际显示电路供电。电源为同一电源供电,并且要求共地,这种状态下的电路工作起来更加稳定。2.3、显示模块方案(1):数码管显示方案(2):12864液晶显示。本系统使用液晶LCD12864作为显示模块。数码管使用起来简单方便,显示简洁,但是占用的I/O资源较多。LCD12864显示功能较齐全,能够显示汉字、字符等。LCD12864是带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式的图形液晶显示器。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示汉字. 也可完成图形显示,丰富人机对话界面.本系统使用串行方式对液晶写操作,这样节约了I/O资源。2.4、DA电路转换模块(1)AD5320是单片12位电压输出D/A转换器,单电源工作,该器件具有省电功能以降低器件的电流损耗,5V时对应的典型值为200nA。(2)DAC0832是NS公司生产的一种,8位CMOS数模转换芯片,其特点有:8位并行D/A转换、 片内二级数据锁存,提供数据输入双缓冲、单缓冲、直通三种工作方式、电流输出型芯片,具有双缓冲控制输出、参考电压为-10+10V而且与MCS-51连接方便,使用简单。本DA芯片以其价格低廉、接口简单、转换控制容易等优点在单片机应用系统中得到广泛的应用。结合本系统的实际要求,选择DAC0832作为数模转换器。2.5、实际电压测量模块方案(1):使用AD芯片采样转换方案(2):数字电压测量芯片ICL7107。AD芯片需要的外围电路多,控制起来较繁杂而且不利于整个系统的稳定。采用ICL7107和共阳极半导体数码管LED组成的显示电路,它的特点有:能够直接驱动共阳极的LED显示器,不需要另加驱动器件,使整机线路简化;采用+5V和5V两组电源供电;LED属于电流控制器件,在3 1/2位数字仪表中采用直流驱动方式,芯片本身功耗较小;显示亮度较高。综上所述,选择ICL7107与四位数码管组成的测量电路。2.6、输出模块(1)电压跟随器他的显著特点就是,输入阻抗高,而输出阻抗低,这样带负载能力相对较强。一般来说,输入阻抗要达到几兆欧姆是很容易做到的。输出阻抗低,通常可以到几欧姆,甚至更低。电压跟随器的电压放大倍数恒小于且接近1。电压跟随器常用做缓冲级及隔离级。图四:电压跟随器(2)推挽式射极输出器。这种射极输出器是由二种射极输出器组合而成,这种基本的互补对称电路实现了弥补交越失真的缺点。同时又具备输入阻抗高输出阻抗低的特点。因此本系统使用推挽式输出。图五:推挽式设计输出三、系统硬件设计及理论分析3.1单元硬件模块设计根据本次设计要实现的功能本系统分为六个模块:控制模块、DA转换模块、稳压电源模块、功率放大模块、显示模块、过流保护模块和输出模块。3.1.1控制模块本系统采用AT89S52单片机作为主控芯片。AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。在本系统中单片机的主要功能是根据外围键盘的操作判断预置请求,从而对DA发出相应的数据信号经功率放大后输出。此外单片机还分别控制液晶12864的显示以及对过流保护电路的控制。实现的功能较多,本系统使用的是4*4矩阵键盘。单片机的驱动是靠最小系统来完成,包括一个复位电路和振荡电路。两个电路分别为单片机提供复位与时钟信号。3.1.2 DA转换电路模块本系统使用的是逐次逼近型DAC0832芯片。DAC0832是8分辨率的D/A转换集成芯片。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。经预置后单片机给DA发送数据经芯片运算完成后,以电流形式输出,在DA输出后加一电流电压转换电路。设计中用两个电压控制字代表0.1V,当电压控制字从0,2,4,198时,电源输出电压为0.1V,0.2V,9.9V.DA转换部分输出电压Ui作为电源功放级的输入电压。根据基准电压,当8位数据口全为一的时候输出为基准电压值,这样根据输入数据的不同就可以实现输出电压的连续变化,从而达到数控的目的。计算式如下:Uimax=(198/256)*5.0V=3.882VUi=(UREF/28-1)*(2iDi) (i=0-7)3.1.3显示模块本系统使用的是LCD12864作为总的显示模块。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,硬件电路结构以及显示程序都要简洁得多,使用简单、方便、价格相对较低廉。该液晶主要显示的是操作菜单,为预置设置提供了良好的可视化操作。本系统为节约I/O口、控制简便,使用串口方式操作该液晶。3.1.4稳压电源模块本系统要求自制5V,±15V稳压电源,满足对系统的供电。(1)对于5V电源,我们制作了使用7805芯片的稳压电源。电路主要包括:整流电路、滤波电路、稳压电路组成。整流电路采用四个二极管整流,经2200uf电容使电流平缓后用0.1uf电容滤波,然后接至7805,输出是纹波较小的5V直流电压。电路图如下所示:图六:5V电源制作图 (2)对于±15V的稳压电源,类似的,本系统使用以7815、7915为三端稳压器的电源。本电源外接的是由22015V变压器输出的交流电压。这里整流电路已省去。3.1.5功率放大模块根据上述,当DA的8位数据口全为1时,输出为最高电压即为基准电压,因为基准电压有限,并不能达到设计要求为此我们在DAC0832后加一级功率放大电路。基准电压最高为5V,要求的最高电压为9.9V,因此确定放大倍数为2.第一级运放为IV转换,通过一级运放实现了DAC输出从电流到电压的转换。第二级运放为功率放大级,通过调节滑动变阻器改变它与输入端电阻的比值可以调节整个放大电路的放大倍数。当DAC输出为5V时,功率放大输出端应为10V.原理图如下图所示:图七:功率放大电路ICL7107 是双积型的A/D 转换器,还集成了A/D 转换器的模拟部分电路,如缓冲器、积分器、电压比较器、正负电压参考源和模拟开关,以及数字电路部分如振荡源、计数器、锁存器、译码器、驱动器和控制逻辑电路等,使用时只需外接少量的电阻、电容元件和显示器件,就可以完成模拟到数字量的转换,从而满足设计要求。显示稳定可读和测量反应速度快,是本设计的关键。内部逻辑控制电路不断地重复产生AZ、INT、DE 3 个阶段的控制信号,适时地指挥计数器、锁存器、译码器等协调工作,使输出对应于输入信号的数值。只需按照典型测量电路图连接好,即可使用。仿真图如附录一图一所示。图八:ICL7107典型电路图3.1.7过流保护模块本模块主要由两个晶体管组成,其原理是:正常情况下,电流输出正常,两晶体管均处于截止状态;当输出电流过大时,并联在输出电阻上的采样电阻的电压会相应的提高,电平的升高导致了晶体管状态的改变,此时晶体管导通,给单片机外部中断口一个低电平,触发中断。在中断函数中,使系统初始化,这样就保证了整个电路的稳定。如附录一图三所示。四、系统软件设计 本系统程序采用Keil uVision2软件编译,通过独立键盘来对电压输出和波形输出进行功能选择,然后分别通过矩阵键盘来实现多种方式调节输出电压和不同波形的功能。整个系统软件的流程图如下图所示:图4软件流程图五、系统测试5.1测试条件测试使用的仪器设备如表4.1所示表1 测试使用的仪器设备序号名称、型号、规格数量备注1WYK-303B2 直流稳压稳流电源12DT-9202 数字万用表131/2位5.2对系统精确度的测试。表2 空载时记录表电压设定值Up/V实际电压Ur/V系统输出电压Us/V(数码管)0.00.010-0.011.01.010.992.02.011.993.03.012.994.04.014.005.05.015.006.06.016.017.07.027.018.08.028.029.09.029.029.99.929.93本题要求输出电流在500mA,由于条件限制,没有相应的可调负载,因此本部分无法测试。表3:带载0.5A时记录表/V1234567891011预置电压0.01.0203.04.05.06.07.08.09.09.9输出电压0.0实测电压0.0六、系统所用到的材料及仪器本系统用到的元器件如下表所示。表5系统元器件清单名 称数 量AT89S52 单片机1LCD12864 液晶1 ICL710717805芯片17815芯片17915芯片1LM336若干散热片若干发光二极管若干数码管4电阻若干电容若干 导线若干键盘 若干OP07 若干七、总结本系统预先设计的是一简易数控直流电源,该系统可以完成菜单预置、0.1V电压步进、输出多种可供选择波形以及电压的自动扫描功能。在系统设计过程中,力求硬件电路参数合理,线路简单,发挥软件编程灵活的特点,通过多次的调试,不断提高系统的精度和电流的稳定性,来满足系统设计的要求。由于时间关系,该系统还有许多值得改进的地方。参考文献:1郭天祥.51单片机C语言教程入门、提高、开发、拓展全攻略.北京:电子工业出版社,2009.2于永.51单片机C语言常用模块与综合系统设计.北京:电子工业出版社,20073陈永真.全国大学生电子设计竞赛试题精解选.北京:电子工业出版社,2007附录一:电路图图一:ICL7107仿真图 图二:系统原理仿真图图三:过流保护附录2 部分程序清单void main() init();/初始化函数 while(1)keyzhi=keyscan();/将矩阵键盘扫描得到的键值赋给变量keyzhi/*按下独立键选择电压输出或波形输出*/if(key=0&&flag_f=1)delay_bo(10);if(key=0&&flag_f=1)while(!key);delay_bo(10);while(!key);flag=0;flag_f=0;key_times=0;set_num=0;send_command(0x01);send_command(0x0c);display(0x80,disps);display(0x88,dispx);v_lcd=0;send_command(0x8d);send_data(v_lcd/10+0x30); send_data('.');send_data(v_lcd%10+0x30);v_real=v_lcd*2;P0=v_real;if(key=0&&flag_f=0)delay_bo(10);if(key=0&&flag_f=0)while(!key);delay_bo(10);while(!key);flag=1;flag_f=1;send_command(0x01);display(0x90,dispy);display(0x88,dispz);display(0x98,dispv);/*以下为电压输出模块*/if(flag=0)if(keyzhi=13&&TR0=0)/手动增加电压值v_lcd+;if(v_lcd=100)v_lcd=99;send_command(0x8d); send_data(v_lcd/10+0x30); send_data('.');send_data(v_lcd%10+0x30);v_real=v_lcd*2;P0=v_real;if(keyzhi=12&&TR0=0)/手动减小电压值v_lcd-;if(v_lcd=-1)v_lcd=0;send_command(0x8d); send_data(v_lcd/10+0x30); send_data('.');send_data(v_lcd%10+0x30);v_real=v_lcd*2;P0=v_real;if(keyzhi=15)/开启定时器中断 自动增加电压值TR0=1;flag_st=1;flag_jiajian=0; if(keyzhi=14)/开启定时器中断 自动减小电压值TR0=1;flag_st=1;flag_jiajian=1; if(keyzhi=11&&flag_st=1)/暂停自动扫描TR0=0;if(keyzhi=11&&flag_st=2)/对预置的电压经行确定key_times=0;v_real=v_lcd*2;P0=v_real;if(keyzhi>=0&&keyzhi<=10) /预置电压key_times+;if(keyzhi!=10)if(key_times=1)v_lcd_shi=keyzhi; send_command(0x8d); send_data(v_lcd_shi+0x30);send_data(' ');send_data(' ');if(keyzhi=10&&key_times=2)send_command(0x8d);send_data(v_lcd_shi+0x30);send_data('.');send_data(' ');if(key_times=3)v_lcd_ge=keyzhi;send_command(0x8d);send_data(v_lcd_shi+0x30);send_data('.');send_data(v_lcd_ge+0x30);v_lcd=v_lcd_shi*10+v_lcd_ge;if(keyzhi!=10)flag_st=2;if(keyzhi=10&&key_times!=2)v_lcd=0;send_command(0x8d);send_data(v_lcd/10+0x30); send_data('.');send_data(v_lcd%10+0x30);v_real=v_lcd*2;P0=v_real;key_times=0;/*以下为波形输出模块*/if(flag=1)if(key_s=0)delay_bo(10);if(key_s=0)while(!key_s);delay_bo(10);while(!key_s);set_num+;if(set_num=1) send_command(0x88); send_command(0x0f);if(set_num=2) send_command(0x8d); send_command(0x0f);if(set_num=3) send_command(0x98); send_command(0x0f);if(set_num=4) send_command(0x9d); send_command(0x0f);if(set_num=5) set_num=0; send_command(0x0c);if(key_q=0&&set_num=1)/产生三角波delay_bo(10);if(key_q=0&&set_num=1)while(!key_q);delay_bo(10);while(!key_q);while(1)sanjiaobo();if(key=0)delay_bo(10);if(key=0)while(!key);delay_bo(10);while(!key);flag=0;flag_f=0;key_times=0;set_num=0;send_command(0x01);send_command(0x0c);display(0x80,disps);display(0x88,dispx);v_lcd=0;send_command(0x8d);send_data(v_lcd/10+0x30); send_data('.');send_data(v_lcd%10+0x30);v_real=v_lcd*2;P0=v_real;break;if(key_s=0)delay_bo(10);if(key_s=0)while(!key_s);delay_bo(10);while(!key_s);set_num=2; send_command(0x8d);send_command(0x0f);break;if(key_q=0&&set_num=2)/产生锯齿波delay_bo(10);if(key_q=0&&set_num=2)while(!key_q);delay_bo(10);while(!key_q);while(1)saw();if(key=0)delay_bo(10);if(key=0)while(!key);delay_bo(10);while(!key);flag=0;flag_f=0;key_times=0;set_num=0;send_command(0x01);send_command(0x0c);display(0x80,disps);display(0x88,dispx);v_lcd=0;send_command(0x8d);send_data(v_lcd/10+0x30); send_data('.');send_data(v_lcd%10+0x30);v_real=v_lcd*2;P0=v_real;break;if(key_s=0)delay_bo(10);if(key_s=0)while(!key_s);delay_bo(10);while(!key_s);set_num=3; send_command(0x98); send_command(0x0f);break;if(key_q=0&&set_num=3)/产生方波delay_bo(10);if(key_q=0&&set_num=3)while(!key_q);delay_bo(10);while(!key_q);while(1)square();if(key=0)delay_bo(10);if(key=0)while(!key);delay_bo(10);while(!key);flag=0;flag_f=0;key_times=0;set_num=0;send_command(0x01);send_command(0x0c);display(0x80,disps);display(0x88,dispx);v_lcd=0;send_command(0x8d);send_data(v_lcd/10+0x30); send_data('.');send_data(v_lcd%10+0x30);v_real=v_lcd*2;P0=v_real;break;if(key_s=0)delay_bo(10);if(key_s=0)while(!key_s);delay_bo(10);while(!key_s);set_num=4; send_command(0x9d); send_command(0x0f);break;if(key_q=0&&set_num=4)/产生正弦波delay_bo(10);if(key_q=0&&set_num=4)while(!key_q);delay_bo(10);while(!key_q);while(1)zhengxianbo();if(key=0)delay_bo(10);if(key=0)while(!key);delay_bo(10);while(!key);flag=0;flag_f=0;key_times=0;set_num=0;send_command(0x01);send_command(0x0c);display(0x80,disps);display(0x88,dispx);v_lcd=0;send_command(0x8d);send_data(v_lcd/10+0x30); send_data('.');send_data(v_lcd%10+0x30);v_real=v_lcd*2;P0=v_real;break;if(key_s=0)delay_bo(10);if(key_s=0)while(!key_s);delay_bo(10);while(!key_s);set_num=0; send_command(0x0c);break;

    注意事项

    本文(电子设计报告简易数控直流电流源.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开