当前位置:首页 > 单片机 > 单片机
[导读]0 引言 单片机数据采集系统是指利用单片机对现场的各种信号,包括:非电量信号(如温度、压力、流量等),电信号(电压、电流),以及开关量,频率量信号等进行采集,存储,显示,传输的系统。目前,8位单片机由于其

0 引言
    单片机数据采集系统是指利用单片机对现场的各种信号,包括:非电量信号(如温度、压力、流量等),电信号(电压、电流),以及开关量,频率量信号等进行采集,存储,显示,传输的系统。目前,8位单片机由于其控制功能强大、品种多、价格低廉,正广泛应用于各个领域,特别是应用在数据采集,设备控制等方面,是单片机应用中的主流机种。本文采用台湾华邦公司生产的高性能Turbo-51系列单片机 W77E58,实现了一种基于单片机的通用数据采集和通讯仪的研制,具有较高的实用价值。为了使设计的数据采集仪应用方便,系统利用PTR2000无线数据传输模块与上位机进行通讯,以便能随时响应控制中心的PC机的数据上传命令,将采集到的数据实时上传给控制中心。

1 系统硬件设计
    本文设计的通用数据采集和通讯仪能够对各种现场设备的标准输出信号进行采集,包括传感器输出的0-5V/4-20mA模拟信号;开关量信号;频率量信号;此外系统还具有RS-485接口,以便能够与现场具有485接口的智能仪表相连接。为了实现良好的人机交互,系统扩展了键盘输入,液晶显示,实时时钟以及现场故障报警指示电路等模块。系统总体框图如图1所示。

1.1 电源模块电路设计
    在单片机数据采集系统中,电源的设计是非常关键的。本仪表设计采用电网和充电电池双电源供电。电源设计如图2所示。

    当电网电压正常时,220V交流电经过24V稳压电源,电解电容器C1滤波后的电压经二极管D1后分成两路,一路通过三极管Q1到7805三端稳压芯片,完成稳压输出+5V电压,供单片机W77E58等芯片所需的电源;另一路通过电阻R1对镍镉电池9V进行充电,充电电流选择约40mA。如果电网停电, C1放电为0V,这时,电池通过D2、Q1到7805向电路供电,使输出端仍有+5V电压,从而完成电网短时停电时,单片机后备电源的功能。
    二极管D1起隔离作用,使得当电网偶尔停电时,能够阻止电池电流流向24V稳压电源。稳压管D3(5.6V)的作用,是防止电池(+9V)过放电,即当电池放电下降到约6V时,因D3作用,三极管Q1截止,电池放电停止,此时单片机将停电。
1.2 实时时钟芯片DS12887
    为了能够实时显示系统时间以及实现按时间日期保存采集到的数据的功能,系统扩展了一片并行实时时钟日历芯片DS12887。DS12887是DALLAS半导体公司推出的实时时钟芯片,采用CMOS技术制成,把时钟芯片所需的晶振和外部锂电池相关电路集成于芯片内部。DS12887芯片具有微功耗、外围接口简单、精度高、工作稳定可靠等优点,在现代工业控制及智能仪器仪表中有着广泛的用途。
1.3 键盘接口电路
    为便于人机交互,采用专用键盘接口芯片8279,配合74LS138译码器,系统扩展了3×8=24键的键盘。键盘上设置有0~9数字键,以便输入各种信息。同时还设有各种控制按键。通过键盘能够控制对各种类型数据进行采集。为提高CPU的效率,键盘采用中断方式。
1.4 LCD液晶显示模块
    为便于实时显示采集的数据及人机交互,系统扩展了图文液晶显示模块MGLS-12032,MGLS-12032是由香港精电公司生产的内置SED1520控制驱动器的LCD模块,使用简单方便。液晶显示模块MGLS-12032与W77E58的硬件接口

    其中D0~D7与单片机的数据总线相连,A0、A1为单片机的P0口经74LS373地址锁存器后产生的低两位地址线,系统用74LS138译码器产生的Y5、Y6作为MGLS12032两个控制驱动器工作的选通信号。
