我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1074|回复: 13

[移动软件开发] 基于NXP i.MX RT1050主控板的恒温恒湿控制系统

[复制链接]
  • TA的每日心情

    2024-10-6 20:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    479

    主题

    247

    回帖

    1392

    积分

    二级逆天

    积分
    1392

    终身成就奖特殊贡献奖

    发表于 2021-1-7 09:15:11 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    系统共分为四部分:

    信号采集,执行机构输出,
    显示器
    ,主控板(i.MXRT1050
    评估板


    主控板和其他模块采用modbus进行连接。共有2路串口,
    UART
    2连接PC,UART3连接信号采集和输出。


    演示程序采用rttread
    操作系统
    ,包含以下功能:

    1、modbus主机采集信号

    2、modbus主机输出信号

    3、modbus从机连接PC显示

    4、温度湿度计算

    5、温湿度输出控制



    待进一步完成,历史数据记录,导出以及图像输出。

    输入信号包含设备温度、湿度
    输出信号包括加热、加湿、制冷、除湿

    调节原理:高温或高湿度采用PID调节,低温或低湿度启动压缩机制冷、除湿。控制要求允许波动较大时,压缩机可采用切换工作制以节省能源并延长设备寿命,切换式调节由程序根据温湿度的波动情况调节开关压缩机的温湿度点。

    PC端显示使用昆仑通泰组态软件,采用modbus连接主控系统。



    系统的关键是实现多通道modbus管理,包括主机和从机。从机相对简单,只需处理接收到的报文即可。主机相对复杂,要能够处理静态命令和突发命令,其中静态命令在机器空闲时一直轮询执行,比如获取温湿度值,发送输出值给执行模块等;突发命令只在需要执行时执行一次,比如开关机,复位从设备等。

    主机使用缓冲池来存放用户请求的命令,Poll函数自动处理缓冲池中的命令

    缓冲池结构如下
    0mbSCBuffSizembCBuffSize
    |||
    |Buff0|Buff1|Buff2|....|Buff[mbSCBuffSize-1]|Buff[mbSCBuffSize]|Buff[mbSCBuffSize+1]|....|Buff[mbCBuffSize]|
    ||||
    静态静态动态动态
    缓冲缓冲缓冲缓冲
    起始结束开始结束

    扫描顺序:
    先扫描动态区,从上次处理的位置开始,命中后退出。若扫描完整个动态区都没有命中,开始扫描静态区
    扫描静态区,方法同动态区。
    两个区域的区别在于:动态区的命令处理后会被清除,而静态一直保持就绪状态。




    --------------状态机过程---------------------------
    从机:
    RX-IDLE&TX-IDLE->RX-RCV&TX-IDLE->RX-RCVEND&TX-IDLE->RX-IDLE&TX-SEND->RX-IDLE&TX-IDLE

    主机:
    RX-IDLE&TX-IDLE->RX-RCV&TX-SEND->RX-RCV&TX-IDLE->RX-RCVEND&TX-IDLE->RX-IDLE&TX-IDLE

    为尽量兼容其他设备,接收处理施加延时:

    对于含操作系统的应用,可以在数据发送函数添加任务延时即可。

    对于不含操作系统的应用--
    主机模式在接收结束后延时处理即可。
    从机接收到非本机地址直接处理,接收到本地地址延时处理。

    配置两通道modbus,一路主机连接模块,一路从机连接上位机。
      [li]//作为主机连接下位模块[/li][li]mb02_Init(MB_RTU_MASTER,mb_baud_tab[MB_BAUD_38400],MB_PAR_NONE);[/li][li]mb.obj02.SlaveId=1;[/li][li][/li][li]//作为从机连接PC[/li][li]mb03_Init(MB_RTU_MASTER,mb_baud_tab[MB_BAUD_38400],MB_PAR_NONE);[/li][li]mb.obj03.SlaveId=1;[/li]

    复制代码


    //主机配置命令,独立os任务轮询。

      [li]//命令配置端口x读取采样数据[/li][li]mmb_stc_cmd_req(&mb.obj02,1,2,FUN_CODE_READ_REG,&RegHold[0],0,8,0);[/li][li]//命令配置端口x写输出数据至执行模块[/li][li]mmb_stc_cmd_req(&mb.obj02,2,3,FUN_CODE_READ_REG,(uint16_t*)&TempCtrPar,16,sizeof(TempCtrPar)/2,0);[/li][li][/li][li][/li][li]for(;;){[/li][li]rt_uint32_tenent;[/li][li][/li][li]IF(mb.obj03.idle_TIme_cnt>6000)[/li][li]{[/li][li]mb03_Init(TEST_MODE,mb_baud_tab[MB_BAUD_38400],MB_PAR_NONE);[/li][li]mmb_stc_cmd_req(&mb.obj03,6,1,FUN_CODE_WRITE_MULTIPLE_COIL,&mb_tst.pv_r[14],0x20,16,dgus_callback);[/li][li]mmb_stc_cmd_req(&mb.obj03,7,1,FUN_CODE_READ_REG,&mb_tst.pv_w[16],0x22,16,dgus_callback);[/li][li]mb.obj03.SlaveId=1;[/li][li]}[/li][li][/li][li]enent=osEventFlagsWait(os_obj.eid_mb,0,RT_EVENT_FLAG_OR,ms_TIcks(100),enent);[/li][li][/li][li]mb_poll(&mb.obj00);[/li][li]mb_poll(&mb.obj02);[/li][li]mb_poll(&mb.obj03);[/li][li]mb_poll(&mb.obj04);[/li][li]}[/li]

    复制代码


    i.MXRT1050处理速度极快,测试modbus主机短报文指令执行速度可以达到40条/s。极大降低的数据采集及执行元件执行延时,可做系统低速IO扩展。
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 12:43
  • 签到天数: 67 天

    [LV.6]常住居民II

    61

    主题

    1万

    回帖

    8337

    积分

    二级逆天

    积分
    8337

    终身成就奖特殊贡献奖原创先锋奖社区居民灌水天才奖优秀斑竹奖宣传大使奖忠实会员最爱沙发社区劳模

    QQ
    发表于 2021-1-7 09:17:40 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    6218

    回帖

    8731

    积分

    二级逆天

    积分
    8731

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2021-1-7 09:22:33 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    12

    回帖

    0

    积分

    一级逆天

    积分
    0

    终身成就奖

    QQ
    发表于 2021-1-7 09:28:07 | 显示全部楼层
    我思故我爱
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 53 天

    [LV.5]常住居民I

    4

    主题

    2259

    回帖

    1875

    积分

    二级逆天

    积分
    1875

    终身成就奖特殊贡献奖优秀斑竹奖

    QQ
    发表于 2021-1-7 09:39:25 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    8

    主题

    732

    回帖

    838

    积分

    PADS20201123初级班

    积分
    838

    终身成就奖原创先锋奖

    QQ
    发表于 2021-1-7 11:02:20 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    4703

    回帖

    5

    积分

    二级逆天

    积分
    5

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2021-1-7 11:14:43 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-5-28 08:59
  • 签到天数: 1 天

    [LV.1]初来乍到

    21

    主题

    885

    回帖

    1338

    积分

    二级逆天

    积分
    1338

    终身成就奖优秀斑竹奖

    QQ
    发表于 2021-1-7 11:31:23 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    昨天 09:40
  • 签到天数: 166 天

    [LV.7]常住居民III

    7

    主题

    5275

    回帖

    4519

    积分

    二级逆天

    积分
    4519

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2021-1-7 13:27:18 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    4

    回帖

    0

    积分

    一级逆天

    积分
    0

    终身成就奖

    QQ
    发表于 2021-1-7 15:08:48 | 显示全部楼层
    回复

    使用道具 举报

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

    本版积分规则

    每日签到,有金币领取。


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表