基于Arduino的电压有效值测量电路设计与实现.docx_第1页
基于Arduino的电压有效值测量电路设计与实现.docx_第2页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

北京邮电大学电子电路综合设计实验报告 学院:信息与通信工程学院 班级:姓名: 学号:实验题目:基于arduino的电压有效值测量电路设计与实现。摘要:为了了解arduino最小系统的搭建和编程方法以及半波整流模拟电路的工作原理,通过搭建arduino最小系统,测试blink程序,可以驱动arduino数字13口led闪烁。采用ua741搭建半波整流电路,加上滤波电路,通过编写程序可以实现在一定误差范围内用数码管读取正弦波电压有效值,并测试了正弦波在不同频率及峰峰值的情况下读取有效值的准确性,可以看出这种情况下的测量范围是有限的。通过这个实验,对arduino最小系统有了深刻全面的认识,拓宽了眼界,同时通过对半波整流不同电路类型的搭建摸索,对模拟电路滤波有了更深的认识。也发现arduino最小系统可以有更多有价值的应用。关键词:arduino、半波整流、滤波实验目的:1、熟悉arduino最小系统的构建和使用方法;2、掌握峰值半波整流电路的工作原理;3、根据技术指标通过分析计算确定电路形式和元器件参数;4、画出电路原理图(元器件标准化,电路图规范化);5、熟悉计算机仿真方法;6、熟悉arduino系统编程方法。实验设计: 实验的总体设计分为三部分:arduino最小系统的实现、半波整流及滤波电路和数码管的显示。三部分连接在一起完成对正弦信号电压有效值的测定。1、 系统组成框图2、 arduino最小系统的搭建使用单片机、16m晶振与两个22pf的电容完成最小系统的搭建,但arduino不光是硬件,需要用arduino ide把bootloader下载进入这个最小的硬件系统中。在单片机的13口接led灯,通过下载器将blink程序烧入最小系统,可以控制lde灯的闪烁频率。同样,根据滤波电路的调测将编写的测量程序写入最小系统就可以较准确地读电压的有效值。3、半波整流及滤波电路 根据二极管正向导通反向截止的特性,使用lm741完成半波整流电路。因为lm741是双电源供电,但实验器材中只有一个可以提供+5v电压的稳压集成电路7805,为了完成实验,使用两个10k的电阻将5v分压,将+2.5v接入本应接地的3口,从而将地线提高到+2.5v,可以完成lm741单电源的半波整流。交流电源后加的47uf的电容是为了滤低频成分。实验过程中曾尝试使用单电源供电的lm358p进行半波整流,虽然示波器有半波电路,但在仿真过程中出现较大的误差,所以重新使用lm741.滤波电路采用50电阻和100uf电容串接的rc滤波电路,实验中发现电阻小一些滤波效果比较好,波形更平。4、数码管的显示根据数码管的引脚图将数码管与单片机接在一起,单片机接+5v电源,根据烧好的程序,数码管自己显示读数。电路的安装与调试: 首先根据电路图搭建了arduino最小系统,用下载器连接最小系统与电脑,将blink程序烧入最小系统中,实现了13口led灯闪烁。在此过程中连线非常重要,单片机很容易因为连线的失误烧坏。 接下来连接半波整流及滤波电路。根据电路图连线(注意接地),用函数信号发生器产生1v左右,1khz的正弦波接入输入端(用示波器观察),使用7805产生稳定的+5v电压接入运算放大器中,接通电源,用示波器另一路在输出端观察半波整流情况,示波器显示如下图:可以看到正弦波抬高了2.5v之后实现半波。(测量看出实际抬高2.56v)再接入滤波电路,用示波器观察输出,如下图所示:在屏幕中可以看出 基本与滤波前峰值相平。接下来用毫伏表测量输入信号的有效值,同时用示波器观察滤波后幅值的大小(先减去抬高的2.56v),改变输入信号峰峰值的大小,将两者进行比较,列表如下:毫伏表读数v1(mv)示波器读数v2(mv)v1/v23444900.7023825400.7074005500.7274816500.7406979600.719可以看出毫伏表测出的有效值与滤波后电压的大小基本满足0.707的关系,在编程时取0.720.接下来将数码管与单片机连接在一起,根据数码管的工作原理编写程序,用下载器将程序烧入最小系统,检测数码管工作是否正常。安装好数码管后,去掉下载器,用线将半波整流电路的输出接入最小系统的输入,给最小系统接入+5v的电压。整个电路注意共地。观察数码管的示数与毫伏表示数,改变输入信号峰峰值或频率,观察两者示数的变化。在不改变频率的情况下,改变输入峰峰值,列表如下:毫伏表示数(mv)数码管示数(mv)261265303304345346368367可以看出数码管读出的有效值与毫伏表测出的基本一致,在误差允许的范围内。但在改变峰峰值及频率的情况下,准确度会有所下降,在1v、1khz左右最准确。随着峰峰值的增大,误差也会变大。至此,实验基本结束。电路仿真: 主要用multisim软件对半波整流电路及加上滤波之后的电路进行仿真。lm741半波整流电路仿真结果加上滤波之后的电路仿真结果仿真结果与实际实验结果基本符合。故障及问题分析:1、 实验准备不够充分,导致一开始做实验有些盲目,对电路原理图没有搞清楚,盲目地在lm741和lm358之间折腾,浪费了很多时间;2、 在使用仪器时不够熟练,示波器线上有时*10没有注意到。整个系统必须共地,刚开始时忽略了,导致读数不稳定。在使用稳压器时输入电压过低,导致输出不能达到5v;3、 对单片机的工作原理不熟悉,在一开始没有将参考电压口接入,开始连接下载器使用电脑给最小系统供电,没有统一接入+5v电压,导致半波整流波形失真,读数不准确;4、 连线失误,单片机与下载器相连由于疏忽连线错误,连入电脑时会烧坏单片机。一开始滤波时,电阻电容参数不合适,无法获得平滑的波形,有小的突起,经过调试,不断减小电阻阻值使得波形平滑;5、 数码管示数的不稳定,除了上面提到的没有共地、没有接入统一的+5v电压、没有接参考电压外,还有程序编写上的问题。最开始,对最小系统及数码管原理不清楚,编写程序时有些盲目,了解了之后,由于没有考虑写入参考电压,数码管读数不稳定,经过反复的修改与讨论,才完善了程序。6、 在实验中也需要考虑整体布局布线的问题,在面包板上插线,插器件时要小心,否则有时因为接触不良也为影响实验结果。实验总结及结论:通过这次实验,我学到了很多。这是我做的第一个需要设计比较复杂的系统,对于分模块组成一个完整的系统有了比较深刻的认识。每一个分块必须先可以正常工作,再将它们连接在一起,经过调试实现系统功能。另外,我对arduino有了深刻地认识,在做实验前,我对于编程控制硬件工作一无所知,通过反复摸索编程实现功能,我对硬件软件有了更清楚的了解。在实现半波整流及滤波电路时,由于开始时对原理不太清楚,走了一些弯路,有时半波出不来要么失真,由于电阻电容参数不合适,滤波不理想,经过讨论与反复调试检测,终于得到了理想的结果,这也使我对模拟电路认识更深。做这次实验花了很多时间,也得到了能力的提升。在搭建模拟电路部分时,反复地拆又重搭,用lm741和lm358不停地在摸索,过程也比较不顺,但最终效果理想,在反复地摸索中,很好地锻炼了动手能力,也思考的更深刻,对电路也更理解,对仪器的使用也更加熟练。同时这个实验涉及到编写程序来驱动硬件工作,对程序不断地修改来获得理想的效果,是数码管能够得到稳定的显示数,提升了自己的编程逻辑能力。通过这次实验,也清楚了单片机数码管的使用。同时我也认识到实验前的准备非常重要,对实验目的、原理及仪器要非常清楚,才可以顺利的完成实验,否则就会手忙脚乱,浪费时间,这就要求我们要更加扎实的完成基础理论的学习。在实验过程中与同学的讨论交流也是学习提高的好方法。做实验需要有耐性有恒心和好奇心,要坚持不懈。在这个实验中,我们主要是用arduino最小系统完成对电压有效值的测量,同时也认识到arduino可以实现非常强大的功能,这个实验仅仅是一个开始,在以后的学习中希望可以对arduino有更深刻的认识,用它来完成更多更有价值的实验。 实验程序:/* 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 num4;void disp(int pos,int num) for(int i(0);i6;i+) digitalwrite(i,low); 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,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); digitalwrite(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); 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); digitalwrite(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) digitalwrite(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); 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,high); 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); digitalwrite(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); 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, output); pinmode(2, output); pinmode(3, output); pinmode(4, output); pinmode(5

温馨提示

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

评论

0/150

提交评论