“LC-EM-1287”的版本间的差异

来自LCWIKI
跳转至: 导航搜索
使用说明
第1行: 第1行:
  
 
== 产品名称 ==
 
== 产品名称 ==
SimpleFOCMini 直流无刷电机驱动板 FOC控制驱动器SVPWM 控制算法<br>
+
Modbus RTU单路网络继电器模块 有线以太网局域网控制1路输出
  
  
 
== 关于 ==
 
== 关于 ==
艾尔赛SimpleFOCMini直流无刷电机驱动板采用德州仪器的DRV8313芯片。DRV8313提供三个可独立控制的半H桥驱动器,主要用来驱动直流无刷电机<br>只需要接入控制信号和电机UVM三相线,即可控制电机旋转,支持SPWM和SPVMW控制算法,不支持传统6步换向控制算法,可通过Arduino SimpleFOC快速上手使用<br>
+
艾尔赛单路Modbus网络继电器模块搭载成熟稳定的32位MCU和W5500全硬件TCP/IP协议栈网络芯片<br>
 +
预留MCU调试接口支持二次开发,采用标准MODBUS RTU格式的通讯协议<br>
 +
可以实现局域网内控制1路继电器输出,可用于有线网络下的功率控制场合<br>
  
  
== 视图 ==
+
== 功能特点 ==
<big>'''正面图'''</big><br>
+
*板载成熟稳定的32bit MCU STM32F103C6T6芯片<br>
[[Image:mm.png]]<br><br>
+
*板载W5500全硬件TCP/IP协议栈以太网芯片,支持10/100Mbps速率<br>
<big>'''侧面图'''</big><br>
+
*通讯协议:支持标准Modbus RTU协议<br>
[[Image:mm.png]]<br><br>
+
*设备作为TCP Server端,支持IP地址DHCP功能,端口号5000<br>
<big>'''反面图'''</big><br>
+
*可通过串口查看模块IP地址,UART通讯波特率:115200<br>
[[Image:mm.png]]<br><br>
+
*输出信号:继电器开关信号,支持手动、闪闭、闪断模式,闪闭/闪断的延时基数为0.1s,最大可设闪闭/闪断时间为0xFFFF*0.1S=6553.5S<br>
 +
*设备地址:范围1-255,默认255,支持掉电保存<br>
 +
*继电器状态、设备地址可使用软件/指令进行读取二极管<br>
 +
*板载1路5V,10A/250V AC 10A/30V DC 继电器,可连续吸合10万次,具有二极管泻流保护,响应时间短<br>
 +
*板载电源和继电器开关指示灯<br>
 +
*板载MCU复位按键<br>
 +
*预留UART串口和SWD程序烧写口,支持二次开发<br>
 +
*供电电压:DC7-28V,支持5.08mm端子供电,带输入防反接保护<br>
 +
 
  
 
== 介绍说明 ==
 
== 介绍说明 ==
板子尺寸:25.8*21mm/3g<br>
+
'''1.板子尺寸:73*45mm/32g'''<br>
 
[[Image:mm.png]]<br><br>
 
[[Image:mm.png]]<br><br>
 
+
'''2.接口介绍'''<br>
 
+
[[Iamge:mm.png]]<br>
== 功能特点 ==
+
1.主控MCU:STM32F103C6T6<br>
*输入电源电压:8~30V<br>
+
2.网络芯片:W5500全硬件TCP/IP协议栈以太网芯片<br>
*每路最高输出电流为2.5A<br>
+
3.网络接口:10M/100MbpsHR911105A网络变压器<br>
*板载3.3V LDO输出,最大电流10mA<br>
+
4.5.08mm端子供电口:DC7-28V电源输入,其中GND为负<br>
*输入控制信号兼容3.3V和5V<br>
+
5.MCU复位按键:短按一下复位<br>
*支持SPWM和SPVMW控制算法<br>
+
6.MCU SWD调试接口:二次开发烧写用<br>
*强大的开源库,快速上手<br>
+
7.MCU UART调试接口:GND、RXD、TXD:TTL电平UART通讯接口,GND、RXD、TXD分别接外部控制端的GND、TXD、RXD<br>支持连接3.3V/5V外部TTL串口,默认用于串口查看设备IP地址和端口号,波特率115200<br>
 +
8.1路继电器开关信号输出<br>
 +
NC:常闭端,继电器吸合前与COM短接,吸合后悬空<br>
 +
COM:公共端<br>
 +
NO:常开端,继电器吸合前悬空,吸合后与COM短接<br>
 +
'''Modbus RTU指令简介'''<br>
 +
