|
跑步机电流计步的原理是,利用人体负载在通过电机在电控上产生电流,因为电流时大时小并不是非常有规律的。所以必须在软件算法上滤除掉没用的电流信号,取到电流瞬间的突变值。这样才能相对准确反应人体的步数。 理论是很完美的,但实际是很残酷的,我每次的取值都误差很大,都不知算法该如何处理了,最糟糕的是电机功率大小不一样取出的电流数值也都不一样。不知这里有哪位坛友是同行或是懂得做这个的,请赐教一些理论方法。 |
微信公众号
手机版
评分
查看全部评分
如何确定何时是最大值何时又是最小值呢,干扰的状态又怎么判别
然后,后台开一个滤波因子比较大的的滤波器。比如当前的电流AD值只影响滤波器的1/8。只有当前AD值的1/8和历史平均值的7/8做累加。这样你可以得到一个相对更稳定的电机电流基调。我们认为这个就算电机的正常工作电流了。
然后。。延迟时间比如30ms的周期来取电流值出来判断。你可以另外开个滤波因子小的滤波器。或者直接拿当次的AD值来判断。跟正常工作电流比是大了还是小了?这里你可以设定一个阀值。超过阀值的,当做真正的电流变化。然后再对这个状态的持续时间进行检测,再开个寄存器累加。你就更能分析出这电流变化的行为。。
滤波至此,已经是奇慢无比了。应该能得出点结果的。
然后就是苦逼的试验了。先祝你好运了。
评分
查看全部评分
非常感谢楼主非常精彩的分析,楼主分析的挺有道理,首先把源头的AD值给滤除干净,得到相对稳定的电流值。接下来再对电流值的判断。
其实我试验了这几天之后出来的步数也是相对稳定了,从最小电流铺抓到最大电流为止,然后使用最大电流与最小电流相减,得出差值。差值的大小直接反应到电流是否产生突变。当然这个前提条件与扫描时间,电机功率大小密切相关。
评分
查看全部评分