水温自动控制系统

本文介绍了基于AVR单片机的自动水温控制系统的设计及实现过程。该系统具有设定、实时显示以及于上位机通信功能。设定精度0.1℃、控温精度0.2℃、控温范围30~100℃。而且还具有显示温度曲线及打印功能。


本系统采用ATmgea16单片机为主控制器,温度采集方面采用DS1820高精度数字传感器,单总线接口简单,线性良好。功率输出部分采用GTJ3-10A固态继电器,电路经济可靠,采用PWM控制可控性好精度高。控制算法采用PID算法是系统具有快速响应和较小的超调。该系统通过实验证明具有很高的可靠性和稳定性。实现温度的设定,并对温度进行实时采集显示及打印。

 

关键词:温度控制  ATmega16单片机  PID算法  PWM

  第一章 概 述 1

  1.1 论文课题研究目的和意义 1

  1.2 温度控制系统的研究现状 1

  1.3 温度控制系统的发展方向 2

  1.4 论文题目要求 3

  第二章 方案论证 4

  2.1 系统整体结构设计方案 4

  2.2 主控单元的论证 4

  2.3 温度采集单元的论证 5

  2.4 功率输出单元的论证 5

  2.5 键盘显示单元的论证 6

  第三章 硬件设计 8

  3.1 主控单元的设计 8

  3.1.1 ATmega16单片机介绍 8

  3.1.2 ATmega16产品特性 9

  3.1.3 ATmega16 引脚功能 11

  3.1.4 ATmega16 内核介绍 12

  3.1.5 单片机最小系统设计 13

  3.2 温度采集单元设计 17

  3.2.1 DS18B20的特点 17

  3.2.2 DS18B20的内部结构 17

  3.2.3 引脚说明 18

  3.2.4 测温操作 18

  3.3 功率输出单元 20

  3.3.1 固态继电器的结构原理 20

  3.3.2 固态继电器的应用特性 21

  3.4 键盘与显示单元 22

  3.4.1 HD7279A的主要特点如下: 23

  3.4.2 引脚说明 23

  3.4.3 数码显示电路 24

  3.4.4 控制指令和接口时序 24

  3.4.5 HD7279A的应用以及键盘显示单元 26

  3.5 通信单元 27

  3.5.1 MAX232资料简介 27

  3.5.2 主要特点 27

  3.5.3 MAX232应用电路,注意电容接法。 28

  3.5.4 ISP的工作原理 29

  3.5.5 ISP的优点 29

  3.5.6 ISP端口 29

  3.5.7 打印电路 30

  第四章 软件设计 31

  4.1 PID控制算法 32

  4.1.1 PID控制规律及其基本作用 32

  4.1.2 比例调节器(P) 33

  4.1.3 比例积分调节器(PI) 33

  4.1.4 比例积分微分调节器(PID) 33

  4.2 PWM的控制方法 34

  4.3 流程图 35

  总 结 38

1

 

1.2 温度控制系统的研现状

 

温度控制系统在国内各行各业的应用虽然已经十分广泛但从国内生产的温度控制器来讲总体发展水平仍然不高,同国外的日本美国德国等先进国家相比仍然有着较大的差距目前我国在这方面总体技术水平处于20世纪80年代中后期水平成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制难于控制滞后复杂时变温度系统控制,即是说适应于较高控制场合的智能化自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少备。


  现有的一些温度控制设备,如HA168 型的温度控制棒,结构比较简单,一般采取的是开关式的控制,即当测量温度低于设定温度时进行加热,其结果是饲养水域内温度不均,控温效果不理想。目前,国外也开发出了一些基于单片式计算机的温度控制设备,但是价格比较高,且目前其操作系统均为英文,普及性不强。

 

1.3 温度控制系统的发展方向

 

由于工业过程控制的需要,特别是在微电子技术和计算机技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。


  温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。由于温度控制具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。


  模糊逻辑控制FLC)是人工智能领域中形成最早、应用最广的一个重要分支,适用于结构复杂且难以用传统理论建立模型的问题。目前FLC已经成功地应用与各种温度控制上。


  模糊控制与一般的自动控制的根本区别是,不需要建立精确的数学模型,而是运用模糊理论将人的经验知识、思维推理,其控制过程的方法与策略是由所谓模糊控制器来实现。对于多变量、非线性和时变的大系统,系统的复杂性和控制技术的精确性形成了尖锐的矛盾。模糊控制对那些难以获得数学模型或模型非常粗糙的工业系统,如那些大滞后、非线性等复杂工业对象实施控制有独特优势,但静态误差不易控制.
模糊控制偏偏含有大量专家经验,实际实现比较困难,它绝不可以代替经典的自动控制,而是扩展了一般的自动控制。在一些实际过程中,人们也常把模糊控制与一般的自动控制结合在一起应用,并且已研制出神经模糊网络的家电产品,将模糊控制技术与人工神经网络、专家系统等人工智能中一些新技术相结合,向着更高层次的研究和应用发展。


  采用模糊控制其优点是不需要粗确知道被控对象的数学模型,而且适用于有较大滞后特性的控制对象。缺点是静态误差不易控制,因含有大量专家经验,实际实现比较困难。


  模糊控制比传统的PID 控制等方法, 在强时变、大时滞、非线性系统中的控制效果有着明显的优势。将模糊控制技术应用于家电产品在国外已是很普遍的现象。单片机是家用电器常用的控制器件, 把二者结合起来, 可使控制器的性能指标达到最优的目的。基于模糊控制技术的单片机控制的电热水器, 是对传统的电热水器开关控制的改造, 具有达到设定温度的时间短、稳态温度波动小、反应灵敏、抗干扰能力强、节省电能等优点,将成为以后发展的主流。

 

