1、基于 ATmega128 与 GPRS 的远程数据采集系统的设计基于 ATmega128 与 GPRS 的远程数据采集系统的设计基于 ATmega128 单片机和 GPRS 的远程数据采集系统,用于实现远程无线信息以及各种现场数据的采集和传输。数据采集终端的控制模块由 ATmega128 单片机组成,它负责控制液晶显示、GPRS 模块MC39i、现场各种数据采集等模块的工作。MC39i 再将终端采集到的信息通过 GPRS 网络传输到上位机的数据中心分析和处理。该数据采集系统的研发为远程工业控制及实时现场数据监测提供了一个较好的解决方案。数据采集是获取信息的基本手段,数据采集技术己渗透到分析仪器
2、、地质勘探、医疗器械、雷达、通讯、测控等技术领域。远程传输手段的多元化和技术水平的提高,使远程数据采集技术有了广泛的应用。借助无线传输手段的远程数据采集系统,利用现有的GPRS 网络资源,发挥网络覆盖率高、传输特性好等优势,为现有数据采集系统提供一种便捷的无线数据传输方式,具有传输数据不受地域、气候、时间影响,工程造价和人力资源成本低,可靠性高,免维护等优点,代表着工业控制及现场监测等领域的一个发展方向。本文研究一种基于 ATmega128 单片机和 GPRS 技术的通用数据采集系统的设计方法,实现远程无线信息以及各种现场数据的传输。本系统能对各种环境或对象的温度、湿度、压力、电压等数据进行采
3、集,通过单片机处理,利用 GPRS 网络发送到监控中心,监控中心可显示监控对象的状态,可发出报警信号等。 系统硬件设计本数据采集终端模块采用 GPRS 无线通信技术和高性能微处理器技术相结合的方法实现现场参数实时检测和无线网络传输。模块实时检测各模拟量输入、各种类型开关量输入等参数,分析实测数据并做相应记录,该记录实时通过 GPRS 网络发送到管理中心。一旦发生报警,主动通过 GPRS 网络发送报警信息,监控中心的数据库可以查询历史记录。数据采集终端主要由以下几个部分组成:开关量采集模块、模拟量采集模块、GPRS 模块、MCU 模块和液晶显示模块,该数据采集系统的硬件结构方框图如图 1 所示。
4、 图 1 硬件结构方框图ATmega128 单片机ATmega128 单片机为基于 AVR RISC 结构的 8 位高性能、低功耗CMOS 微处理器。由于其先进的指令集以及单周期指令执行时间,ATmega128 的数据吞吐率高达 1MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾,为许多嵌入式控制应用提供灵活而低成本的方案。ATmega128 单片机具有 32 个通用工作寄存器,128K 字节的系统内可编程 Flash,4K 字节的 E2PROM,4K 字节的内部 SRAM,具有独立预分频器的实时时钟计数器,两路 8 位 PWM ,8 路 10 位ADC,两个可编程的串行 USAR
5、T,53 个可编程 I/O 口线,通过 JTAG接口实现对 Flash、EEPROM、熔丝位和锁定位的编程。数据采集电路 图 2 开关量采集电路图数据采集分为开关量的采集和模拟量的采集,开关量的采集电路如图 2 所示,外部开关量进入光电耦合器件 TLP521-4,TLP521-4的输出端连接到单片机的 I/O 口,供 CPU 查询外部开关量的状态。设计的模拟量采集电路中所示,模拟信号可以直接送到ATmega128 单片机内部模块 ADC,或经采样放大器 LF412 放大后再送ADC 进行转换。模数转换器ATmega128 单片机有一个 10 位的逐次逼近型 ADC。ADC 与一个8 通道的模拟
6、多路复用器连接,能对来自端口 F 的 8 路单端输入电压进行采样。单端电压输入以 0V(GND)为基准。器件还支持 16 路差分电压输入组合,两路差分输入(ADC1、ADC0 与 ADC3、ADC2)有可编程增益级,在 A/D 转换前给差分输入电压提供 0dB(1x)、20dB(10x)或 46dB(200x)的放大级。七路差分模拟输入通道共享一个通用负端(ADC1),而其他任何 ADC 输入可做为正输入端。如果使用 1x 或 10x增益,可得到 8 位分辨率。如果使用 200x 增益,可得到 7 位分辨率。ADC 包括一个采样保持电路,以确保在转换过程中输入到 ADC 的电压保持恒定。MC3
7、9i 模块GPRS 工业级模块 MC39i 是西门子公司推出的新一代 GPRS 模块产品,主要为语音传输、短消息发送和数据业务提供无线接口,特别适合于开发一些 GPRS 的无线应用产品,如监控、调度、车载和遥控等系统,也可以直接作为终端产品进行语音和数据的传输,使用范围十分广泛。MC39i 集成了完整的射频电路和 GPRS 的基带处理器,提供了完整的 GSM 和 GPRS 的无线接口,用户可以通过 RS-232 串口将其与自己的无线应用系统相连,并使用标准的 AT 命令对它进行控制,同时把采集的信息送到 GPRS 网络传输到数据中心。液晶显示模块利用液晶显示模块可以将 ATmega128 单片
8、机处理后的信息进行显示,方便查看现场数据。12864 E 液晶显示器是一 种具有 8 位并行接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,其显示分辨率为 12864,内置 8192 个 16*16 点汉字和 128 个 16*8 点 ASCII 字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,可以显示 84行 1616 点阵的汉字,也可完成图形显示。低电压低功耗是其又一显著特点。系统软件设计系统软件设计分为上位机和下位机的设计,下位机完成数据的采集和处理,然后由 MC39i 模块通过 GPRS 网络发送出去,上位机通过 MC39i 模
9、块接收 GPRS 网络传输过来的信息,由监控软件处理后进行实时显示。上位机也可通过 GPRS 网络传送控制信息到下位机。上位机监控软件设计上位机监控软件采用组态王(Kingview)软件,该软件由工程管理器、工程浏览器及运行系统三部分构成,是一种通用的工业监控软件。它融过程控制设计、现场操作以及工厂资源管理于一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现最优化管理,用户在企业网络的所有层次的各个位置上都可以及时获得系统的实时信息。它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。组态王软件建立应用工程的流程图如图 3 所示。 图 3 组态王软件建立应用工程流程图 图 4 主程序流程图 下位机软件设计下位机软件设计采用模块化设计,各个模块之间做到低耦合、高内聚。软件设计主要包括以下几个部分:单片机 I/O 口初始化,MC39i 模块初始化,定时器初始化,液晶模块初始化,外部开关量状态查询子程序,A/D 采集与转换子程序,网络部分子程序等,主程序里面调用各个模块,下位机主程序流程图如图 4 所示