基于STM32自制三菱PLC之软硬件设计

 本帖最后由 Aguilera 于 2019-12-10 22:02 编辑

前言
大家好,我是川楠。本次打算使用STM32来DIY一个PLC。
PLC主要适合电工以及机械相关的人群。其主要用在钢铁、石油、化工、电力、建材、机械制造等各个领域。其具有高可靠性、抗干扰能力强、易学易用、等特点。

PLC的体积一般都是比极大的,其安装固定在C45导轨,现在的PLC功能越做越强大,有以太网通讯模块、CAN通讯模块、MODBUS通讯模块,拓展节点控制模块等等。配套软件也十分的强大,稍微配置一下,即可完成设计,所以非常适合电工、机械相关的开发人员使用。
PLC内部的电路,实际上也是有单片机(或者CPU等)和辅助驱动电路组成,写入厂家的配套底层驱动软件。用户开发PLC也仅仅是对应用开发。为了更好的是适应恶劣条件,所以PLC在硬件和软件设计上都下足了很多的功夫,因此,其价格相比单片机开发来说,其费用也不低。

本次我使用STM32F103RDT6单片机来仿制三菱的FX2N型号的PLC。这款PLC比较基础的,很老的、功能比较单一(它的地位可能和AT89C51差不多),但是适合PLC入门和DIY。

原理图设计
一般在在工业上,直流电源大多采用的是24V或者12V。

电源我采用的一个二极管进行防反接,主要是这里电源电流也不高,没有必要使用MOS管。EARTH是一个简单的屏蔽地。电源经过一个共模线圈去掉共模干扰。使用一个光耦,进行电源检测。

输入24V电源,经过TPS5430芯片转化为5V,最后用过LDO输出3.3V供单片机相关的电路使用。

复位电路使用的是外部专用的复位芯片MAX809,和RC复位电路相比,其可靠性更好。在快速开关机时,由于电容上次放电并没有释放完毕,导致单片机启动异常,而使用复位芯片则能够很好的解决这一问题。

这个就是单片机管脚定义电路。

LED指示灯电路,EEPROM存储电路,以及RS232调试电路,这个RS232电路接口主要是用于与三菱的PLC开发软件相连的。

ADC采用的是单片机自带的ADC,电路设计使用的是LM358运放,将外部输入电压按照一定的倍数进行缩放,以便单片机进行采集。在我的这个电路板上有三路这个样的电路。

输入电路采用了PC817C进行了光耦隔离。4.7K电阻进行了限流,注意光耦的发光二极管的电流一般采用10mA即可,具体可以看手册。1N5819W的二极管主要是起到保护作用。当输入信号接反了的之后则通过这个二极管进行释放。避免损坏光耦,这个光耦的反向击穿电压只有6V。

输出的话,采用的是达林顿管+继电器的方式。由于达林顿管内部集成了方向二极管,所以,这里就可以不用担心继电器的反向感应电动势的问题。
最后,大致的看下整个电路的逻辑关系。

PCB设计
经过一番折腾,最后定稿的PCB设计如下图所示。

然后,送去PCB板厂打样,采购相关的电子元件,准备进行手工焊接。又是一番折腾,终于焊接完成,如下图所示。

这里给大家一个经验,焊接完成之后,建议用热风枪将每个元件在吹一遍,该补锡的地方进行补锡,有毛刺的地方,可以加点助焊剂等,像我这种有强迫症的,我还要将贴片电阻电容顺便摆一下,让其位置对齐。最后在用洗板水洗一下。

软件编程
想要PLC工作,还必不可少需要一个底层软件,不然这和单片机开发没什么区别,不能支持PLC的开发软件和方式。
所以这里需要对PLC的指令进行一个转换和翻译。
这里也没啥好说的,其实网上针对FX2N的PLC也有很多的代码,稍微移植和修改下就可以了。
将管脚对应到自己设计的管脚即可。

