新型遥控钓鱼船的研究与设计*
1 引言 新型遥控钓鱼船的总体设计主要拥有两个系统:一个是由主控集成芯片PT8A977BPE控制的发射信号电路和由主控制集成芯片PT8A978BLW控制的接收信号电路;另一个是主要是应用ZigBee技术——以CC2530为控制中心的无线控制模块。该遥控钓鱼船的大致宏观工作过程如图1所示[1-5]。 图1 新型遥控钓鱼船的总体系统流程 1.1 5功能遥控器PT8A977BPE/978BLW系统设计 发射无线信号电路部分和接收无线信号电路部分组成了本次遥控钓鱼船的总体遥控电路,编码电路和RF发射电路组成了发射无线信号部分,解码电路和RF接收电路组成了接收无线信号部分。 首先发射信号电路中PT8A977BPE集成芯片对前进、后退、左转、右转、放饵料这五个功能进行相对应的编码,由RF发射电路发射出去。当无线信号接收电路接收了发射的信号之后,RF接收电路对信号进行取样并且过滤放大传给PT8A978BLW进行解码,然后输出相应的功能指令。具体工作流程图如2所示[6-8]。 图2 5功能遥控器的工作流程 1.2 CC2530芯片控制的无线模块系统设计 该系统用单片机的基础上增加一个无线接收和发送数据的部分,单片机8051模块主要是向无线模块发出数据是否接收的请求,而CC2530无线模块负责数据的接收和发送。配套底板按键按下后,发送模块CC2530发送数据,接收模块CC2530接收数据后然后通过外部的简单电路驱动小马达进行正传放线。如图3所示。 图3 CC2530模块的工作流程 2 系统硬件设计 2.1 新型遥控钓鱼船发射模块元件选择 该设计需要完成的功能是控制钓鱼船的前进、后退、左转、右转、放饲料这五个基本功能,如图4所示,要求是进行远距离的无线遥控。PT8A977BPE集成电路芯片恰好能够实现这五个功能,相比其他芯片集成度高。 图4 PT8A977BPE的内部结构 2.2 整体的发射电路设计以及电路分析 遥控钓鱼船发射电路主要以PT8A977BPE芯片为主来完成数据的发送,主要运用到数字电路和模拟电路的知识。如图5所示。 图5 PT8A977BPE的发射电路图 当开关S1的刀2拨到1的时候其芯片的内部电路对向右转的信号进行编码,传送到输出电路,然后由无线引脚输出右转信号再与外部电路整合通过天线将右转信号发射出去;同理当开关S1的刀2拨到3的时候其芯片的内部电路对左转信号进行编码,传送到输出电路,然后由无线引脚输出左转信号再与外部电路整合通过天线将信号发射出去。当开关S1的刀2拨到1并且开关S2的刀2拨到1的时候发送前进的信号;当开关S1的刀2拨到3并且开关S2的刀2拨到3的时候发送后退的信号。这两个单刀双至开关保证了新型遥控钓鱼船能够有4种不同的组合以此实现4种功能。只有当开关S1的刀2拨到3并且开关S2的刀2拨到1的时候发送加速的信号实现驱动电机的转动。 2.3 新型遥控钓鱼船解码模块元件选择 由新型遥控钓鱼船发射电路发出的无线遥控信号经天线和三极管Q1组成的RF电路接收后,这些无线信号将会被送至解码芯片PT8A978BLW的VI1输入管脚来对其进行解码的操作。如图6所示。 图6 PT8A978BLW的接收电路图 接收到的信号经芯片被PT8A978BLW解码后可从管脚7(Left向左转)、6(Right向右转)、11(Forward向前动)和10(Backward向后退)脚输出相应的功能信号来驱动两个全桥电机驱动器,从而使桥路上的驱动三极管交替导通以控制伺服电机的正、反转。 驱动伺服电机M1正传使得钓鱼船前进,驱动伺服电机M1反转使得钓鱼船后退,驱动伺服电机M2正传使得钓鱼船相左前进,驱动伺服电机M2反转使得钓鱼船向右前进。 3 系统软件设计 3.1 选择CC2530芯片的优势 选择CC2530芯片来接收和发送数据主要有以下几点优势: (1) 根据本次设计的要求――低且简单,采用ZigBee这种具有较低的通信传输数据量、数据传输的频率不是太高、成本学生能够负担得起、功耗也比较小等这些特点的这种无线通信技术,对于实现本次设计的组网通信最为简便。 (2) CC2530内部集成了单片机51的加强型内核、AD转换以及无线通信模块,在单片机与无线模块组合的时候CC2530芯片具有的可靠性更强,同时节点的体积与质量也会相应的减少一部分。 (3) CC2530支持最新的ZigBee协议,另一方面由于它能够支持网状网络等特点。 (4) CC2530相对于以前同系列的芯片来讲具有性能更优价格更加合适等特点。 3.2 CC2530系统整体的硬件电路 此次CC2530系统主要由CC2530核心部分和配套功能部分组成。 配套功能电路部分主要由电源模块、按键模块、串口通信模块等组成,其中电源模块作为系统内部的动力来源,主要为CC2530无线模块供电,保证系统机体控制与接收发射部分正常运行,PL-2303作为串口无线通讯模块用于接收上位机通过串口发送的指令,将数据传送给CC2530芯片并进行数据处理后执行相应指令动作。 3.3 串口通信及无线模块的程序设计 (1) 组网。首先要把协议栈的组网函数进行调用、然后加入到网络函数中以此来实现网络的建立与节点的加入[9-12]。 (2) 发送。要想实现无线数据的发送,需要发送节点然后调用协议栈下的无线数据发送函数。 (3) 接收。同发送数据一样,要想实现无线数据的接受,需要发送节点然后调用协议站下的无线数据接收函数。 3.3.1 程序设计的流程图 如图7所示。 图7 程序设计总体流程图 3.3.2 启动程序的程序设计 (1) 创建一个名称为basicRfCfg_t的数据结构,并初始化其中的成员。 (2) 调用basicRfInit()函数进行协议的初始化。 3.3.3 发送程序的程序设计 (1) 首先创建一个buffe。 (2) 然后调用basicRfSendPacket()函数发送,并查看其返回值。 3.3.4 接收程序的程序设计 (1) 上层通过basicRfPacketIsReady()函数来检查是否收到一个新数据包; basicRfPacketIsReady()函数功能:检查模块是否已经可以接收下一个数据,如果准备好刚返回TRUE; (2) 调用basicRfReceive()函数,把收到的数据复制到buffer中。 basicRfReceive()函数功能:接收来自Basic RF层的数据包,并为所接收的数据和RSSI值配缓冲区uint 8 basicRfReceive。 4 结束语 本次设计的新型遥控钓鱼船突破了停留在遥控玩具的平台,使其可以应用到休闲渔业这方面。因为在遥控电路的设计中需要使电路具备抗干扰能力强、稳定性高、能进行灵活、控制线路要简单容易修改等优点所以本次设计选用主控制芯片PT8A977BPE和PT8A978BLW来进行实现。一方面因为它符合本次设计5个功能的要求,另一方面由于它具有供电电压小等优势。