This website requires JavaScript.
入驻
发布

多通道输入输出控制板(上下板)

car12 发布于2023-10-12 17:59:01 CC CC0协议 分类:物联网 侵权投诉
销量: 0
0
0
0
简介:

该项目是一个具有8路有刷电机驱动+12路数字信号输入+4路舵机控制+1路电源输出控制+4路的集电极开路输出(5V)+1路USB转TTL的升级调试接口的**多通道输入输出控制板**

应用场景:

该项目是一个多通道输入输出控制板卡; 1. 该板卡包含8通道有刷电机通道卡,实现电机正反和速度控制; 2. 12通道的数字输入通道,12通道数字输入可以单独使用,也可以作为电机通道的限位保护并可任意配置,数字输入支持自动上报; 3. 4通道的舵机接口可以实现0-180°的位置控制,可用于云台,阀门控制; 4. 4通道的三极管集电极开路输出,可以实现继电器等开关部件的输出控制;1路可控电源输出实现可控电源供给; 5. 1通道的调试升级接口,可用于程序日志输出,板卡的离线参数配置和板卡的固件升级; 6. 2通道集电极输出开路输出的LED指示灯,1通道指示板卡的联网转态,1通道指示指令接收转态显示(每收到一帧控制指令翻转一次); 7. 该项目使用mqtt+json的方式实现板卡的控制和参数配置;

1.项目简介

该项目是一个多通道输入输出控制板卡;

  1. 该板卡包含8通道有刷电机通道卡,实现电机正反和速度控制;
  2. 12通道的数字输入通道,12通道数字输入可以单独使用,也可以作为电机通道的限位保护并可任意配置,数字输入支持自动上报;
  3. 4通道的舵机接口可以实现0-180°的位置控制,可用于云台,阀门控制;
  4. 4通道的三极管集电极开路输出,可以实现继电器等开关部件的输出控制;1路可控电源输出实现可控电源供给;
  5. 1通道的调试升级接口,可用于程序日志输出,板卡的离线参数配置和板卡的固件升级;
  6. 2通道集电极输出开路输出的LED指示灯,1通道指示板卡的联网转态,1通道指示指令接收转态显示(每收到一帧控制指令翻转一次);
  7. 该项目使用mqtt+json的方式实现板卡的控制和参数配置;


2.应用场景

1.3D打印机使用

​ 2.园艺花园水龙头开关控制

​ 3.云台电机驱动

​ 4.儿童玩具控制

​ 6.路灯控制


3.产品概述

  1. 本次项目主控使用GD32F103RET6单片机
  2. 全部电阻电容都是使用0402封装,减小板子设计尺寸
  3. 板卡尺寸78mmX46mmX25mm
  4. 板卡设计是2块加工为1块,设计完成后用力掰开,然后使用砂石打磨边缘即可,减少加工成本
  5. 板子采用叠层设计,减小板卡尺寸,同时实现公路部分和非功率部分的隔离设计,地板使用不同的芯片可以实现电平控制或pwm电压控制
  6. 板子还包含过流检测功能,防止烧坏板卡
  7. 板卡器件全部国产化
  8. 本项目开源硬件和软件设计
  9. 该项目采用分层升级,顶层是非功率部分的输入输出,底层是功率部分的输入输出
  10. 该项目基于GD32F106RET6作为控制核心
  11. 该项目包含8路有刷电机控制,支持基于电平的正转转控制和基于pwm调速的正反控制,并且输出芯片电源可控,防止上电误抖动
  12. 该项目包含具有12路输入信号检测,兼容开关输入和霍尔传感器输入
  13. 该项目包含4路的舵机输出控制
  14. 该项目包含1路USB转TTL用于固件升级、配置、调试接口
  15. 该项目包含1路电源输出控制
  16. 该项目基于乐鑫科技esp07s实现联网
  17. 该项目还具有电流检测功能,实现各个通道的电机检测,实现过流保护
  18. 该项目电源采用2路,1路用于mcu等外围,1路用于舵机使用,实现功率和非功率独立供电
  19. 采用12V电源供电,并包含一个硬件开关接口
  20. 该项目包含4路的5V输出控制


4.产品参数

  1. 8 路电机控制接口,输出电压是12V,输出电流可以6A
  2. 12 路限位输入接口,输入电压是3.3V,兼容霍尔传感器和机械开关信号,输入信号采用边沿检测
  3. 4 路舵机控制接口,输出电压5V,控制信号pwm是5V电平
  4. 4 路集电极开路输出,输出电压电压5V,驱动电流1A
  5. 1 路电池电压检测,检测电池电压,电压范围是8-15V
  6. 1 路总工作电流检测,输出电流检测,检测电流范围是100mA-15A
  7. 1 路 12V 电源控制接口,输出电流1.5A
  8. 1 路 5v 电源输出,usb 转 TTL 串口的调试,程序升级 USB 口
  9. 板载控制指示灯和联网指示灯均可以引出
  10. 1路的机械开关控制,用于总电源的机械开关


5.使用说明


5.1硬件使用说明

多通道输入输出控制板(上下板)硬件项目图1

多通道输入输出控制板(上下板)硬件项目图2

A.舵机接口:支持0-180°的位置舵机,输出50Hz控制信号

  1. GND 舵机电源地
  2. 5V 舵机电源5V
  3. PWMx 舵机控制信号

B. 开关控制输出:三极管集电极开路输出

1.Lx+ 连接至5V电源

2.Lx- 连接至三极管集电极


C.数字信号输入:数字信号兼容开关输入或霍尔输入

1.3.3:是3.3V电源;

2.INx是数字输入信号;

3.GND:电源地