Modbus设备通过接收来自外部控制端(如:上位机)的Modbus RTU指令来执行相关操作<br>一帧指令一般由设备地址、功能码、寄存器地址、寄存器数据、校验码组成,帧长度和功能码有关<br>一般每帧数据的首字节为设备地址,可设置范围为1-255,默认255(即0xFF),最后2字节为CRC校验码<br>
 +
假设设备地址为255,则常用的Modbus RTU指令如下:<br>
 +
1.打开1号继电器(手动模式)<br>
 +
发送: FF 05 00 00 FF 00 99 E4<br>
 +
原因返回:FF 05 00 00 FF 00 99 E4<br>
 +
备注:<br>
 +
(1)发送帧的第3-4个字节代表继电器地址,#1继电器--#32继电器地址分别为:0x0000-0x001F<br>
 +
(2)发送帧的第5--6个字节代表数据,0xFF00代表打开继电器,0x0000代表关闭继电器<br><br><br>
 +
2.关闭1号继电器(手动模式)<br>
 +
发送:FF 05 00 00 00 00 D8 14<br>
 +
原样返回:FF 05 00 00 00 00 D8 14<br><br>
 +
3.打开2号继电器(手动模式)<br>
 +
发送:FF 05 00 01 FF 00 C8 24<br>
 +
原样返回:FF 05 00 01 FF 00 C8 24<br><br>
 +
4.关闭2号继电器(手动模式)<br>
 +
发送:FF 05 00 01 00 00 89 D4<br>
 +
原样返回:FF 05 00 01 00 00 89 D4<br><br>
 +
5.打开所有继电器<br>
 +
发送:FF 0F 00 00 00 20 01 EF B0 15<br>
 +
返回:FF 0F 00 00 00 20 41 CD<br>
 +
6.关闭所有继电器<br>
 +
发送:FF 0F 00 00 00 20 01 00 F0 55<br>
 +
返回:FF 0F 00 00 00 20 41 CD<br><br>
 +
7.设置设备地址为1<br>
 +
发送:00 10 00 00 00 01 02 00 01 6A 00<br>
 +
原样返回:00 10 00 00 00 01 02 00 01 6A 00<br>
 +
备注:发送帧的第9个字节0x01为写入的设备地址<br><br>
 +
8.设置设备地址为255<br>
 +
发送:00 10 00 00 00 01 02 00 FF EB 80<br>
 +
原样返回:00 10 00 00 00 01 02 00 FF EB 80<br>
 +
备注:发送帧的第9个字节0xFF为写入的设备地址<br><br>
 +
9.读取设备地址<br>
 +
发送:00 03 00 00 00 01 85 DB<br>
 +
返回:00 03 02 00 FF C5 C4<br>
 +
备注:返回帧的第5个字节0xFF为读取到的设备地址<br>
 +
10.读取继电器状态<br>
 +
发送:FF 01 00 00 00 20 28 0C<br>
 +
返回:FF 01 04 00 00 00 01 25 DE<br>
 +
备注:返回帧的第4-7个字节的Bit31-Bit0分别代表#32继电器--#1继电器状态,0为关,1为开<br><br>
 +
11.打开1号继电器(闪闭模式2S)<br>
 +
发送:FF 10 00 00 00 02 04 00 04 00 14 85 8A<br>
 +
返回:FF 10 00 00 00 02 A4 16<br>
 +
备注:<br>
 +
(1)发送帧的第3--4个字节代表继电器地址,#1继电器--#32继电器地址分别为:0x0000-0x001F<br>
 +
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x0014*0.1=20*0.1S=2S.继电器打开2S后自动关闭<br><br>
 +
12.关闭1号继电器(闪断模式3S)<br>
 +
发送:FF 10 00 00 00 02 04 00 02 00 1E E5 8C<br>
 +
返回:FF 10 00 00 00 02 54 16<br>
 +
备注:<br>
 +
(1)发送帧的第3--4个字节代表继电器地址,#1继电器--#32继电器地址分别为:0x0000-0x001F<br>
 +
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x001E *0.1=30*0.1=3S,继电器关闭3S后自动打开<br><br>
  
  
 
== 使用说明 ==
 
== 使用说明 ==
'''引脚定义'''<br>
+
'''1.查看设备参数'''<br>
[[Image:mm.png]]<br><br>
+
设备上电后会使用DHCP功能自动获取IP地址,需使用串口调试助手来查看设备IP和端口号(注:所有设备的端口号都是5000),方法如下:<br>
'''引脚说明'''<br>
+
1.插上网线,UART调试口连接USB转TTL模块(如:CH340),连接电源,其中UART接线如下:<br>
 
