当前位置: 首页 > article >正文

基于单片机与 PC 机通信的数据采集控制系统设计

摘 要 设计出基于单片机与 PC 机通信的数据采集控制系统方法 被控对象经传感器 电压变换电路 A/D 转换芯片与单片机相连, 可将现场参数信息传送至单片机 单片机经继电器驱动控制被控对象运行 单片机与 PC 机经电平转换芯片相连, 实现远程通信功能 该系统可以实时采集被控对象多种参数信息并送 PC 机处理 可以选择由 PC 机远程或单片机本地控制被控对象。
关键词 单片机 PC 串行通信 采集控制

0 引言

工业控制现场需要实时采集被控对象参数信息 ,以便于对被控对象进行实时监控, 并根据相应控制算法计算控制量, 完成相应控制任务 现代工业控制系统对控制准确性、 快速性 稳定性提出了更高的要求 ,所以工业现场迫切需要一种能完成多通道、 大容量 、高精度、 稳定性高的数据采集控制系统 。目前市场已存在数据采集控制系统, 但是一般存在功能单一、 采集通道少 采集速率低 操作复杂 并且对工作环境要求较高等问题。 有的采集系统只有几个通道, 而且量化精度只有 8 使得系统采集数据量小, 精度不高 同时 AD 转换芯片与嵌入式系统通信还采用并行数据传输方式, 占用较多的 I/O 口且控制较为复杂。 大多数采集系统选择将采集到的数据和内 置控制算法直接保存到嵌入式系统中去, 由于嵌入式系统本身资源的有限性, 因此无法胜任大容量 高精
度数据采集任务和精确 复杂的控制任务 现代计算机软硬件技术高速发展, 使得远程数据采集控制变得更加经济高效, 也便于将嵌入式系统灵活 方便和计算机大容量、 高速度全部发挥出来

1 系统组成

针对现有技术的不足 提出一种基于单片机与PC 机通信的数据采集控制系统 该系统可以实时采集被控对象多种参数信息并送 PC 机处理 可以选择由 PC 机远程或单片机本地控制被控对象 系统的结构如图1 所示
高性能多通道 AD 转换芯片可以实现大容量 高精度模拟数据采集。 单片机与 PC 机通信可以将庞大的数据处理和复杂的控制任务交给计算机来完成。 远程控制和本地控制模式选择切换, 使系统灵活性得到加强。 系统具有采集数据量大 精度高 控制方式灵活等优点。

2 系统硬件

2.1 单片机数据采集电路

单片机数据采集电路如图 2 所示 被控对象现场运行参数信息, 可能是温度 湿度 压力 流量等非电量信号需要经传感器转换电量的信号, 如果本身就是电量信号则可省略这一步。 转换完成的电量信号可能过大或是过小, 需要经电压变换电路转换到 A/D 转换芯片所能处理的范围, 再经 AD 转换芯片转换为数字信号。 A/D 转换由 11 通道 12 位高速 A/D 转换芯片TLC2543 来完成 其与单片机之间数据通信采用的是串行通信的方式, 只要进行 4 条信号线的连接即可 ,分别为片选信号 CS 时钟信号 CLK 数据移出 Dout 、数据移入 Din

2.2 单片机与 PC 机通信连接

单片机与 PC 机通信连接电路如图 3 所示 单片机与 PC 机之间采用串行方式通信 可以实现将单片机现场采集到的数据传输给 PC 也可实现 PC 机对被控对象的远程控制。
单片机串口的输入输出电平为 TTL 电平 它与PC 机串口的电气规范不同 必须进行 RS-232 电平和TTL 电平之间的转换 才可实现单片机与 PC 机之间的通信, 本例采用 MAX232 作为转换芯片 图中 C4 、C5、 C6 C7 MAX232 芯片电源变换电路的外接电容, C8 为电源去耦合电容 用来消除电源澡声影响
PC 机的 TXD 信号经 MAX232 RS-232 信号电平 转 换 为 TTL 电 平 送 单 片 机 RXD 引 脚 单 片 机 的TXD 信号经 MAX232 TTL 电平 转 换 为 RS-232 电平送 PC 机的 RXD 引脚 C1 C2 Y1 构成单片机的外接晶振电路, 电解电容 C3 和电阻 R1 构成单片机复位电路。

2.3 单片机显示装置

显示装置由 4 个共阳数码管组成 其中段选数据线直接和单片机一组 I/O 端口相连 位选数据线经驱动芯片 ULN2003A 和单片一组 I/O 端口相连 显示控制采用循环扫描的方式进行, 即逐一点亮一位数码管, 并高速切换 由于人眼的视觉停留特性 其看上去好像 4 个数码管同时稳定显示

