找回密码
 立即注册
查看: 1803|回复: 6

开源一个ModbusRTU模块 8DI/8DO继电器输出 | RS485

[复制链接]
  • TA的每日心情
    奋斗
    4 小时前
  • 签到天数: 56 天

    [LV.5]常住居民I

    2

    主题

    149

    回帖

    213

    积分

    中级会员

    积分
    213
    发表于 2023-4-19 12:40:27 | 显示全部楼层 |阅读模式
    硬件设计方案:
    1、电源采用12V/24V供电,降压IC使用XL1509-5.0E SOIC-8,电源反接保护使用SS24二极管实现。
    2、采用STC8C2K32S2 LQFP-32单片机做主控,使用USART2端口(P1.0、P1.1)通信,使用BL3085 SOIC-8转为RS485接口,P1.2用于控制BL3085的收发模式,通信接口为非隔离方式,配有TVS。
    3、开关量输入端口使用双向光耦LTV-354T进行隔离,1个公共端8个输入端口。
    4、开关量输出采用ULN2803驱动8路继电器,继电器使用12V/24V需供电电压一致,继电器使用JQC-3F规格的即可,引出三个端子公共端CO、常开点NO、常闭点NC。
    软件设计方案:
    1、Modbus-RTU 地址设置范围 1~255,地址0为广播地址(只接收数据,不返回任何数据及错误状态)。
    2、Modbus-RTU 支持离散输入功能指令02H(读),离散输出功能指令1H(读)05H(写单个位)0FH(写多个位),保持寄存器功能指令03H(读寄存器); 06H(写单个寄存器); 0FH(写多个寄存器)。

    3、Modbus-RTU 寄存器地址分配:
    //===========================================================================================//
    【离散输入】
    【10001】——X00
    【10002】——X01
    【10003】——X02
    【10004】——X03
    【10005】——X04
    【10006】——X05
    【10007】——X06
    【10008】——X07

    【离散输出】
    【00001】——Y00
    【00002】——Y01
    【00003】——Y02
    【00004】——Y03
    【00005】——Y04
    【00006】——Y05
    【00007】——Y06
    【00008】——Y07


    【保持寄存器】
    【40001】—— 1(默认值)~255 Modbus-RTU Slave 地址,写寄存器超出范围则自动限制为默认值
    【40002】—— 0(4800)、1(9600默认)、2(19200)、3(38400)、4(57600)、5(115200) ,写寄存器超出范围则自动限制为默认值
    【40003】—— 0(无校验)、1(奇校验)、2(偶校验),写寄存器超出范围则自动限制为默认值
    //===========================================================================================//
    4、串口参数 波特率支持4800、9600、19200、38400、57600、115200。

    5、串口参数 停止位1位固定。
    6、串口参数 无校验模式数据宽度8位,奇/偶校验模式数据宽度9位其中1位为校验位实际有效数据依旧是8位。
    7、串口参数 校验方式支持无校验、奇校验、偶校验。
    8、启用内置看门狗超时时间约200ms。
    9、参数保存到MCU内置FLASH中,上电过程校验设置参数,校验方式为CRC8 校验结果正确则进行相应配置,数据错误则复位参数即:地址为1,波特率9600,停止位1位,数据位8位,无校验模式。
    不足之处:
    1、设计未用使用隔离RS485接口。
    2、RS485接口没用加PPTC以及气体放电管。
    3、电源未设计PPTC板级短路后影响总电源。
    方案不足的地方还请大家赐教,有错误的地方可以指出,共同交流学习!
    参考图片:
    1、PCB 3D图
    微信图片_20230417143630.png


    2、PCB 2D图

    微信图片_20230417143639.png

    3、PCB 装配图

    微信图片_20230417143718.png

    4、原理图

    微信图片_20230417143803.png

    开源方式:
    1、提供硬件设计源文件(AD工程打包含原理图、PCB、BOM源文件)。
    2、提供烧写文件即HEX文件(需要等等,最近项目多空的时候会补充上!!!请耐心等待)。
    XJ-MBRTU-8DI8DOR.zip (15.87 MB, 下载次数: 119)
    //==========================================================================================//
    2023年04月20日 更新贴
    1、程序测试
    微信图片_20230420210828.png
    2、烧写文件下载时选择内部IRC为24.0MHz
    MBRTU_8DI8DO_V1_0_0_20230419.zip (7.7 KB, 下载次数: 110)

    //==========================================================================================//
    有问题可以联系版主Q1521498157



    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-24 13:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    643

    回帖

    1086

    积分

    超级版主

    积分
    1086
    发表于 2023-4-19 15:39:04 | 显示全部楼层
    本帖最后由 STCAI-32位8051 于 2023-4-19 15:50 编辑

      楼主大牛!现STC  ModBus + CANOpen,要啥有啥, STCAIMCU.com 大生态建设。后期楼主有时间可以考虑移植到STC32G12K128上,期待您更多的技术大作!
    ModBus 有了,ModBus + FreeRTOS / STC32G12K128
    CANOpen 有了,CANOpen + FreeRTOS / STC32G12K128


    STC 实时操作系统 上的大型 软件系统 应用 - 例程包 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区  https://www.stcaimcu.com/forum.p ... 1530&extra=page%3D1
          

    STC 全部 【免费 + 包邮】 送:
    1,芯片:1T 8051, 32位8051,各种封装的芯片
    2,核心功能实验板:
         屠龙刀-STC32G12K128核心功能实验板,MCU自带硬件USB下载, 支持SWD硬件仿真
         开天斧-STC8H8K64U核心功能实验板,MCU自带硬件USB仿真,MCU自带硬件USB下载





    3,  STC-USB Link1D /【专业仿真器,全自动在线下载器/自动停电上电,脱机烧录器,USB转双串口工具, 专业时钟校准工具】




    【免费+包邮】 送/申样热线:0513-55012928、0513-55012929、0513-55012966
    工作时间:  8:30-12:00  13:00-17:30(周一 到 周五, 法定节假日除外),也可加如下 QQ 或 微信 申请
    加STC华南区客服刘经理QQ: 3398500488 ;微信:18106296592  要求 【免费+包邮】 送, 还免费教你仿真  
    加STC华南区客服曹经理QQ:1933892258 ;微信:18106296595 要求 【免费+包邮】 送, 还免费教你仿真
    加STC华东区客服聂经理QQ:2593903262;微信:18106296598  要求 【免费+包邮】 送, 还免费教你仿真
    加STC西北区客服孙经理QQ: 1347154513 ;微信:18106296593  要求 【免费+包邮】 送, 还免费教你仿真
    加STC华北区客服石经理QQ: 1638975601 ;微信:19952583876  要求 【免费+包邮】 送, 还免费教你仿真
    加STC华中区客服唐经理QQ:2571301708 ;微信:18106296589 要求 【免费+包邮】 送, 还免费教你仿真
    加STC东北区客服张经理QQ:3141888640 ;微信:19952583265   要求 【免费+包邮】 送, 还免费教你仿真
    加STC西南区客服张经理QQ:3141888640 ;微信:19952583265   要求 【免费+包邮】 送, 还免费教你仿真




    STC官网:https://www.stcai.com/
    QQ:2593903262
    微信号:18106296598
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-18 09:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    11

    主题

    89

    回帖

    230

    积分

    中级会员

    积分
    230
    发表于 2023-4-19 16:01:48 来自手机 | 显示全部楼层
    本帖最后由 xhbwork 于 2023-4-19 16:05 编辑

    我在用板子,好像和楼主设计的差不多,24v供电,rtc时钟,64kbyte  eeprom,10路继电器输出,1路电机双相驱动,8路数字输入,3路pt100,2路0-5/0-10v,1路4-20ma,1路rc522射频卡接口,2路485,1路232,1路串口ttl。

    另外还有一款资源翻倍的板子。
    IMG_20230330_090111R.jpg

    点评

    楼上都是厉害的大牛!可以移植到我们带RTC的这几款稳定产品上,期待您的大作! STC-ISP(6.91N)RTC对时功能,值得您研究研究!  详情 回复 发表于 2023-4-19 16:37
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-24 13:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    643

    回帖

    1086

    积分

    超级版主

    积分
    1086
    发表于 2023-4-19 16:37:54 | 显示全部楼层
    xhbwork 发表于 2023-4-19 16:01
    我在用板子,好像和楼主设计的差不多,24v供电,rtc时钟,64kbyte  eeprom,10路继电器输出,1路电机双相驱 ...

           楼上都是厉害的大牛!可以移植到我们带RTC的这几款稳定产品上,期待您的大作!
    1.png

    2.png

      STC-ISP(6.91N)RTC对时功能,值得您研究研究!
    STC官网:https://www.stcai.com/
    QQ:2593903262
    微信号:18106296598
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-18 09:20
  • 签到天数: 1 天

    [LV.1]初来乍到

    11

    主题

    89

    回帖

    230

    积分

    中级会员

    积分
    230
    发表于 2023-4-19 16:46:39 来自手机 | 显示全部楼层
    这项目就是做医疗设备追溯用的,自动授时的应用大致是十年前就开始使用了哦
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    9 小时前
  • 签到天数: 25 天

    [LV.4]偶尔看看III

    4

    主题

    66

    回帖

    260

    积分

    中级会员

    积分
    260
    发表于 2024-3-17 10:09:16 | 显示全部楼层
    多多使用国产单片机!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    11 小时前
  • 签到天数: 67 天

    [LV.6]常住居民II

    3

    主题

    588

    回帖

    848

    积分

    高级会员

    积分
    848
    发表于 2024-3-17 11:27:57 | 显示全部楼层
    这个不错啊
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-11 18:01 , Processed in 0.069518 second(s), 59 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表