基于AVR单片机的监测系统设计

2021-07-11 08:16刘红梅谭传武
电子设计工程 2021年13期
关键词:阻值电源设置

刘红梅,谭传武

(湖南铁道职业技术学院电务学院,湖南株洲 412001)

随着物联网技术及5G 移动通信技术的不断商用及人们生活水平的不断提高[1-2],在工业、农业等实际生产场景中,温湿度、光照、噪声等因素能直接影响工农业生产的效果[3-4],市场上各类传感器能实时准确地监测环境参数[5],但往往监测的环境参数单一[6],且成本较高[7-8],鉴于监测与控制在日常生活中不断普及,比如空调、冰箱、教学用物理实验装置等都需要对各类参数进行监测与控制[9-10],该文结合现有监测装置的优缺点,采用AVR 单片机改进和设计了一种结构简单、成本低廉的监测系统,系统能实时、高效、准确地采集各类信息,在物联网、移动互联网及5G 商用的背景下,研究监测系统具有一定的实践意义[11]。

1 系统总体设计

系统硬件包括ATmega128 系统电路、液晶显示接口电路、电压电流模数转换电路和串行通信接口电路。所有的这些电路部分组合在一起构成一个下位机的硬件系统。系统硬件模块连接框图如图1所示。

图1 系统硬件模块框图

2 关键电路设计

1)主控模块

如图2所示,ATmega128选用了外部14.745 6 MHz的晶振,其工作频率既快又稳定[12],电源的+5 V 端与芯片的VCC 和AVCC 引脚相连、而0 V 端则连接到GND 和PEN 引脚,VCC 与GND 之间还连接有去耦电容,以滤除电源中的纹波[13],屏蔽外部干扰。

图2 ATmega128的最小系统电路图

2)显示模块

系统液晶显示接口电路设计如图3 所示。

图3 中电路的引脚与液晶屏引脚相连,外部复位引脚9与一个自动复位电路相连,当启动硬件时,可以对电路进行自动复位。D0~D7引脚与ATmega128的PA 口相连,在VEE、VO 和GND 端接了一个阻值为10 kΩ的电位器,对液晶屏的背光亮度进行控制。

图3 液晶显示接口电路

3)模数转换模块

传感器获取被测信号后转化为电压或者电流,通过双通道全差分模拟输入的AD7705 进行转换[15],通道1 为电压输入,如图4 所示,通道2 为电流输入,转化电路如图5 所示。

图4 电压转化电路图

图5 电流转化电路图

AD7705 最大测量电压为+2.5 V[16],当被测信号电压值过高,输入信号须先经过相应的降压或转换处理。图4 的电路中,测量电压是从Pad1 接头输入的,而串联电阻RAD1和电阻RAD2两端的电压即为所要测量的电压。

在第3小节中,诗人通过“乡愁是一方矮矮的坟墓”这一句式来表达自己对已逝母亲的无限哀思。如图2所示,在“乡愁是坟墓”这一看似隐喻但实为伪隐喻的结构中,我们无法通过由源域向目标域的映射直接从具体的“坟墓”获得对抽象的“乡愁”的语义解释,这是因为“坟墓”其实是转喻的源域或喻体,而要正确理解这一转喻喻体的涵义则需要我们在其ICM框架内给予解释。那么,诗人选用“坟墓”一词背后的ICM是什么呢?

在图5 的电路里,流过加热电阻器的电流是从Pad2 接头的引脚1 流入,再从引脚2 流出的。在这个两个引脚之间加入了一个阻值为0.5 Ω的电阻RAD3,相对加热电阻器的阻值来说这个电阻阻值非常小,可以忽略不计,对电流的变化不会产生影响。要得到电流值,只需要测量RAD3两端的分压,由于阻值是已知的,再使用欧姆定律便可算出电流值。

在图6 中,AD7795 使用了外部的晶振电路和自动复位电路,AD7705BR 使用SPI 总线与ATmege128进行数据传输,片选引脚4 通过ATmega128 来控制片选信号有效。

图6 AD7705BR模数转换电路

4)串行通信模块

串行通信的MAX232D 电平转换电路如图7 所示,电路中串行输入RXD,串行输出TXD 分别与ATmega128 的RXD0 和TXD0 连接。

图7 MAX232D电平转换电路

5)电源模块

系统电源电路原理图如图8 所示。

图8 系统电源电路原理图

采用半导体直流稳压电源供电,使用3 种共地电源,即+12 V,-12 V 和+5 V 的VCC,共地端为GND。硬件模块中除模数转换模块AD7705BR 使用+12 V和-12 V外,其他所有硬件模块都只是使用+5 V电源。

3 系统关键程序设计

1)协议格式定义

表1 协议格式定义

上位机发送和下位机返回的命令设计如表2所示。

表2 上位机发送和下位机返回命令

2)主控模块程序设计

ATmega128 初始化包括对各I/O 口、SPI 总线、定时器、以及USART 即串行异步通信口的初始化。

I/O 口:I/O 口的初始化就是设置各个I/O 口的输入输出方式,以及是否设置上拉电阻或初始化的输出是逻辑0 还是逻辑1。各个I/O 口的初始化程序如下:

SPI 总线初始化设置为:ATmega128 为主机模式;串行数据发送时,高位MSB 在前,LSB 在后;时钟速率为fck/16 即460k;SCK 空闲时为高电平,下降沿为起始沿,上升沿为结束沿,结束沿采样,下降沿设置,初始化程序如下:

定时器初始化设置为:TCNT0 的初始值;OCR0的匹配值;定时器中断允许;定器的时钟源分步设置。初始化程序如下:

串口初始化对USART0 进行设置,包括:发送和接收中断的充许;工作模式的选择;波特率的设置;奇偶校验;停止位和发送数据长度设置。USART0的初始化程序如下:

3)模数转换模块程序设计

AD7705 与ATmega128 数据传递通过SP 总线数据传递函数SPI_TranByte()进行,AD7705 初始化设置刷新周期、增益倍数、通道选择和是否为缓冲区方式。SPI_TranByte()函数和AD7705 初始化程序如下:

4)显示模块程序设计

ATmega128 对T6963C 的数据或命令的传递是通过数据发送函数SendData()和命令发送函数SendCom1()、SendCom2()、SendCom3()进 行。T6963C的初始化包括:设置文本或图形显示方式;设置图形显示方式的区域首地址和宽度;还有清屏即设置显示RAM 区指针地址为0000H。清屏函数ClearScreen()和T6963C 的初始化程序如下:

4 系统调试

采用串口调试工具完成了硬件调试,系统硬件通信正常,测试系统的功能如图9 所示,可以看出系统能实时显示温度的变化。

图9 系统功能测试

5 结论

该文设计了一种智能监测系统,完成了系统的软硬件设计,经过综合调试和测试,验证了该监测系统软硬件设计结构合理、性能可靠、操作方便。由于时间和实验条件的限制,该系统设计仍有一些缺憾和不足,没有更多地考虑下位机的抗干扰能力,还有待进一步完善。

猜你喜欢
阻值电源设置
四线制阻值检测电路实验研究
中队岗位该如何设置
励磁线圈对插入式电磁流量计的影响
Cool Invention炫酷发明
低电阻碳膜板制作及其阻值的优化
对一道电学实验题的思考
哪一款移动电源充电更多?更快?
阳光电源
本刊栏目设置说明
中俄临床医学专业课程设置的比较与思考