ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:997.69KB ,
资源ID:9855087      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/9855087.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于Arduino的电压有效值测量电路设计与实现.docx)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于Arduino的电压有效值测量电路设计与实现.docx

1、 基于Arduino的电压有效值测量电路设计与实现 23 2020年4月19日 文档仅供参考 北京邮电大学 电子电路综合设计实验报告 学院:信息与通信工程学院 班级: 姓名: 学号: 实验题目:基于Arduino的电压有效值测量电路设计与实现。 摘要:为了了解Arduino最小系统的搭建和编程方法以及半波整流模拟电路的工作原理,经过搭建Arduino最小系统,测试Blink程序,能够驱动Arduino数字13口LED闪烁。采用uA741搭建半波整流

2、电路,加上滤波电路,经过编写程序能够实现在一定误差范围内用数码管读取正弦波电压有效值,并测试了正弦波在不同频率及峰峰值的情况下读取有效值的准确性,能够看出这种情况下的测量范围是有限的。经过这个实验,对Arduino最小系统有了深刻全面的认识,拓宽了眼界,同时经过对半波整流不同电路类型的搭建摸索,对模拟电路滤波有了更深的认识。也发现Arduino最小系统能够有更多有价值的应用。 关键词:Arduino、半波整流、滤波 实验目的:1、熟悉Arduino最小系统的构建和使用方法; 2、掌握峰值半波整流电路的工作原理; 3、根据技术指标经过分析计算确定电路形式和元器件参数; 4、画出电路原理

3、图(元器件标准化,电路图规范化); 5、熟悉计算机仿真方法; 6、熟悉Arduino系统编程方法。 实验设计: 实验的总体设计分为三部分:Arduino最小系统的实现、半波整流及滤波电路和数码管的显示。三部分连接在一起完成对正弦信号电压有效值的测定。 1、 系统组成框图 2、 Arduino最小系统的搭建 使用单片机、16M晶振与两个22pf的电容完成最小系统的搭建,但Arduino不光是硬件,需要用Arduino IDE把Bootloader下载进入这个最小的硬件系统中。在单片机的13口接LED灯,经过下载器将blink程序烧入最小系统,能够控制LDE灯的闪

4、烁频率。同样,根据滤波电路的调测将编写的测量程序写入最小系统就能够较准确地读电压的有效值。 3、半波整流及滤波电路 根据二极管正向导通反向截止的特性,使用LM741完成半波整流电路。因为LM741是双电源供电,但实验器材中只有一个能够提供+5V电压的稳压集成电路7805,为了完成实验,使用两个10k的电阻将5V分压,将+2.5V接入本应接地的3口,从而将地线提高到+2.5V,能够完成LM741单电源的半波整流。交流电源后加的47uf的电容是为了滤低频成分。实验过程中曾尝试使用单电源供电的LM358p进行半波整流,虽然示波器有半波电路,但在仿真过程中出现较大的

5、误差,因此重新使用LM741. 滤波电路采用50Ω电阻和100uf电容串接的RC滤波电路,实验中发现电阻小一些滤波效果比较好,波形更平。 4、数码管的显示 根据数码管的引脚图将数码管与单片机接在一起,单片机接+5V电源,根据烧好的程序,数码管自己显示读数。 电路的安装与调试: 首先根据电路图搭建了Arduino最小系统,用下载器连接最小系统与电脑,将blink程序烧入最小系统中,实现了13口LED灯闪烁。在此过程中连线非常重要,单片机很容易因为连线的失误烧坏。 接下来连接半波整流及滤波电路。根据电路图连线(注意接地),用函数信号发生器产生1V左右,1KHz的正弦波接入输

6、入端(用示波器观察),使用7805产生稳定的+5V电压接入运算放大器中,接通电源,用示波器另一路在输出端观察半波整流情况,示波器显示如下图: 能够看到正弦波抬高了2.5V之后实现半波。(测量看出实际抬高2.56V) 再接入滤波电路,用示波器观察输出,如下图所示: 在屏幕中能够看出 基本与滤波前峰值相平。 接下来用毫伏表测量输入信号的有效值,同时用示波器观察滤波后幅值的大小(先减去抬高的2.56V),改变输入信号峰峰值的大小,将两者进行比较,列表如下: 毫伏表读数V1(mV) 示波器读数V2(mV) V1/V2 344 490 0.702 382 540 0.

7、707 400 550 0.727 481 650 0.740 697 960 0.719 能够看出毫伏表测出的有效值与滤波后电压的大小基本满足0.707的关系,在编程时取0.720. 接下来将数码管与单片机连接在一起,根据数码管的工作原理编写程序,用下载器将程序烧入最小系统,检测数码管工作是否正常。安装好数码管后,去掉下载器,用线将半波整流电路的输出接入最小系统的输入,给最小系统接入+5V的电压。整个电路注意共地。观察数码管的示数与毫伏表示数,改变输入信号峰峰值或频率,观察两者示数的变化。在不改变频率的情况下,改变输入峰峰值,列表如下: 毫伏表示数(mV) 数码管示

8、数(mV) 261 265 303 304 345 346 368 367 能够看出数码管读出的有效值与毫伏表测出的基本一致,在误差允许的范围内。但在改变峰峰值及频率的情况下,准确度会有所下降,在1V、1KHz左右最准确。随着峰峰值的增大,误差也会变大。 至此,实验基本结束。 电路仿真: 主要用multisim软件对半波整流电路及加上滤波之后的电路进行仿真。 LM741半波整流电路仿真结果 加上滤波之后的电路仿真结果 仿真结果与实际实验结果基本符合。 故障及问题分析: 1、 实验准备不够充分,导致一开始做实验有些盲目,对电路原理图没有

