




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实训(论文)说明书题 目:基于atmega16单片机的 二极管参数测试仪的制作 系 别:机械电子工程系 专 业:机械电子工程 指导老师: 学生姓名: 学 号: 题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发2013年 5 月 27日摘 要 本次设计的二极管参数测试仪,采用atmega16单片机作为二极管的检测和控制核心;采用串行口通信数模转换芯片tlc5615,达到用ad采集方式检测二极管的各项参数。该设计电路结构简单、可靠性高,各种信息一目了,搭建了有好的操作界面。关键词:单片机;正向压降;二极管abstract the design of the diode parameter tester, using atmega16 microcontroller as the diode detection and control of the core; using serial port communication digital-analog conversion chip tlc5615, reached with the ad acquisition mode detector diode parameters. the design is simple circuit structure, high reliability, a variety of information at a glance, to build a good user interface.key words:mcu; forward voltage drop; diode目 录引言- 1 -1.1 要求- 1 -2 恒流源系统- 1 -2.1 恒流源方案一- 1 -2.2恒流源方案二- 2 -3参数检测的具体设计与实现- 3 -3.1 核心芯片- 3 -3.1.1 atmega16- 3 -3.2 电压采集电路设计方案- 4 -3.3 电源系统- 5 -5 系统性能测试- 6 -6 结论- 6 -谢 辞- 7 -参考文献- 8 -附 录- 9 -引言 随着电子技术的飞速发展,二极管成为目前使用最广泛的一种电子元器件,该装置具有体积小、功耗低、功能强、成本低等特点。在军事、民用及科学研究等领域得到了广泛的应用。单片机以其强大的控制能力为实现这一愿望提供了切实可行的手段。本设计二极管参数测试仪使用atmega16单片机开发板和一些简单的外围电路作为主要驱动装置,用lcd5110显示二极管参数。1 设计任务设计一个二极管参数测试仪。1.1 要求1、 可以测量二极管的正向压降。2、 可以列表显示二极管的正向伏安特性。3、 可以设置二极管两端电流,然后检测二极管导通特性。2 恒流源系统二极管参数测试需要有一个稳定的电流源给二极管输出电流,然后再通过检测电路采集二极管两端电压值。 2.1 恒流源方案一 利用单片机的pwm功能输出pwm波,然后经过二阶滤波转换成稳定的电压值,再经过一个v-i转换电路将电压转成电流供给二极管。这样通过软件改变pwm波的占空比就可调节输入电流。对应电路如图2.1图2.1 pwm方式恒流源电路图2.2恒流源方案二利用独立的da芯片能更快速精确的改变输出电压,通过单片机传输设定电压数据给da芯片,输出电压再经过v-i转换为电流给二极管。这样成本略高,但性能强劲。相应电路如图2.2。图2.3为v-i转换电路图。图2.2 da转换电路图 图2.3 v-i转换电路图 方案一成本低,电路简单。但是经过试验测试,电压变化不灵敏,失真度太大,不符合要求,而方案二虽然电路略复杂,但是反应快,调压精度高,故采用方案二。3参数检测的具体设计与实现3.1 核心芯片3.1.1 atmega16为atmel所生产的一种低功耗、高性能rcis 8 位微控制器,具有8k在系统可编程flash存储器,引脚如图3.1.1。其主要功能列举如下:1、 拥有灵巧的8位cpu和在系统可编程flash2、 晶片内部具时钟振荡器(传统最高工作频率可至12mhz)3、 内部程序存储器(rom)为16kb4、 内部数据存储器(ram)为1kb5、 32个可编程i o6、 内部10位精度ad转换器图3.1.1 单片机引脚图3.1.2 tlc5615tlc5615 为美国德州仪器公司1999 年推出的产品,是具有串行接口的数模转换器,其输出为电压型,最大输出电压是基准电压值的两倍。带有上电复位功能,即把 dac 寄存器复位至全零。性能比早期电流型输出的 dac 要好。只需要通过 3 根串行总线就可以完成 10 位数据的串行输入, 易于和工业标准的微处理器或微控制器(单片机) 接口, 适用于电池供电的测试仪表、移动电话,也适用于数字失调与增益调整以及工业控制场合。如图3.1.2 图3.1.2 tlc5615功能图 tlc5615有两种工作方式: (a)16 位移位寄存器分为高 4 位虚拟位、低两位填充位以及 10位有效位。在单片 tlc5615 工作时,只需要向 16 位移位寄存器按先后输入 10位有效位和低 2 位填充位, 2 位填充位数据任意,这是第一种方式,即 12 位数据序列。 (b)第二种方式为级联方式, 即 16 位数据列,可以将本片的 dou t 接到下一片的 din , 需要向 16 位移位寄存器按先后输入高 4 位虚拟位、10 位有效位和低 2 位填充位, 由于增加了高 4 位虚拟位, 所以需要 16 个时钟脉冲。3.2 电压采集电路设计方案电压采集我选择利用单片机内部的10位ad转换器。但是设计要求精度较高,实际使用时发现电压测得值浮动很大,故需要加入一定的去噪声电路和抗干扰电路。由此我设计了模拟输入电路如图3.2。 图3.2 模拟电压输入电路图电压采集点用一个电压跟随器可以很好的加大输入阻抗和减小输出阻抗,在单片机的ad检测输入io还必须加入二阶滤波,保证电压的稳定。除了二极管两端电压还需要测量二极管的电流,在此我用了一个10欧姆的电阻作采样电阻与二极管串联,采样电阻两端电压,然后根据i=u/r就可以计算出流过二极管的电流,从而得出二极管的参数,其结构如图3.3图3.2 电压采集电路图3.3 电源系统利用单片机内部的ad转换器需要提供一个基准参考电压。我用的是单片机的内部基准电压。基准电压的稳定决定了ad转换的精准度,因此必须保证单片机电压的稳定。我原来是用220v市电转5v供给给单片机,但是市电波纹太大,导致单片机电压不稳,严重影响的ad数据的精度。我发现万用表都是用9v的干电池供给,应该比较稳定,于是我也利用9v干电池给系统的放大器供电(采用的是lm358,lm324非轨道型放大器,这类放大器的最大输出电压为vcc-1,所有在这里用9v电压给放大器供电)然后9v电压经过一个lm2576开关型稳压器电路给单片机供电。经测试电压相当稳定,用万用表已经检测不到电压的波动。故采用此方案,9v-5v电路如图3.3。图3.3稳压电路图4 显示和按键电路由于二极管参数测量仪需要显示和输入的内容比较少,要求功耗较低,所有采用lcd51101.5寸液晶屏作为显示,显示效果清晰且不需要背光灯。按键采用3个独立式的按键。5 系统性能测试为了保证电路万无一失,在制作完成后,我用二极管1n4007作了测试实验,实验数据如表1表表1实验数据表经过多次实验,数据相差均不超过1%,故认为方案可行。6 结论采用单一单片机结构,用软件商的多任务结构是系统同时去执行多个操作,提高了cpu得利用率和系统的灵活性。该设计具有结构轻巧、操作简单、维护方便、成本低、可靠性高等优点,有一定得开发利用前景。谢 辞 在本次实训中感谢朱老师在制作过程中对我们的指导和帮助!参考文献1 朱清慧,张凤蕊,翟天蒿,王志奎.电子线路设计、制版与仿真m.北京:清华大学出版社,2008.9:151177.2 龚淑秋,李忠波.电子技术(非电类专业)m.北京:机械工业出版社,2010.7:206259 附 录单片机程序#include #include #include lcd5110.h#define daport portb#define daddr ddrb#define clk 6#define cs 5#define din 7volatile uint16_t v1,v2,v3,v4,v5,i1,i2,i3,i4,i5,pwm_v;volatile uint8_t trg,cont,pwm_ih,pwm_il,a=1,b=1;/=读键值函数y=void keyread( void ) unsigned char readdata = pind0xff; / 1 trg = readdata & (readdata cont); / 2 cont = readdata; / 3/=da电?压1输?出?=void da_conver(uint16_t davalue) uint8_t i; davalue = 6; setbit(daddr,clk); setbit(daddr,cs); setbit(daddr,din); clearbit(daport,cs); / 片?选?da芯?片? clearbit(daport,clk); / 在以?下?12个?时钟周期内,每?当在上?升y沿?的? / 数y据y被?锁?存?,形?成da输?出?。在前10个?时钟 for(i = 0; i 12; i+) / 内输?入?的?是?10位?da数y据y,?后两?个?时钟周期 / 为a填?充?字?节。 if(davalue & 0x8000) setbit(daport,din); else clearbit(daport,din); setbit(daport,clk); / davalue = 1; / clearbit(daport,clk); setbit(daport,cs); / cs的?上?升y沿?和下?降沿?只?有d在clk为a低的?时候 clearbit(daport,clk); / 才?有d效/=单通道ad输?入?0 差?分?输?入?1,单位?mv=uint16_t adc_calc(uint8_t k,uint8_t a)uint16_t value=0;float vtemp;clearbit(ddra,7);clearbit(porta,7);adcsra= 0x00;/禁?止1ad转a换?if(k) admux= 0xd0;else admux= 0xc0|a;sfior |= 0x00;acsr= 0x80; /禁?止1模拟a比较?器adcsra= 0xc7;while(!(adcsra & (1adif);value=adcl; /首先读低位?value=(adch0x200) /负o数y要a变?换?,?正y数y不?用? value=value+1; /变?换?成16位?无t符?号?整?数y value&=0x03ff;if(value=0x200) value=512; vtemp=(float)(value*5);elsevtemp=(float)(value*2.5);value=(uint16_t)vtemp;adcsra|=1adif;adcsra=0x00;return value;/=ad多次?测a量?求平?均值=uint16_t adc_diode(uint8_t k,uint8_t a)uint8_t i;uint16_t temp=0;adc_calc(k,a);for(i=0;i50;i+)temp=adc_calc(k,a)+temp;temp=temp/i;return temp;/=显?示?函数y=void display(uint16_t i,uint16_t j,uint8_t k)uint8_t a,b,c,d;j=adc_diode(0,0); /单位?是?0.1maif(j11) j=j+(j-11)/11; a=j/100+0x30;b=j%100/10+0x30;c=j%10+0x30;lcd_set_xy(48,k);if(a!=0x30)lcd_write_char(a); else lcd_write_char( );lcd_write_char(b);lcd_write_char(.); lcd_write_char(c); a=i/1000+0x30;b=i%1000/100+0x30;c=i%1000%100/10+0x30;d=i%10+0x30;lcd_set_xy(12,k);if(a!=0x30)lcd_write_char(a); else lcd_write_char( );lcd_write_char(b); lcd_write_char(c); lcd_write_char(d); /=pwm=void startpwm(uint16_t value) /单位?ma,?参?数y是?输?出?电?流tccr1b = 0x00;/停止1定时器timsk |= 0x00;/中d断?允许tcnt1 = 0x0000;/初?始?值ocr1a = 0x1f3f;/匹配?a值ocr1b = value*16;/匹配?b值icr1 = 0xffff;/输?入?捕?捉?匹配?值tccr1a = 0x2f;tccr1b = 0x19;/启?动定时器void pwm_vi(uint16_t vi) /mv单位?设定值uint16_t temp,pwm,i,temp1;da_conver(256);for(i=0;i5;i+)temp1=adc_diode(0,0);temp=adc_diode(0,0);if (vitemp1)pwm=1;while(temp!=vi)da_conver(pwm+);for(i=0;i5;i+)temp=adc_diode(0,0);if(pwm=512) return; elsepwm=512;while(temp!=vi)da_conver(pwm-);for(i=0;i5;i+)temp=adc_diode(0,0);if(pwm=256) return;void reset() asm( cli ); asm( clr r30 ); asm( clr r31 ); asm( jmp 0 ); /=主函数y=void main(void) uint8_t i;lcd_init();/初?始?化液o晶 clearbit(ddrd,0);clearbit(ddrd,1);clearbit(ddrd,2);setbit(ddrd,4);setbit(portd,0);setbit(portd,1);setbit(portd,2);lcd_write_chinese_string(5,0,12,6,0,0,0);lcd_write_chinese_string(36,2,12,1,6,0,0);lcd_write_chinese_string(5,4,12,6,7,0,0);while(adc_diode(0,0)=1);da_conver(50);lcd_clear();lcd_write_chinese_string(5,0,12,6,13,0,1);lcd_write_chinese_string(5,2,12,6,19,0,0);while(1)display(v1,i1,5);_delay_ms(50);keyread();if (trg&0x01)lcd_clear();if(a=1)lcd_write_chinese_string(5,0,12,6,13,0,0);lcd_write_chinese_string(5,2,12,6,19,0,1);a=0;elselcd_write_chinese_string(5,0,12,6,13,0,1);lcd_write_chinese_string(5,2,12,6,19,0,0);a=1;if (trg&0x02)if(a) lcd_clear();lcd_write_english_string(12,0,u/mv i/ma);da_conver(100);_delay_ms(100);for(i=0;i30;i+) display(v1,i1,1);da_conver(175);_delay_ms(100);for(i=0;i30;i+) display(v2,i2,2);da_conver(250);_delay_ms(100);for(i=0;i30;i+) display(v3,i3,3);da_conver(325);_delay_ms(100);for(i=0;i3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件制作协议合同协议
- 郑州安置房购房合同协议
- 软件项目承包合同协议
- 漏水保修协议书
- 收购企业保密协议
- 退房协议书合同协议
- 汽车原厂协议书
- 消防联盟协议书
- 民事终结协议书
- 建筑工程招投标与合同管理教材
- 2024版土方挖机装车合同
- 幼儿园教师个人三年发展规划(2023-2025年)
- 楼板加固施工方案
- T-ISC 0050-2024 企业个人信息保护合规管理体系 指南
- 2024年大学实习三方协议合同(3篇)
- 【MOOC】彩色宝石学-中国地质大学(武汉) 中国大学慕课MOOC答案
- 大模型原理与技术 课件汇 魏明强 chap6 大模型微调- chap14 基于大模型的航空航天装备制造
- GB/T 25229-2024粮油储藏粮仓气密性要求
- 2024-2030年中国锅炉行业未来发展方向及投资策略调研报告
- 2024年彩票及票务印刷合同
- 广告设计师三级理论知识鉴定要素细目表
评论
0/150
提交评论