基于Arduino的电压有效值测量电路设计与实现
电压有效值测量仪设计——论文
本科毕业设计论文题目数显交流电压有效值测量仪设计系别电气与信息工程系专业测控技术与仪器班级测控XXX班学号 XXXXX 学生姓名 XXX指导老师 XXX2014年6月摘要摘要本文设计数显交流电压有效值测量仪,要将交流电压有效值的模拟量转换为数字量显示在LED显示屏上,并要求可以显示被测电压的频率;被测信号的幅度范围:1V ~2V。
设计的硬件电路使用Proteus软件仿真实现,软件程序使用Keil 软件C语言编写。
设计的数显交流电压有效值测量仪的控制系统采AT89C51单片机,信号处理器件使用A/D转换器ADC0832、通用运放芯片和7414反相器,显示器件使用共阴极LED数码管,实现该测量仪的硬件电路。
由信号发生器提供被测信号。
A/D 转换器ADC0832采集电压有效值信号实现模数转换,通用运放芯片和7414反相器将信号整形提供给单片机计算频率。
电压有效值和频率的显示由开关控制;当开关开启式LED数码管显示电压有效值,当开关闭合时LED数码管显示被测电压频率值。
仿真结果的系统功能、指标达到了课题的预期要求。
关键词:交流电压有效值,Proteus软件,单片机控制,频率测量西安交通大学城市学院本科生毕业设计(论文)ABSTRACTABSTRACTThis paper designed digital ac voltage RMS measuring instrument, to convert ac voltage RMS analog to digital display on LED display, and demand can display the frequency of the voltage to be measured; The range of the measured signal range: 1 v ~ 2 v.Design of hardware circuit using Proteus simulation software implementation, software program using C language to write Keil software.Design of the digital display ac voltage RMS measuring instrument of AT89C51 single chip microcomputer control system, A/D converter ADC0832, opamp op-amp chip and 7414 inverter for signal acquisition device, common cathode LED digital tube to display devices, realize the hardware of the digital voltmeter.By the signal generator provides the measured signal. A/D converter ADC0832 acquisition voltage RMS signal to realize analog-to-digital conversion, opamp op-amp chip and 7414 inverter will provide to the single-chip microcomputer to calculate frequency signal of plastic.V oltage RMS and frequency of display is controlled by a switch; When the switch is open LED digital tube display voltage RMS, when the switch is closed LED digital tube display measured voltage frequency values.Simulation results of system function, indexes reach the expected requirements of subject.KEY WORDS:Ac voltage RMS,Proteus software,Single-chip microcomputer control,Frequency measurement西安交通大学城市学院本科生毕业设计(论文)目录目录摘要 (I)ABSTRACT................................................................................................................ I V 1 绪论. (1)1.1选题的目的意义 (1)1.2国内外研究综述 (1)1.3毕业设计(论文)所用的方法 (2)2 系统方案设计 (3)2.1设计思路 (3)2.2设计方案 (5)3 硬件电路设计 (7)3.1时钟电路 (7)3.2复位电路 (8)3.3显示选择电路 (8)3.4显示电路 (9)3.5电压采集电路 (10)3.6频率采集电路 (11)3.7总设计原理图 (11)4 软件设计 (13)4.1 主程序流程图 (13)5 软件仿真 (15)5.1调试与仿真 (15)5.1.1 仿真软件简介 (15)5.1.2 仿真步骤 (18)5.2仿真与误差分析 (18)5.2.1 仿真 (18)6 结论 (21)参考文献 (23)附录1 程序C语言代码 (25)附录2 外文翻译 (31)西安交通大学城市学院本科生毕业设计(论文)VI1 绪论1 绪论1.1 选题的目的意义数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
基于arduino的rlc测量仪的研究与设计
2.1 主控板
主控板采用的是Arduino UNO板,Arduino是一块基于 开放源代码的USB接口simple I/O接口板[3];Arduino UNO 板是一款 入门级的单片机开发板,其主控芯片采用的是 高性能、低功耗、高耐力的ATmega328P,它的核心处理器 是AVR。Arduino UNO与其他型号开发板一致所用的开发 环境是Arduino IDE,集成的Arduino IDE能够帮助初学者 快速掌握和利用单片机功能。Arduino UNO的工作电压为 5 V;有14 个数 字 输入 / 输出引脚(其中有3、5、6、9 -11这 几 个引脚 可以用作 P W M 输出),最大输出电流为4 0 m A;6 路 分 辨 率为10 位的 模 拟 量 输入(A0 -A 5),可以直 接 将现实 中的 模 拟 量 直 接 转 换 成 对应的10 位 数 字量;一 个模 拟输 入信号的参 考电压 引脚(A R E F);16 M H z晶振时钟;具 有 32KB的Flash内存(其中有0.5KB用作于引导程序)。
工业019.18.121
科技创新导报 2019 NO.18
Science and Technology Innovation Herald
基于Arduino的RLC测量仪的研究与设计①
赖瑞镪 (泉州华光职业学院 福建泉州 362121)
电子测量仪器是从事电子设计工作的电子工程师们在 设 计、检 测电 路 时一种必不 可少的 测量工具,随 着智能 化 的不断发展,测量工具也必将朝着智能化的功能多样化发 展。目前最常用的电子测量仪器是数字万用表,进入20世纪 90年代以来,数字万用表在我国不断发展,在实际生产中不 断被使用,现在已经成为学习、实验、电子设计、维修工作 的一个重要工具。数字万用表主要是要测量的元器件数值 通过转换电路转换成直流电压的信号[1],转换之后的信号 由A/D(模拟和数字信号相互转换)转换器将采集到的模拟 信号转换成数字信号,再通过计数器进行计数,最终将结 果呈现在显示屏上;该类型仪器的测量精度主要决定于A/ D转换器的转换精度。目前国内外仪器设备制造公司在设 计数字万用表时都一直往低功耗、高精度、体积小等方向考 虑;在精度提高、功耗降低、体积变小的同时价格也不断在 上升。在使用数字万用表的时候很大部分使用的是其测量 电压和电流的功能,并且具有一定的局限性,比如:大部分 无法测量电感,无法测量容量较大的电容。因此设计一个 操作简单、测量方便、价格低的电抗性元器件测量仪是很 有必 要的。本文 所 设 计的R L C 测量仪 是能 够 测量电阻、电 感、电容的测量仪器,主要是通过测量其电抗性元器件组 成的电路所产生波形的频率,Arduino主控板上的单片机通 过外部中断采集其频率,经过换算将对应元器件的值显示 OLED屏幕上。使用少数的元器件以及IC,该测量仪具有价 格低、操作简单、测量方便等特点。
【雕爷学编程】Arduino动手做(61)---电压检测传感器
【雕爷学编程】Arduino动⼿做(61)---电压检测传感器37款传感器与执⾏器的提法,在⽹络上⼴泛流传,其实Arduino能够兼容的传感器模块肯定是不⽌这37种的。
鉴于本⼈⼿头积累了⼀些传感器和执⾏器模块,依照实践出真知(⼀定要动⼿做)的理念,以学习和交流为⽬的,这⾥准备逐⼀动⼿尝试系列实验,不管成功(程序⾛通)与否,都会记录下来---⼩⼩的进步或是搞不掂的问题,希望能够抛砖引⽟。
【Arduino】168种传感器模块系列实验(资料+代码+图形+仿真)实验六⼗⼀:电压检测模块 Voltage Sensor 电压传感器电压检测传感器模块资料由于⽬前电⼦产品各式各样,供电电源的电压也各不相同,要想检测就需要⼀款合适的电压检测模块和控制器。
控制器模拟接⼝检测输⼊电压上限为5V,也就是说⼤于5V的电压将⽆法检测。
2011 年新推出的这款电压检测模块能够解决此问题,实现检测⼤于5V的电压,此模块基于电阻分压原理所设计,能使红⾊端⼦接⼝输⼊的电压缩⼩5倍,模拟输⼊电压上限为5V,那么电压检测模块的输⼊电压则不能⼤于5V×5=25V(如果⽤到3.3V系统,输⼊电压不能⼤于3.3Vx5=16.5V)。
因为Arduino所⽤AVR 芯⽚为10位AD,所以此模块的模拟分辨率为0.00489V(5V/1023),故电压检测模块检测输⼊下限电压为 0.00489V×5=0.02445V。
通过3P传感器连接线插接到传感器扩展板,不仅可以轻松实现对电压电量⼤⼩的检测,监控互动媒体作品或机器⼈电池供电的电量,也可以通过IICLCD1602液晶模块显⽰电压制作电压监测器。
为配合实验,找了⼀块DC-DC升压模块升压模块1、体积⼩可调升压模块,可轻松安装于各种⼩型设备⾥⾯。
2、可采⽤MicroUSB输⼊,⽤USB充电器或者移动电源通过⼿机数据线即3、可轻松得到9V,12V,15V,18V,24V的常⽤电压,使⽤⾮常⽅便。
电压交流有效值测量电路设计仿真与实现 武汉理工
《模拟电子技术基础》课程设计目录摘要....................................... .. (1)1.电路方案论证与选择1.1系统基本方案 (2)1.2各模块方案论证与选择1.2.1直流稳压可调电源模块 (2)1.2.2电压衰减模块 (2)1.2.3 AC-DC转换模块 (4)1.2.4数字显示模块 (6)2.电路仿真 (7)3.焊接与调试3.1材料清单 (12)3.2过程描述 (13)4.参数测量及验证 (14)5.心得体会 (15)6.参考文献 (15)7.实物图 (16)课程设计任务书学生姓名:专业班级:电信12级指导教师:刘守军工作单位:信息工程学院题目: 电压交流有效值测量电路设计仿真与实现初始条件:可选元件:集成运算放大器、电阻、电位器、电容若干,直流电源,或自备元器件。
可用仪器:示波器,万用表,直流稳压源,函数发生器要求完成的主要任务:(1)设计任务根据要求,完成电压交流有效值测量电路的仿真设计、装配与调试,鼓励自制正弦信号发生器和稳压电源。
(2)设计要求①输入电压峰值10<v ,允许误差为±2%,采用LED分段显示,分段区间自定,可加入音响指示;②选择电路方案,完成对确定方案电路的设计。
③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原理并仿真实现系统功能。
④安装调试并按规范要求格式完成课程设计报告书。
⑤选做:利用仿真软件的PCB设计功能进行PCB设计。
时间安排:1、前半周,完成仿真设计调试;并制作实物。
2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日摘要模拟电子技术课程设计是继《模拟电子技术基础》理论学习和实验教学之后又一重要的实践性教学环节。
它的任务是在学生掌握和具备电子技术基础知识与单元电路的设计能力之后,让学生综合运用模拟电子技术知识,进行实际模拟电子系统的设计、安装和调测,利用Multisim等相关软件进行电路设计,提高综合应用知识的能力、分析解决问题的能力和电子技术实践技能,让学生了解模拟电子技术在工业生产领域的应用现状和发展趋势。
arduino单片机数控直流稳压电源毕业设计
arduino单片机数控直流稳压电源毕业设计
Arduino单片机数控直流稳压电源毕业设计
毕业设计的主题是设计一个基于Arduino单片机的数控直流稳压电源。
该电源可以通过Arduino控制,实现对输出电压的精确调节和稳定。
以下是该毕业设计的主要内容和步骤:
1. 确定设计需求:确定电源的输入电压范围、输出电压范围、输出电流能力和精度要求等。
2. 选取电源模块:选择合适的直流电源模块,以提供稳定的、可调节的输出电压。
3. 连接Arduino控制器:将Arduino单片机与电源模块连接,确保能够通过Arduino控制电源的开关和输出电压。
4. 开发控制程序:使用Arduino编程语言,开发控制程序来实现对电源的控制和输出电压的调节。
在程序中,可以使用PID控制算法来实现输出电压的稳定控制。
5. 设计用户界面:为电源设计一个用户界面,可以通过LCD显示屏、按键或旋钮等与用户进行交互,并调节输出电压。
6. 测试和验证:对设计的电源进行测试和验证,确保其能够满足设计需求并稳定地输出所需的电压。
7. 编写文档和报告:撰写设计报告,包括电路图、程序代码、测试结果和分析等,并进行毕业设计答辩。
以上是一个大致的设计流程,具体的步骤和设计细节可能会根据项目需求和资源的可用性而有所不同。
基于真有效值算法的电压测量仪表的方案设计
第10卷第4期2010年8月潍坊学院学报Journal of Weifang UniversityV01.10 No.4Aug.2010基于真有效值算法的电压测量仪表的方案设计。
孙俊香(潍坊学院,山东潍坊261061)摘要:为了实现对非正弦交流电压信号有效值的精密测量,并使之不受被测波形的限制,采用真有效值(TRMS)转换技术,利用专用高性能真有效值TRMS Ac/DC转换芯片AD536,结合高精度AD转换芯片ICL7135,利用5l单片机定时器和中断功能,给出一种实用的、准确度高的真有效值测量仪表设计方案。
实践证明,该仪表实现了0.5级表的设计要求,可以准确、实时地测量各种波形的有效值电压或电平。
关键词:非正弦信号;真有效值;模数转换;电压测量;单片机中图分类号:TM930 文献标识码:A 文章编号:1671~4288(20lo)04—0025—05 0 引言在科学研究和生产实践中,会遇到大量的非正弦波,传统测量仪表采用的是平均值转换法来对其进行测量,但这种方法存在着较大的理论误差。
为了实现对交流信号电压有效值的精密测量,并使之不受被测波形的限制,可以采用真有效值(True Root Mean Square,TRMS)转换技术,亦称为真均方根值。
其定义模型为:1伏真有效值的交流电压值与1伏直流信号电压对相同电阻值产生等值的热量,在数学上被定义厂——-=『_为VtnM。
一√ARG(≥:可;),是通过电路对输入交流电压进行“平方一求平均值一开平方”的运算而得到’V —I--1的。
真有效值仪表的最大优点是能够精确测量各种电压波形的有效值,而不必考虑被测波形的参数以及失真。
目前真有效值数字仪表正在国内外获得迅速发展,出现了各种专用的单片真有效值AC/DC转换芯片。
美国AD公司的AD536A是其中非常典型的一种,其主要特点是灵敏度好,高输入阻抗、低输出阻抗;高精密度(±0.3mV±0.3%)、低输入偏置电流等特性。
电瓶电压实时监测系统——基于Arduino的电压监测工具
2.2 主界面设计 图 2 为软件原型图。主界面功能区分 为“ 数 据 表 区”、“ 可 视 化 数 据 区”、 “操作区”。数据表区使用 Tkinter 库的 treeview 组件以文本形式实时显示电压测 量数值和测量时刻。 Matplotlib 的折线图组件内嵌到主界面 中,以实时显示总电压和各个电瓶电压的 变化图形。 界面下方的 button 组件用于点击“开 始 / 暂停”对端口数据的读取和显示数据 的更新。 端口下拉列表用于选择数据端口,时 长下拉列表用于选择放电时长。最右侧文 本框用于显示倒计时。 2.3 软件模块 端 口 数 据 读 取 模 块 中, 程 序 首 先 读 取 端 口 下 拉 列 表 所 选 内 容, 作 为 访 问 目 标 数 据 端 口 的 标 识, 建 立 连 接 后 开 始 获 取 Arduino 每分钟所发送的数据,并以此 作为事件触发器,同时利用 datetime 模块 读取本地时间,所获得的数据作为返回值 输出。 数据存储模块以端口数据模块的返回 值为传入值,写入数据库或 CSV 文件。存 储于数据库中的数据在之后的软件迭代中 可作为历史数据被查询和生成图表。 数据表格模块使用 Tkinter 的 treeview 组件开发,以端口数据模块的返回值作为 传入值,更新显示在每一行。利用线程循 环在获取到每一组数据时插入数据表的 首行。 数据图模块使用 Matplotlib 模块开发 并嵌入主界面中,以端口数据模块的返回 值作为传入值,利用线程循环在获取到每 组数据时更新折线图,实现动态显示。 软件 GUI 作为主线程运行,创建线程 池,将以上模块作为子线程,由事件触发 器启动,线程池主要用于线程安全。 开始 / 暂停按钮用于启动和关闭事件 触发器。 3 总结 通过可视化图形可以更直观地看到电 瓶电压的变化,在其性能下降初期就可以 通过精确可靠的数据对其性能进行判断, 维护人员可提前采取有效措施保证电池组 的保障能力。
基于单片机的电压有效值检测系统设计
转 换器可 以完成模拟量 到数字量 的转 换,目前大多数 的 AD转换 与单片机 采用三 线 串行接 口方式 ,转换速 度快 。TLC549芯片 的
Байду номын сангаас
器 输入 电压 都在 0-5V之 间。对 大 电压 的采集 则需要把较 大 电压 REF+接 +5V电压 、REF一接地 ,AIN接 电压转换 电路输出的 电路,
由于输入是 5-50V,超出 AD转换 器的检测范 围,因此 需要将 交 互界面更 人性化、显示效 果好。本 设计采用 的是 LCD1602显示
输入 的电压转换 到 O一5V间进行采集 。电压转 换电路主要 由 Rc衰 模 块 ,LCD的 数据 端 口接 单 片机 的 P0口,使 能端 Rs、Rw和 EN
M CU voltage effective value detection system design based on
Pang Simian (Liuzhou Railway Vocational Technical College,545616)
A bstract :The detection of 5-50V input voltage effective value by using single chip microcomputer and AD converter TLC549.The system consists of a voltage conversion circuit,AD conversion circuit,single chip processing circuit,display circuit,keyboard circuit and power circuit etc..This paper introduces the design of each circuit.The system iS Simple,can realize the function requirements,slightly modified circuit parameters,can achieve higher input voltage conversion. K eyw ords :voltage effective value;single chip microcomputer
基于Arduino控制板的压力采集监测系统设计
基于Arduino控制板的压力采集监测系统设计王大虎;孙一帆;张且且【摘要】针对传统压力采集监测系统的现场布线困难和数据传输不稳定等缺点,设计了一种基于Arduino控制板的智能压力采集监测系统.该系统主要采用STC89C52RC单片机为控制核心,结合Arduino控制板、MPX2100DP压力传感器和nRF905无线通信模块组成的整套装置.本系统实现了井下矿压数据的无线传输,简化了系统的安装和检修,并且还能够保存实时数据,使得系统的可靠性有了很大提高.实测表明,本系统具有运行速度快,传输距离远,采集数据可靠性高等优点.因此,该系统是一种非常方便实用的测压系统,可有效地应用在矿压监测上.【期刊名称】《河南理工大学学报(自然科学版)》【年(卷),期】2013(032)004【总页数】4页(P463-466)【关键词】Arduino控制板;无线通信;STC89C52RC【作者】王大虎;孙一帆;张且且【作者单位】河南理工大学电气工程与自动化学院,河南焦作454000;河南理工大学电气工程与自动化学院,河南焦作454000;河南理工大学电气工程与自动化学院,河南焦作454000【正文语种】中文【中图分类】TD65+5.30 引言随着我国经济的快速发展,煤炭工业对我国的经济发展起着重要的作用,但是随着矿井开采深度的增加,开采范围的扩大,发生冲击矿压的概率也就不断增大,煤矿的安全事故也就时有发生,特别是顶板事故对矿井安全生产的危害极大.据统计,煤矿发生顶板事故率高达40%,居各类煤矿事故首位.在1997年国家颁布的《煤矿生产技术管理基础工作若干规定》中规定:“凡没有矿压观察资料和支护设计的作业规程,不得审批.”[1]因此,对煤矿顶板支架压力进行实时准确地监测对煤矿的安全生产具有十分重要的意义.目前,我国矿山压力监测仪主要采用的有手动式圆图仪和机械式测压仪两类,但是前者的采集数据不准确,不利于现场矿压的监测预报,并且由于无法记录压力数据,而对顶板压力的分析也带来了不便,后者的采集数据不稳定,且采集过程也比较麻烦.而由王璐等提出的基于CAN总线的煤矿液压支架压力在线监测系统[2]和邓志刚提出的采用波兰EMAG矿压监测系统[3],其成本较高,配置复杂,使用不方便,并且维护也比较困难.王鸿建等利用PIC单片机设计的压力监测系统利用的是CAN总线传输数据,布线较为麻烦[4].李国民教授考虑到采用ZigBee技术对矿井顶板压力进行监测,但是其传输距离短和速率低,并且通信范围小,稳定性低,易受外界的影响,开发难度也相对较大[5].本文设计了一种基于Arduino控制板的无线压力测量监测系统.本系统通过单片机对压力测量器测量的压力数据进行采集和处理,并写入存储器中,再采用单片射频收发器nRF905为无线测量模块,将压力传感器所产生的电信号由终端接收后,在主机上显示被测位置的压力.该系统具有工作稳定、功耗低、灵敏度高、成本低等优点,可以在实现压力采集的同时进行程序控制,并有效应用于矿压监测系统中.1 系统总体设计系统利用Arduino控制板和STC89C52RC完成对压力传感器传送的压力信号的调理、A/D转换、数据的存储、传输功能,并且能够在井下实现现场数据显示和报警,监测数据在传输故障时自动记录存储,工作面的无线数据传输距离可达到500 m.下位机通过无线模块与上位机实现无线通信,传输采集点的压力数据,而上位机能够对数据进行分析,显示测量点的压力数据,为以后矿区的矿山压力显现规律的研究提供依据,系统总体设计框图如图1所示.2 系统硬件设计系统的硬件设计主要包括压力传感器模块、系统控制模块、无线通信模块3部分.2.1 压力传感器模块压力传感器模块采用Motorola公司生产的X型硅压力传感器系列中的MPX2100DP压力传感器.该压力传感器的主要感压元件是X型电阻,采用了计算机控制激光修正和温度补偿等技术,将离子通过注入到工艺光,再刻在硅膜薄片上,这样就使得其具有很高等的精度,并且其模拟输出的电压与输入的压力值和电源的偏置电压成正比关系,因此,具有很高的灵敏度,很好的线性度和长期的重复性.在该系统实际应用中,相对于其他一般压力传感器,MPX2100DP压力传感器具有明显的检测优势,所以选择其作为该系统的压力传感器.2.2 系统控制模块系统控制模块主要包括STC89C52RC控制模块和存储模块等.系统采用STC89C52RC单片机为控制核心.该单片机主要具有体积小、低功耗、高性能等优点,并且具有8 kB内存的可编程Flash存储器[6].在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52RC为众多嵌入式控制应用系统提供了高灵活、超有效的解决方案,并且系统利用了STC89C52RC单片机和Arduino控制板协调工作可以提高系统的采集速度,进而提高压力测量的准确度和灵敏度.当系统处于发送状态时,STC89C52RC将对压力传感器产生的输入信号进行相应的采集,并通过模数转换器将其转换成数字信号,然后进行查表,再根据查表结果将其转换成压力数据,并对转换后的数据进行处理,写入存储芯片中,最后利用射频收发器nRF905发送给数据处理模块.当系统处于等待状态时,上位机与Arduino控制板通过USB接口进行通信.如果系统接收到上位机要求读取数据的命令,则STC89C52RC将从存储芯片中读出数据,通过无线通信模块传输给上位机.2.3 无线通信模块无线发射模块主要包括Arduino控制板、nRF905和天线等.其中,Arduino控制板具有Digital I/O数字输入/输出端0~13,Analog I/O 模拟输入/输出端0~5,支持ISP下载功能.采用Atmel Atmega 328微处理控制器[7],并且Arduino语言设计也很简单,其利用的是基础的C语言,将AVR单片机相关的一些寄存器参数设置等都已经函数化了,不用去了解它的底层,即可轻松上手.nRF905是一款单片射频收发器件,采用Nordic公司的VLSI ShockBurst技术[8].该技术可以使nRF905提供数据的高速传输,而不需要昂贵的高速单片机来进行数据处理.也就是说降低单片机成本的同时又缩短了软件的开发时间.其具有体积小、超低功耗的特点,并且具有多种低功率工作模式.在井下对无线通信模块进行调试时,检测其发送和接收距离,在障碍物较多的地方,若达不到实际要求距离,可为NRF905配置高增益的外置式天线,以加强无线网络的信号,提高无线通信模块的通信能力,从而提高传送距离和可靠性.现场试验表明,利用高增益天线已经很好地解决了多障碍时传输距离短的问题,满足实际应用的要求.Arduino控制板的核心器件Atmel Atmega 328用于完成对nRF905的初始化,以及与其之间的通信,同时也与主控芯片STC89C52RC单片机之间的通信.当系统处于发送状态时,当Atmel Atmega 328接收到nRF905发来的数据包后,便可以通过上位机显示.3 系统软件设计软件设计主要包括STC89C52RC单片机的发射模块程序和以Atmel Atmega328为核心的接收模块程序.发射模块的主要作用是压力采集和数据处理,并向无线发射模块发送数据和存储测试的压力数据.接收模块的主要作用是将接收到的数据上传送给上位机,即与上位机保持通讯.针对不同模块的不同功能任务进行程序设计,系统在上电复位后,首先要对STC89C52RC的各个功能模块进行初始化.系统每10 min通过数模转换器对压力传感器的输入信号进行一次采集,并将采集信号通过查表的方式转换成压力信号数据,将数据加上帧头、帧尾以及校验位转换成数据包.当STC89C52RC的程序扫描到发送标示后,将数据包通过无线发射模块的nRF905器件发送给Arduino控制板,最后通过数据处理,便可在上位机显示测量的结果.下面主要对系统中的发送模块和接收模块的通信程序设计流程进行介绍.无线发射模块中的nRF905器件具有两种节能模式,分别是关机模式和空闲模式;两种工作模式,分别是ShockBurstTM发送模式和ShockBurstTM接收模式.而TRX_CE、TX_EN和PWR_UP的高低电平的不同组合决定了其工作模式.在系统进行传输数据之前,需要对nRF905控制的状态、射频配置、发送地址、发送数据和接收数据等各种寄存器的工作方式进行配置,最后通信程序的设计采用查询发送以及中断接收的工作模式,其发送和接收模块程序流程图如图2所示.4 系统试验运行与测试结果分析系统选用STC89C52RC单片机、Arduino控制板、nRF905无线通信模块、MPX2100DP压力传感器.相对误差测试方法:首先是搭建好的测试系统,包括压力传感器、数据传输模块、系统控制模块和上位机.试验共测试6次,每次同时给定机械式测压仪和本系统中的压力传感器15 MPa的压力,观察对比效果.本系统分6个地点接收测试压力,此6个地点分别位于距离压力测试点5 m处的A点,100 m处的B点,200 m处的C点,300 m处的D点,400 m处的E点,500 m处的F点.得到结果如表1所示.实测表明,本系统可以满足预设的主要参数指标,测量范围为0~60 MPa,测量精度为1.0%,传输距离为500 m.测试的最大相对误差为2.5%.可以看出本测试系统稳定性好,一致性好,并且试验的精度较高.另外,模拟现场无线传输模块失效,系统也可以实现现场数据的及时保存和读取,并且进行故障报警,有效地保证了压力数据的采集,能够满足现场的应用需求.表1 实验数据Tab.1 Experimental data测试点ABCDEF测压仪测试压力/MPa15.0515.1415.0214.9715.4314.90 本系统测试压力/MPa15.3615.0615.0015.0015.1614.865 结语该系统在压力测量器出现故障时,只需对测量点进行单独检修,并不影响整个系统的运行,这样既提高了工作效率又降低了维护成本.另外,该系统的特点:一方面是利用了无线传输,可以方便地得到所测数据;另一方面是当无线发送数据出现故障时,可以从存储芯片中读出采集的数据,有效地防止了数据的丢失.传统的压力检测方法效率低,管理不方便,发生故障时,不便于检修.尤其是压力数据采集环境恶劣的工况条件下,布线会产生很多不方便,采用无线传输系统可以方便地解决这一问题.该系统通过对各器件的选用,实现了体积小、功耗小、数据传输稳定可靠和抗干扰能力强的目的,并且可以对压力实现现场和远程智能化在线检测和预警,为煤炭的安全生产提供了有力保证,具有一定的经济效益和社会效益.参考文献:[1] 中华人民共和国安全生产监督管理总局.煤矿安全生产“十一五”规划[R].北京:2006.[2] 王璐,周中阔,韩忠.基于CAN总线的煤矿液压支架压力监测系统设计[J].煤炭技术,2012,31(1):43-44.[3] 邓志刚,任勇,毛德兵,等.波兰EMAG矿压检测系统功能及应用[J].煤炭科学技术,2008,36(10):1-4.[4] 王鸿建,冯小龙,张剑英,等.基于PIC的煤矿液压支架压力监测系统设计[J].煤炭工程,2009(10):117-119.[5] LI GUOMIN . Research of Mine Plank Pressure Monitoring System Based on ZigBee Technique[J]. AMCST 2010 E-BOOK, 2010,11: 576-579. [6] 王邦勤,徐军明,秦会斌,等.基于虚拟仪器与总线技术的远程多点环境参数监测系统研究[J].电子器件,2009,32(4):801-804.[7] 纪欣然.基于Arduino开发环境的智能寻光小车设计[J].现代电子技术,2012,35(8):161-163.[8] 吴昊,钟志峰,郭昊,等.基于Arduino/Android的蓝牙通信系统设计[J].物联网技术,2012(5):50-51.[9] 高志军,薛春燕,马斌,等.基于nRF905的嵌入式智能家居无线网络系统设计[J].沈阳建筑大学学报:自然与科学版,2008,24(5):524-528.[10] 刘新月,率增良,孙以材,等. 一种智能压力传感器无线数据采集系统的设计[J].传感器世界,2006(11):31-34.。
Arduiono应用设计和实验
Arduiono应用设计和实验Arduino 是一款非常受欢迎的开源硬件平台,它以它的多种功能和灵活性备受设计师、制造商、教育工作者的喜爱。
这篇文章将会介绍 Arduino 的应用和实验。
一、Arduino 介绍Arduino 首次出现于 2005 年,是一个基于开源的电子工程平台,其目的就在于打破专利赋权与封锁的单一垄断,让硬件制造商获得自由创造、开发和定制硬件的能力。
Arduino 使用一种称为“Arduino 引脚”的基于编程的芯片来控制电子设备。
该平台还伴随着一个编码环境,这样制造商或教育工作者便可以使用这款软件来写出代码控制设备。
Arduino 具有十分广泛的应用,包括自动控制系统(如机器人控制和航拍摄像机悬浮),减少环境污染(如组合气体传感器),以及各种艺术装置(如发光舞台幕布和声光乐器)等。
二、Arduino 硬件组成Arduino 板是电子设备的主要组成部分,包括以下几个部分:1. 电源接口: Arduino 板的一个主要用途是作为电子设备的电源。
在脚 Pin 接口上插入电源丝会给板上电。
2. USB 接口:USB 接口用于将设备连接到电脑或笔记本电脑,并用于程序上传和查看 Arduino 板的输出。
3. 按钮:Arduino 中的按钮是额外的电子组件,大多数用户不需要使用。
它们往往用来让 Arduino 在运作时能够将设备控制到一个特定状态。
例如,一个按钮可以用来实现一个闹钟,另一个则可以用来控制一个机器人控制器。
4. 电容:电容是一种用于存储电荷的电子设备。
它们在电路上发挥着很重要的作用,经常被用来保护设备免受过电压的伤害。
5. 电阻:电阻是一个电路中的基本组成部分,用来降低电流。
Arduino 与其他电子设备不同的地方在于,它使用的是可调电阻,这意味着你可以轻松地调整电流的输出量。
6. LED:LED 表示发光二极管,是一个最常见的电子组件。
它们通常用于制作实验室、天文学家或家庭兴趣者使用的LED 代码。
电压交流有效值测量电路设计仿真与实现武汉理工
《模拟电子技术基础》课程设计目录摘要....................................... .. (1)1.电路方案论证与选择1.1系统基本方案 (2)1.2各模块方案论证与选择1.2.1直流稳压可调电源模块 (2)1.2.2电压衰减模块 (2)1.2.3 AC-DC转换模块 (4)1.2.4数字显示模块 (6)2.电路仿真 (7)3.焊接与调试3.1材料清单 (12)3.2过程描述 (13)4.参数测量及验证 (14)5.心得体会 (15)6.参考文献 (15)7.实物图 (16)课程设计任务书学生姓名:专业班级:电信12级指导教师:刘守军工作单位:信息工程学院题目: 电压交流有效值测量电路设计仿真与实现初始条件:可选元件:集成运算放大器、电阻、电位器、电容若干,直流电源,或自备元器件。
可用仪器:示波器,万用表,直流稳压源,函数发生器要求完成的主要任务:(1)设计任务根据要求,完成电压交流有效值测量电路的仿真设计、装配与调试,鼓励自制正弦信号发生器和稳压电源。
(2)设计要求①输入电压峰值10<v ,允许误差为±2%,采用LED分段显示,分段区间自定,可加入音响指示;②选择电路方案,完成对确定方案电路的设计。
③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原理并仿真实现系统功能。
④安装调试并按规范要求格式完成课程设计报告书。
⑤选做:利用仿真软件的PCB设计功能进行PCB设计。
时间安排:1、前半周,完成仿真设计调试;并制作实物。
2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日摘要模拟电子技术课程设计是继《模拟电子技术基础》理论学习和实验教学之后又一重要的实践性教学环节。
它的任务是在学生掌握和具备电子技术基础知识与单元电路的设计能力之后,让学生综合运用模拟电子技术知识,进行实际模拟电子系统的设计、安装和调测,利用Multisim等相关软件进行电路设计,提高综合应用知识的能力、分析解决问题的能力和电子技术实践技能,让学生了解模拟电子技术在工业生产领域的应用现状和发展趋势。
基于Arduino的电压有效值测量电路设计与实现v
综合实验1一、实验题目基于Arduino的电压有效值测量电路设计与实现二、项目背景Arduino是源自意大利的一个基于开放原始码的软硬件平台,该平台包括一片具备简单I/O功效的电路板以及一套使用类似Java、C语言的Processing/Wiring开发环境。
Arduino 可用来开发独立运作、并具互动性的电子产品,也可以开发与PC相连的周边装置,同时能在运行时与PC上的软件进行交互。
Arduino的电路板硬件可以自行焊接组装,也可以购买已组装好的成品;而开发环境软件则可通过网络免费下载与使用。
目前Arduino的硬件部分支持Atmel的A Tmega 8、ATmega 168、ATmega 328等微处理器。
此外,Arduino方案获得2006年Prix Art Electronica电子通讯类方面的荣誉奖。
Arduino的硬件电路参考设计部分是以知识共享(Creative Commons;CC)形式提供授权,相应的原理图和电路图都可以从Arduino网站上获得。
Arduino特点:●开放原始码的电路图设计,程式开发界面免费下载,也可依需求自己修改;●具有多通道的数字I/O、模拟输入、PWM输出;●具有10bit的ADC;●Arduino 可使用ISCP线上烧入器,自行将新的IC芯片烧入“bootloader”;●可依据官方电路图,简化Arduino模组,完成独立运作的微处理控制;●可快速、简单、方便地与传感器、各式各样的电子元件、电子电路进行连接;●支援多样的互动程序,如Flash、Max/Msp、VVVV、Processing等;●使用低价格的微处理控制器;●可通过USB接口供电。
三、实验目的1、熟悉Arduino最小系统的构建和使用方法;2、掌握峰值半波整流电路的工作原理;3、根据技术指标通过分析计算确定电路形式和元器件参数;4、画出电路原理图(元器件标准化,电路图规范化);5、熟悉计算机仿真方法;6、熟悉Arduino系统编程方法。
arduino电路设计
arduino电路设计Arduino电路设计的过程。
Arduino是一种开源的单片机开发板,具有简洁易用的特点,广泛应用于各种类型的电子项目中。
要进行Arduino电路设计,需要以下几个步骤:第一步:确定项目需求和功能。
在开始设计之前,您需要明确自己的项目需求和功能。
例如,您要设计一个温控系统,那么您需要确定所需的传感器类型、控制器类型和输出设备类型等。
第二步:选择合适的Arduino开发板。
Arduino有许多不同类型的开发板可供选择,如Arduino Uno、Arduino Nano等。
根据项目需求和功能选择合适的开发板是非常重要的,因为不同的开发板具有不同的内存、处理器速度和引脚配置等。
第三步:确定其他外部组件。
除了Arduino开发板之外,您可能还需要其他外部组件,如传感器、执行器和显示器等。
根据项目需求选择合适的外部组件,并确保它们与您选择的Arduino开发板兼容。
第四步:设计电路连接。
一旦您确定了所有所需的组件和设备,就可以开始设计电路连接了。
首先,您需要查看Arduino开发板的引脚图和规格表,以确定每个引脚的功能和使用限制。
然后,将各个组件和设备连接到开发板的引脚上。
您可以使用跳线线将它们连接到合适的引脚上,或者使用面包板进行更复杂的连接。
第五步:编写代码。
一旦电路连接完成,您需要编写代码来控制和管理各个组件和设备。
Arduino使用C/C++编程语言,您可以使用Arduino集成开发环境(IDE)来编写和调试代码。
根据项目需求,您可以编写代码来读取传感器数据、控制执行器和与用户进行交互等。
第六步:测试和调试。
完成代码编写后,您需要进行测试和调试以确保所设计的电路和代码正常工作。
您可以使用串口监视器和其他调试工具来检查传感器读数、执行器动作和与外部设备的通信等。
第七步:完善和优化。
一旦测试和调试通过,您可以进一步完善和优化电路和代码。
例如,您可以添加错误处理机制、优化代码以提高性能,或者添加用户界面来实现更好的用户体验等。
arduino内部基准电压
arduino内部基准电压Arduino是一款非常流行的开源硬件平台,它可以用于快速开发各种电子项目,从简单的LED闪烁到复杂的机器人控制。
在Arduino 内部,有一个重要的电路:基准电压。
什么是基准电压?基准电压是Arduino内部的一个参考电压,它是由一个稳压器产生的固定电压,通常被称为Vref。
在电路中,基准电压通常用于确定模拟输入信号的参考点,这对于精确测量模拟信号非常重要。
Arduino内部基准电压的产生Arduino内部基准电压通常由一个三引脚稳压器产生,这个稳压器通常被称为“ADC参考电压源”或“ADC VREF”引脚。
这个稳压器的输出电压通常在1.0V和5.0V之间,具体取决于板子的设计和型号。
对于Arduino UNO,它的基准电压是由一个额外的电路产生的,这个电路通常被称为“外部参考电路”或“AREF”引脚。
通过连接一个稳压器或外部电源到AREF引脚,你可以将基准电压设置为任意值。
如何使用Arduino内部基准电压?通常,Arduino的默认设置是使用内部基准电压作为参考电压。
但是,你也可以使用外部参考电压或其他稳压器来设置基准电压。
在Arduino代码中,你可以使用analogReference()函数来选择内部或外部参考电压。
例如,analogReference(INTERNAL)可以用于选择内部参考电压,analogReference(EXTERNAL)可以用于选择外部参考电压。
在电路中,你可以使用基准电压来测量模拟信号。
对于普通的模拟输入信号,你可以使用analogRead()函数来测量信号。
如果你想更加精确地测量模拟信号,你可以使用模拟比较器,这个模拟比较器可以将输入信号与基准电压进行比较,从而实现更高的精度。
总结在电子项目中,精确测量模拟信号非常重要。
Arduino内部基准电压提供了一个参考点,可以用于确定模拟输入信号的准确性。
有了这个参考电压,你可以更加精确地测量模拟信号,并实现更高的精度。
有效值测量电路
有效值测量电路
负峰值检测电路:
– 当ui=0时,uc=0,uo=0 – 当ui下降-Um≤ui<0时,VD1截止,
VD2导通, uo= uc=ui
有效值测量电路
– 当ui下降到ui = -um时, uo=uc=ui – 当ui上升-um<ui<um时,VD1导通,
VD2截止, uc不变,uo=uc=um。
有效值测量电路
• 实验要求
– 拟定实验电路 理论计算 选定元器件 – 拟定调试方案 测试项目 所需仪器仪表 – 填写实验报告
• 绘出实验电路图 • 测试数据 • 误差分析 • 画出波形 • 写出调试过程及出现问题的解决方法
有效值测量电路
• 设计任务与技术指标
– 设计一个有效值测量电路 – 信号峰值在50mV~3V之间; – 信号频率小于1KHz – 测量结果与实验原理
– 有效值与正弦波峰值的关系: • 有效值=峰值 /1.414=0.707峰值
– 有效值的测量 • 检测峰值 • 按比例放大
电压有效值测量电路设计
电压有效值测量电路设计一、实验目的:要求采用通用运放LM324和建波二极管设计一个峰值半波整流电路,实现对正弦波电压有效值的测量。
、技术指标:1、输入信号电压范围:0〜100mV2、上限频率: 5KHz。
3、电压显示:万用表直流档。
4、电源电压:土 12V范围内可任选<三、设计要求1 、熟悉电路的工作原理。
2、根据技术指标通过分析计算确定电路形式和元器件参数。
3、画出电路原理图。
(元器件标准化,电路图规范化)。
4、计算机仿真。
四、实验要求:1 、根据技术指标确定测试项目、测试方法和步骤。
2、确定实验所用仪器。
3、作出记录数据的表格。
4、完成实验。
五、实验仪器:1 、信号发生器2、示波器3、万用表4、电压表5、电压源6、LM324芯片、面包板、电阻、电容、二极管、导线等六、实验原理:1、半波整流电路下图为精密半波整流电路,它属于反相型运放电路。
当输入电压为正极性时,运放输出为负极性时,运放输出 U Oi为负极性,二极管D2导通、D1截止,输出电压U O为零。
当输入电压U为负极性时,U Oi为正极性,此时D1导通、D2截止, 电路处于反相比例运算状态,输出电压 U O=-U I R f/R i半波整流电路波形图2、电容滤波电路交流电经过整流后得到的是脉动直流,滤波电路可以大大降低这种交流波纹成分,让整流后的波形变得比较平滑。
电容滤波电路滤波后波形图仿真实验原理电路图七、计算元器件参数:通过整流滤波电路得到电压的峰峰值等于2倍电压有效值,通过放大器计 算公式:U O =-U i R f /R i可知,R f /R i 应取..2/2,在仿真中 R 取为1.414k Q, R 取2 k Q 。
八、实验步骤:1、 在面包板上按电路图将电路连接起来,由于缺少合适的元器件,所以 R 在实际中用用一滑动变阻器调节出1.414 k Q 电阻代替。
2、 将电压表直接与信号发生器连接,万用表直流档接输出电压,调节信号 发生器不同频率和电压值观察万用表示数是否与电压表示数对应,记录数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京邮电大学电子电路综合设计实验报告学院:信息与通信工程学院班级:姓名:学号:实验题目:基于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),改变输入信号峰峰值的大小,将两者进行比较,列表如下:可以看出毫伏表测出的有效值与滤波后电压的大小基本满足0.707的关系,在编程时取0.720.接下来将数码管与单片机连接在一起,根据数码管的工作原理编写程序,用下载器将程序烧入最小系统,检测数码管工作是否正常。
安装好数码管后,去掉下载器,用线将半波整流电路的输出接入最小系统的输入,给最小系统接入+5V的电压。
整个电路注意共地。
观察数码管的示数与毫伏表示数,改变输入信号峰峰值或频率,观察两者示数的变化。
在不改变频率的情况下,改变输入峰峰值,列表如下:可以看出数码管读出的有效值与毫伏表测出的基本一致,在误差允许的范围内。
但在改变峰峰值及频率的情况下,准确度会有所下降,在1V、1KHz左右最准确。
随着峰峰值的增大,误差也会变大。
至此,实验基本结束。
电路仿真:主要用multisim软件对半波整流电路及加上滤波之后的电路进行仿真。
LM741半波整流电路仿真结果加上滤波之后的电路仿真结果仿真结果与实际实验结果基本符合。
故障及问题分析:1、实验准备不够充分,导致一开始做实验有些盲目,对电路原理图没有搞清楚,盲目地在LM741和LM358之间折腾,浪费了很多时间;2、在使用仪器时不够熟练,示波器线上有时*10没有注意到。
整个系统必须共地,刚开始时忽略了,导致读数不稳定。
在使用稳压器时输入电压过低,导致输出不能达到5V;3、对单片机的工作原理不熟悉,在一开始没有将参考电压口接入,开始连接下载器使用电脑给最小系统供电,没有统一接入+5V电压,导致半波整流波形失真,读数不准确;4、连线失误,单片机与下载器相连由于疏忽连线错误,连入电脑时会烧坏单片机。
一开始滤波时,电阻电容参数不合适,无法获得平滑的波形,有小的突起,经过调试,不断减小电阻阻值使得波形平滑;5、数码管示数的不稳定,除了上面提到的没有共地、没有接入统一的+5V电压、没有接参考电压外,还有程序编写上的问题。
最开始,对最小系统及数码管原理不清楚,编写程序时有些盲目,了解了之后,由于没有考虑写入参考电压,数码管读数不稳定,经过反复的修改与讨论,才完善了程序。
6、在实验中也需要考虑整体布局布线的问题,在面包板上插线,插器件时要小心,否则有时因为接触不良也为影响实验结果。
实验总结及结论:通过这次实验,我学到了很多。
这是我做的第一个需要设计比较复杂的系统,对于分模块组成一个完整的系统有了比较深刻的认识。
每一个分块必须先可以正常工作,再将它们连接在一起,经过调试实现系统功能。
另外,我对Arduino有了深刻地认识,在做实验前,我对于编程控制硬件工作一无所知,通过反复摸索编程实现功能,我对硬件软件有了更清楚的了解。
在实现半波整流及滤波电路时,由于开始时对原理不太清楚,走了一些弯路,有时半波出不来要么失真,由于电阻电容参数不合适,滤波不理想,经过讨论与反复调试检测,终于得到了理想的结果,这也使我对模拟电路认识更深。
做这次实验花了很多时间,也得到了能力的提升。
在搭建模拟电路部分时,反复地拆又重搭,用LM741和LM358不停地在摸索,过程也比较不顺,但最终效果理想,在反复地摸索中,很好地锻炼了动手能力,也思考的更深刻,对电路也更理解,对仪器的使用也更加熟练。
同时这个实验涉及到编写程序来驱动硬件工作,对程序不断地修改来获得理想的效果,是数码管能够得到稳定的显示数,提升了自己的编程逻辑能力。
通过这次实验,也清楚了单片机数码管的使用。
同时我也认识到实验前的准备非常重要,对实验目的、原理及仪器要非常清楚,才可以顺利的完成实验,否则就会手忙脚乱,浪费时间,这就要求我们要更加扎实的完成基础理论的学习。
在实验过程中与同学的讨论交流也是学习提高的好方法。
做实验需要有耐性有恒心和好奇心,要坚持不懈。
在这个实验中,我们主要是用Arduino最小系统完成对电压有效值的测量,同时也认识到Arduino可以实现非常强大的功能,这个实验仅仅是一个开始,在以后的学习中希望可以对Arduino有更深刻的认识,用它来完成更多更有价值的实验。
实验程序:/*BlinkTurns on an LED on for one second, then off for one second, repeatedly.This example code is in the public domain.*/constint D=5;int a;int V;intNum[4];voiddisp(intpos,intnum){ for(inti(0);i<6;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, 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 j(0);j<10;j++){for(inti(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]=(V%100)/10;Num[3]=(V%10);for(inti(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);}}所用仪器及元件:相关元件引脚图LM741LM358ATMEGA8芯片的引脚图下载器连线。