1.4 论文题目要求

 

设计利用AVR单片机,通过外围电路,对1升水进行温度控制。

技术参数:

1.设定精度0.1℃,控温精度0.2℃。

2.控温范围30-100℃。

3.系统具有设定和实时显示功能。

4.上位机通信及打印等功能。

5.根据设计要求自动水温控制系统应该由:主控制单元、温度采集单元、功率输出单元、实时显示单元、通信单元及打印单元组成。

2 方案论证

 

 

2.1系统整体结构设计方案

 

此方案采用ATmega16单片机最小系统板(自制)实现,对外围电路来说,比较简单,并且软件采用PID算法实现较为简单。温度的数据采集采用DS18B20采集,直接转化为数字信号,不需要额外的AD转换电路,完全满足所需温度数据精度。温度控制采用固态继电器SSR直接控制电加热器的通断进行水温的控制,满足控制精度。显示模块采用HD7279A显示,较为直观。另外,AVR单片机使用JTAG来实现软硬件调试非常方便。

图2-1  硬件框图

 

2.2主控单元的论证

 

方案一:采用ATmega16

 

1.AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的

真实情况。工业级产品,具有大电流(灌电流)10~40mA,可直接驱动可控硅SCR或继电器,节省了外围驱动器件。

2.AVR单片机内带模拟比较器,I/O口可用作A/D转换,可组成廉价的A/D转换器。ATmega16具有8路10位A/D。

3.部分AVR单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。

4.AVR单片机可重设置启动复位,以提高单片机工作的可靠性。有看门狗定时器实行安全保护,可防止程序走乱(飞),提高了产品的抗干扰能力。


方案二:采用89C51

89C51只支持并行写入,同时需要VPP高压。89C51系列在低于4.8V和高于5.3V的时候则无法正常工作。89C51工作频率范围最高只支持到24M。抗干扰需外接看门狗计时器单元电路。价格也比较高。

综上我选择方案一。


 2.3温度采集单元的论证


方案一:采用温度传感器DS18B20

美国DALLAS公司的产品可编程单总线数字式温度传感器DS18B20可实现室内温度信号的采集,有很多优点:如直接输出数字信号,故省去了后继的信号放大及模数转换部分,外围电路简单,成本低;单总线接口,只有一根信号线作为单总线与CPU连接,且每一只都有自己唯一的64位系列号存储在其内部的ROM存储器中,故在一根信号线上可以挂接多个DS18B20,便于多点测量且易于扩展。


方案二:采用温度传感器AD590

AD590需要模拟转数字电路,成本高,精度低,测温点数量少,电路繁多,对线阻有要求。

综上我选择方案一。

 

2.4功率输出单元的论证

 

 

方案一:采用固态继电器

固态继电器的优点:


(1)高寿命,高可靠,SSR没有机械零部件,有固体器件完成触点功能,由于没有运动的零部件,因此能在高冲击,振动的环境下工作,由于组成固态继电器的元器件的固有特性,决定了固态继电器的寿命长,可靠性高。

(2)灵敏度高,控制功率小,电磁兼容性好,固态继电器的输入电压范围较宽,驱动功率低,可与大多数逻辑集成电路兼容不需加缓冲器或驱动器。

(3)快速转换,固态继电器因为采用固体其间,所以切换速度可从几毫秒至几微妙。

(4)电磁干扰小,固态继电器没有输入"线圈",没有触点燃弧和回跳,因而减少了电磁干扰。大多数交流输出固态继电器是一个零电压开关,在零电压处导通,零电流处关断,减少了电流波形的突然中断,从而减少了开关顺效应。


方案二:采用晶闸管

晶闸管又叫可控硅(Silicon Controlled Rectifier, SCR)。自从20世纪50年代问世以来已经发展成了一个大的家族,它的主要成员有单向晶闸管、双向晶闸管、光控晶闸管、逆导晶闸管、可关断晶闸管、快速晶闸管,等等。今天大家使用的是单向晶闸管,也就是人们常说的普通晶闸管,它是由四层半导体材料组成的,有三个PN结,对外有三个电极:第一层P型半导体引出的电极叫阳极A,第三层P型半导体引出的电极叫控制极G,第四层N型半导体引出的电极叫阴极K。从晶闸管的电路符号可以看到,它和二极管一样是一种单方向导电的器件,关键是多了一个控制极G,这就使它具有与二极管完全不同的工作特性。


固态继电器就是通过光电耦合器隔离并触发可控硅,就算选择可控硅也要通过隔离元件进行隔离才行,两个并没有响应速度的可比较性,用单片机信号来控制,肯定是选择固态继电器,强电和控制信号间隔离。

综上选择方案一。

 

2.5 键盘显示单元的论证

 

方案一:采用HD7279A

HD7279A是一种智能键盘和LED专用控制芯片,它带有串行接口,可同时驱动8位共阴极数码管或64只独立LED。文中详述了该芯片的工作原理。


工作时序及控制指令,给出了HD7279A与CPU的实际接口电路及设计程序,同时指出了实际应用中的一些注意事项。


方案二:采用ZLG9A

ZLG9A具有片选信号,可方便地实现多于8位的显示,或多于64键的键盘接口,仪器仪表工业控制器,条形显示器,控制面板串行接口无需外围元件,可直接驱动LED各位独立控制译码及消隐和闪烁属性循环左移/循环右移指令具有段寻址指令方便控制独立LED64键盘控制器内含去抖动电路


HD7279A和微处理器之间采用串行接口,其接口和外围电路比较简单,且占用口线少,加之它具有较高的性能价格比,因此,在微型控制器。智能仪表。控制面板和家用电器等领域获得了日益广泛的应用。