9、搞清楚,盲目地在LM741和LM358之间折腾,浪费了很多时间; 2、 在使用仪器时不够熟练,示波器线上有时*10没有注意到。整个系统必须共地,刚开始时忽略了,导致读数不稳定。在使用稳压器时输入电压过低,导致输出不能达到5V; 3、 对单片机的工作原理不熟悉,在一开始没有将参考电压口接入,开始连接下载器使用电脑给最小系统供电,没有统一接入+5V电压,导致半波整流波形失真,读数不准确; 4、 连线失误,单片机与下载器相连由于疏忽连线错误,连入电脑时会烧坏单片机。一开始滤波时,电阻电容参数不合适,无法获得平滑的波形,有小的突起,经过调试,不断减小电阻阻值使得波形平滑; 5、 数码管示数的不

10、稳定,除了上面提到的没有共地、没有接入统一的+5V电压、没有接参考电压外,还有程序编写上的问题。最开始,对最小系统及数码管原理不清楚,编写程序时有些盲目,了解了之后,由于没有考虑写入参考电压,数码管读数不稳定,经过重复的修改与讨论,才完善了程序。 6、 在实验中也需要考虑整体布局布线的问题,在面包板上插线,插器件时要小心,否则有时因为接触不良也为影响实验结果。 实验总结及结论: 经过这次实验,我学到了很多。这是我做的第一个需要设计比较复杂的系统,对于分模块组成一个完整的系统有了比较深刻的认识。每一个分块必须先能够正常工作,再将它们连接在一起,经过调试实现系统功能。另外,我对Ardui

11、no有了深刻地认识,在做实验前,我对于编程控制硬件工作一无所知,经过重复摸索编程实现功能,我对硬件软件有了更清楚的了解。在实现半波整流及滤波电路时,由于开始时对原理不太清楚,走了一些弯路,有时半波出不来要么失真,由于电阻电容参数不合适,滤波不理想,经过讨论与重复调试检测,终于得到了理想的结果,这也使我对模拟电路认识更深。 做这次实验花了很多时间,也得到了能力的提升。在搭建模拟电路部分时,重复地拆又重搭,用LM741和LM358不停地在摸索,过程也比较不顺,但最终效果理想,在重复地摸索中,很好地锻炼了动手能力,也思考的更深刻,对电路也更理解,对仪器的使用也更加熟练。同时这个实验涉及到编写程序来

12、驱动硬件工作,对程序不断地修改来获得理想的效果,是数码管能够得到稳定的显示数,提升了自己的编程逻辑能力。经过这次实验,也清楚了单片机数码管的使用。同时我也认识到实验前的准备非常重要,对实验目的、原理及仪器要非常清楚,才能够顺利的完成实验,否则就会手忙脚乱,浪费时间,这就要求我们要更加扎实的完成基础理论的学习。在实验过程中与同学的讨论交流也是学习提高的好方法。做实验需要有耐性有恒心和好奇心,要坚持不懈。 在这个实验中,我们主要是用Arduino最小系统完成对电压有效值的测量,同时也认识到Arduino能够实现非常强大的功能,这个实验仅仅是一个开始,在以后的学习中希望能够对Arduino有更深刻

13、的认识,用它来完成更多更有价值的实验。 实验程序: /* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ const int D=5; int a; int V; int Num[4]; void disp(int pos,int num){ for(int i(0);i<6;i++){ digitalWrite(i,LOW); }

14、 digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,HIGH); digitalWrite(12,HIGH); digitalWrite(13,HIGH); if(num==0){ digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,

15、LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==1){ digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digita

16、lWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); } else if(num==2){ digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH

17、); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==3){ digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,HIGH); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWr

18、ite(13,LOW); }else if(num==4){ digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,HIGH); }else if(num==5){ digita

19、lWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); }else if(num==6){ digitalWrite(6,HIGH); digitalWrite(7,LOW);

20、 digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,HIGH); digitalWrite(13,LOW); }else if(num==7){ digitalWrite(6,HIGH); digitalWrite(7,HIGH); digitalWrite(8,HIGH); digitalWrite(9,H

21、IGH); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==8){ digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); digital

22、Write(11,LOW); digitalWrite(12,LOW); digitalWrite(13,LOW); }else if(num==9){ digitalWrite(6,HIGH); digitalWrite(7,LOW); digitalWrite(8,LOW); digitalWrite(9,HIGH); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(12,LOW);

23、 digitalWrite(13,LOW); }else{ digitalWrite(11,0); digitalWrite(10,0); } digitalWrite(pos,HIGH); } // the setup routine runs once when you press reset: void setup() { // initialize the digital pin as an output. pinMode(0, OUTPUT); pinMode(1, OUT

24、PUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT); for(int

25、j(0);j<10;j++){ for(int i(0);i<6;i++){ disp(i,j); delay(100); } } } // the loop routine runs over and over again forever: void loop() { analogReference(DEFAULT); a=analogRead(A5); V=(a*(5000.0/1023.0)-2560)*0.720; Num[0]=V/1000; Num[1]=(V%1000)/100; Num[2]

26、V%100)/10; Num[3]=(V%10); for(int i(0);i<10;i++){ disp(2,Num[0]); delay(D); disp(3,Num[1]); delay(D); disp(4,Num[2]); delay(D); disp(5,Num[3]); delay(D); } } 所用仪器及元件: 名称 数量 名称 数量 ATMEGA8 1 运放 1 16M晶振 1 二极管 2 22PF 2 数码管 6位 LED 1 其它 若干 7805 1 相关元件引脚图 LM741 LM358 ATMEGA8芯片的引脚图 下载器连线

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服