{| class="wikitable"  style="width:500px";"text-align:center"
 
{| class="wikitable"  style="width:500px";"text-align:center"
 
|-
 
|-
| 序号 || 引脚 || 描述 || 说明
+
| 网络继电器模块 || TTL模块
 
|-
 
|-
| 1 || VCC || 输入电源正端 || 输入电源8~30V
+
| GND || GND
 
|-
 
|-
| 2 || GND || 输入电源负端 ||  
+
| TXD || RXD
 
|-
 
|-
| 3 || IN1 || 通道1输入 || IN1为高M1也为高,IN1为低M1也为低
+
| RXD || TXD
|-
+
|}<br>
| 4 || IN2 || 通道2输入 || IN2为高M2也为高,IN2为低M2也为低
+
[[Image:mm.png]]<br><br>
|-
+
2.打开串口调试助手(如:SSCOM),选择正确的COM口,波特率115200<br>模块上电或者按一下复位键后约过6S会自动获取IP地址,请记住此IP地址和端口号,如下:<br>
| 5 || IN3 || 通道3输入 || IN3为高M3也为高,IN3为低M3也为低
+
[[Image:mm.png]]<br><br>
|-
+
'''2.使用网络调试助手控制设备'''<br>
| 6 || EN || 输入使能 || 同时控制通道1,通道2,通道3使能,高电平时输入有效
+
设备成功获得IP地址后会生成一个TCP Server端供Client端连接,以发送一条TCP指令控制继电器为例(假设设备地址为255),步骤如下:<br>
|-
+
(1)打开网络调试助手,选择协议类型:TCP Client,以及上一步所得到的IP地址和端口号,点击连接<br>
| 7 || 3.3V || 3.3V电源 || 3.3V电源输出,最大电流10mA
 
|-
 
| 8 || RESET || 复位输入 || 复位芯片,同时禁止输出,低电平有效
 
|-
 
| 9 || SLEEP || 低功耗模式 || 低功耗睡眠模式,低电平有效
 
|-
 
| 10 || FAULT || 故障信号输出 || 过温过流时输出保护信号,低电平有效
 
|-
 
| 11 || M1 || 输出通道1 || 输出端,跟随IN1信号,输出幅值为电源电压值
 
|-
 
| 12 || M2 || 输出通道2 || 输出端,跟随IN2信号,输出幅值为电源电压值
 
|-
 
| 13 || M3 || 输出通道3 || 输出端,跟随IN3信号,输出幅值为电源电压值
 
|}
 
左侧接线端子为单片机输入信号,右侧端子接入3相无刷电机<br>
 
 
 
'''控制方式'''<br>
 
这里使用Arduino UNO开发板进行控制,按下图连接<br>
 
 
[[Image:mm.png]]<br><br>
 
[[Image:mm.png]]<br><br>
在Arduino IDE中安装SIimple FOC库<br>
+
(2)连接成功后,在数据发送窗口输入打开1号继电器的指令:FF 05 00 00 FF 00 99 E4,若继电器有动作说明通讯正常<br>
 
[[Image:mm.png]]<br><br>
 