综上选择方案一。

 

3硬件设计

 

3.1主控单元的设计

 

3.1.1  ATmega16单片机介绍

 

ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。


ATmega16 AVR 内核具有丰富的指令集和32 个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU) 相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的CISC 微控制器最高至10 倍的数据吞吐率。


ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。

工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。


本芯片是以Atmel 高密度非易失性存储器技术生产的。片内ISP Flash 允许程序存储器通过ISP 串行接口,或者通用编程器进行编程,也可以通过运行于AVR 内核之中的引导程序进行编程。引导程序可以使用任意接口将应用程序下载到应用Flash存储区(ApplicationFlash Memory)。在更新应用Flash存储区时引导Flash区(Boot Flash Memory)的程序继续运行,实现了RWW 操作。 通过将8 位RISC CPU 与系统内可编程的Flash 集成在一个芯片内, ATmega16 成为一个功能强大的单片机,为许多嵌入式控制应用提供了灵活而低成本的解决方案。ATmega16 具有一整套的编程与系统开发工具,包括:C 语言 编译器、宏汇编、 程序调试器/ 软件仿真器、仿真器及评估板。

 

3.1.2  ATmega16产品特性

 

高性能、低功耗的8位AVR微处理器

1.先进的RISC 结构

2.131条指令

3.大多数指令执行时间为单个时钟周期

4.32个8位通用工作寄存器

5.全静态工作

6.工作于16MHz时性能高达16MIPS

7.只需两个时钟周期的硬件乘法器

8.非易失性程序和数据存储器16K 字节的系统内可编程Flash,擦写寿命: 10,000次。具有独立锁定位的可选Boot代码区,通过片上Boot程序实现系统内编程,真正的同时读写操作

9.512 字节的EEPROM,擦写寿命: 100,000次

10.1K字节的片内SRAM

11.可以对锁定位进行编程以实现用户程序的加密

12.JTAG 接口( 与IEEE 1149.1 标准兼容) 符合JTAG 标准的边界扫描

 

功能

13.支持扩展的片内调试功能,通过JTAG 接口实现对Flash、EEPROM、熔

丝位和锁定位的编程

14.外设特点

(1)两个具有独立预分频器和比较器功能的8位定时器/计数器

(2)一个具有预分频器、比较功能和捕捉功能的16位定时器/计数器

(3)具有独立振荡器的实时计数器RTC

(4)四通道PWM 8路10位ADC,8个单端通道,2个具有可编程增益   1x, 10x, 或200x)的差分通道

(5)面向字节的两线接口

(6)两个可编程的串行USART

(7)可工作于主机/ 从机模式的SPI 串行接口

(8)具有独立片内振荡器的可编程看门狗定时器

(9)片内模拟比较器

15.特殊的处理器特点

(1)上电复位以及可编程的掉电检测

(2)片内经过标定的RC振荡器

(3)片内/片外中断源

(4)6种睡眠模式: 空闲模式、ADC 噪声抑制模式、省电模式、掉电     模式、Standby 模式以及扩展的Standby模式

16.I/O和封装

(1)32个可编程的I/O口

(2)40引脚PDIP封装, 44引脚TQFP封装, 与44引脚MLF封装

工作电压:

   ATmega16L:2.7 - 5.5V

   ATmega16:4.5 - 5.5V

   速度等级

   8MHz ATmega16L

   0-16MHz ATmega16

   ATmega16L在1MHz, 3V, 25°C时的功耗

  

正常模式: 1.1 mA

   空闲模式: 0.35 mA

   掉电模式: < 1 μA

 

3.1.3  ATmega16 引脚功能

  

 

图3-1  AVR单片机管脚图

 

VCC 电源正

GND 电源地

端口A(PA7..PA0) 端口A 做为A/D 转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。


端口B(PB7..PB0) 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。


端口B 也可以用做其他不同的特殊功能 

端口C(PC7..PC0) 端口C 为8 位双向I/O 口,具有可编程的内部上拉

 

电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复

位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口C 也可以用做其他不同的特殊功能.


端口D(PD7..PD0) 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D 处于高阻状态。端口D 也可以用做其他不同的特殊功能.


RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。门限时间见P36Table 15。持续时间小于门限间的脉冲不能保证可靠复位。


XTAL1 反向振荡放大器与片内时钟操作电路的输入端。

XTAL2 反向振荡放大器的输出端。

AVCC AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。

AREF A/D 的模拟基准输入引脚。

 

3.1.4  ATmega16 内核介绍

 

为了获得最高的性能以及并行性, AVR 采用了Harvard 结构,具有独立的数据和程序总线。程序存储器里的指令通过一级流水线运行。CPU 在执行一条指令的同时读取下一条指令( 在本文称为预取)。这个概念实现了指令的单时钟周期运行。程序存储器是可以在线编程的FLASH。


快速访问寄存器文件包括32 个8 位通用工作寄存器,访问时间为一个时钟周期。从而实现了单时钟周期的ALU 操作。在典型的ALU 操作中,两个位于寄存器文件中的操作数同时被访问,然后执行运算,结果再被送回到寄存器文件。整个过程仅需一个时钟周期。

  寄存器文件里有6 个寄存器可以用作3 个16 位的间接寻址寄存器指针以寻址数据空间,实现高效的地址运算。其中一个指针还可以作为程序存储器查询表的地址指针。这些附加的功能寄存器即为16 位的X、Y、Z 寄存器。


ALU支持寄存器之间以及寄存器和常数之间的算术和逻辑运算。ALU也可以执行单寄存器操作。运算完成之后状态寄存器的内容得到更新以反映操作结果。