1.5 模拟信号采集电路
    系统采用12位并行A/D转换器MAX197对传感器输出的0-5v/4-20mA 模拟电信号进行采集。MAX197是美国Maxim公司推出的多量程(本系统采用0-5V量程)、8通道、12位快速A/D转换器,采用逐次逼近工作方式,片内含有高精度的参考电压源和时钟电路,使它可以在不需要任何外部电路和时钟的情况下完成一切A/D转换功能,应用非常方便。并且MAX197内部具有输入跟踪/采样保持电路,其并行输出口很容易与单片机连接,仅需外接几个电容即可。

    MAX197与单片机的典型接口电路如图4所示。设计采用MAX197的CH0-CH6通道采集7路0-5V电压信号。而4-20mA电流信号则经过8选 1模拟开关CD4051轮流选通,再经灵敏电阻,放大器转化为0-5V电压信号后,进入MAX197的CH7通道进行模数转换,从而系统可以采集8路电流信号。
1.6 开关量采集电路设计
    系统通过一片8255芯片来扩展并行口。编程使8255的A口为输入,用于采集8路开关信号。B口为输出,用于8路开关量的输出。为了增强系统抗干扰能力,开关量输入/输出通道都采用光电隔离。开关量采集电路图略。
1.7 频率信号测量电路设计
    本系统利用8253芯片的定时器/计数器1和2对两路待测脉冲个数进行记数,8253的定时器/计数器0用来定时,利用W77E58有多个中断源的特性,定时结束产生中断,在中断服务程序中,读取8253定时器/计数器1和2的当前记数值,通过计算便可得到待测频率量。

    频率信号测量电路如图5所示。其中D0-D7与W77E58数据总线相连,单片机P2口高三位经138译码器译出的Y0与8253的CS引脚相连,用来选通8253芯片,8253的A0、A1直接与低二位地址线相连,因此8253的端口地址为1FFCH~1FFFH。
1.8 串行通讯设计
    利用MAX485芯片,W77E58单片机的增强串口用来扩展485接口,以便能够与工业现场具有485接口的智能仪表相连接。单片机与MAX485芯片的连接只需要外加几个电阻,非常简便,在此不再详述。
    为了使设计的数据采集仪应用方便,系统利用PTR2000无线数据传输模块与上位机进行通讯,以便能随时响应控制中心的PC机的数据上传命令,将采集到的数据实时上传给控制中心。PTR2000是一种超小型、低功耗、高速率的无线收发数据传输模块。其通讯速率最高可达20Mbit/s,也可工作在其他速率,如4800bit/s、9600bit/s。系统无线数据传输原理图如图6所示。

    PTR2000可直接与单片机的串口TXD、RXD相连接。PTR2000无线MODEM的DO和DI引脚分别连接单片机串口的RXD和TXD,这样单片机就可以和无线数据传输模块进行串行通信。PTR2000的PWR脚和单片机的P1.0脚相连,以便对无线数据传输模块的电源进行管理,TXEN与单片机的P1.1脚连接,控制PTR2000无线收发模块的收发状态转换。上位机通过PTR2000与单片机进行实时通讯。由于上位机串口通常采用RS-232 电平,而单片机串口使用的是TTL电平,故PTR2000与上位机连接时必须将TTL电平转换成RS-232电平,系统采用MAXM公司的MAX232芯片进行转换。上位机用串口的RTS与PTR2000的TXEN连接来控制PTR2000无线收发模块的收发状态转换。

2 系统软件设计
    系统软件采用模块化设计,主程序首先对各接口芯片进行初始化,然后分别调用各个子程序模块以进入各个数据采集子系统,并将采集到的数据存储在32K字节的串行E2PROM AT24C256中,以备控制中心查询,同时将对应的数据在液晶显示器上显示。如果系统接收到上位机的数据上传命令,就将存储在E2PROM中的数据通过 PTR2000发送给PC机。系统主程序流程如图7所示。

    串口通信程序中双方通信协议是至关重要的,这关系到无线数据传输的可靠性,本系统约定双方的通信协议格式如下:串行通信使用单片机的内部定时器/计数器1 作为波特率发生器,本系统波特率设定为4800 bit/s;帧格式为1位起始位,8位数据位,1位停止位,无奇偶校验;通信采用中断方式;上位机采用COM 1通信。在设计时,数据传输通道也采用光电隔离来提高系统的抗干扰能力,并且采用了CRC校验以确保数据传输的准确。单片机系统初始化时,将单片机的 P1.1脚设置为低电平,这就可使得在默认状态下,PTR2000处于接收状态,以便时刻监听上位机的数据上传命令。当接收到上位机的命令后,中断服务程序将数据从单片机数据缓冲区取出,同时将模块的接收状态切换为发射状态,转换过程所需时间约5ms,然后将这些数据以FSK的调制形式发射出去, PTR2000模块随后恢复为接收状态。从单片机系统发射的数据经上位机系统中的PTR2000接收,由RS232接口进行电平转换,送进上位机,上位机对数据进行分析和处理后,向单片机系统发送一个确认数据包,以确认单片机系统数据包的正确性。上位机接收完数据后,它的PTR2000模块又恢复为常发射状态。如果数据在传输的过程中有数据丢失,上位机将要求单片机系统重新发送数据,直到数据全部正确为止,串行中断服务程序如图8所示。