2.4 控制方式选择电路

控制方式选择电路为一选择开关 开关打到不同位置, 对应不同引脚电压 进而选择系统是处于 PC机远程控制模式还是单片机本地控制模式。 若是选择单片机本地控制模式则由单片机根据内置算法进行控制, 若是 PC 机远程控制模式则由 PC 机根据算法库中的算法计算控制数据, 再将数据发送给单片机 ,由单片机负责解释执行。 选择后一种方法可以实现复杂算法控制, 精度较高 但控制过程也较为复杂 运行时用户可以根据需要选择控制方式, 提高了系统的灵活性。

3 系统软件

整个系统控制软件由两部分组成 分别为单片机端程序和 PC 机端程序 并且两部程序分别运行在两个不同实体上, 即单片机和 PC 机上 单片机端程序采用 C51 编写 PC 机程序采用 VB 编写

3.1 单片机端程序

单片机端程序主要包括系统初始化 A/D 转换 采集数据显示、 PC 机通信程序 系统控制等内容 系统初始化主要用于设定系统的初始状态, 以及中断初始化等。 A/D 转换程序主要内容 根据 A/D 转换芯片时序要求, 单片机利用软件模拟 SPI Serial PeripheralInterface) 操作
完成 A/D 数据的采集 控制程序主要是单片机根据内置控制算法计算控制数据或直接根据 PC 机远程传来的控制数据控制被控对象运行相关程序。
PC 机通信程序又包括发送程序和接收程序两部分。 发送程序采用查询的方式进行 即设置好串口工作方式、 波特率等通信参数之后启动串口 查询数据是否发送完, 发送完之后再发送下一字节 直到本次数据全部发送完成。 单片机通信接收程序采用串口中断的方式, 以提高 CPU 工作效率 流程图如图 4 所示 。单片机串口接收到一个字节数据则产生一次串行中断, 进入中断服务执行 由于发送中断和接收中断均可以产生串行中断, 所以进入中断首先判断是否是发送中断, 如果是则清中断标志位并结束 如果是接收中断, 则接收一个字节数据 并根据目前所处的控制模式进行控制, 控制完成之后返回

3.2 PC 机端程序

PC 机端通信程序采用可视化开发工具 VB 6.0 编写。 PC 机软件主要包括窗体设计 系统初始化 接收事件程序、 发送数据 文件存储 控制算法计算等内容。
接收事件处理是系统重要任务 其流程图如图 5所示。
如果采集数据需要长期保存 可以将数据保存到计算机文件中, 文件类型可以是文本文件也可以是数据库文件。 当需要对被控对象进行远程控制则读取控制算法文件, 计算控制数据 再将数据通过通信控件发送给单片机, 由单片机再负责解释执行

4 结语

介绍基于单片机与 PC 机通信数据采集控制系统的技术背景、 硬件设计 软件设计 给出系统详细实施方案。 该系统可以实时采集被控对象多种参数信息并送 PC 机处理 可以选择由 PC 机远程或单片机本地控制被控对象。 系统具有采集数据量大 精度高 控制方式灵活等优点。

http://www.kler.cn/a/594506.html

相关文章:

  • 2025 年 DevOps 工具全景解析:赋能高效研发与智能运维
  • C++语法之命名空间二
  • 【微服务】SpringBoot整合LangChain4j 操作AI大模型实战详解
  • matlab怎么读取par文件
  • 深入理解 SQL 事务:原理、应用与 MyBatis 配置
  • 循环神经网络(Recurrent Neural Network, RNN)与 Transformer
  • xxl-job 执行器端服务器的简单搭建
  • 【2025】基于springboot+vue的教务/课程/成绩管理系统设计与实现(源码、万字文档、图文修改、调试答疑)
  • ChatGPT、DeepSeek、Grok 与大数据:智能 AI 在数据时代的角色与未来
  • 使用Python在Word中创建、读取和删除列表 - 详解
  • 在.Net Core(.Net5)中使用开源组件SqlTableDependency来监听ms sqlserver的数据库数据变化
  • 谈谈 TypeScript 中的联合类型(union types)和交叉类型(intersection types),它们的应用场景是什么?
  • Android NDK --- JNI从入门到基础的全面掌握 (上)
  • JSON 解析中需要清理的危险字符
  • 【Linux】VMware17 安装 Ubuntu24.04 虚拟机
  • JavaScript 中的模块化开发:从 CommonJS 到 ES6 Modules
  • 如何处理 React 应用中的状态管理?
  • 什么是 React 的 Fragment?
  • OpenCSG GUI模型:引领Compute Use自动化新时代
  • 【SpringCloud】Eureka、LoadBalancer和Nacos