[[Image:mm.png]]<br><br>
在IDE中粘贴如下代码:<br>
+
'''3.如何生成校验码'''<br>
[https://docs.simplefoc.com/docs_chinese/example_from_scratch 驱动器测试代码]<br>
+
Modbus RTU指令通过现成的上位机软件(如:ModbusRTU 配置工具)来发送时,CRC校验码是自动生成的<br>如果想使用网络调试软件(如NetAssist)来测试Modbus继电器模块时就需要手动生成CRC校验码放在发送帧的末尾,比如打开第1路继电器(手动模式):<br>
注意修改引脚定义,改成Simple foc mini驱动板和Arduino开发板的连接脚位<br>
+
1.打开/关闭继电器(手动模式)的发送帧组成为:<br>
<pre>// BLDCDriver3PWM driver = BLDCDriver3PWM(pwmA, pwmB, pwmC, 使能引脚(可选的));
+
设备地址(1Byte)+功能码(1Byte)+寄存器地址(2Byte)+寄存器数据(2Byte)+CRC校验码(2Byte)<br>
BLDCDriver3PWM driver = BLDCDriver3PWM(9, 5, 6, 8);</pre>
+
2.假设设备地址为0xFF, 则发送帧的前6个字节为:FF 05 00 00 FF 00<br>
 +
3.使用CRC校验工具对这6个字节求校验码:[http://www.ip33.com/crc.html http://www.ip33.com/crc.html]<br>
 
[[Image:mm.png]]<br><br>
 
[[Image:mm.png]]<br><br>
点击上传按钮,将程序编译下载到Arduino开发板上<br>
+
4.交换校验计算结果E499的高低字节位置后得到CRC校验码99E4,以及完整的发送帧:FF 05 00 00 FF 00 99 E4<br>
打开IDE的串口监视器,输入输入 T 6.28 ,无刷电机就可以转动起来<br>
+
5.将该发送帧通过网络调试助手发送到Modbus继电器模块即可打开第一路继电器<br>
  
== 附录 ==
 
SIMPLEFOC中文官方:[http://simplefoc.cn/#/simplefoc_translation/1  第1章 首页 (simplefoc.cn)]<br>
 
  
 
== 下载 用户手册 ==
 
== 下载 用户手册 ==
更多关于 的使用信息,请查看[https://pan.baidu.com/s/1pcVEuzY9JLHYS6QBJCuvbg 百度网盘]提取码:cdq8
+
更多关于 的使用信息,请查看[https://pan.baidu.com/s/15MhK9NX3ELquwE4JZ4qWjw 百度网盘]提取码:ug7n

2024年2月26日 (一) 17:12的版本

产品名称

Modbus RTU单路网络继电器模块 有线以太网局域网控制1路输出


关于

艾尔赛单路Modbus网络继电器模块搭载成熟稳定的32位MCU和W5500全硬件TCP/IP协议栈网络芯片
预留MCU调试接口支持二次开发,采用标准MODBUS RTU格式的通讯协议
可以实现局域网内控制1路继电器输出,可用于有线网络下的功率控制场合


功能特点

  • 板载成熟稳定的32bit MCU STM32F103C6T6芯片
  • 板载W5500全硬件TCP/IP协议栈以太网芯片,支持10/100Mbps速率
  • 通讯协议:支持标准Modbus RTU协议
  • 设备作为TCP Server端,支持IP地址DHCP功能,端口号5000
  • 可通过串口查看模块IP地址,UART通讯波特率:115200
  • 输出信号:继电器开关信号,支持手动、闪闭、闪断模式,闪闭/闪断的延时基数为0.1s,最大可设闪闭/闪断时间为0xFFFF*0.1S=6553.5S
  • 设备地址:范围1-255,默认255,支持掉电保存
  • 继电器状态、设备地址可使用软件/指令进行读取二极管
  • 板载1路5V,10A/250V AC 10A/30V DC 继电器,可连续吸合10万次,具有二极管泻流保护,响应时间短
  • 板载电源和继电器开关指示灯
  • 板载MCU复位按键
  • 预留UART串口和SWD程序烧写口,支持二次开发
  • 供电电压:DC7-28V,支持5.08mm端子供电,带输入防反接保护


介绍说明

1.板子尺寸:73*45mm/32g
文件:Mm.png

2.接口介绍
Iamge:mm.png
1.主控MCU:STM32F103C6T6
2.网络芯片:W5500全硬件TCP/IP协议栈以太网芯片
3.网络接口:10M/100MbpsHR911105A网络变压器
4.5.08mm端子供电口:DC7-28V电源输入,其中GND为负
5.MCU复位按键:短按一下复位
6.MCU SWD调试接口:二次开发烧写用
7.MCU UART调试接口:GND、RXD、TXD:TTL电平UART通讯接口,GND、RXD、TXD分别接外部控制端的GND、TXD、RXD
支持连接3.3V/5V外部TTL串口,默认用于串口查看设备IP地址和端口号,波特率115200
8.1路继电器开关信号输出
NC:常闭端,继电器吸合前与COM短接,吸合后悬空
COM:公共端
NO:常开端,继电器吸合前悬空,吸合后与COM短接
Modbus RTU指令简介
Modbus设备通过接收来自外部控制端(如:上位机)的Modbus RTU指令来执行相关操作
一帧指令一般由设备地址、功能码、寄存器地址、寄存器数据、校验码组成,帧长度和功能码有关
一般每帧数据的首字节为设备地址,可设置范围为1-255,默认255(即0xFF),最后2字节为CRC校验码
假设设备地址为255,则常用的Modbus RTU指令如下:
1.打开1号继电器(手动模式)
发送: FF 05 00 00 FF 00 99 E4
原因返回:FF 05 00 00 FF 00 99 E4
备注:
(1)发送帧的第3-4个字节代表继电器地址,#1继电器--#32继电器地址分别为:0x0000-0x001F
(2)发送帧的第5--6个字节代表数据,0xFF00代表打开继电器,0x0000代表关闭继电器


2.关闭1号继电器(手动模式)
发送:FF 05 00 00 00 00 D8 14
原样返回:FF 05 00 00 00 00 D8 14

3.打开2号继电器(手动模式)
发送:FF 05 00 01 FF 00 C8 24
原样返回:FF 05 00 01 FF 00 C8 24

4.关闭2号继电器(手动模式)
发送:FF 05 00 01 00 00 89 D4
原样返回:FF 05 00 01 00 00 89 D4

5.打开所有继电器
发送:FF 0F 00 00 00 20 01 EF B0 15
返回:FF 0F 00 00 00 20 41 CD
6.关闭所有继电器
发送:FF 0F 00 00 00 20 01 00 F0 55
返回:FF 0F 00 00 00 20 41 CD

7.设置设备地址为1
发送:00 10 00 00 00 01 02 00 01 6A 00
原样返回:00 10 00 00 00 01 02 00 01 6A 00
备注:发送帧的第9个字节0x01为写入的设备地址

8.设置设备地址为255
发送:00 10 00 00 00 01 02 00 FF EB 80
原样返回:00 10 00 00 00 01 02 00 FF EB 80
备注:发送帧的第9个字节0xFF为写入的设备地址

9.读取设备地址
发送:00 03 00 00 00 01 85 DB
返回:00 03 02 00 FF C5 C4
备注:返回帧的第5个字节0xFF为读取到的设备地址
10.读取继电器状态
发送:FF 01 00 00 00 20 28 0C
返回:FF 01 04 00 00 00 01 25 DE
备注:返回帧的第4-7个字节的Bit31-Bit0分别代表#32继电器--#1继电器状态,0为关,1为开

11.打开1号继电器(闪闭模式2S)
发送:FF 10 00 00 00 02 04 00 04 00 14 85 8A
返回:FF 10 00 00 00 02 A4 16
备注:
(1)发送帧的第3--4个字节代表继电器地址,#1继电器--#32继电器地址分别为:0x0000-0x001F
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x0014*0.1=20*0.1S=2S.继电器打开2S后自动关闭

12.关闭1号继电器(闪断模式3S)
发送:FF 10 00 00 00 02 04 00 02 00 1E E5 8C
返回:FF 10 00 00 00 02 54 16
备注:
(1)发送帧的第3--4个字节代表继电器地址,#1继电器--#32继电器地址分别为:0x0000-0x001F
(2)发送帧的第10--11个字节代表延时设置值,延时基数为0.1S,故延时时间为0x001E *0.1=30*0.1=3S,继电器关闭3S后自动打开


使用说明

1.查看设备参数
设备上电后会使用DHCP功能自动获取IP地址,需使用串口调试助手来查看设备IP和端口号(注:所有设备的端口号都是5000),方法如下:
1.插上网线,UART调试口连接USB转TTL模块(如:CH340),连接电源,其中UART接线如下:

网络继电器模块 TTL模块
GND GND
TXD RXD
RXD TXD

文件:Mm.png

2.打开串口调试助手(如:SSCOM),选择正确的COM口,波特率115200
模块上电或者按一下复位键后约过6S会自动获取IP地址,请记住此IP地址和端口号,如下:
文件:Mm.png

2.使用网络调试助手控制设备
设备成功获得IP地址后会生成一个TCP Server端供Client端连接,以发送一条TCP指令控制继电器为例(假设设备地址为255),步骤如下:
(1)打开网络调试助手,选择协议类型:TCP Client,以及上一步所得到的IP地址和端口号,点击连接
文件:Mm.png

(2)连接成功后,在数据发送窗口输入打开1号继电器的指令:FF 05 00 00 FF 00 99 E4,若继电器有动作说明通讯正常
文件:Mm.png

3.如何生成校验码
Modbus RTU指令通过现成的上位机软件(如:ModbusRTU 配置工具)来发送时,CRC校验码是自动生成的
如果想使用网络调试软件(如NetAssist)来测试Modbus继电器模块时就需要手动生成CRC校验码放在发送帧的末尾,比如打开第1路继电器(手动模式):
1.打开/关闭继电器(手动模式)的发送帧组成为:
设备地址(1Byte)+功能码(1Byte)+寄存器地址(2Byte)+寄存器数据(2Byte)+CRC校验码(2Byte)
2.假设设备地址为0xFF, 则发送帧的前6个字节为:FF 05 00 00 FF 00
3.使用CRC校验工具对这6个字节求校验码:http://www.ip33.com/crc.html
文件:Mm.png

4.交换校验计算结果E499的高低字节位置后得到CRC校验码99E4,以及完整的发送帧:FF 05 00 00 FF 00 99 E4
5.将该发送帧通过网络调试助手发送到Modbus继电器模块即可打开第一路继电器


下载 用户手册

更多关于 的使用信息,请查看百度网盘提取码:ug7n