D.电机接口

2个接线处分别接有刷电机的或扭动开关的2个接线柱


5.2软件对接接口

软件对接接口使用MQTT协议,协议内容使用json方式实现板子的控制和调试


5.2.1.板卡控制说明

协议内容

​ {

​ "type": 2,

​ "motor": [10,20,30,40,50,60,70,80],

​ "output": [0,0,0,0,1],

​ "steering": [1,2,3,4]

​ }

​ 协议说明

​ (1) 【"type": 2】:协议控制类型

​ (2) 【"motor": [10,20,30,40,50,60,70,80]】:电机控制指令,合计 8 项分别控制 8 个电

​ 机,取值范围是-99~99,0 表示停止,负数表示反转,正数表示正转,数值的大小不是输出电压的高低,如果芯片不支持电压开工至,板卡只做正负之分;

​ (3) 【"output": [0,0,0,0,1]】这里是输出控制,合计 5 个可控,分别是 4 个输

​ 出开关控制,用于灯光,第 5 个控制相机电源开关,设置值只有 0 和 1 有效,0:关闭;

​ 1:打开

​ (4) 【"steering": [1,2,3,4]】舵机控制指令,取值范围是 0-100 对应 0-180°


5.2.2.板卡参数配置说明

协议内容-这也是默认配置信息

​ {

​ "type": 1,

​ "name": "car",

​ "clientid": "test_id",

​ "ssid": "360wifi",

​ "wifipwd": "pass123456",

​ "user": "test",

​ "userpass": "test",

​ "serip": "192.168.1.2",

​ "serport": 1883,

​ "subtopic": "topic1",

​ "pubtopic": "topic2",

​ "cur_limit":[70,70,70,70,70,70,70,70,100,70,70],

​ "limit": [255,255,255,255,0,1,2,3,4,5,6,7,8,9,10,11]

​ }

​ 内容说明

​ (1) 【"type": 1,】 这里表示控制指令类型:=1:参数设置指令;=2:控制指令;=3 表

​ 示心跳回复

​ (2) 【"name": "car"】 设置板卡名字

​ (3) 【"clientid": "chejiacar"】 用户 id

​ (4) 【"ssid": "TP-LINK_45A4"】 wifi 名称

​ (5) 【"wifipwd": "chejia12"】 wifi 密码

​ (6) 【"user": "test"】 用户名

​ (7) 【"userpass": "test"】 用户密码

​ (8) 【"serip": "192.168.1.2"】 mqtt 服务器 ip

​ (9) 【"serport": 1883】 mqtt 服务器端口,默认不做修改

​ (10)【"subtopic": "topic1"】 订阅主题

​ (11)【"pubtopic": "topic2"】 发布主题

​ (12)【"limit": [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]】 这里数组合计 16 项,

​ 分别对应 8 个电机的左右限位,数组内容表示限位 id,

​ 1 举例说明数组第一个 0 和第二个元素 1,0 和 1 分别便是 0 号限位和 1 号限位输入

​ id

​ 2 可选的限位有 0~11 合计 12 个 id,设置为 0~11 之外的数字为无效限位,控制板认

​ 为无效限位,将不做判定依据,

​ 3 例如 12,13,14,15 就是无线限位,即电机 id6,id7 没有限位保护,电机 id0~id5

​ 函有 2 个限位保护。

​ (13) 【"cur_limit":[70,70,70,70,70,70,70,70,100,70,70],】这里前 8 个是电机过流保护设置,第

​ 九个是板子电机不转时,相机工作电流


5.2.3.控制板卡主动发布/上传

协议内容:

​ {

​ "limit":[0,0,0,0,0,0,0,0,0,0],

​ "battery":0, "over_current":1,

​ "rssi":-56, "guid0":927340109,

​ "guid1":372257328,

​ "guid2":875573333

​ }

​ 协议说明:

​ 1.【"limit":[0,0,0,0,0,0,0,0,0,0,1,1]】 表示限位状态:0 没有处罚限位,1 限位处罚,数组

​ 索引就是限位输入 id,id 范围 0~11;

​ 2.【"battery":0】:ADC 采集的 ad 值

​ 3.【"over_current":1】:控制板工作电流 ADC 采集的 ad 值

​ 4.【"rssi":-56】这里是信号强度

​ 5.【"guid0":927340109,"guid1":372257328,"guid2":875573333】这个是设备 96 位固定 id,每个板卡都不相同


6.备注

  1. 板子制作成本在80元以内,2个电源模块大致12 元,核心模块某宝26元到手,其他电阻电容,接插件10元以内
  2. 附件含有GD32F103RET6/GD32F103RCT6 开发板的控制程序(MDK编译环境)
  3. 软件代码使用MDK5开发,编译,下载,调试
  4. 代码使用C语言开发,附件包含所有完整测试代码
  5. 附件中含有完整的测试代码,电机驱动原理指导文件,匹配bom不包含”电源模块和插件“购买元器件请参考附件的购买参考链接文件
  6. 电机驱动板中含有多个测试点,测试输入pwm信号和电流采集信号
  7. PCB图中5V,3.3V 测试点,经测试测试无误后,需要短接此处


7.测试视频

该视频演示了使用MQTT.fx软件+emqx Broker实现对多功能输入输出板卡的控制;主要演示功能有

  1. 电机控制演示
  2. 舵机控制功能
  3. 数字输入自动上报和边沿触发功能
  4. 设备开机自动联网功能
  5. 可控电源输出功能演示



多通道 电机控制 舵机控制 数字输入输出 mqtt+json
最近更新时间 2023-10-12 17:59:01
描述
PCB
元件清单
原理图
附件
讨论