本帖最后由 stylecheng 于 2014-3-26 12:49 编辑 chenzengwan 发表于 2014-3-26 09:08 打印程序优先级低于换相的优先级,几乎不影响换相。 而且数据采集和计算的代码没放到打印程序里面。 打印程序只是负责将计算好的结果给用户显示出来。 再怎么耗时也只是让用户晚那么0.0几秒看到结果而已,对精度没影响。 昨晚的程序不是很精确是因为转速是算的0.1秒的平均值,而PWM取的又是实时的数值;恰恰我用的舵机测试仪输出又有抖动,让电调输出的PWM也不稳定。 |
本帖最后由 chenzengwan 于 2014-3-26 09:12 编辑 这里说的PWM不是指接受发送到电调端的那个PWM 而是说电调到电机的那个PWM 这样说的话我就明白了。我还以为你说的是电调接收端的PWM。 另外对于换相时间的说法。我重新看了一下MK的代码和电调原理图,我说的确实有误。基本上是检测到转子位置该换相就换相了。刚开始研究电调,很多地方没吃透啊。。。。 不知道你代码中的打印程序是不是很耗时,printf之类的函数都比较耗时间,而电调的实时性要求比较高,你可以把打印代码优化一下,不要影响到换相实时性,这样测出来的KV值会更精确。 |
本帖最后由 stylecheng 于 2014-3-26 01:29 编辑 chenzengwan 发表于 2014-3-25 23:33 你概念有问题,不管占空比多大,施加到电机上的高电平电压都相当于电池电压。平均值是电池电压*占空比。这个平均值才是有效值。 换相与PWM没有直接关系,换相时机只取决于转子的位置。 有感无刷电机上的霍尔元件就是用于检测转子位置而决定何时换相的,无感无刷电机是利用第三相的感生电动势去检测转子位置而决定换相的。 而电机转速才是由PWM占空比去决定的。 这里说的PWM不是指接受发送到电调端的那个PWM 而是说电调到电机的那个PWM ourdev论坛的timegate网友写过一篇很好的文章《无感无刷直流电机之电调设计全攻略》 建议你去找来好好看看,那里面对无刷电机的工作原理阐述得很清楚。 |
不管pwm占空比多大,施加到电机上的电压都是一样的,也就是电池电压,电调只不过是根据占空比来调整换相时间,从而调整转速,所以你这个计算电压的方式欠妥。你把电压看成动态的了,实际上人家是固定的。 个人愚见,供参考 |
好像只能上传图片,固件发不上去。。。 |