程序流程通过有/ 无条件的跳转指令和调用指令来控制,从而直接寻址整个地址空间。大多数指令长度为16 位,亦即每个程序存储器地址都包含一条16 位或32 位的指令。

程序存储器空间分为两个区:引导程序区(Boot 区) 和应用程序区。这两个都有专门的锁定位以实现读和读/ 写保护。用于写应用程序区的SPM 指令必须位于引导程序区。

在中断和调用子程序时返回地址的程序计数器(PC) 保存于堆栈之中。堆栈位于通用数据SRAM,因此其深度仅受限于SRAM 的大小。在复位例程里用户首先要初始化堆栈指针SP。这个指针位于I/O 空间,可以进行读写访问。数据SRAM 可以通过5 种不同的寻址模式进行访问


AVR 存储器空间为线性的平面结构。


AVR有一个灵活的中断模块。控制寄存器位于I/O空间。状态寄存器里有全局中断使能位。每个中断在中断向量表里都有独立的中断向量。各个中断的优先级与其在中断向量表的位置有关,中断向量地址越低,优先级越高。

I/O 存储器空间包含64 个可以直接寻址的地址,作为CPU 外设的控制寄存器、SPI,以及其他I/O 功能。映射到数据空间即为寄存器文件之后的地址0x20 - 0x5F。

 

3.1.5  单片机最小系统设计

 

基本的AVR硬件线路,包括以下几部分:

●复位线路

●晶振线路

●ISP下载接口

●JTAG仿真接口

 

●电源

(1)复位线路的设计

Mega16已经内置了上电复位设计。并且在熔丝位里,可以控制复位时的额外

时间,故AVR外部的复位线路在上电时,可以设计得很简单:直接拉一只10K的电

阻到VCC即可(R6)。

为了可靠,再加上一只0.1uF的电容(C0)以消除干扰、杂波。

D3(1N4148)的作用有两个:作用一是将复位输入的最高电压钳在Vcc+0.5V 左右,另一作用是系统断电时,将R1(10K)电阻短路,让C0快速放电,让下一次来电时,能产生有效的复位。

当AVR在工作时,按下S0开关时,复位脚变成低电平,触发AVR芯片复位。

重要说明:实际应用时,如果你不需要复位按钮,复位脚可以不接任何的零件,AVR芯片也能稳定工作。即这部分不需要任何的外围零件。

 

图3-2  复位电路设计

 

2)晶振电路的设计

Mega16已经内置RC振荡线路,可以产生1M、2M、4M、8M的振荡频率。不过,

内置的毕竟是RC振荡,在一些要求较高的场合,比如要与RS232通信需要比较精确的波特率时,建议使用外部的晶振线路。

 

早期的90S系列,晶振两端均需要接22pF左右的电容。Mega系列实际使用时,这两只小电容不接也能正常工作。不过为了线路的规范化,我们仍建议接上。


重要说明:实际应用时,如果你不需要太高精度的频率,可以使用内部RC振

荡。即这部分不需要任何的外围零件。

 

图3-3  晶振电路设计

 

(3)JTAG仿真接口设计

仿真接口也是使用双排2*5插座。需要一只10K的上拉电阻。

重要说明:实际应用时,如果你不想使用JTAG仿真,并且不想受四只10K的上拉电阻的影响,可以将JP1-JP4断开。

 

图3-4  JTAG方针接口

 

(4)ISP下载接口设计

 

要学习单片机这门技术,良好的教材和教程必不可少。另外,因为我们做单片机开发使用的是C语言,所以最好能有一本纯C语言教材,我们学到一些C语言语法性质的问题的时候,大家可以方便查阅,或者你可以直接把相关语法问题通过百度和谷歌等搜索一下也可以。

ISP下载接口,不需要任何的外围零件。使用双排2*5插座。由于没有外围零件,故(MOSI)、(MISO)、(SCK)、复位脚仍可以正常使用,不受ISP的干扰。


RST连接倒RESET ,为了 减小图片大小这里没有画出,你可以从本页顶上的那个图片看出来。


重要说明:实际应用时,如果你想简化零件,可以不焊接2*5座。但在PCB设计时最好保留这个空位,以便以后升级AVR内的软件。

 

图3-5  JTAG方针接口设计图

 

(5)电源设计

AVR单片机最常用的是5V与3.3V两种电压。本线路以转换成5V直流电压,电路需要变压器把220交流电压转换成28V交流电,再通过整流器,把交流电转化成直流电,通过7809和7805三端正电源稳压电路转化成直流5V。电源如图3-6。

 

图3-6  电源电路设计图

 

3.2温度采集单元设计

 

3.2.1  DS18B20的特点

 

DS18B20是DALLAS公司生产的一个线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微

处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。

 

3.2.2  DS18B20的内部结构

 

DS18B20内部结构如图3-7所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如图3-8所示,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。

ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

3-7  DS18B20的内部结构

 

 

3-8  DS18B20的管脚排列

 

3.2.3  引脚说明

 

3-1  DS18B20的引脚说明表

16脚SSOP

PR35

符号

说明

9

1

GND

接地

8

2

DQ

数据输入/输出脚。对于单线操作:漏极开路

7

3

VDD

可选的VDD引脚。

 

3.2.4  测温操作

 

 

DS18B20通过一种片上温度测量技术来测量温度。图3-9示出了温度测量电路的方框图。

 

3-9  温度传感器测量电路图

 


