无线电电子与电气工程百科全书 带温度计和气压计的时钟。 无线电电子电气工程百科全书 无线电电子与电气工程百科全书 / 时钟、定时器、继电器、负载开关 该设备基于 AT90LS8535 微控制器构建;它不仅可以显示时间,还可以显示温度和大气压力,从而取代了三种传统的家用电器。 它可以通过串行接口连接到个人计算机,这将有助于校准温度计和气压计的刻度,并在必要时收集数据以显示选定时间间隔内读数变化的图表。 在设备的 LED 指示灯上,您可以观察 HH.MM 形式的当前时间值; 遥感器安装处的温度,°С; 大气压,毫米汞柱。 艺术。 备用电池状态有三级指示(“正常 - 注意 - 低”)。设备测量的温度范围为 -50...+50 °C,误差为 0,1...0,2 °C。压力测量间隔 - 700 ..800 mm Hg,误差为 1...2 mm Hg。 在结构上,该设备由三个模块(板)组成:控制器、指示和电源,放置在尺寸为 210x160x80 mm 的外壳中,带有透明的指示器窗口,以及通过三线电缆连接到主机的远程温度传感器最长 20 m。大气压力传感器位于外壳内部。 选择Atmel AT90LS8535微控制器是基于以下情况:
AT90LS8535微控制器可以替换为更现代的ATmega8535L或来自同一公司的常见ATmega10Z、ATMEga603,而无需更改程序。 然而,最后两种微电路要昂贵得多,并且只能以全 64 引脚封装生产,这将需要印刷电路板的显着复杂化。 控制器模块 在控制器模块中,其原理图如图所示。 1、装置主要部件位于:单片机DD2; 将单片机的UART信号转换为RS-232接口的标准电平(DD1芯片); 将温度传感器RK1的电阻转换成电压的单元(DAI、DA2微电路、晶体管VT1、VT2); 压力传感器(VR1); LED指示灯控制键(晶体管VT3-VT30); RS-232 接口插头 (XP1)、微控制器编程 (XP2) 和用于连接指示器 (XP3)。 在单片机DD2的控制下,晶体管VT3-VT12、VT21-VT30上的按键依次连接到十个七段指示灯共阳极电路的电源,其阴极接开关晶体管VT13-VT19。 VT30 晶体管控制位于指示器小时和分钟数字之间的一对 LED。 信号从微控制器的引脚 29 (PC7) 发送到温度减号 LED,并从引脚 6 (PB5) 和 7 (PB6) 发送到指示备用电池状态的双色 LED。 上述所有指示灯均位于控制器模块外部。 由于使用了 DD6 微电路的引脚 7、2,并且对于其编程,希望通过从 HRS 插头断开连接控制器和显示模块的电缆来执行此操作。 与测量值成比例的电压提供给 DD2 微控制器的三个输出,编程为内置 ADC 八个可用通道中的三个的输入。输出 40 (PA0 / ADC0) 温度,39 (PA1 / ADC1) - 压力,38 (PA2 / ADC2) - 电池电压。 ADC 的示例是施加到微控制器的引脚 32 (AREF) 的电压 +5 V A,这显着降低了对微控制器稳定性的要求。 事实上,温度和压力传感器的输出电压不仅与测量参数成正比,而且与电源电压成正比。 改变参考电压可以消除 ADC 输出代码中的这种依赖性。 尽管参考电压与标称值的偏差会给电池电压测量结果带来额外的误差,但在这种情况下,它并不那么重要。 热敏电阻 RK1 - 温度传感器 - 是 RES60 继电器(护照 RS4.569-435)的绕组,在 00°C 时电阻为 1900 + 120 / -380 欧姆。 这里可以使用大约相同电阻的其他铜绕组,包括 RES20 继电器(通行证 RS49-4.569.421)、RES00 版本 DLT79 的绕组。 DLT4.555.011-4.555.011。 铜绕组线的电阻与温度呈线性关系,并且随着时间的推移非常稳定。 如果在温度 T0(例如,在 20 °C)下其值已知,则在温度 T 下电阻将变得相等 R(T) = R(T0)[1 +0,004(T T0)]。 传感器的设计可以类似于图2所示的。 XNUMX. 将多芯绝缘连接线 1(例如 MGTF)焊接到继电器 4 的端子 A 和 B 上,并穿过填充有环氧树脂 2 的固定管 3。为防止液体树脂泄漏,请将管 2 放置在不接触的地方。与继电器1紧密贴合,例如用橡皮泥密封,在树脂聚合后很容易去除。 在浇注之前,需要在绞合的线束上放置一根柔性聚氯乙烯管5。它不仅可以防止不利的大气影响,还可以防止由于频繁扭结而导致的电线断裂,特别是在管2的出口处。继电器引线不应弯曲,也不应剪断未使用的引线。 这可能会损坏玻璃绝缘体,并且湿气渗入密封继电器外壳内部会导致腐蚀,随着时间的推移,超细绕组线会断裂。 运放DA1.1、DA1.2和场效应晶体管VT1、VT2上装有两个1mA电流稳定器。 它们的同一性是通过公共分压器 R1R2 提供的参考电压以及反馈电阻器 R3 和 R4 的电阻相等来确保的。 根据电路,上稳定器的电流流过传感器 RK1 和连接到连接器 X1 的引脚 3 和 1 的两根连接线,下稳定器的电流流过参考电阻(电阻器 R5)以及连接到连接器 X2 的两根线。引脚3和1。由于测量结果是晶体管VT2和VTXNUMX源极的电压差,因此连接器的导线和触点上的相等电压降在相减时会相互抵消。 电阻R5的值略小于传感器RK1在最低测量温度下的电阻,因此,它对应于转换器的几乎为零的输出信号。 如果使用室温下阻值与1850欧姆显着不同的传感器,则需要在测量区间下限温度(例如-50℃)下使用上式计算其阻值,并取E5系列中最接近的较低值作为R24的值。他们生产的电阻容差不超过±5%,但是,您需要使用精密电阻,例如C2-29V,容差为+1 %或更少,只有这样的电阻才能确保设备安装地点的温度变化对其读数的影响最小。 减法运算由使用运算放大器 DA2.1、DA2.2 的精密差分直流放大器执行。 这种放大器的工作原理在[3]中进行了描述。 电阻器R8-R11的阻值必须完全相等,因此它们的选择公差应不大于±0,1...±0,25%;电阻器R3、R4应具有相似的公差。 设置差分放大器的增益,以便运算放大器的最大可能输出电压(大约 4,4 V)对应于温度测量的上限。 增益的所需值由公式找到 式中,R0为室温下传感器电阻,kOhm; i0=1 mA——通过传感器和参考电阻的额定电流; Tmax、Tmin——分别是测量间隔的上限和下限,°C。 给定电阻器 R8-R11 的相等值(可以选择 2 至 10 kOhm 之间的任何值),使用以下公式计算电阻器 R6 的值 该电阻的阻值精度要求不是很高,可以通过软件补偿误差。 但与测量单元的其他电阻器一样,它必须具有热稳定性。 压力传感器 BP1 - MPX4115AP 是摩托罗拉专门为电子气压计和气压高度计制造的。 在 0,15 ... 1,15 kPa (112,5 ... 862,5 mm Hg) 范围内,其输出电压对压力的依赖性与归一化斜率呈线性关系。 然而,不同传感器实例的零特性偏移达到 20 mmHg。 艺术。 该器件中的偏移补偿被分配给微控制器程序。 传感器的第一个输出很容易通过其上的半圆形切口识别。 如果制造设备中的气压计读数不稳定,则最常见的原因是 BP1 传感器输出电路上产生的干扰。 要消除它们,只需在传感器的端子 1 和 2 之间安装一个容量至少为 0,047 μF 的电容器即可(图中未显示)。 电路R7C11确保DD2微控制器在电源打开时可靠地安装到其原始状态。 电容器C1-C10、C12是隔直电容器,C13和C14是激励石英谐振器ZQ1所必需的。 控制器模块的印刷电路板是双面的,由 1,5 毫米厚的箔玻璃纤维制成。 其尺寸为 190x120 毫米,切口为 90x60 毫米。 该模块的电路和设计的一个特点是用于模拟、数字电路和指示器的三个独立的“公共”线。 在组装好的设备中,这些电线仅在电源模块中相互连接。 这种接收减少了模拟节点、数字和显示模块产生的干扰。 当测试和设置由“非标准”(例如实验室电源)供电的控制器时,不要忘记将后者的公共线相互连接。 电阻器 R1-R6、R8-R11 - C2-29V 或具有先前指定公差的其他精密电阻器。 其余电阻为普通MLT或C4-1。 所有电容器均为陶瓷电容器。 石英谐振器 ZQ1 - NS-49 或其他所需频率的谐振器。 XP1-HRZ 插头是双排 PLD 引脚块。 PC4 连接器 (X1) 的块部分安装在设备主体上。 其触点连接至印刷电路板的相应焊盘。 RS-232 接口信号电平转换器 MAX202CPE (DD1) 可以用其众多功能类似物之一替代,其区别仅在于转换通道数、电容器 C4、C5、C9、C10 的推荐额定值以及保护级别输入和输出免受干扰和过电压的影响。 在极端情况下,DD1芯片可以按照图3所示电路替换为两个晶体管上的一个节点。 1. 在这种情况下,形成完整的 TXD 信号所需的负电压是通过使用 VD1CXNUMX 电路对来自计算机的 RXD 信号进行整流而获得的。 无变压器转换器内置于专用接口微电路中,以获得增加的正电压和负电压。 双路精密运算放大器 MAX478СРА (DA1、DA2) 将被四路 MAX479CPD 取代。 Analog Devices 制造了类似的运算放大器(AD8512、AD8513)。 极端情况下单个国产KR140UD26A就可以了。 场效应晶体管 KPZ0ZE 可以替换为字母索引 B-G 的 KP302 或其他具有 n 沟道且初始漏极电流至少为 3...5 mA 的晶体管。 您可以安装 KT315B 或任何字母索引的 KT315 来代替 KT3102G 晶体管,代替 KT972A - KT817G,代替 KT973A - KT973B。 当然,使用任何其他功率大致相同且p21E至少为100的晶体管是允许的,包括进口晶体管。 指示模块 该模块的用途从名字上就很清楚了,示意图如图所示。 4. 在数字高 1 mm 的七段小时(HG2、HG3)和分钟(HG4、HG25)LED 指示灯之间,有 LED HL3 和 HL4,以 0,5 Hz 的频率闪烁。 其余指标均为一半大小。 HG5-HG7 显示温度,HG8 和HG9 - 其测量单位(°C)。 由于电阻 R2,单位和十分之一度之间的小数点会亮起。 控制器在指示器HG10-HG12上显示大气压力值,其测量单位(mm)在双十六段指示器HG13上可见。 请注意,控制器不控制 HG8、HG9、HG13 指示灯。 通过电阻器 R4-R16 将这些指示器各段的阴极连接到公共电线,对必要的符号进行“编程”。 HG5 指示器的左侧(数十度)有一个水平扁平 LED HL1 - 减号。 双色 LED HL2 用于指示备用电池的状态。 虽然电压正常,但呈绿色;发光颜色的周期性变化表明需要更换电池。 如果颜色为稳定的红色,则电池已耗尽或丢失。 该模块的印刷电路板是双面的,由箔玻璃纤维制成,厚度为1,5毫米。 其尺寸为 190x75 毫米。 XP1 插头(PLD-24,与 XP1 控制器插头相同)和所有电阻器都安装在电路板的一侧。 指示器 HG13 - HG1 和 LED HL4-HLXNUMX - 在另一侧,之前已用深色涂料涂过其表面以及插头引脚和电阻器引线的焊接点。 这通过为指示器创建深色背景并向用户隐藏设备详细信息来增强仪器的外观。 该图(见图 4)显示了 Kingbright 生产的 LED 和指示灯的类型,但使用其他公司(包括国内公司)的类似产品也可以取得同样的成功。 指示灯HG1-HG4为黄色,HG5-HG7为绿色,其余为红色。 当然,你也可以根据自己的喜好选择其他颜色。 HL1 LED 的颜色应与HG5-HG7 指示灯的颜色相同,HL3、HL4 LED 的颜色应与HG1-HG4 指示灯的颜色相同。 建议使用具有漫射光散射功能的 LED(带磨砂透镜)。 为了消除设备结构元件不必要的照明,请用一些不透明涂料覆盖 HL1 和 HL2 LED 的侧面。 电源模块 在图中。 图 5 显示了生成四个电压的模块图:+ 5 V (A) 和 -5 V - 为设备的模拟组件供电; +5 V (D) - 用于其数字节点; 脉动(未过滤)电压 +12 V - 用于指示器。 变压器T1相应绕组的电压经二极管电桥VD1~VD4整流后(+12V电压除外)供给滤波电容器C1~C3和集成稳压器DA1~DA3。 该模块具有三个公共接线端子:公共端。 (A) - “模拟”; 一般的(C) - “数字”; 一般的(I) - 指标。 它们仅在电源模块板上的一处相互连接,在所有其他模块中它们没有电气连接。 这对于减少控制器模块的数字组件对模拟组件产生的干扰水平是必要的。 变压器 T1 - TP112-19 具有环形磁路,除现有绕组 I-III 外,还缠绕两个绕组:IV(80 匝 PEV-2 导线 0,2 mm)和 V(120 匝 PEV-2 导线) 0,5 根线 15 毫米)。 您可以使用总功率至少为 7 W 且具有所需次级绕组数量的任何其他变压器(I-IV - 每个 9 ... 0,05 V / 12 A;V - 15 ... 0.5V / XNUMX A)。 如果稳定器DA1的输出端没有相应的电压,则备用原电池GB1的电压通过开关SA6和二极管VD5提供给+3V(C)输出。 当设备与网络断开连接时,这支持控制器的操作,这不仅对于在网络故障时防止故障是必要的,而且对于例如将设备从一个房间移动到另一个房间来说也是必要的。 GB1电池由三个AA大小的原电池串联而成。 大多数时候,电池消耗的电流可以忽略不计,因此最好使用碱性电解液的电池,其特点是自放电最小,允许的保质期最长。 最可靠的是知名制造商的“品牌”元件。 它们可以持续使用数年而无需更换,而廉价的仿制品有时在短短几周后就无法使用。 当没有电池GB1时,开关SA1连接至电池GBXNUMX的公共线电压控制电路。 这消除了错误的指示器读数。 电源模块的印刷电路板是单面的,有多个跳线。 板尺寸 - 120x100 毫米。 集成稳定器 DA1 和 DA3 可以替换为任何国产或进口的正电压 5 V(KR1158EN5、78L05、LM2931AZ-5.0),DA2 - 相同的负电压(79L05、LM2990T-5.0)。 氧化物电容器 - K50-35 或其进口同类产品。 二极管 VD5、VD6 - 任何低功率二极管。 如果可能,请在此处安装肖特基或锗二极管。 诚然,后者相当大的反向电流会对GB1电池的寿命产生不利影响。 微控制器程序 该程序的源代码是用AVR汇编器编写的。 程序翻译后获得的十六进制文件的内容如表所示。 1、需要加载到DD2单片机的程序存储器中的就是他。 上电后,程序首先对微控制器进行初始化——设置定时器、中断系统、I/O端口、UART的工作模式,以及将变量的初始值写入寄存器和存储单元。 此后,无限循环开始等待通过串行接口接收命令。 每秒从定时器 1 计数一次中断。 在来自定时器 0 的中断上,动态控制 LED 指示器信息输出的程序开始工作,并读取 ADC 的结果。 定时器的中断周期为 0 - 0,5 ms,因此指示器所有 5 位中的信息每 32 ms 更新一次。 下一个 ADC 计数是在处理来自定时器 0 的每个第 1024 个中断时获得的。将 64 ms 内获得的参数(温度、压力或电压)之一的 64 个计数相加,然后将总和除以 1024,所得平均值为存储在 RAM 中以供进一步计算。 在接下来的 3 毫秒内,ADC 测量另一个参数。 因此,轮询传感器的完整周期略多于 XNUMX 秒。 之后,微控制器执行计算测量量的物理值的程序,并准备将其输出到指示器。 单片机根据公式X=K(NZ)计算指示器上显示的数字X,而计算温度和压力时的系数K和Z是不同的,它们的值在程序代码中被“保护”并被传输初始化期间从它到 RAM。 如有必要,可以使用连接到仪器的计算机将系数“调整”到传感器的真实特性。 新值在微控制器电源关闭之前一直有效;它们不会保存在非易失性存储器中。 微控制器监控电池的状况,将电压测量结果与程序内置的两个阈值进行比较。 当电池电压高于 3,3 V 时,微控制器的输出 PB5 和 PC7 处的电平使得 HL2 LED 的颜色(见图 4)为绿色。 如果电池电压在 1,25...3,3 V 范围内,则施加到 LED 的电压极性及其发光颜色每秒都会发生变化。 当电压低于 1,25 V 时,LED 呈红色常亮。 给定的阈值是近似值,因为它们取决于电源电压 +5 V (A)。 即使在使用备用电池运行时,程序也不会使用 AT90LS8535 微控制器中提供的降低功耗模式(空闲、掉电和省电)。 它的能量已经足以为不插电的时钟供电几天。 提供通过 RS-232 接口的接收和表中给出的六个命令的执行。 2. 计算机通过零调制解调器电缆连接设备的 COM 端口,通过传输表中所示的一到三个字节来发送命令,并按以下模式接收对它们的响应:交换率 - 9600 波特率、数据位 - 8,停止位数量 - 1,奇偶校验被禁用。 表中图 3 显示了微控制器 RAM 中存储各种变量和参数的地址。 仅给出地址的低字节,根据表在命令中指示。 2. 隐含最高有效字节01H。 外部计算机程序 Lclock 程序旨在控制时钟并校准温度计和气压计,是使用 Delphi 软件包版本 3.0(Borland 的 Windows 应用程序开发系统)编写的。 为了访问计算机的 COM 端口,使用了 SaxSoft 的相应函数库(comm.fnc 文件)。 COM1 端口连接器(默认情况下,Lclock 程序菜单允许您在必要时使用 COM2 端口)通过零调制解调器电缆连接到相应的时钟连接器。 程序主窗口如图所示。 6. 每 3 秒,它从手表控制器内存中读取时间、温度、压力的当前值,并在相应的屏幕窗口中显示与 LED 指示灯读数重复的值。 此外,程序还读取并显示备用电池电压。 当启用“Record-On”模式时,接收到的数据会自动保存在磁盘文件 sclock.ini 中。 它们可以用来计算一定时期内温度和压力的平均值,绘制它们的变化以及其他类似的操作。 默认情况下,模式设置为“录音关闭”并且不进行录音。 如果在启用记录时,程序发现 sclock.ini 文件已存在,则会用新数据补充其中的数据,否则会创建一个同名的新文件。 Lclock程序在计算系数时还会读取并显示微控制器使用的所有系数的值。 可以通过在适当的窗口中指定所需的值来手动修改它们,也可以通过执行校准程序之一(“自动计算”)来自动修改它们。 还可以设置当前时间(“Set time”)并调整微控制器时钟发生器的分频系数(“Set speed”)来调整时钟速率。 要设置准确的时间,只需在相应的窗口中设置新的分钟和小时值或单击“从计算机设置”按钮即可。在后一种情况下,将设置与计算机系统时间相对应的读数。反过来,可以使用原子钟通过 Internet 进行精确设置(参见 .,例如,[4])。“Reset sec”和“Set sec=59”按钮用于精确的时钟同步。它们设置值指示器和屏幕上未显示的秒数分别为 0 或 59。 温度计和气压计校准 本文开头给出的测量误差表征了设备硬件的潜在功能。 温度和压力测量的实际误差很大程度上取决于校准的准确性和准确度。 在执行此操作的过程中,将确定用于将从 ADC 寄存器读取的无量纲数转换为相应单位的物理量值的系数的精确值,并将其写入设备内存中。 对于每个量(温度 T 和压力 P),需要两个参数:零偏移(ZT、ZP)和特性的斜率(Kt、KR)。 如您所知,微控制器仅对整数执行算术运算,并且参数 Km、KR 通常是小数。 因此,程序实际上将它们的值乘以1024来工作。它们存储在微控制器的RAM单元中,并显示在Lclock程序的窗口中。 通过缩放得到温度或压力计算的最终结果——将初步结果除以1024 为了计算参数,两个校准点就足够了。 它们越接近最常用的温度或压力范围的边缘越好。 例如,要校准温度计,必须知道校准前的读数(T1、T2)和参考温度计的读数(T01、T02)在选定点的情况。 然后通过公式计算出Kt和Zt的新值(Who和Zto是参数的旧值): 水银水族箱温度计可在宠物商店购买,最适合作为校准参考。 家用酒精温度计误差太大。 启动Lclock程序后,将温度传感器和参考温度计浸入热水中(必须不断搅拌)。 保持至少5分钟使读数稳定后,按相应程序窗口中的“温度-自动计算-计算&设置”按钮,将从参考温度计刻度上读取的值输入到“第一点”窗口中,按 Enter 键。 此时,程序会自动记录温度传感器的读数。 将传感器和温度计转移到温度与之前相差 20 摄氏度或更多摄氏度的冷水中。 读数稳定并输入“第二点”窗口后,将计算新的Kt和ZT系数值并将其写入仪器的RAM中。 气压计的校准方式类似。 KP 和 ZP 的计算公式与上面给出的 Kt 和 ZT 的公式类似。 当然,其中的温度值T被压力值P代替。但是,校准很困难,因为精确测量大气压力的仪器只有在专业配备的实验室中才有。 因此,有必要使用互联网数据作为示例数据(例如, , , )、广播电视气象服务。 不幸的是,它们是不准确的,而且纠正它们的时间也很晚。 因此,在不限制任何一项服务的信息的情况下,您需要查看多项服务的消息,丢弃明显的错误并对合理的值进行平均。 在运行 Lclock 程序来校准气压计之前,请等到压力足够低或相反高(莫斯科地区的极值是 720 和 770 毫米汞柱)。 首先按“压力-自动计算-计算和设置”按钮,将真实压力输入“第一点”窗口。 该值将与压力传感器读数一起写入磁盘文件。 现在您可以在大气压力接近相反的极值之前关闭程序并关闭计算机。 重新启动Lclock程序时,再次按“压力-自动计算-计算&设置”按钮,在“第二点”窗口中输入实际压力值。 之后,校正后的参数КР和ZP将自动计算并写入设备的RAM中,程序将从文件中读取第一个校准点的数据。 时钟控制器将校准结果存储在RAM中,因此如果电源电压完全断开(例如,更换备用电池或发生故障时),它们将会丢失。 为避免这种情况,建议校准后单击“另存为默认值”按钮,设置的系数值(以及石英分频系数)将存储在磁盘文件中。要恢复丢失的值,您只需单击“设置默认系数”按钮即可。您可以简单地将找到的值写在纸上,并在必要时将其输入到相应的窗口中。 如果不需要在运行期间更换传感器,您可以强制控制器接受执行后的默认参数校准结果。 最正确的方法是更改程序汇编代码中相应的常量,对其进行编译并重新对单片机进行编程。 在不干扰源文本的情况下,只需直接更改十六进制文件中的一些字节即可执行相同的操作(参见表 1)。 在图中。 图7示出了参数KP、ZP、Kt、ZT的值是如何记录在其中的。 精确时钟操作所需的微控制器时钟频率的分频系数也记录在那里。 其值在数值上应等于 DD1 微控制器时钟频率(以赫兹为单位)的 64/2。 实际上,该频率与 ZQ1 石英谐振器(4096 kHz)上指示的标称值的偏差可以达到数百赫兹。 在十六进制文件的每个更改行中,必须更正最后一个字节(即校验和)。 在图中。 7 这些字节带有下划线。 将字符串中除最后一个字节以外的所有字节的值进行算术相加,然后用最接近的 2 的较高次幂减去它们的总和。所得差值的低字节将是新的校验和。 文学
作者:Yu.Revich,莫斯科 查看其他文章 部分 时钟、定时器、继电器、负载开关. 读和写 有帮助 对这篇文章的评论. 科技、新电子最新动态: 花园疏花机
02.05.2024 先进的红外显微镜
02.05.2024 昆虫空气捕捉器
01.05.2024
其他有趣的新闻: ▪ 用于 LED 驱动器控制的英飞凌 NLM0011 NFC 芯片 ▪ 孩子们选择 ▪ 灵活的传感器
免费技术图书馆的有趣材料: ▪ 第三条 有害物质按照对人体影响程度进行分类。 安全生活的基础 ▪ 文章天线惰性三角洲(lazy delta)。 无线电电子电气工程百科全书 本页所有语言 www.diagram.com.ua |