基于单片机的毫伏表的设计内容摘要:

取值关系为 1RC ,其中 2 f。 在用 Multisim 进行仿真时,查阅了相关资料后,选了几个经典电路进行仿真。 由 于所给资料的元器件参数都有,我就没进行参数的运算,直接进行电路仿真。 在仿真过程中,待测信号通过滤波器后,直接变成直流。 经过回忆并查找资料后,终于明白电阻电容滤波器的构成及原理。 放大电路设计 真有效值变换电路设计 系统设计 主要用于测量交流电压的有效值 ,即真有效值变换模块的设计与器件选择与交流毫伏表的测量精度与灵敏度密切相关。 虽然采用乘法器和运放可以实现电路功能,但是采用分立元件使得系统硬件成本增加切系统稳定性和抗干扰能力减弱。 而 美国 AD公司 生产的 RMSDC变换器件 AD736/AD737 可以简 化仪器的设计,增加可测量波形种类的同时,灵敏度和精度也得到很好的改善,满足系统设计要求。 此外, AD637 还具有辅助 dB 输出,取对数的真有效值输出信号是带有一个单独的引脚可直接对分贝信号进行测量,有效范围为 60dB。 由于芯片在~350mA 之间处于睡眠状态,所以用户在空闲时可以关闭装置以减少能量损耗。 AD637 结构及原理 AD637 主要由缓冲器、有源整流器、偏置电路、平方 /除法器和滤波电路组成。 其结构框图如图 2所示,输入电压经过有源整流器变成单极性的电流 1I ,送到平方 /除法器后输出电流为 214 3II I,并驱动低通滤波器(由 4A 和平均电容AVC 构成)。 最后通过 3A 返回平方 /除法器,用计算式表示为: 21414[]II Avg II,OUT INVV ,实现了交流变直流的目的。 根据 AD637 的数据手册知:当 100INU mv 时,上限频率 300Hf kHz ;当200INU mv 时, 600Hf kHz ; 1INUv 时,上限频率高达 8 Hz ,符合设计要求。 图 241 AD637内部原理图 真有效值变换电路 根据器件数据手册, AD637 采用激光修正的先进工艺制造而成,一般情况下不需要外加调整器件,唯一的外围元件平均电容 AVC (用来 设定平均时间常数,并决定低频精确度、输出纹波的大小和稳定时间)。 在设计中可以调节电阻 R1使输出电压为理论计算值,而调整 R3 使引脚 9 输出电压为 0 则可调节器件的非线性。 图 242 真有效值转换电路 由于芯片 AD637 内部有输入超载电压保护电路,且过压保护电路对输入信号没有影响(如果电源电压过高,过压保护电路起到保护输入信号作用)。 所以可以安全使用,最终电路如图 4 所示。 模数转换电路设计 双斜率积分式 A/D 原理概述 A/D 转换器的类型很多,应用较广泛的有逐次逼近式 A/D 转换器、双斜率积分式 A/D 转换器和 V/F 变换式 A/D 转换器。 下面简单介绍双积分式 A/D 原理,其内部结构如图 24 所示。 控 制 逻 辑计数器比较器-+积分器输出tT 2T 1T 0V r e fV i n数字量输出ABab 图 24 双斜率积分式 A/D 结构框图 双斜率积分式 A/D 转换器由电子开关、积分器、比较器、控制逻辑和计数器等部件构成,其原理框图如图 所示。 当模拟信号 inv 加到积分器上进行固定时间 0T 的积分,接着切换电子开关,将与 inv 极性相反的标准电压信号refv加到积分器上进行反向积分。 由于refv恒定,所以积分器输出将以恒定的斜率下降,直到积分器输出返回起始值。 标准电压的积分时间 1T 正比于模拟输入电压 inv ,输入电压大,则反向积分时间长。 双斜率积分式 A/D 转换器通过对输入信号不断的积分,能对噪声或输入信号进行平滑。 因此,双斜率积分式 A/D 转换器具有精度高、抗干扰性强和价格便宜等特点,应用十分广泛。 主要性能特点  自动校零;  自动判别信号极性;  有超、欠压输出信号 ;  有精确的差分输入电路;  采用位扫描与 BCD码输出 ;  输入阻抗达 109Ω 以上,对被测电路几乎没有影响; 外部引脚说明 ICL7135 是双斜积分式 4位半单片 A/D转换器, 28 脚 DIP封装。 其引脚功能如下:  V、 V+: 5 电源端; REFV : 基准电压输入端; ACOM: 模拟地; GND: 数字地端;  INT: 积分器输入端,接积分电容; AZ: 积分器和比较器反相输入端,接自零电容;  BUF: 缓冲器输出端,接积分电阻;  CREF+、 CREF: 基准电容正 、负 端;  INHI、 INLO: 被测信 号 正、 负输入端;  D1~ D5: 位扫描输出端; B1~ B4: BCD 码输出端;  CLK: 时钟信号输入端; BUSY: 忙状态输出端;  POL: 负极性信号输出端; OVR: 超量程状态输出端; UNR: 欠量程状态输出端。  /RUN HOLD : 运行 /读数控制端; STROBE : 数据选通输出端; ICL7135 与单片机的接口 图 1是 ICL7135 与单片机的接口电路。 图中 C R2是 积分元件, C2 是自零电容, C3是基准电容; R C5 组成标准输入滤波网络; R C D D2 组成输入过压保护电路; RP1 为基准电压调整电位器,可根据要显示的满度值选择基准电压的大小,这里设计为 1. 0000V,它们的关系是:满度值为基准电压的两倍。 IC4 为六反相器,两个反相器组成振荡电路为 ICL7135 提供时钟信号,振荡频率 f= 0. 45/( R6C4 )。 ICL7135 要求每秒钟至少进行 3 次 A/D 转换,每次转换需要 40000 个时钟脉冲,因此时钟频率应大于 120kHz,这里取 f= 125kHz。 STR 为选通脉冲 输出端。 一次 A/D 转换结束后,在该端连续输出 5个负脉冲,分别对应 5 组 BCD 码数据。 74LS244 是三态缓冲器, 1G、 2G 分别选通两组信号: 1G= 0、 2G= 1 时,选通第一组信号: 1G= 2G= 0 时,选通第二组信号。 单片机的 P3. 1 接 1G,当 P3. 1 为 0 时接通显示数码管; P3. 7 接 2G,当 P3. 7 为 0时接通 ICL7135 的 B1~ B4。 图 2 为 ICL7135 STR 端输出时序图。 STR端在 1秒内输出 3 次,每次 5个、共 15 个负脉冲,每次输出时间约 333ms,连续负脉冲间的时间差远小于 65ms。 程序中设定 T1 中断时间间隔至少 65ms,因而可准确检测出 STR发出的 5个连续的负脉冲,分别接收 4 位半 A/D 转换器输出的 5 个 BCD 码数据。 A/D 转换相关软件工作原理 STR 的负脉冲 1号~ 5 号、 6 号~ 10号、 11 号~15号,分别对应于数据 数据 数据 3 的 BCD 码的低位到高位 „„。 ICL7135的 STR 接 89C2051 的 P3. 2。 IDTB 为取数中断(外中断 IET0)程序。 每次进入取数中断程序,接通 74LS244 第二组数据输入开关,读 P1. 3~ P1. 0 口,送到以 13H 单元为指针的单元中( 初始化时 13H 单元内容为 1CH),然后 13H 单元数据指针减 1。 待 5个 BCD 码取完,置位转换成功标志 20H. 6,将 13H 单元送 1CH,调用子程序 DTB 将 18H~ 1CH 的 BCD码数据转换为两个 8 位二进制数送 6EH、 6FH(高位存 6EH 单元)。 IET1 为 T1 中断程序, T1 工作于方式 1,不送入时间常数(即初始值为 0000H),若晶振为 12MHz,则每次中断的时间间隔为 65. 536ms。 进入 IET1 中断时,如果 20H. 0= 1,表示正在测量周期或频率;如果 20H. 0= 1,且 13H 单元内容不为 1CH、 20H. 7= 0,表示 是在连续取数过程中第一次进入 IET1;如果 20H. 0= 1,且 13H 单元内容不为 1CH、 20H. 7= 1,表示第二次进入 IET1,在这两次进入 IET1 之间 IDTB 没有取过数据,则将 13H 单元送 1CH,以便 IDTB将低位 BCD 送入 1CH 单元。 例如:由于干扰使第 4个 STR 脉冲的对应的数据送入1CH,第 5 个 STR 脉冲对应的数据送入 1BH,则第 5 个脉冲过后到第 6 个脉冲到来时,已过了大约 333ms,已进入过五次 T1 中断,在第二次进入 IET1 时已将 13H单元的内容置为 1CH,这样,在 STR 第 6 个~第 10个脉冲到来时, IDTB将对应的 BCD 码分别送入 1CH~ 18H,使本次 A/ D转换成功,自动纠正了错误的脉冲。 利用 ICL7135 的 “busy”输出信号与单片机 MCS51 衔接 在小型化仪表中 ,应该以最少的元件完成尽可能多的任务 ,8031 需外接 EPROM,剩下的16 个 I/O 口是十分宝贵的 .如果利用 ICL7135 的 BCD 码和 STB 选通信号就要占 5 个 I/O 口 ,而利用 ICL7135 的“ busy”端 ,只要一个 I/O 和 8031 内部的一个定时器就可以把 ICL7135 的数据送入单片机 . 为了便于读者理解 ,首先介绍 ICL7135 的 “ busy”端的功能 .ICL7135 是以双积分方式进行 A/D 转换的电路 .每个转换周期分为三个阶段 : [1].自动调零阶段 [2].被测电压积分阶段 [3].对基准电压进行反积分阶段 以输入电压 Vx 为例 ,其积分器输出端 (ICL7135 的 4脚 )的波形如图 1 所示 .“ busy”输出端 (ICL7135 的 21 脚 )高电平的宽度等于积分和反积分时间之和 .ICL7135 内部规定积分时间固定为 10001 个时钟脉冲时间 ,反积分时间长度与被测电压的大小成比例 .如果利用单片机内部的计数器对 ICL7135 的时钟脉冲计数 ,利 用“ busy”作为计数器门控信号 ,控制计数器只能在 busy为高电平时计数 ,将这段 busy高电平时间内计数器的内容减去 10001,其余数便等于被测电压的数值 . 由图 1“ busy”波形可看出, ICL7135 在对输入信号进行积分时,其 BUSY 信号线由低向高跳变并一直保存高电平,直到标准信号反积分结束时才跳变到低电平。 在此过程中,对输入信号的积分一般保持 10001 个时钟脉冲,而在满量程的情况下,反相标准积分值为20201(当 2in refVV 时),对于不同的模拟量输入, ICL7135 反向标准积分脉冲不同, BUSY信号的高电平宽度也不同,且反向积分脉冲数正比于输入脉冲信号幅度,与测量结果有一一对应关系。 在转换过程中, ICL7135提供一输入信号极性判断引脚 POL,当输入( IN INVV )为负值时, POL 信号为低电平;当输入( IN INVV )为正值时, POL 信号为高电平。 图 2 是 MCS51 定时器的逻辑框图 ,如果我们把 T0规定为模式 1 定时器方式 .定时器控制端 (8031 的 12 脚 )接 ICL7135 的“ busy”端 .这样就能实现计数器由“ busy”控制对单片机 1/12 时钟频率的计数要求 . 图 3是 ICL7135与单片机 MCS51 通过“ busy”接口的电路图 .若 8031的时钟采用 6MHz晶体 ,在不执行 MOVX 指令的情况下 ,ALE 是稳定的 1MHz 频率 ,经过 4 分频可得到 250kHz的稳定频率 ,传给 ICL7135 时钟输入端 ,使 ICL7135 的转换速率为每秒 次 ,选取这一转换速率 ,一方面照顾 ICL7135A/D 转换的精 度 ,另一方面为了尽量少占用 8031 的资源 .定时器为16 位计数器 ,最大计数值 次 /秒转换速率条件下 ,满度电压输入时 ,busy 宽度为30001个时钟脉冲 .再结合图 1和图 2可知 ,8031内部定时器的输入频率是 500kHz,比 ICL7135的时钟频率 (250kHz)高 1 倍 ,在满度电压输入时 ,定时器计数值为 30001x2=器最大值 .在“ busy”高电平期间定时器的数值除以 2,再减去 10001,余数便是被测电压的数值 .具体程序如下 : 单片机控制电路设计 单片机 从系统功能来看,单片机需要存储程序,即需要程序存储器片内 ROM。 在已开发的单片机中, 8031 和 8032 系列均无片内存储器。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。