DS18B20是这样测温的:用一个高温度系数的振荡器确定一个门周期,内部计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。计数器被预置到对应于-55℃的一个值。如果计数器在门周期结束前到达0,则温度寄存器(同样被预置到-55℃)的值增加,表明所测温度大于-55℃。同时,计数器被复位到一个值,这个值由斜坡式累加器电路确定,斜坡式累加器电路用来补偿感温振荡器的抛物线特性。然后计数器又开始计数直到0,如果门周期仍未结束,将重复这一过程。斜坡式累加器用来补偿感温振荡器的非线性,以期在测温时获得比较高的分辨力。这是通过改变计数器对温度每增加一度所需计数的数值来实现的。因此,要想获得所需的分辨力,必须同时知道在给定温度下计数器的值和每一度的计数值。

 

图3-10  DS18B20的电路图

 

3.3功率输出单元

 

固态继电器(SSR)是一种全电子电路组合的元件,它依靠半导体器件和电子元件的电、磁和光特性来完成其隔离和切换功能。

固态继电器与传统的电磁继电器(EMR)相比,是一种没有机械、不含运动零部件的继电器,但具有与电磁继电器本质上相同功能。

固态继电器按其工作性质分直流输入-交流输出型、直流输入-支流输出型、交流输入-交流输出型、交流输入-直流输出型。

按其结构分机架安装型(面板安装)、线路板安装型。

 

3.3.1 固态继电器的结构原理

 

固态继电器通常是一个四端组件,两个为输入端,两个为输出端。下图为其结构框图它至少由三个部件组成,即输入电路、隔离部分和输出电路。

 

 

3-11  固态继电器的结构原理图

 

固态继电器有许多类型可供用户选择:按品种分有军用、民用、I/O模块;按输出功能分有直流型、过零型、非过零型;按隔离方式有光隔离和变压器隔离;按封装结构形式分有塑封型和金属壳全密封型故态继电器,以及各种特殊用途的故态继电器。

 

 

3.3.2  固态继电器的应用特性

 

由于固态继电器是由固态元件组成的无触电开关器件。这种结构特点决定了它比电磁继电器电器工作可靠,寿命长,对外干扰小,能与逻辑电路兼容,抗干扰能力强,开关速度快,使用方便。但在使用时考虑其应用特性:

(1)根据产品的功能不同,输出电路可接交流或直流。对交流负载的控制有过零和非过零控制功能。

(2)由于固态继电器是一种电子开关,故有一定的通态压降和断态电流,其数值与产品规格有关。

(3)负载短路易造成SSR的损坏,应特别注意避免。

(4)必须考虑瞬态过电压和断态dv/dt对SSR的影响。部分SSR产品内部已含

有瞬态抑制网路。


 

图3-12  固态继电器

 

控制波形固态继电器不仅实现了小信号对大电流功率负载的开关控制,而且具有隔离功能。其典型应用状态如下:


如果采用集成电路门输出驱动时,由于目前国产的SSR要求有0.5mA至20mA的驱动电流,最小工作电压可达3V。对于一般TTL电路,如54/74、54H/74H和54S/74S等系列的门输出可直接驱动,而对CMOS电路逻辑信号则应再加缓冲驱动器,SSR通常都采用逻辑1输入驱动。


利用固态继电器器来控制加热炉加温。

接在I/O口上的光电耦合器的通断来控制加热炉是否加温。若I/O口给低电平,则固态继电器工作。则有加热炉的电路导通,加热炉开始加温。若I/O口给高电平,固态继电器不工作,不能构成通路,这时,在加热炉的回路中,出现断点,加热炉没有通上电源,所以不用加温。

  

 

图3-13  光电耦合器引脚图

 

在PB3(TC0)口的输出端需连接一个光电耦合器,起到隔离和控制的作用。光电耦合器引脚如上图所示。


光电耦合器是以光为媒介传输电信号的一种电——光——电转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装在同一密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端,常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管等等。光电耦合器的种类较多,常见有光电二极管型、光电三极管型、光敏电阻型、光控晶闸管型、光电达林顿型、集成电路型等。

 

3-14  固态继电器的电路图

 

3.4键盘与显示单元

 

HA7279A是一种智能键盘和LED专用控制芯片,它带有串行接口,可同时驱动8位共阴极式数码管或64只独立LED。文中详述了该芯片的工作原理。工作时序

 

及控制指令,给出了HD7279A与CPU的实际接口电路及设计程序,同时指出了实际应用中的一些注意事项。

HD7279A是比高公司生产的单片具有串行接口。可同时驱动8位共阴极式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时可连接多达64键的键盘矩阵,一片即可完成LED显示及键盘接口的全部功能。HD7279A和微处理器之间采用串行接口,其接口和外围电路比较简单,且占用口线少,加之它具有较高的性能价格比,因此,在微型控制器。智能仪表。控制面板和家用电器等领域获得了日益广泛的应用。

 

3.4.1 HD7279A的主要特点如下:

 

(1)带有串行接口,无需外围元件便可直接驱动LED。

(2)各位可独立控制译码或非译码。消隐和闪烁等属性。

(3)具有(循环)左移/(循环)右移指令。

(4)具有段寻址指令,可方便地用来控制独立的LED显示管。

(5)64个键的键盘控制器内含去抖动电路。

 

3.4.2  引脚说明

 

HD7279A一共有28个引脚,各引脚的主要功能如下:

●RESET:复位端。当该引脚是低电平变成高电平,并保持25ms后,复位过程结束。通常,该端接+5V电源;

●DIG0~DIG7:8个LED管的位驱动输出端;

●SA~SG:LED数码管的A段~G段的输出端;

●DP:小数点的驱动输出端;

●RC:外接振荡元件连接端,其中电阻的典型值为1.5KΩ电容的典型值为15PF。

