大疆机甲大师Python API之十一:用上电时间实测电池放电曲线
类似于前文大疆机甲大师Python API之十:程序运行时间,无限循环左转右转直至耗完电。在此过程中利用取”取上电时间“接口,获取持续运行的时间直到没电自动关机为止,看看能有几分钟。顺便看看耗电是否平均。
例程主体
下面是主体部分,完整可运行源码在此。
def 开始():
云台灯(常量.云台所有, 红色, 常量.效果常亮)
云台.设置旋转速度(20)
大师.设置模式(常量.底盘跟随模式)
while True:
云台.平转(90)
云台.平转(-90)
print(工具.取上电时间())
def 云台灯(位置, 颜色, 灯效):
LED灯.云台(位置, 颜色['红'], 颜色['绿'], 颜色['蓝'], 灯效)
红色 = {'红': 255, '绿': 0, '蓝': 0}
没啥好说的,开跑!
过程曲折
(只想看耗电情况的请跳过此段)
跑了两分钟后,因为水平偏移(见前文视频),把机甲拿起来移动,结果四轮飞转,大概是扭矩还在而摩擦力突然消失的缘故!还好电机没事。之后就不大敢提离地,而是慢慢地平推。
跑了15分钟后,开发环境中报错”云台过载,云云“,不确定是否和我期间大动作移动机甲有关。又继续跑了一会,开发环境报错”姿态偏转太大,进入保护模式“,机甲停止动作。于是重启后继续跑。
又过了5分钟左右(期间搬动过),机甲又停止了,但没有机会看到开发环境的报错信息,强烈建议将此类运行中的反馈信息持久化,而不是像现在这样闪现几秒而已。毕竟很多时候用户不会紧盯着开发环境,很容易错过。
过8分钟又一次。经过了几次搬动,猜测水平移动和地板的轻微倾斜有关(如果是纯粹的原地旋转,不应该有任何平移)。
在小心平推之后,最后一段坚持了40分钟不需重启。
另外注意到的,虽然只在代码中指定了云台水平转动,但在此过程中,云台仍有上下俯仰运动,不知是何原因: 机甲大师S1底盘跟随云台转动
而且上面的视频中,云台换方向时比较突兀,而在这不久之后就发生了未知错误停止运动。不知是否有关。
耗电曲线
无论如何,还是基本达到了预期。下面是记录的电量变化数据,几次时间重置是上面提到的因故运行停止:
电量 上电时间
99 146
98 178
97 251
95 407
92 508
89 638
82 982 云台过载
80 1089
78 37 姿态偏转过大,进入保护模式
74 296
71 480
69 600
65 748
64 38 未知错误
62 197
57 465
55 628
51 892
46 1155 未知错误
45 25
36 614
30 980
25 1304
22 1460
17 1756
13 1996
9 2181
0 2471
将时间累积处理后:
146 99
178 98
251 97
407 95
508 92
638 89
982 82
1089 80
1126 78
1385 74
1569 71
1689 69
1837 65
1875 64
2034 62
2302 57
2465 55
2729 51
2992 46
3017 45
3606 36
3972 30
4296 25
4452 22
4748 17
4988 13
5173 9
5463 0
下面是电量随秒数下降的曲线(excel生成):
竟然坚持了一个半钟头!出乎意料。除了最后9%(可惜没有获取电量的接口,否则可以取得更多的数据点,用于更精确描绘耗电曲线),看起来电池电量下降还算均匀。
过十五分钟之后拿出电池来充电没觉得有明显热度,不错。
最后。。。要是能有导出数据为文件的接口的话,就可以省去盯着控制台手工记录了。。。