该项目是一个具有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.项目简介
该项目是一个多通道输入输出控制板卡;
- 该板卡包含8通道有刷电机通道卡,实现电机正反和速度控制;
- 12通道的数字输入通道,12通道数字输入可以单独使用,也可以作为电机通道的限位保护并可任意配置,数字输入支持自动上报;
- 4通道的舵机接口可以实现0-180°的位置控制,可用于云台,阀门控制;
- 4通道的三极管集电极开路输出,可以实现继电器等开关部件的输出控制;1路可控电源输出实现可控电源供给;
- 1通道的调试升级接口,可用于程序日志输出,板卡的离线参数配置和板卡的固件升级;
- 2通道集电极输出开路输出的LED指示灯,1通道指示板卡的联网转态,1通道指示指令接收转态显示(每收到一帧控制指令翻转一次);
- 该项目使用mqtt+json的方式实现板卡的控制和参数配置;
2.应用场景
1.3D打印机使用
2.园艺花园水龙头开关控制
3.云台电机驱动
4.儿童玩具控制
6.路灯控制
3.产品概述
- 本次项目主控使用GD32F103RET6单片机
- 全部电阻电容都是使用0402封装,减小板子设计尺寸
- 板卡尺寸78mmX46mmX25mm
- 板卡设计是2块加工为1块,设计完成后用力掰开,然后使用砂石打磨边缘即可,减少加工成本
- 板子采用叠层设计,减小板卡尺寸,同时实现公路部分和非功率部分的隔离设计,地板使用不同的芯片可以实现电平控制或pwm电压控制
- 板子还包含过流检测功能,防止烧坏板卡
- 板卡器件全部国产化
- 本项目开源硬件和软件设计
- 该项目采用分层升级,顶层是非功率部分的输入输出,底层是功率部分的输入输出
- 该项目基于GD32F106RET6作为控制核心
- 该项目包含8路有刷电机控制,支持基于电平的正转转控制和基于pwm调速的正反控制,并且输出芯片电源可控,防止上电误抖动
- 该项目包含具有12路输入信号检测,兼容开关输入和霍尔传感器输入
- 该项目包含4路的舵机输出控制
- 该项目包含1路USB转TTL用于固件升级、配置、调试接口
- 该项目包含1路电源输出控制
- 该项目基于乐鑫科技esp07s实现联网
- 该项目还具有电流检测功能,实现各个通道的电机检测,实现过流保护
- 该项目电源采用2路,1路用于mcu等外围,1路用于舵机使用,实现功率和非功率独立供电
- 采用12V电源供电,并包含一个硬件开关接口
- 该项目包含4路的5V输出控制
4.产品参数
- 8 路电机控制接口,输出电压是12V,输出电流可以6A
- 12 路限位输入接口,输入电压是3.3V,兼容霍尔传感器和机械开关信号,输入信号采用边沿检测
- 4 路舵机控制接口,输出电压5V,控制信号pwm是5V电平
- 4 路集电极开路输出,输出电压电压5V,驱动电流1A
- 1 路电池电压检测,检测电池电压,电压范围是8-15V
- 1 路总工作电流检测,输出电流检测,检测电流范围是100mA-15A
- 1 路 12V 电源控制接口,输出电流1.5A
- 1 路 5v 电源输出,usb 转 TTL 串口的调试,程序升级 USB 口
- 板载控制指示灯和联网指示灯均可以引出
- 1路的机械开关控制,用于总电源的机械开关
5.使用说明
5.1硬件使用说明
A.舵机接口:支持0-180°的位置舵机,输出50Hz控制信号
- GND 舵机电源地
- 5V 舵机电源5V
- 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.备注
- 板子制作成本在80元以内,2个电源模块大致12 元,核心模块某宝26元到手,其他电阻电容,接插件10元以内
- 附件含有GD32F103RET6/GD32F103RCT6 开发板的控制程序(MDK编译环境)
- 软件代码使用MDK5开发,编译,下载,调试
- 代码使用C语言开发,附件包含所有完整测试代码
- 附件中含有完整的测试代码,电机驱动原理指导文件,匹配bom不包含”电源模块和插件“购买元器件请参考附件的购买参考链接文件
- 电机驱动板中含有多个测试点,测试输入pwm信号和电流采集信号
- PCB图中5V,3.3V 测试点,经测试测试无误后,需要短接此处
7.测试视频
该视频演示了使用MQTT.fx软件+emqx Broker实现对多功能输入输出板卡的控制;主要演示功能有
- 电机控制演示
- 舵机控制功能
- 数字输入自动上报和边沿触发功能
- 设备开机自动联网功能
- 可控电源输出功能演示
点赞