HD7279A与微处理器仅需4条接口线,其中CS为片选信号(低电平有效)。DATA为串行数据端,当向HD7279A发送数据时,DATA为输入端;当HD7279A输出键盘代码时,DATA为输出端。CLK为数据串行传送的同步时钟输入端,时钟的上升沿可

 

表示数据有效。KEY为按键信号输出端,该端在无键按下时为高电平;而在有键按

下时变为低电平,并一直保持到按键释放为止。

 

3.4.3  数码显示电路

 

7279A的硬件电路如图3-17所示,它共有28个引脚。RC引脚用于连接HD7279A的外接振荡元件,其典型值为R=1.5kΩ,C=15pF。RESET为复位端。该端由低电平变成高电平并保持25ms即复位结束。通常,该端接+5V即可。DIG0~DIG7分别为8个LED管的位驱动输出端。SA~SG分别为LED数码管的A段~G段的输出端。DP为小数点的驱动输出端。HD7279A片内具有驱动电路,它可以直接驱动1英吋或以下的LED数码管,使外围电路变得简单可靠。


DIG0~DIG7和SA~SG同时还分别是64个键盘列线和行线端口,完成对键盘的监视、译码和键码的识别。在8*8阵列中每个键的键码是用十六进制表示的,可用键盘数据指令读出,其范围是00H~3FH。HD7279的与微处理器仅需4条接口线,其中CS为片选信号(低电平有效)。


当微处理器访问HD7279A(读键号或写指令)时,应将片选端置为低电平。DATA为串行数据端,当向HD7279A发送数据时,DATA为输入端;当HD7279A输出键盘代码时,DATA为输出端。CLK为数据串行传送的同步时钟输入端,时钟的上升沿就表示数据有效。KEY为按键信号输出端,在无键按下时为高电平;而有键按下时此引脚变为低电平并且一直保持到键释放为止。

 

3.4.4  控制指令和接口时序

 

一.HD7279A指令系统由6条纯指令、7条带数据指令和1条读键盘指令组成。6条纯指令为:

(1)复位指令。指令代码为A4H,其功能为清除所有显示,包括字符消隐属性和闪烁属性。

(2)测试指令。指令代码为BFH,其功能为将所有的LED点亮并闪烁,可用于自检。

(3)左移指令。指令代码为A1H,其功能为将所有的显示左移1位,移位后,最右位空(无显示),不改变消隐和闪烁属性。

 

(4)右移指令。指令代码为A0H,其功能与左移指令相似,只是方向相反。

(5)循环左移指令。指令代码为A3H,其功能为将所有的显示循环左移1位。移位后,最左位内容移至最右位,不改变消隐和闪烁属性。

(6)循环右移指令。指令代码为A2H,其功能与循环左移指令相似,只是方向相反。


二.指令时序

1)纯指令时序:微处理器发出8个CLK脉冲,向HD7279A传送8位指令。DATA引脚为高阻状态,如图3-15所示。

 

3-15  纯指令时序

 

2)带数据指令时序:微处理器发出16个CLK脉冲,前8个向HD7279A传送8位指令;后8个向HD7279A传送8位数据。DATA引脚为高阻状态,如图3-16所示。

3-16  带数据指令时序

 

(3)读键盘指令时序:微处理器发出16个CLK脉冲,前8个向HD7279A传送

8位指令,DATA引脚为高阻状态;后8个由HD7279A向微处理器返回8位按键代码,DATA引脚为输出状态。在最后1个CLK脉冲的下降沿DATA引脚恢复高阻状态,如图3-17所示。

3-17  读键盘指令时序

 

3.4.5  HD7279A的应用以及键盘显示单元

 

HD7279A的典型电路,使用时HD7279A应连接共阴极数码管,无需用到的键盘和数码管可以不连接。如果不用键盘,则电路图中连接到键盘的8只10kΩ电阻和8只100kΩ下拉电阻均可以省去。而如果使用键盘,则电路中的8只100kΩ下拉电阻则不能省略。除非不接数码管,否则连接至DP及SA~SG的8只200Ω电阻也不能省去。

3-18  键盘显示电路引脚接线图

 

用于温度设定的有0、1、2、3、4、5、6、7、8、9共10个数字键。功能键:复位键﹑设定值键﹑加热键。

在应用系统中为了控制系统的工作状态,以及向系统中输入数据,应用系统应设有按键或键盘。例如复位用复位键,功能转换用的功能键以及数据输入用的数字键盘等。


应用系统中除了复位按键有专门的复位电路,以及专一的复位功能外,其他的按键或键盘都是以开关状态来设置控制功能或输入数据。因此,这些开关不只是简单的电平输入。


编程扫描工作方式只有在CPU空闲时才调用键盘扫描子程序。因此,在应用系统软件方案设计时,应考虑这种键盘扫描子程序的编程调用应能满足键盘响应要求。


当键盘有键按下时,要逐行或逐列扫描,以判定是哪一个按键按下。通常扫描方式有两种,既扫描法和反转法。本设计中采用扫描法。键盘显示电路如图3-18。

 

3.5通信单元

 

3.5.1  MAX232资料简介

 

该产品是由德州仪器公司(TI)推出的一款兼RS232标准的芯片。由于电脑串口rs232电平是-10v +10v,而一般的单片机应用系统的信号电压是TTL电平,MAX232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。

该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-V TTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。

 

3.5.2  主要特点

 

●单5V电源工作。

●LinBiCMOSTM工艺技术。

●两个驱动器及两个接收器。

●±30V输入电平。

●低电源电流:典型值是8mA。

●符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28。

●ESD保护大于MIL-STD-883(方法3015)标准的2000V。

 