3 结束语
    本文利用8位单片机设计的通用数据采集系统,可以作为工业现场的远程监控终端来使用,也可以方便的设计成便携式智能数据采集和通讯仪表,由于数据传输采用了无线方式,使其能够非常广泛的应用于工业上需要数据采集的场合,具有比较高的实际应用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

串口作为单片机开发的一个常用的外设,应用范围非常广。大部分时候,串口需要接收处理的数据长度是不定的。那么怎么才能判断一帧数据是否结束呢,今天就以STM32单片机为例,介绍几种接收不定长数据的方法。

关键字: 单片机 串口 STM32

摘要:目前,我国的沙漠及荒漠化面积仍然较大,沙漠地带的植被种植情况并不能够被很好地监测。针对这一问题,设计了一种防风固沙装置,该装置的核心为Arduino主板及辅助传感器组件,具有数据采集及显示功能,能够采集土壤湿度、环...

关键字: 防风固沙 数据采集 数据显示

单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段。单片机由以前的1位、4位、8位、16位,发展到现在的32位甚至64位。当前国内MCU厂商已有上百家,对标进口芯片的情况非常严重,导致国内MCU产品将陷入同质化...

关键字: 单片机 MCU 市场

蓝牙设备在生活中无处不在,但是我们也只是将其作为蓝牙模块进行使用,发送简单的AT命令实现数据收发。那么,像对于一些复杂的使用场合:“车载蓝牙”、"智能手表"、“蓝牙音箱”等,我们不得不去了解底层的蓝牙实现原理。

关键字: 蓝牙 无线电技术 通讯

摘要:针对我国智慧建筑中能耗数据远程采集的问题,将无线485数据通信模块与移动通信网络数据采集模块相结合应用于建筑能耗仪表数据采集过程中,在对《户用计量仪表数据传输技术条件》和《多功能电能表通信协议》进行研究的基础上,开...

关键字: 建筑能耗 多网融合 数据采集

(微控制单元 MCU(Microcontroller Unit),又称单片机,是把中央处理器(CentralProcess Unit; CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、US...

关键字: 单片机 芯片 CPU

在疫情的影响下,出门后、用餐前使用酒精消毒已成了人们的日常,而酒精喷雾机也因此变得十分热销。为了避免交叉感染的风险,自动酒精喷雾器也就应运而生。不同于传统手动喷雾器不美观、手部接触不卫生的bug,此款自动感应酒精喷雾器使...

关键字: 芯岭技术 方案开发 解决方案 单片机

在实际的单片机控制系统中,有时候会使用数字逻辑芯片对单片机和受控元件进行隔离,以保护单片机,或者令单片机更好地对后级进行控制。

关键字: 单片机 数字逻辑芯片 受控元件

MH32F103AVET6使用高性能的32位内核,内置了多达2个高级定时器、10个通用定时器、2个基本定时器、3个12位的ADC、2个12位的DAC,还包含标准和先进的通信接口包括:3个SPI接口、2个I2S接口、2个I...

关键字: 单片机 MCU

最近由于换季,天气突然的转凉,大家也是直呼好冷。天冷了自然是要注意防寒保暖。一个能够当充电宝用的暖手宝会是你最好的陪伴。暖手宝是一种非常便捷易用的发热工具,并且体形小巧,可以随身携带并轻易握在手中,也可以放置在身上的其它...

关键字: 芯岭技术 方案开发 解决方案 单片机

单片机

21600 篇文章

关注

发布文章

编辑精选

技术子站

关闭