4.1. 发射机原理
发射机频率¶
小车上FREQ的拨码开关用于设置通信频率,可以设置为0~15。具体对应关系如下表。如果两台发射机一起用的话避免使用相邻频道(指频率而不是拨码开关数值),防止相邻频道干扰。
| FREQ数值 | 对应频率 |
|---|---|
| 0 | 2.495GHz |
| 1 | 2.473GHz |
| 2 | 2.475GHz |
| 3 | 2.477GHz |
| 4 | 2.479GHz |
| 5 | 2.481GHz |
| 6 | 2.485GHz |
| 7 | 2.489GHz |
| 8 | 2.501GHz |
| 9 | 2.503GHz |
| 10 | 2.493GHz |
| 11 | 2.505GHz |
| 12 | 2.509GHz |
| 13 | 2.513GHz |
| 14 | 2.517GHz |
| 15 | 2.521GHz |
Note: 实际上,发射机与机器人是通过nRF24L01无线模块进行通信的,这个通信模块可以工作于2.4 GHz~2.5 GHz 频段,在这个频段之间一共可以设置125个频道,但是目前我们只用了其中的几个,如上表所示。国内除了浙大和我们,其他学校的队伍基本都用的是同一家公司的机器人,这几个频道是与他们的机器人一致的,所以当我们拨码开关相同的时候就会出现频率干扰。但其实国际赛对拨码开关对应的频率是没有要求的,也就是说我们可以自己修改这些对应频率,在2.4 GHz~2.5 GHz 频段选一些其他频段,这样至少可以避免国内赛的时候与其他队伍的机器人发生串频干扰。修改频率的对应关系需要同时更改机器人以及发射机的代码。
发射机通讯¶
建立连接¶
- 在Cray中选择完通讯端口和频率后,点击Connect完成连接。此时Cray会与发射机完成通讯,激活发射机为工作状态
- 该通讯属于串口(串行)通讯 ,以1bit为步长地发送数据。建立连接的机制类似TCP的“三次握手”,其中Cray向发射机发送的两个数据包的内容和功能依次是:
- ff b0 01 02 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 31 //start
- ff b0 04 05 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 a0 //config
- 每个数据包都由25byte组成,一个byte是8bit
更改参数¶
- 我们在更改使用中的通讯频率时,一直采用重新插拔发射机的方法,说实话有点傻
- 其实发射机原来的设计中提供一种在线更改参数(通讯频率)的方法,也是需要上位机软件(Cray)与发射机通讯协调
- 这里引用下原文,具体可不可行还得修改相关软件,线下再调试
发送指令¶
- 这是通常情况下发射机的作用,接收我们给到的运动指令,并发送出去
- 运动指令由相关软件(rbk/Cray)编码为比特数据流,通过串口、USB线给到发射机,其内部电路完成把数据加载到给定通讯频率的载波上,再向外发射
- 这种无线通讯方式类似于广播电台,应该容易理解,现在我们就是生活在电磁波的海洋中嘛
发射机电路¶
- TODO