短距离无线电遥控有很大的应用需求,但由于射频电路的设计和调试较为复杂,对人员和设备的要求较高。因而限制了其使用范围。
蓝牙技术提供低成本,短距离的无线通信。支持点对点,一点对多点的双向数字传输。工作在2.402~2.480GHz的ISM频段。数据速率 1Mb/s,纠错编码采用1/3率的重复码,2/3率的汉明码,跳频频率数79个频点,跳频速率1600次/秒,发射距离 Class2级的模块为10m左右,Class 1 级的模块可达100m。
将蓝牙模块用于无线电遥控系统,把无线射频部分的工作交由蓝牙模块完成。使遥控系统设计变得简单方便。
无线遥控发射机
无线遥控系统中发射机的组成框图如图1所示。
图1 发射机的组成框图
它有三路模拟量(操纵杆)输入、六路开关量(按键)输入。微控制器选用TI公司的MSP430F2274单片机,主要优点是低功耗。蓝牙模块使用的是Stollmann公司BlueRS+ Class1模块。
发射指令编码:六个开关量全部状态的组合有64组码。由于实际有效编码的组数远小于全部状态组合码数。并且用2字节(16bit)的长度表示开关状态有效组合编码,故采用加大码组间汉明距离,使用具有纠错功能的分组码作为开关状态的传输编码。
发射机指令编码每20ms发送一帧。每帧数据的格式如图2所示。
图2 发射机指令帧
一帧数据18字节。帧头字段占4字节,其中第4字节是帧序号,以256为模;模拟1、模拟2和模拟3这三个字段各占2字节,分别是1号、2号和3号操纵杆的位置信息的数字量编码; 开关1字段占2字节,是表示六路开关状态的编码;开关2和开关3字段分别是开关1字段的重复,目的是增加抗干扰能力。接收机在对该信息解码时,接收到的开关1、开关2和开关3这三组码中只要有一组码的误码没有超出可纠错的范围,即可正确执行相应动作。不必再等待接收下帧数据,可减少延迟时间。
蓝牙模块与微控制器的连接如图3所示。微控制器把代表指令编码的组帧信息传送给相连的蓝牙模块,由该蓝牙模块经由无线信道发送到与接收机相连的另一只蓝牙模块,由它将数据传给接收机的微控制器。
图3 蓝牙模块与微控制器的连接
发射机微控制器程序
发射机程序框图如图4所示,微控制器执行读开关状态、开关编码、读操纵杆、组帧等指令所需要的时间很短,多数时间是等待20ms定时。当20ms定时器中断时就设置定时标志有效。主程序见到定时标志有效,就将已准备好的组帧数据移到发送缓冲区,并且启动串口开始发送数据。串口发送使用中断方式。
(a)中断程序框图
(b)主程序框图
图4 遥控发射机程序框图
发射机设计为每20ms发送一帧遥控指令,是为了和遥控对象中的一种模型舵机相配合。
微控制器与蓝牙模块使用串口通信,波特率选为9600b/s。一帧数据长18字节,发送占用时间约:
18字节×10位×(1/9600)秒≈18.75ms
需传送信息(遥控指令编码)的信道编码及其纠错、跳频时序控制等工作则由蓝牙模块在其内嵌的蓝牙协议操作之下完成。
接收机
遥控接收机的组成原理框图如图5,蓝牙模块与微控制器相连,蓝牙模块收到的遥控发射机发出的含有遥控指令编码信息的数据传给微控制器。由微控制器对该指令编码进行译码、变换后经由相应的驱动电路隔离和放大,然后控制对应的被控对象动作。
图5 接收机的组成
遥控接收机的微控制器收到的信息理论上应是和图2所示相同的发射机指令编码数据。但由于数据在传输过程中经由射频无线传输,更有可能因干扰等原因出现误码,使得接收到的信息与发送方的信息不一致,这就需要再次对收到的编码信息进行纠错处理。对开关量信息采取加大码组间汉明距离的方法增加纠错能力。而对操纵杆位置这类模拟量则是采取连续多次滑动滤波的方法来减小误码的影响。
结语
实测在收发相距70m,且无遮挡的情况下,接收机未出现拒动或误动的情形。距离100m时工作不可靠。从发射机按下开关到接收机对应端口响应动作,其延时约50~70ms。
由于是短距离遥控,操作者能目视被控对象的响应状态。为简单起见,仅用前向信道传送遥控指令。未使用反向信道。