3.5.3  MAX232应用电路,注意电容接法。

 

 

3-19  通信单元电路图

 

MAX232它是RS-232C双工发送器/接收器接口电路芯片,可以完成TTL/RS-232电平的转换,它的9、10、11、12引脚是TTL电平端,用来连接单片机的。


MAX232获得正负电源的另一种方法在单片机控制系统中,我们时常要用到数/模(D/A)或者模/数(A/D)变换以及其它的模拟接口电路,这里面要经常用到正负电源,例如:9V,-9V,12V,-12V。这些电源仅仅作为数字和模拟控制转换接口部件的小功率电源。在控制板上,我们有的只是5V电源,可又有很多方法获得非5V电源如外接,DC-DC变换。


在这里我介绍一块大家常用的芯片:MAX232是TTL--RS232电平转换的典型芯片,按照芯片的推荐电路,取振荡电容为uF的时候,若输入为5V,输出可以达到-14V左右,输入为0V,输出可以达到14V,在扇出电流为20mA的时候,处处电压可以稳定在12V和-12V。因此,在功耗不是很大的情况下,可以将MAX232的输出信号经稳压块后作电源使用。

 

3.5.4  ISP的工作原理

 

ISP的实现相对要简单一些,一般通用做法是内部的存储器可以由上位机的软件通过串口来进行改写。对于单片机来讲可以通过SPI或其它的串行接口接收上位机传来的数据并写入存储器中。所以即使我们将芯片焊接在电路板上,只要留出和上位机接口的这个串口,就可以实现芯片内部存储器的改写,而无须再取下芯片。

 

3.5.5  ISP的优点

 

ISP技术的优势是不需要编程器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即成成品,免去了调试时由于频繁地插入取出芯片对芯片和电路板带来的不便。

 

3.5.6  ISP端口

 

一般为SCK,MOSI,MISO,RESET。如图3-20

  

3-20  ISP

 

3.5.7  打印电路

 

 

3-21  打印电路

 

打印机选择的是SJ系列打印机。可以根据客户的不同需要,可以选择不同的打印速度,不同的打印行宽,不同的文字和字体,以及并口、串口两种不同接口,有广泛的选择余地,适用于各种不同的应用场合。本设计用打印机打印两个节点的温度值,选择的串行通信方式。波特率设置为9600bps。因为无线模块同时用到串口通信,因此借助于四二输入与门74H08来实现使能功能。

 

4软件设计

 

 

本章介绍在AVR水温自动控制系统中的软件设计部分,其中包括控制算法及程序。


AVR系列ATmage16控制器的硬件资源为高性能运动控制系统的开发提供了必要的条件。如何利用这些片上硬件资源,使整个系统达到预期的性能,则在很大程度上依赖于用户软件的设计。


下面,首先来谈一下AVR系列ATmega16控制器的软件设计。就AVR系列ATmega16控制系统开发而言,以AVR系列ATmega16控制器为硬件核心的运动控制系统一般都是一些实时性要求较高的系统,同时,由于ATmega16控制器本身的特点,这类系统的软件开发工作的难度要高于相应硬件系统的设计工作。基于上述考虑,我们认为:在实际的系统开发工作中,要在系统的软件设计上花费较大的力气。当采用高级语言或MATLAB等工具对算法进行模拟,并确定最终要实现的算法以后,软件的设计工作就是采用合适的编程语言进行算法实现,并使程序的效率满足实时性要求。根据所使用开发工具的不同,软件设计可采用汇编语言、高级语言、(C语言)、混合语言(C语言和汇编语言)进行编程。


采用高级语言编程具有开发周期短、代码可读性强、代码可移植性好、便于维护等优点。而汇编语言编程的最大优点是代码效率高,但是不便于维护,开发周期长。实际情况是,为了设计出性能价格比最高的AVR系统,需要尽可能充分的AVR控制器的资源,这意味着代码必须非常紧凑,效率很高,因而采用C语言编程一般能满足实时性和性价比的要求。


在解决了编程语言的问题以后,软件设计工程师还应注意的是一些编程规范,这在软件设计需要多人来完成时尤其重要。一般来说,软件设计应注意以下因素:


1.软件的组织。明确界定控制程序、核心算法程序、I/O程序、硬件初始化程序等之间的功能,以便于软件调试与维护。

 2.存储器组织。

 3.合理的存储器组织对应用程序的移植和维护至关重要。

4.编程常规。如混合语言编程时要严格遵守C语言的函数调用协议,不要编写自修改代码等。

5.文档管理。所涉及到的问题主要有代码修改历史记录、程序注释等。

 

4.1  PID控制算法

 

按偏差的比例(Proportional)、积分(Integral)、微分(Differential)进行控制的调节器,简称为PID调节器。PID调节是连续系统中技术最成熟、应用最广泛的一种控制方法,它结构灵活,不仅可以用常规的PID调节,而且可以根据系统的要求,采用各种PID的变型,如PI、PD控制及改进的PID控制等。它具有许多特点,如不需要求出数学模型、控制效果好等,特别是在微机控制系统中,对于时间常数比较大的被控对象来说,数字PID完全可以代替模拟PID调节器,应用更加灵活,适用性更强。

 

4.1.1  PID控制规律及其基本作用

 

PID调节器是一种线性调节器,其框图如图4-1所示。下面分别讨论比例调节器P、积分调节器I、微分调节器D的作用。

 

4-1  PID控制系统框图

 

