无线电电子与电气工程百科全书 多程序定时器时钟温度计。 无线电电子电气工程百科全书 无线电电子与电气工程百科全书 / 功率调节器、温度计、热稳定器 本文描述了一种基于 PIC 控制器的通用数字设备,该设备可以执行多程序定时器的功能,该定时器可以控制四个负载、时钟、闹钟、宽范围温度计和提供加热和冷却的恒温器的被控对象。 一种通用数字器件,其电路如图1所示。 XNUMX、具有以下规格:
使用 16 个按钮的键盘控制设备。 可以打开和关闭按钮的声音,设置声音、光和控制信号的供应,通过改变控制程序MK针对特定应用单独调整设备的可能性。 内置可充电电池提供备用电源。 即使备用电源关闭 40 多年,使用设备时设置的所有参数也会被保存。 从图中可以看出,该器件的基础是PIC控制器DD1。 移位寄存器DD2和译码器DD3是为了组织动态指示而设计的,其原理如下。 首先,代码3被应用到DD1111解码器,其结果是在其所有输出处设置日志级别。 1 并且 HG1 指示灯的所有数字均不亮。 接下来,将所需字符的代码输入到寄存器DD2中,然后将与指示符的所需位相对应的代码发送到DD3。 在更新指示器数据的同时,扫描键盘,其中 16 个按钮分为两组,每组 0 个。 这些组按钮的总结论连接到 MK 的两个输入(RB1 和 RB0)。 当按下按钮时,日志信号将发送到这些输入之一。 从解码器DD3的相应输出中得到XNUMX,从而确定其编码。 使用键盘,您可以启动/停止任何程序定时器或同时启动/停止所有程序定时器,设置恒温器运行模式、当前时间、闹钟时间等。大多数按钮具有双重用途,具体取决于用户的信息从键盘输入:数字或控制。 更详细地考虑键盘按钮的用途。 “0”、“时钟”-输入数字信息或切换到时钟模式时的数字0,其中可以更改当前时间、设置闹铃开启时间、开启新小时闹铃模式、编辑时间修正系数(见下文)。 “1” - “9” - 输入数字信息或选择适当的程序计时器时的数字 1 - 9。 “术语”-切换到恒温器模式,您可以在其中设置当前温度值、编辑受控温度值、调节类型(加热或冷却)和热敏电阻参数。 “Del”——输入受控温度值时的“减”号,打开/关闭恒温器、温度计、闹钟或时钟(关闭时,显示符号---而不是相应的读数),清零时输入数字数据。 “设置”-转换/退出到更改任何参数值的模式(软件定时器、当前时间、闹钟、温度计、恒温器、设置)。 “选项”-切换到更改设置的模式。 在这里您可以打开/关闭按钮的声音、欢迎模式、选择发出控制信号的来源等。 “选择” - 如果当前软件定时器的时间延迟值不为 0,则启动/停止当前软件定时器。 “AH”——启动/停止所有延时值不为0的软件定时器。 该设备能够发出四个控制信号,每个控制信号都可以由用户自行决定使用。 可以设置这些信号的来源:
该器件使用双色 LED HL1,如果启动一个或多个定时器时至少有一个控制信号已激活,则该 LED 会呈红色闪烁;如果没有活动信号,则该 LED 会呈绿色闪烁。 在任何正在运行的定时器的时间延迟结束时,HG1 指示灯开始闪烁,并且带有内置中断器的 HA1 压电发射器发出蜂鸣声。 这种情况一直持续到用户按下键盘上的任何按钮或经过一定时间,其值存储在 MK 的存储器中,并且可以在编程期间更改。 定时器触发时发出的声音信号由两个参数决定:声音的持续时间和声音包的数量。 当闹钟响起时,也会发出声音信号,但只有指示器最左边的两个符号 - A 和 L(来自英语 ALARM - 闹钟)开始闪烁。 闹钟的声音信号也由存储在MK存储器中的两个参数来描述。 根据所使用的石英谐振器的不同,时钟的精度也有所不同,因此,该器件中实现了软件时间校正。 校正系数由用户通过键盘设置,并且也存储在 MK 的存储器中。 事实上,它表示添加到 MK 内部计时器生成的振荡周期中的微秒数 - 在我们的例子中为 1,92 毫秒。 借助校正因子,该时间等于 2 ms(每 1 个这样的周期后记录 500 s 的时间段)。 通过测量热敏电阻 RK1 两端的电压降来测量温度。 其电阻与温度的关系由以下公式确定: 其中R0是具有电阻量纲的常数; B是具有温度量纲的常数; T是绝对温度。 因此,必须将这种依赖性降低为线性依赖性。 有一种已知的使用热敏电阻电桥进行线性化的方法,但这种方法很不方便,因为在更换热敏电阻时,必须更改电桥本身的参数,这并不那么简单。 无需任何线性化即可获得温度值会更方便,但为此您需要计算以下表达式的值: 其中 Rd 是附加电阻的阻值; N——模数转换后得到的10位二进制码; Un - 电源电压。 在所描述的设备中,该表达式由MK控制程序计算,并将结果显示在指示器上。 应该注意的是,上述测量和控制温度范围(-43 ... +470°C)可以以任何方式拉伸、压缩或移动。 选择所示间隔是因为其中的温度测量误差不超过±2°С。 此时,附加电阻R17的阻值为300欧姆。 为了减少误差,可以增加它,但是,温度区间的边界将会改变。 为了计算方便,可以使用 文件 term(10 位).mcd 用于 MathCAD 2001 系统,它根据热敏电阻 RK1、电阻器 R17 的指定参数和所需的误差计算测量温度的范围。 为了保证主电源关闭时实时时钟不走偏,仪器设有备用电源单元MK。 它由1V电池GB3,6、电阻器R16和二极管VD2、VD3组成。 当主电源接通时,VD3二极管截止,通过R1电阻对GB16电池充电。 当主电源关闭时,电池电压仅通过 VD3 二极管提供给 MK(VD2 二极管阻止向器件的其余元件提供电压)。 MK 会持续监控 RB2 引脚的电压电平,从而确定断电情况。 当它等于 log 时。 0,MK停止重新生成指示器和轮询键盘,停止所有正在运行的软件定时器,停止测量和调节温度并切换到时钟模式。 此外,如果在使用设备时更改了设置,则关闭电源后,红色 LED 会短暂闪烁,如果设置未更改,则呈绿色。 如果设备长时间不使用(一周或更长时间),为了防止电池完全放电,您可以使用跳线 S1 关闭备用电源。 MK持续监控键盘上按钮的触点状态,如果在指定时间内没有按下任何按钮,并且没有启动任何程序计时器,则它会自动切换到时钟模式。 MK控制程序是用C语言编写的,因此它可以轻松使用任何数据类型,包括真实数据类型。 该程序是在HT-PIC C编程系统中开发的(可以从网站“下载”) )。 调试时,我们使用了最简单的在线仿真器,它是一组触点,将计算机并口的线连接到主板上MK下方的插座上。 计算机并行口的结论与定时器板上MK插座的插座对应关系如表所示。 1、为了控制仿真器,MK控制程序是在Borland C++ 3.1编程环境中稍加修改编写的。 不幸的是,这种模拟器的工作发生在与真实的时间不同的时间尺度上,但是尽管如此,如果没有这样的设备,几乎不可能调试如此复杂的程序。 在不使用模拟器的情况下,仅实现了模数转换,可以在网站上找到与此 MK 相关的描述(文档 DS30292C - “PIC10F16x 微控制器中的 87 位 ADC 模块”)。 让我们简单地考虑一下 MC 控制程序的要点。 它是使用结构化编程方法编写的,因此具有大量的子例程。 上电后,MCU 设置 I/O 端口、ADC 和内部定时器。 然后主循环开始运行,这是无限的。 正如已经提到的,在其中,不断检查主电源电压的存在,如果它被关闭,MK 将停止执行除计时之外的所有功能。 当主电源打开时,显示启动画面并返回操作模式。 当前时刻应在指标上显示的信息存储在数组 d 中。 在指示器再生过程中,MC将其内容重写到中间数组中,并从中顺序读取输出字符的代码并将其显示在指示器上。 引入一个附加数组是为了消除在旧信息尚未完全显示之前向数组 d 写入新信息而导致的指示器闪烁。 例如,假设数组 d 最初包含字符串“ABCDEFHLP”,当显示第四个字符(“D”)时,字符串“FDA 2002”被输入到数组中。 然后设备的用户,由于人类视觉的惯性,在某个时间点会看到“ABC 2002”这一行。 此外,如果不断重复这样的过程(实际工作中就是这种情况),人们会觉得指示器上的信息在闪烁。 如前所述,键盘的扫描与指示器的更新同时进行。 当按下任意按钮时,会调用触点弹跳抑制子程序,该子程序会延迟几毫秒(该时间的值存储在 MK 存储器中),在此期间设备不会响应进一步的按钮按下。 还应该注意的是,软件定时器、时钟和闹钟的曝光时间以秒为单位设置(当达到值 24 x 60 x 60 = 86400 时,小时计数器会重置),并且在显示在指示器上之前,它会被转换对于计时器,采用 H : MM : SS 格式;对于时钟和闹钟,采用 HH : MM 格式。 这是使用以下公式完成的: C = 时间模 60。 这里的运算][表示舍去小数部分,即除法为整数。 所获得的小时、分钟和秒值尚不适合直接显示在指示器上,因为它们以二进制代码呈现。 要选择最高有效和最低有效小数位,需要对每个值再执行两次操作: LSB = 值 mod 10。 考虑一个例子。 需要在指示器上以 H : MM : SS 的格式显示值 8673 s。 我们得到 C = 8673 模 60 = 33。 因此,指标将显示 2 : 24 : 33 从给出的示例中,可以看出仅仅为了组织指标的输出就需要执行多少操作。 用汇编语言实现这样的数学几乎是不可能的。 在C语言中,只需几行代码即可实现,而且由于高度优化,程序代码非常紧凑且快速。 但最重要的是,程序员可以将主要注意力集中在程序算法上,从所应用的微控制器架构的具体特征中抽象出来。 所有这些都有助于将程序从一个 MK 轻松转移到另一个 MK。 MK程序的源文本和Intel HEX格式的“固件”代码位于互联网上的上述地址。 为了对MK进行编程,作者使用了根据图2所示方案组装的编程器。 2000、PonyProg1软件,最新版本可以从网站“下载” 。 该编程器与[3]中描述的编程器的主要区别是在同步信号发生电路中添加了另一个晶体管(VTXNUMX),通过完全消除MK引脚上的负电压来提高编程可靠性。 所描述的器件允许在板上进行MK编程,即支持ICSP技术(In-Circuit SerialProgramming——在线串行编程)。 为此,它通过连接器 X1 用五根线连接到编程器,如下所示: 7 - 公共端; 5,6-5V; 2-SDA; 3 - SCL; 1 - 升级。 可以使用其他编程器,包括那些支持低电压编程的编程器。 在后一种情况下,必须另外将编程器的相应触点与连接器 X4 的引脚 1 连接。 该装置的印刷电路板图如图3所示。 4、键盘——如图。 四。 定时器板上有七个孔,在安装部件之前,将镀锡线插入其中并焊接到板两侧的印刷导体上。 跳线的功能也是由某些部分的结论来执行的。 图 3 中突出显示了用于印刷导体连接的孔。 XNUMX 有四个十字点。 CAD Accel EDA 15.0 项目的源文件和所用组件库位于上述站点。 该器件使用固定电阻器和电容器进行表面安装。 氧化物电容器 C6、C7 (K50-35) 除外。 MK PIC16F876可以有任何最大工作频率和温度范围,最主要的是它采用DIP封装(有SP后缀)。 HRM14AX 压电发射器可以替换为由 KR1533LAZ 微电路的三个元件和 ZP-18 压电发射器制成的单元 [2]。 热敏电阻 RK1 - MMT-4,标称电阻为 15 kOhm (R0 = 0,294 Ohm,V = 3176 K)。 作为连接器 X1 - XZ,使用具有直引脚的分离块,其用于计算机技术:对于 X1,使用具有两排引脚排列的块,并且对于 X2 和 XZ 使用单排。 XP1插头的第八个触头和第三个XP2插头被移除,并将插头插入连接器配合部分(粗钓鱼线)的相应插座中。 此措施将防止连接器错误配合。 X2连接器插座由20槽面板制成,用于DIP封装的微电路(使用其中的一部分,有10个引脚)。 按钮 SB1-SB16 - TS-A3PS-130。 MK EEPROM 的内容可以更改以设置其他操作参数,如表所示。 2. “参数”列包含参数的名称,该名称显示在指示器上。 如果该列中有破折号,则该参数只能在对 MK 进行编程时更改。 文学
作者:梁赞 D.Frolov 查看其他文章 部分 功率调节器、温度计、热稳定器. 读和写 有帮助 对这篇文章的评论. 科技、新电子最新动态: 用于触摸仿真的人造革
15.04.2024 Petgugu全球猫砂
15.04.2024 体贴男人的魅力
14.04.2024
其他有趣的新闻: ▪ MIPS Warrior I64 6400 位处理器内核
免费技术图书馆的有趣材料: ▪ 文章 HF 电桥 - 全景 SWR 计。 无线电电子电气工程百科全书 本页所有语言 www.diagram.com.ua |