某赛驱动器调节工具DM-Series使用笔记
简介
某赛驱动器的盒调节电流或其他参数。我以DM85x为例,通过串口通讯修改电流值大小,虽然可以通过拨码进行设置电流但是有些电流不符合应用场景
查阅手册驱动盒的通讯方式是以串口方式,硬件连接是使用RJ11电话插座,本想使用电话线进行插上接线的,发现标准电话线只有3、4引脚才使用,计划落空。
RJ11通讯定义
飞线焊接PCB板的方式使用我上面的DM85x电阻R41为TxD R42为RxD。
DM85x驱动盒去除保护壳,使用USB转串口连接线的DB9接头飞线方式,将PCB板上面的电阻R41为TxD R42为RxD。
连接好上电能不能正常通讯上去
DM-Series界面
按照如下图步骤,是否能返回成功消息框
更改驱动盒的参数
修改参数比较麻烦 需要将文件保存到本地 ,使用笔记本打开
修改你要变更的参数,这里我就修改电流值看看情况,保存笔记本文件,再从软件打开文档。
点击"下发参数",驱动器实时更新当前驱动电机电流值。
观察串口发送出去的数据
这里使用了CommMonitor 串口监控精灵监听工具
写入1A电流数据时,串口发送出去的数据 "01 06 00 1F 04 00 BA CC"
写入1.1A电流数据时,串口发送出去的数据 "01 06 00 1F 04 66 3A E6"
写入5A电流数据时,串口发送出去的数据 "01 06 00 1F 14 00 B7 0C"
写入5.6A电流数据时,串口发送出去的数据 "01 06 00 1F 16 66 36 46"
写入多组数据后观察的数据
设置电流值 | 写入的16进制数 |
---|---|
1A | 01 06 00 1F 04 00 BA CC |
1.1A | 01 06 00 1F 04 66 3A E6 |
1.2A | 01 06 00 1F 04 CD 7B 59 |
1.3A | 01 06 00 1F 05 33 FB 49 |
1.4A | 01 06 00 1F 05 9A 3B 37 |
1.5A | 01 06 00 1F 06 00 BB AC |
1.6A | 01 06 00 1F 06 66 3B 86 |
1.7A | 01 06 00 1F 06 CD 7A 39 |
1.8A | 01 06 00 1F 07 33 FA 29 |
1.9A | 01 06 00 1F 07 9A 3A 57 |
2A | 01 06 00 1F 08 00 BD 0C |
3A | 01 06 00 1F 0C 00 BF CC |
5A | 01 06 00 1F 14 00 B7 0C |
5.6A | 01 06 00 1F 16 66 36 46 |
1A 电流为 01 06 00 1F 04 00 BA CC 返回 01 06 1F 04 BA CC
2A 电流为 01 06 00 1F 08 00 BD 0C
3A 电流为 01 06 00 1F 0C 00 BF CC
5.6A 电流为01 06 00 1F 16 66 36 46
5.A 电流为 01 06 00 1F 14 00 B7 0C
得出结果
CRC参数模型
通过对比 知道了CRC校验码是使用了CRC-16/MODBUS X16+X15+X2+1
读出数据
W 01 03 00 1F 00 01 B5 CC
2A 电流为 R 01 03 02 08 BF 84
从以上规律看出读是使用
设置电流值与16进制值对照
从中貌似有规律可循, 但是小数部分规律如下
序号 | 16进制 | 2进制 |
---|---|---|
1 | 66 | 0110_0110 |
2 | CD | 1100_1101 |
3 | 33 | 0011_0011 |
4 | 9A | 0101_1010 |
5 | 00 | 0000_0000 |
6 | 66 | 0110_0110 |
7 | CD | 1100_1101 |
8 | 33 | 0011_0011 |
9 | 9A | 0101_1010 |
小数部分 的十六进制 66 左移1位再加1就是CD 但是从CD左移1位后直接到了9A 这里不对了。跳过了33 感觉是使用了数码管的BCD算法一样。没有再去深究。
整数部分就很明显有规律以4的加数加上去。
整数部分有5、6、7这三个数
4的数包括 1.0A 1.1A 1.2A
5的数包括 1.3A 1.4A
6的数包括 1.5A 1.6A 1.7A
7的数包括 1.8A 1.9A
这样分析来分析去,我直接用线性回归公式算了
最终得到
⑤计算斜率b1 = 102.3994565
⑥计算截距b0 = -0.033967391
得出公式y=-0.033967391+102.3994565*x
线性回归的R2值接近高达1线性度高度拟合 ,经过验证符合计算。