4.1.2  比例调节器(P

 

这是一种简单的调节器,比例调节器与偏差成比例调节,调节及时,误差一旦产生,调节器立即产生控制作用,使被控量y向减小偏差的方向变化,但这种调节使被调量y存在静差,即有残留误差,因为调节作用是以偏差的存在为前提条件的。只有在控制作用为U0时才会出现零静差(此时偏差e=0)。提高放大系数Kp虽可以减小静差,但永远不会使之减小为零,而且无止境的提高放大系数Kp最终将导致系统不稳定。

 

4.1.3  比例积分调节器(PI

 

采用比例调节的系统存在静差,为了消除静差,在比例调节器的基础上加入积分调节器,组成比例积分调节器。


积分调节器的突出优点是,只要被调量存在偏差,其输出的调节作用便随时间不断加强,直到偏差为零。在被调量的偏差消除后,由于积分规律的特点,输出将停留在新的位置而不回复原位,因而能保持静态误差为零。但单纯的积分也有弱点,其动作过于迟缓,因而在改善静态品质的同时,往往使调节的动态品质变坏,过渡过程时间加长。因此在实际生产中往往在积分调节的基础上加入比例调节,把比例作用的及时性与积分作用消除静态误差的优点结合起来,构成比例积分调节器。

 

4.1.4  比例积分微分调节器(PID

 

比例积分调节消除系统误差需经过较长的时间,为进一步改进控制器,可以通过检测误差的变化率来预报误差,根据误差变化趋势,产生强烈的调节作用,使偏差尽快的消除在萌芽状态,数学上描述这个概念就是微分,因此在PI调节器的基础上加入微分调节,就构成了比例积分微分调节器。


PID三种调节器中,微分调节主要用来加快系统的响应速度,减小超调,克服振荡。将P、I、D三种调节规律结合在一起,即快速敏捷,又平稳准确,只要三者强度配合适当,便可获得满意的调节效果。


在工业过程控制中,模拟PID调节器的执行机构有电动、气动、液动等类型,PID调节规律用硬件。而在微机控制系统中采用数字控制器,即用软件来实现PID控制,因此要将模拟PID调节器离散化为数字PID控制算法。


由于连续生产过程一般都有较大的时间常数,而微机控制系统的采样周期远远小于过程对象的时间常数,因此数字PID调节器参数的整定,完全可以参照模拟调节器的参数整定方法进行,最后在实践中加以调整,以得到比较理想的参数。


数字PID调节器参数的整定方法有三种:扩充临界比例读法、扩充响应曲线法与试凑法。


4.2  PWM的控制方法

 

我采用的是控制时间比例的方法。时间比例:我设定一个标准的加热期,比如2分钟,我在这2分钟内对输出进行控制,也就是说在这2分钟内的加热多少时间,全速加热就是整个周期2分钟,,停止加热就是不输出0分钟,根据我们的计算可以在0-2分钟内变化,比如计算得到1分钟30秒,那么,我们在2分钟内加热1分钟30秒,剩下30秒不加热,2分钟后在测量温度,重新计算输出量。


我采用的是控制时间比例的方法。这样的方法会出现很大的温度波动,由于被加热对象的惯性作用,PID就会出现很大或长时间的振荡。较好的方法是采用调功方式,固态继电器选用过零型,通过不同的触发频率可以得到不同的功率,比方说输出功率0-100%对应单片机输出触发信号频率0-100KHZ。波动也太大了,如果坚持用PID的话耐心调整参数会好的。


通过老师的指导和在自己查阅资料发现以下可以改进的地方:


1. 采样频率视系统惯性而定,惯性小采样时间选小点,惯性大就选大点。

2.调整参数时先用比例控制(控制中起主要作用),同时调整采样时间,主要还是调整比例参数,将控制效果调到最好(自己认为的)。

3.增加积分控制部分,积分参数从小往上调,同时调整比例参数,将控制效果调到最好(自己认为的)。

4.增加微分部分,对于温度控制来说,微分参数还是小点好,系统惯性越温度突变可能性越小,也就是说微分的作用不是很大,就我自己的经验,如果微分明显起作用了,那一定是采样部分受到干扰(我做过的加热对象都比较大),现象就是PID输出变化很快。对微分的调节同时也要调节比例、积分参数,不过调节很小。


5.程序要注意采样误差是否合理。

 

4.3 流程图

 

下面是本次设计所用到的三个流程图。分别为主程序流程图、采样子程序流程图和PID算法子程序流程图。


该系统软件设计采用模块式结构,主要分为两部分:第一部分为主程序如图4-2,第二部分为定时采样及处理程序(包括控制算法实现)如图4-3,4-4。


(1)程序主要进行对数字I/O端口、定时器等初始化,功能键扫描。

(2)时采样和处理程序主要完成数据采集、滤波、变换、处理等功能。系统采样周期3s。

 

  

图4-2  主程序流程图                

图4-3  采样程序流程图

  

 

4-4  下位机

 

4-5  PID控制算法子程序流程图


 

单片机可以替代PLC吗?这个问题如同面粉能代替面条一样,答案是否定的。第一次听到这个答案可能很多人都有疑问,单片机明明功能那么强大,功能那么丰富为什么不能取代PLC呢?

生成海报
点赞 0

Abin

我还没有学会写个人说明!

相关推荐

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

Esp8266多功能点阵时钟(开源)

原文地址 多功能点阵时钟 更新 点阵时钟立创PCB工程已经完成,开源地址为: ESP8266多功能点阵时钟 - PCB制作分享 简介 很早就了解ESP8266了,当时也用这个搞过一些小demo,一直也没有想

基于STM32的高精度频率计设计

前言 本文记录了博主完成的一个课设作品(学分为3.5分),题目需要利用ARM做出一个高精度频率计。具体要求如下: 1)实现对10M以内数字信号频率的高精度测量&#xff0c