程序验证
将程序下载到单片机之后,如何验证程序的正确性呢?
可以使用PLC的编程软件。三菱这款PLC的编程软件支持有两款,GX Developer和GX Works软件,在三菱官网可以下载。
这里我使用的是GX Works2。
启动软件,选择和合适的型号,建立对应的串口连接:

最后,点击“通讯测试”,弹出如下窗口。

可以看到,这个软件已经识别到我们自制的PLC了。
关于PLC的使用,一般都是用的是梯形图编程。这个比较简单和直观,下图仅为一个示例图片。

(0)

相关推荐

  • STM32单片机开发板硬件原理图和PCB资料分享

    尊敬的各位小伙伴,经过验证,STM32单片机开发板的硬件都已经调通,硬件原理图和PCB可以发布了,今天就把原理图资料和PCB资料发给大家. 下载内容 SCH原理图和PCB文件都是用Altium Des ...

  • PCB布板时如何批量成簇摆放元器件

    在将元器件更新至PCB文件后,我们需要对元器件进行合理摆放以便于布线.我们可能会对着原理图将元器件一个一个根据功能块摆放在一起,如果工程较大,光摆放元器件就要花掉大量时间,有没有简便方法可以批量的将一 ...

  • 基于故障安全的西门子PLC信号交互设计

    在实际项目中,两台设备之间需要信号交互的情况是非常常见的.这种信号的交互一般有两种方式: ①硬接线方式:双方通过中间继电器和硬接线实现信号交互.一方控制继电器的线圈,另一方连接继电器的触点到自己的数字 ...

  • 【方案推荐】基于STM32的三维旋转显示平台设计(立体成像)

    电路设计技能 本公众号主要用户为从事电路设计的硬件工程师,发布与设计技能.最新技术.最新产品等相关的技术文章,涉及PCB.FPGA.模拟电源.嵌入式.测试测量.开源平台.人工智能等相关领域. 552篇 ...

  • 基于STM32图像智能处理平台的设计开发

    随着人工智能和5G互联网的普及,物联网.智慧生活已经逐渐走入人们的生活.但是目前的智慧城市.智慧家居的普及需要一套可以快速构建整套硬件.软件相互结合的平台.而随着机器学习技术的发展,传统方式以其实现周 ...

  • 【学术论文】基于STM32的多源数据采集板卡设计

    摘要: 以STM32F429芯片为控制核心,实现了多源数据采集板卡的设计.制作.调试及驱动软件的编写.板卡具有2路独立CAN总线.2路独立RS485.4路RS232.8路输入和8路输出可配置GPIO端 ...

  • 基于STM32、FreeRTOS低功耗设计思路和原理

    如今电池供电的产品很多,电池供电通常设计到一个问题,那就是低功耗. 本文为大家讲讲基于STM32.FreeRTOS实现低功耗思想和原理. 嵌入式专栏 1 低功耗设计常规思路 应用中使用的 RTOS 一 ...

  • 三菱PLC高级指令100讲(自制时钟)

    我们在写程序的过程中经常遇到这样 的场景:时间继电器T的量程不够用(T的量程只有三千多秒),当我们用来计时很长的时间的时候怎么办呢?用什么来计时呢? 比如说,我们卖机器给别人,然后我们要求客户开机累计 ...

  • 学术︱基于STM32单片机测风系统的设计

    中国电工技术学会定于2016年7月10~11日在北京铁道大厦举办"2016第十一届中国电工装备创新与发展论坛",主题为"电工行业十三五规划研究与解读",并设&q ...

  • 【好设计论文】基于STM32的多通道数据采集系统设计

    摘要:针对地质灾害监测领域对数据采集系统的低功耗与实时性要求,提出了一种基于STM32F103和ADS1256的多通道数据采集系统,可实现对地质灾害现场泥水位.地声.次声.位移等多参数的实时在线数据采 ...

  • 不多见的三菱PLC应用实例,速看!

    该案例适用于各种生产线设备.压入机.冲压机.印刷机.立式成型充填封口机.卧式成型充填封口机等. 1 传送带驱动轴1 2 传送带驱动轴2 (A) 玻璃窗安装工程(无人) (B) 安装座位工程(有人) ( ...