michaelsco 发表于 2016-12-28 16:12:02

有关跑步机电流计步的问题探讨

       跑步机电流计步的原理是,利用人体负载在通过电机在电控上产生电流,因为电流时大时小并不是非常有规律的。所以必须在软件算法上滤除掉没用的电流信号,取到电流瞬间的突变值。这样才能相对准确反应人体的步数。
      理论是很完美的,但实际是很残酷的,我每次的取值都误差很大,都不知算法该如何处理了,最糟糕的是电机功率大小不一样取出的电流数值也都不一样。不知这里有哪位坛友是同行或是懂得做这个的,请赐教一些理论方法。

五哥1 发表于 2016-12-28 19:20:19

ADC 吗?找到最大,最小值,把人在上面活动时的平均值算出来。

michaelsco 发表于 2016-12-29 10:32:57

五哥1 发表于 2016-12-28 19:20
ADC 吗?找到最大,最小值,把人在上面活动时的平均值算出来。

如何确定何时是最大值何时又是最小值呢,干扰的状态又怎么判别

sssdd 发表于 2016-12-30 11:09:42

我觉得可以通过先定时采样电流AD。比如1ms一次,这样毛刺会少点了。
然后,后台开一个滤波因子比较大的的滤波器。比如当前的电流AD值只影响滤波器的1/8。只有当前AD值的1/8和历史平均值的7/8做累加。这样你可以得到一个相对更稳定的电机电流基调。我们认为这个就算电机的正常工作电流了。
然后。。延迟时间比如30ms的周期来取电流值出来判断。你可以另外开个滤波因子小的滤波器。或者直接拿当次的AD值来判断。跟正常工作电流比是大了还是小了?这里你可以设定一个阀值。超过阀值的,当做真正的电流变化。然后再对这个状态的持续时间进行检测,再开个寄存器累加。你就更能分析出这电流变化的行为。。
滤波至此,已经是奇慢无比了。应该能得出点结果的。
然后就是苦逼的试验了。先祝你好运了。

michaelsco 发表于 2016-12-31 17:05:49

sssdd 发表于 2016-12-30 11:09
我觉得可以通过先定时采样电流AD。比如1ms一次,这样毛刺会少点了。
然后,后台开一个滤波因子比较大的的滤 ...

      非常感谢楼主非常精彩的分析,楼主分析的挺有道理,首先把源头的AD值给滤除干净,得到相对稳定的电流值。接下来再对电流值的判断。
      其实我试验了这几天之后出来的步数也是相对稳定了,从最小电流铺抓到最大电流为止,然后使用最大电流与最小电流相减,得出差值。差值的大小直接反应到电流是否产生突变。当然这个前提条件与扫描时间,电机功率大小密切相关。

ts2000 发表于 2017-1-5 08:56:56

滤波。。。。。。
页: [1]
查看完整版本: 有关跑步机电流计步的问题探讨