作者wtchen (没有存在感的人)
看板ASM
标题Re: [问题] 比较不易受干扰的平价RF module
时间Tue Dec 20 23:09:49 2016
我是用RPi做四轴(不另外加MCU)
LinuxDev有我的文章,不过好久没更新了,
最近把code重做,现在就是卡在RF24有效距离太低不安全
(四轴本身有安全设计,一段时间接收不到讯号就自动停掉)
正在等加了天线的RF24来+乾燥的好日子试飞。
※ 引述《MasterChang (我爱ASM)》之铭言:
: RF模组就是这样,不管你用uart或spi写入RF模组,除非下指令立即发送,
: 一般来说就是等buffer满或等待超时,要不然就是找低延时的RF模组。或
: 是有些模组会告诉你定长封包反而延时短。
发送端(Arduino)的确是下指令立即发送(频率20Hz左右,有现成的lib)
接收端(RPi)会以20Hz的频率读取接收的data(顺便清buffer)
我这样的需求RF24应该对我来说够了(就是有效距离太低)
: 不知道你的实作目标是啥?以前玩机器手臂,real-time是用RTX,
: none real time是一般windows应用程式,线上通讯,规划,资料交换都在
: windows上,手臂控制用ethercat跑逆运动学是在RTX(100us周期)。两者之
: 资料是透过goble share memory交换。
: 所以你应该要思考一下那些是要跑RT?那些不用?资料交换方式怎麽实作?
: 而不是一昧求RF资料交换快,RF不可靠。要快还不如用实体线路,比如Arduino用
: w5500建立ethernet用实体线路跟Pi连。
四轴加网路线应该不能看.... XD
: 在Pi上RT跑4ms周期,jitter都到0.1ms这样大,jitter 1ms的要求是很有问题
1ms对我的飞控来说还可以接受
: 甚至有些控制是不是直接用外部硬体做掉而不是在Pi上跑RT。光抢占核心优先
: 权其他事情就很难保证了。
我也知道RPi玩Real Time System不算多有趣。
不过就是没多少人做才值得挑战看看。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 90.41.190.34
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/ASM/M.1482246592.A.5FB.html
1F:→ MasterChang: 就只能祝福了.... 12/20 23:55
2F:→ MasterChang: 很多问题自己走一遭比我讲半天有用..... 12/20 23:56
其实差不多都OK了。real-time该做的测试都差不多了。
刚刚把file i/o的问题也解决了(用linked list)
主要困扰我的飞控跟杂讯问题也不是换成RTOS可以补救的。
※ 编辑: wtchen (90.41.190.34), 12/21/2016 00:00:44
3F:推 WolfLord: 我觉得是你的飞控自主性不够才会需要依赖高速通讯 12/22 09:13
那要看怎麽定义自主性。
如果是说能定在一个高度不动,我还不确定行不行。
(刚换了MS5611,精密度提高不过很难说)
我目前遥控的就是马力(PWM输出的平均值),
(写出来才发现盲点,应该改成PWM最大值)
跟倾角(前後或左右,这样可以移动)。
这些应该不多吧?
而且我的通讯要求说真的也不高,250kbps很够了。
(nRF24好像不能更低,不然128kbps我也可以接受)
(其实这些指令只用到3byte,还有1 byte可以决定要干嘛。)
※ 编辑: wtchen (90.41.173.65), 12/22/2016 18:26:29
※ 编辑: wtchen (90.41.173.65), 12/22/2016 19:32:15