北邮arduino实验报告.doc
《北邮arduino实验报告.doc》由会员分享,可在线阅读,更多相关《北邮arduino实验报告.doc(35页珍藏版)》请在咨信网上搜索。
1、电子电路综合实验设计实验名称:基于 Arduino 的电压有效值测量电路设计与实现学院:班级:学号:姓名:班内序号:实验 基于Arduino 的电压有效值测量电路设计与实现一. 摘要Arduino是一个基于开放原始码的软硬件平台,可用来开发独立运作、并具互动性的电子产品,也可以开发与PC 相连的周边装置,同时能在运营时与PC 上的软件进行交互。为了测量正弦波电压有效值,一方面我们设计了单电源供电的半波整流电路,并进行整流滤波输出,然后选择了通过Arduino设计了读取电压有效值的程序,并实现使用此最小系统来测量和显示电压有效值。在频率和直流电压幅度限定在小范围的情况下,最小系统的示数基本和毫伏
2、表测量的值相同。根据交流电压有效值的定义,运用集成运放和设计的Arduino最小系统的结合,实现了运用少量元器件对交流电压有效值的测量。关键字:半波整流 整流滤波 Arduino最小系统读取电压有效值 二. 实验目的1、熟悉Arduino 最小系统的构建和使用方法;2、掌握峰值半波整流电路的工作原理;3、根据技术指标通过度析计算拟定电路形式和元器件参数;4、画出电路原理图(元器件标准化,电路图规范化);5、熟悉计算机仿真方法;6、熟悉Arduino 系统编程方法。三. 实验任务及设计规定设计实现 Arduino 最小系统,并基于该系统实现对正弦波电压有效值的测量和显示。1、基本规定(1)实现A
3、rduino 最小系统,并能下载完毕Blink 测试程序,驱动Arduino 数字13 口LED 闪烁;(2)电源部分稳定输出5V 工作电压,用于系统供电;(3)设计峰值半波整流电路,技术指标规定如下:l 输入信号电压范围:01V;l 频率范围:500Hz2KHz;l 电源电压:5V;(4)采用Arduino 最小系统读取峰值半波整流电路的输出结果,并计算正弦波电压有效值;(5)测量出的有效值通过Arduino 串口监视器进行读取。2、提高规定(1)用数码管显示正弦信号有效值的测量结果;(2)用Arduino 最小系统直接读取正弦信号计算有效值,比较不同测试方法的测量误差;(3)自拟其他功能。
4、3、提交材料(1)实验报告(含仿真结果、原理图)(2)峰值半波整流等相关电路的仿真文献;(3)Arduino 程序;(4)电路原理图文献。四. 设计思绪及结构框图设计思绪: 系统组成框图Arduino 电压有效值测量电路涉及峰值半波整流电路、最小系统、显示、稳压电路四部分,其中最小系统涉及微解决器、振荡电路、下载电路和测试电路。显示部分Arduino最小系统峰值半波整流电路电源元器件资料本实验中用到了一个LM741CN芯片,通过查找资料了解LM741CN的重要参数,管脚设立等。 一片ATMEGA8 芯片来搭建一个最小系统,通过查找资料了解ATMEGA8的重要参数和管脚设立。.分块电路和总体电路
5、的设计(1)半波电路的设计本实验需要的是输入710V的直流稳压电源,输出5V。具体电源电路涉及整流,滤波等部分,具体的设计如下。仿真波形如下图所示(2)半波电路加上整流滤波的设计。交流电通过整流后得到的是脉动直流,采用滤波电路可以大大减少这种交流纹波成分,让整流后的波形变得比较平滑。通过整流滤波电路得到电压的峰峰值等于2倍电压有效值。仿真波形如下图所示四、功能实现及扩展1基本规定:实际实验中的波形截图及相关分析:左图为滤波后实际实验图,从图中可以看到滤波效果很好,减去抬高的2.55V所得值为毫伏表测量值的2倍,符合滤波规定。左图为半波整流实验图,从图中可以看到半波波形无失真,运用直流抬高2.5
6、V左右,读数为2.55V,符合仿真结果。五. 故障及问题分析1.问题一:半波整流电路的问题1)选择了不合适的半波电路在使用LM741CN之前尝试用LM358做半波整流,由于滤波后峰值太低,采用全波整流完毕,但仿真和实验均失真,故最终放弃使用LM358。失真波形图电路如下半波仿真波形图如下实际半波波形比仿真波形好,因素也许是仿真软件的元件库对元件的性能记录不完全,导致了与实际情况不符。但无论仿真还是实际操作中都存在明显失真,故舍弃此电路设计。滤波仿真波形图如下也许和电容值有关。2)电路没有共地(此时使用LM358)LM358严重失真波形图此图也为LM358实际滤波图,因素是电路没有所有共地,共地
7、后波形为上面的波形图。分析及解决方法:器件LM358仿真始终就没能找到合适的半波整流电路,所以更换为LM741最终得到了合适的半波波形。3)在使用LM741时波形失真,电路没有接错。分析及解决方法:LM741四号管脚没有接地。问题二:使用Arduino过程中碰到的问题1)第一次接触Arduino接线接错导致ATMEGA8直接烧毁。解决方法:确认下载器接口和图示的相应关系,重接导线。2)没有把VCC和AREF相接,电压读数是错的。分析及解决方法:AREF是A/D转换的参考电压输入端,是5V,不接入参考电压读数必然不对。将两端连接问题解决。问题三:读数时将电压改变范围扩大,出现不能忽略的误差分析及
8、解决方法:通过示波器上测量的输出电压值和毫伏表测量的输入电压值的比值发现,输出和输入并非完美的线性关系,即在电路中存在一定的失真,但由于仿真中没有问题,迫于时间限制没能做出完美的线性输出,但可通过改写程序减小误差,如将电压值分段,计算几组比值,在代码中给每段不同的参数。改善代码附在最后(在验收时未使用)。六实验改善1)将运算放大器U1由LM358换成LM741,将电路改为经典半波整流电路,观测波形,滤波电路最初使用20k电阻,滤波后幅值较低,与毫伏表读数相差较多,后改为200,幅值正常。因素是20k消耗能量过多,电路的负载能力也许不够。改小电阻虽能减小损耗,但理论上输出电流的平滑性会减少,好在
9、实验中没有出现此类现象。2)Arduino程序改善。电压示数不对:第一次获得电压示数的时候发现是毫伏表测量的有效值的2倍,于是我们在获取的电压上乘以了0.707,使读数相对准确了许多但误差仍然存在。电压读数存在误差:为了使读数更加准确,我在不同幅值处都计算了输出端和毫伏表达数的比值并求平均,最终使Arduino读数在小范围内零误差读数。但输入幅值一旦非常小或者非常大之后会体现出不小的误差,由于时间问题最终没能对程序进行改善,个人认为由于输出和输入并非完全线性关系,所以对电压读值进行分段,每段计算出不同的输出/输入的比例系数,相对会减少误差,但非线性关系也意味着输出存在失真,所以电路还应进行改善
10、。同组同学的滤波电阻都取的较小,相对的误差也较小,仿真中并无区别,希望还能在实际操作中进行探究。后面附了改善之后的代码,一共进行两次改善,但最后一次停留在理论,未能进行实际操作的验证。七. 总结和结论1.实验总结:本次实验是综合设计性实验,规定我们将以前学过的知识都综合运用起,并和新接触的Arduino器件结合起来使用,设计出具有一定综合功能的电路。对Arduino进行了解并未花费太多时间,而半波整流电路的设计却是整个过程中最难的一部分,由于器件的性能和仿真似乎有出入,不同电路的仿真做了不下十种最终才找到了比较合适的。 2.实验结论: 通过Arduino搭建最小系统和模拟电路的结合实现了电压有
11、效值的读取,尚有许多功能有待尝试。有程序通过下载器经导线对ATMEGA8的输入输出管脚进行控制来实现自己的程序是非常故意思的事情,希望日后尚有机会做此类尝试。3.心得体会:这是一年的模电实验里最故意义的一次,约了六次实验,跑了9次实验室,用了非常多的时间去解决各种问题,起初觉得别人拿着现有的数据不久出图出结果非常羡慕,但是到后来一步一步慢慢达成实验目的也获得了许多成就感。特别是很难忘掉烧掉一个ATMEGA8之后第二次连上导线接到电脑成功地进行第一次blink之后的喜悦,当时甚至给自己起了个新名字叫“布令客1号”,现在回想起来有点像小学生做的事情,但真的在完毕一个之前全然不懂的任务之后非常的有成
12、就感。越到后期进步就越缓慢,但和同组的人交流之后发现并不是在原地踏步,虽然很长一段时间没能拟定下来电路,但同时排除了不少错误的电路设计。实验中收获的知识有限,但我觉得我得到了我几乎历来没有过的耐心,我甚至在实验结束后的五一小长假前一天认真的百度了色环读阻值,并且把所有的未知电阻挨个读值之后插回了电阻箱,那一刻我觉得电路实验是大学这两年最珍贵的课程,不能糊弄,不能投机取巧虽然在一定限度上可以,还培养了耐心,上了北邮之后我也算是第一次真正的觉得自己的专业还不错。八. 所用元器件及测试仪表清单元器件清单名称型号数量用途运算放大器LM741CN1反相放大二极管1N40092控制单项导通的开关特性,防止
13、反向击穿,保护电路电容47F1用于整流滤波10F1用于隔直电阻20k4限流,防止电压过大,提供负反馈,充当保护电阻、负载电阻等2001面包板1用于搭载电路,充当电路的载体用于连接电路导线若干仪器仪表清单仪器名称用途直流稳压电源提供直流信号函数信号发生器提供交流信号毫伏表测量输入电压有效值示波器显示波形万用表测分压、二极管正负等九. 参考文献1.北邮电路中心电子电路综合设计实验2.电子电路基础北京邮电大学出版社 刘宝玲3.电路中心网站4.极客工房Arduino教程资料附代码:1) 初次代码:const int D=5;int a;int V;int Num4;void disp(int pos,
14、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,L
15、OW); 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,
16、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); d
17、igitalWrite(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) digital
18、Write(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); digitalWri
19、te(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
20、,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,LO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北邮 arduino 实验 报告
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。