• 工作总结
  • 工作计划
  • 心得体会
  • 领导讲话
  • 发言稿
  • 演讲稿
  • 述职报告
  • 入党申请
  • 党建材料
  • 党课下载
  • 脱贫攻坚
  • 对照材料
  • 主题教育
  • 事迹材料
  • 谈话记录
  • 扫黑除恶
  • 实施方案
  • 自查整改
  • 调查报告
  • 公文范文
  • 思想汇报
  • 当前位置: 雅意学习网 > 文档大全 > 公文范文 > 正文

    基于AVR单片机的物联网可编程逻辑控制器设计

    时间:2023-06-22 19:30:04 来源:雅意学习网 本文已影响 雅意学习网手机站

    陈永昕

    (吉林工业职业技术学院智能制造学院,吉林 吉林 132013)

    目前,市场上可编程逻辑控制器(PLC)的品类繁多,如信捷、汇川等国内主流品牌在性价比和稳定性上具有一定的优势,是很多控制技术人员首选控制器。然而,在面对一些点数较少的开关量数据采集和控制应用上,通用型PLC 无论是从成本还是从功能上考虑都存在大材小用的痒点,尤其是加上需要通过无线通信方式进行数据传输,更凸显了通用PLC 的系统臃肿、投入成本较高。

    为此,设计了一种以单片机为主控芯片的简易可编程逻辑控制器,并具有无线通信组网功能。该设计方案可使用多种编程方式进行程序设计,降低了应用推广门槛,非常适合在少量开关量采集和控制方面运用物联网技术。

    图1为硬件电路总体设计框图。系统核心部分共分为四个单元:主控单元、输入单元、输出单元和通信单元,所有单元均通过供电单元进行统一供电。从理论上而言,通信单元可以选择任何具有TTL 电平UART 串口的无线通信模块,以实现无线通信甚至组网功能,但是基于无线通信组网难度和普适性的考虑,后续设计首选ZigBee和LoRa 两方面技术。

    图1 控制器电路总体框图

    3.1 主控单元电路设计

    控制器主控芯片采用AVR 单片机Atmega328 作为主控芯片。该芯片闪存容量32 KB,集成了I2C、SPI、USART 接口,共三个定时器(其中一个16 位,两个8 位),芯片总共28 个引脚,芯片I/O 接口数量足够支持8 输入和8 输出开关量接口使用。与其他8 位单片机相比,该芯片能够使用的编程语言种类较多。具体最小系统电路原理图如图2所示。

    图2 单片机最小系统原理图

    最小系统电路是单片机芯片能够工作的基本电路结构,包括复位电路、时钟电路和电源三部分。单片机最小系统属于固定模式的电路,一般不需要使用者具体了解其功能就可以直接使用,因此本文对其具体功能不再赘述。

    为辅助控制进行程序调试和运行状态显示,使用电阻和LED 串联设计了运行状态指示电路。由电源直接进行供电,由于Atmega328P 芯片I/O 口内部有20KΩ 的上拉电阻,LED 负极端连接至单片机PC4 引脚上,通过拉低电平驱动LED 发光,具体如图3所示。

    图3 运行状态指示电路

    3.2 输入单元电路设计

    输入接口电路设置8 路开关量输入通道,CN2 为输入接口端子,可对外提供24 V 直流电源并作为传感器电源接口使用;
    输入端使用光耦作为隔离,将输入外设24 V 电路同控制核心单片机5V 电路进行隔离;
    每个信号输入端配有一个LED 作为信号指示,具体如图4所示。

    图4 输入接口电路

    3.3 输出单元电路设计

    CN1 为输出端接线端子,端子上可提供24 V 直流电压,用于输出端负载供电使用;
    每个输出端口使用光耦进行隔离,将5 V 电路系统和24 V 电路系统进行光电隔离;
    每个输出口上配有一个LED 用于输出接口信号指示,具体如图5所示。

    图5 输出接口电路

    3.4 通信单元电路设计

    AVR 单片机可通过UART 串口进行程序下载,电路板上预留的程序下载接口U2 可作为通信模块的接口使用;
    通过串行口同ZigBee 或者LoRa 等无线模块进行通信,以实现控制器的无线通信功能,具体如图6所示。

    图6 通信接口电路设计

    3.5 供电单元电路设计

    3.5.1 电源电路设计

    控制器主电源采用24 V 直流电源供电,主控芯片和通信模块均使用直流5 V 电源供电,因此需要对电源电压进行降压,本设计则采用LM2596S 降压模块进行降压调压,具体如图7所示。IN+和IN- 为电压输入端,输入直流电压范围3.2~46 V,输入电压必须比输出电压高1.5 V 以上;
    OUT+和OUT- 为电压输出端,输出直流电压范围1.25~35 V,电压连续可调,转化效率高,最大输出电流为3 A。通过电位器调节模块电压,逆时针方向调节时为降压,顺时针方向调节时则为升压。

    3.5.2 电源上电指示电路

    电源上电指示电路使用电阻和LED 串联5 V 供电,电源上电则LED 发光指示,具体电路如图8所示。

    图8 电源上电指示电路

    本设计中的控制器可使用的编程语言较多,其中图形化语言和梯形图编程是本设计重点推荐的。图形化编程语言的适用年龄段较宽,即使是具备少儿编程图形化语言编程基础的儿童都可使用该控制器编写程序,而对于习惯PLC 梯形图编程的技术员而言,可继续直接使用梯形图进行程序编写。

    4.1 传统编程语言

    AVR 程序编写应用最广泛的编程语言是C语言和汇编语言,其中C 语言在单片机嵌入式系统开发领域具有更多的用户群。这两种语言均要求程序员具有较高程序编写经验,并且学习难度相对较大。

    4.2 图形化编程语言

    4.2.1 ArduBlock 等类似图形化语言

    以ArduBlock 为代表的图形化编程语言大幅度降低了程序编写难度,因而比较适合程序设计零基础的人员使用。近几年,该程序设计的技术方案更是被大量优化升级为少儿编程的主流语言。

    Atmega328 芯片被用于ArduinoUno 模块的主芯片设计,因此本设计中控制器也使用ArduinoUno 的所有开发资源进行程序设计,图形化编程界面如图9所示。

    图9 图形化编程界面

    4.2.2 FlowCode 流码语言

    FlowCode 适用于电子和机电系统开发的高度集成开发环境(IDE),并且无论是专业人员还是学术人员,都可以快速掌握单片机嵌入式系统的程序开发。此外,FlowCode 还允许全仿真(包括C 代码仿真),用户可以将C 代码转换成流程图和其它编程语言。图10是FlowCode 软件的编程界面。

    图10 FlowCode流码程序界面

    图10中类似程序流程图的结构即为FlowCode 流码程序,因此只要能够看懂程序流程图,就可以进行嵌入式程序设计。

    4.2.3 Proteus 可视化编程

    Proteus 软件是单片机开发人员熟知的一款仿真软件,从8.6 版本开始增加了可视化程序设计功能Visual,该功能是面向Arduino 平台进行程序设计的一种图形化语言,因此也可以用于本控制器的程序开发,Proteus 仿真界面和Visual程序设计界面如图11所示。

    从图11可以看出,该图形化程序与FlowCode 流码程序设计思路类似,均是类似于程序流程图的编程语言,因此该方法对于程序员程序设计基础要求不高,非常容易掌握。

    图11 Proteus仿真界面和Visual程序设计界面

    4.3 梯形图语言

    LDMicro 是一款可用于AVR 和PIC 单片机的编程软件,LDMicro 梯形图编程界面如图12所示。

    图12 LDMicro梯形图编程界面

    该软件使用梯形图进行程序设计,能够将梯形图逻辑编译生成适用于AVR 和PIC 单片机的HEX 文件。基于该功能使用PLC 的自动化工程师,因此较为容易掌握程序设计方法。LDMicro软件部分版本的源代码有开源版本,因此程序设计工程师可以结合本控制器硬件设计方案和LDMicro 源代码来进一步完善上下位机系统,以形成更为完善的产品。

    本设计中的控制器功能较为简单,适合简单逻辑控制应用,具有成本低、搭建系统迅速的优点。由于在无线通信方面使用常见的工业通信协议,会使得程序开发变得复杂,因此结合上述软硬件设计方案设计出一种既简单实施又可以保障通信可靠稳定的通信协议方案。该协议方案的协议帧由包头、地址、命令帧、数据帧、校验帧和包尾6 部分组成,如表1所示。

    表1 协议帧数据格式

    包头、地址和包尾均为一个字节的十六进制数,数据帧和校验帧可以根据实际需要定义数据长度,校验帧存储的是地址和命令帧所有十六进制数的求和值。通信发送端和接收端同时使用该协议,接收端接收完包头和包尾所有数据后,再进行校验对比,如果收到的数据校验和同接收到的数据帧中交验帧一致,则说明接收数据正确。

    目前,物联网技术工程实践以无线通信为主,这使得物联网终端具有安装简单、便于移动状态使用等优点,因此为大量的多终端实施数据集中采集和管理提供了技术上的可行性和工程安装的便利性。对于本设计中的控制器,推荐使用ZigBee 和LoRa 技术来实现无线组网功能,通过图6预留的串行通信接口即可实现有线组网通信,也可直接挂接Zigbee 和LoRa 无线通信模块。通常ZigBee 用于近距离通信,而LoRa 则用于远距离通信。

    6.1 ZigBee 组网

    ZigBee 是基于IEEE802.15.4 标准的低功耗局域网协议,作为一种近距离、低复杂度、低功耗、低速率和低成本的双向无线通讯技术,主要用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输,以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用,可工作在2.4 GHz(全球流行)、868 MHz(欧洲流行)和915 MHz(美国流行)三个频段上,分别具有最高250 kbit/s、20 kbit/s 和40 kbit/s 的传输速率,其传输距离在10~75 m 范围内且可以继续增加。本设计在实际应用中主要采用ZigBee 网络结构,具体如图13所示。

    图13 ZigBee组网网络结构

    6.2 LoRa 组网

    LoRa 是一种LPWAN 通信技术,也是美国Semtech 公司采用和推广的一种基于扩频技术的超远距离无线传输方案。该方案改变了以往关于传输距离与功耗的折衷考虑方式,而是为用户提供一种简单且能够实现远距离、低功耗(电池寿命长)、多节点、低成本和大容量的系统,进而扩展传感网络。目前,LoRa 主要在全球免费频段运行,包括433 MHz、868 MHz、915 MHz 等。图14为本设计在实际应用中所使用的LoRa 网络结构。

    图14 LoRa组网网络结构

    本设计中的这种可用于物联网领域的小型可编程逻辑控制器产品,不仅可以进行网络终端简单地开关量逻辑控制,还降低了逻辑控制成本,并为不同程序设计技术水平的工程技术人员提供了适合的程序设计方案,设计人员可根据实际需要对硬件系统进行增减I/0 点配置。目前,本设计方案主要应用在开关量输入输出状态需要远距离传输显示或者控制的场所,如生产线上开关量报警状态、开关量传感器信号、多开关量输入和多开关量输出的逻辑控制等远距状态显示或输出控制。

    猜你喜欢图形化编程语言电路设计基于Arduino图形化编程的教学应用研究电脑知识与技术(2022年9期)2022-05-10基于JavaScript编程语言之 闭包技术在焦点轮播上的应用中国新通信(2022年3期)2022-04-11一种车用醉驾检测电路设计电子制作(2019年13期)2020-01-14Java编程语言的特点与应用漳州职业技术学院学报(2019年1期)2019-11-16Altium Designer在电路设计中的应用电子制作(2019年16期)2019-09-27负反馈放大电路设计电子制作(2019年23期)2019-02-23LKJ自动化测试系统图形化技术研究铁道通信信号(2018年1期)2018-06-06浅谈不同编程语言对计算机软件开发的影响电子制作(2018年1期)2018-04-04开漏输出比较器的峰值检测电路设计厦门理工学院学报(2016年1期)2016-12-01面向对象Web开发编程语言的的评估方法现代计算机(2016年12期)2016-02-28

    推荐访问:可编程 单片机 联网

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章