feizhougod 发表于 2011-7-3 10:30:57

遥控每个通道的ppm信号值如何映射到0-255之间

如题,我现在在研究遥控ppm信号采集处理的模块,但看了mk的代码后,始终搞不清是如何映射到0-255的;其二德国人代码中有一句是:signal-=466,这又是何意啊?这样减了以后signal的范围就是154-159了,什么意思?

majianjia 发表于 2011-7-3 10:44:25

466应该是PPM信号的前0.5MS的时间。PPM每个通道是0.5ms 到 2.5ms对应0到180度的角度。前面0.5ms是没用的。
如果是定时器测出来的值,就应该减去0.5ms。MK的可能是466,我自己做的是1062。不是一样的。

对应八位变量的话,减去0.5ms之后再处以一个常数,这个常数用你PPM通道的最大值除以255就可以了。一般是浮点数。
要注意就是,模型遥控输出的是0到90度信号,对应就是0.5到1.5ms。舵机一般都可以做180度,电调则按90度,或者在第一次上电的时候设置行程

feizhougod 发表于 2011-7-8 14:22:12

回复1楼:谢了。下面这个链接是我自己编的ppm信号采集程序,但现在似乎根本没采集到,麻烦帮帮忙看一下。http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4859302&bbs_page_no=1&search_mode=3&search_text=feizhougod&bbs_id=9999

feizhougod 发表于 2011-7-20 19:47:35

有波形,就说明信号已经进来了,但还是没显示,就可能是采集部分的代码有问题。各位谈一谈撒,给点建议。

yue435 发表于 2012-2-12 11:55:13

帮顶~~~

54anson 发表于 2012-2-12 21:37:03

long map(long x, long in_min, long in_max, long out_min, long out_max)
{
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
}


map(value, fromLow, fromHigh, toLow, toHigh)

Description
Re-maps a number from one range to another. That is, a value of fromLow would get mapped to toLow, a value of fromHigh to toHigh, values in-between to values in-between, etc.

doneone 发表于 2012-2-13 10:38:59

ppm编码都弄完了,也没认真看过ppm是怎么回事
页: [1]
查看完整版本: 遥控每个通道的ppm信号值如何映射到0-255之间