×
嵌入式 > 技术百科 > 详情

基于USB口的智能遥控信号发射装置的设计

发布时间:2020-06-13 发布时间:
|

  0 引 言。

  目前在市场上已经拥有一种智能开关即可以用一个遥控器来控制连接在这个开关上的电器的通断。其工作原理是根据传统的通用协议将接收终端用单片机来模拟PT2272进行软件解码,但是存在的不足是发送端控制的终端数目太少,一个遥控器最多只能控制4个终端,为了弥补该产品在这方面的不足,因此设计了这种装置。

  设计思想是按照PT2262/2272传输协议用单片机模拟进行模拟原遥控器上的PT2262芯片编码,再通过USB口使得系统和电脑连接通信,由此通过电脑对接收端进行直接控制,控制数量大大增加。并且更加实用,功能更强大。

  1 硬件设计

  1.1 系统整体设计

  系统主要由USB转串口模块,单片机主控模块和无线信号发射模块组成。系统框图如图1所示。系统的工作流程是由计算机发送数据通过USB串口送入单片机,单片机对接收到的数据进行数据返回以便校验数据是否发送正确,若接收到数据和原来发送的数据有误,则重新发送,若接收无误,则单片机对接收到的数据进行编码处理后传输到无线发射模块,由该模块将信号发射出去。在信号发射过程中用一个LED灯来指示信号的发射是否完成。

图1 系统

  1.2 各模块设计

  1.2.1 USB转串口模块设计

  该模块的电路如图2所示。该模块采用经典电路设计,转换芯片采用的是PL2303HX.同时为了实现该装置的产品化,缩小其体积,因此在设计时在保持性能可靠的前提下尽量减少了元器件的使用。图2为最精简的电路设计图。

图2 USB转串口模块电路。

  1.2.2 单片机控制模块设计

  单片机控制模块的硬件设计:将USB串口模块的RXD和TXD线分别连接单片机的TXD和RXD线,以实现单片机主控模块和电脑的信息传输和交换。同时在P1口选择两个端口,一个连接LED指示灯,用来指示工作状态,另一个作为数据输出口与无线发射模块相连,用于单片机模块与无线发射模块的信息传输。

  1.2.3 无线发射模块设计

  该模块主要负责将从单片机主控模块传输过来的编码依次的发射出去。该模块电路产用常见的315无线收发电路图,电路图如图3所示。它是由声表谐振器和高频三极管组成的三点式振荡电路。数据由单片机输入,通过三极管Q2控制高频振荡器,实现数据的OOK调制发射。[page]

    2 软件设计

  软件的设计按前面的工作流程来,分为各个模块化来分别设计,主要包含的程序模块有:串口初始化、PC和单片机的串口通信,单片机对PC传输过来的数据进行解读和数据的编码设计、以及数据的无线发射这几个子程序块。

图3 无线发射模块电路

  2.1 编码规则的确定

  手动遥控器中使用的是PT2262芯片,虽然可以查到PT2262/PT2272编码规则,但是为了慎重起见必须重新用示波器测量其编码规则。当按下遥控器上的一个按钮后用示波器测量其发射波形,绘制出波形图。通过比对和计算,确定了手动遥控器的编码规则为:同步码+八位地址码+四位数据码。其中每一位码都有高阻、高电平和低电平3种状态,每种状态的波形图如图4所示。同步码长度为128a其中前4a个时间内为窄脉冲。

图4 PT2262的位脉冲波形

  2.2 延时的设定

  在程序设计中主要的延时有以下几个:a、4a、12a和124a的精确设定,通过测量手动遥控器中对应的最小延时单位a为120μs,由此编写精确的单片机延时程序。同时在编程设定延时的时候,要考虑全面,值得注意的是在该系统中才用的单片机芯片的指令运算速度是传统51系列单片机的6倍,这4个基准延时的设定要尽量减少偏差,为了提高精度,要把执行每条指令消耗的时间算进去。

  同时对于4a和12a的延时编程不能简单的用将a的延时重复执行若干次来完成,否则会有较大的误差,不能被正确解码。延时的设定要通过反复计算和测量看是否精确,不精确则进行修改。

  2.3 模拟脉冲编码

  根据PT2262/PT2272协议,同时通过对手动遥控器的发射波形进行测量知道,单片机的模拟编码应该分为3部分,即同步码、地址码和数据码。

  地址码和数据码本来各有3种状态,即高电平、低电平和高阻状态。手动遥控器中地址码在焊接电路时已经被固定,测量的编码为高阻状态,4位数据码分别由4个按钮控制,所以都只有高电平和低电平2种状态,在遥控的时候只能按一个按钮,所以一个手动遥控器只有4种不同的编码,因此一个手动遥控器最多只能控制4个不同的终端。但是在单片机进行编码的时候可以不受控制灵活多变,如果用1和0来表示高低电平这两种状态来编码的话,那么最多可以控制212个不同的终端,如果用00、01、10来表示这3种状态的话,那么最多可以控制312个不同的终端。在普通的工作环境中仅用1和0两种状态来编码就已经能够满足一般设计需求。

  在用单片机进行模拟脉冲编码的时候,通过USB转串口模块送过来的数据流进行相应的算法转换来确定8位地址码和4位数据码的每一位应有的状态,再通过调用不同的基准延时来模拟不同状态编码,从而构成模拟的12位的波形编码,同时在最后还要加上模拟的同步码,同步码可以独立编一个程序,直接调用插入即可。这样通过单片机的软件编程完成模拟的PT2262芯片编码。

[page]

2.4 实验结果

  系统已经制作完成,通过PCB制版和焊接已经完成了成品,如图5所示。由于在PCB制版时没有考虑到外壳的问题,所以PCB排版还不够完善,导致LED指示灯的位置并不是十分的恰当。

图5 系统正、反面效果。

  由于该系统设计的出发点就是用电脑代替遥控器控制所以,在系统的硬件制作完成后,用LabVIEW语言编写了一个可以安装在任何电脑上的控制软件,软件的控制界面如图6所示。软件中可以有效控制的端口数为212即4 096个,远远超过了普通遥控器的控制数,基本能够满足各种场合的需求。

图6 系统软件控制界面

  3 结束语

  本系统现在已经制作完成并调试成功,可以用电脑通过该设备控制简单的电灯组,该系统用传统的U 盘外壳包装,并已经获得国家实用新型专利证书。专利号:ZL2010 2 0546946.5)。该系统结构简单,体积轻巧,控制灵活,并且通过电脑控制,控制软件为用LabVIEW 编写的控制程序窗口。同时该系统可以通过功能扩展实现通过无线媒介或者互联网完成接收终端的远程智能遥控,属于物联网的应用范围,具有广阔的应用前景。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
无人机新突破:或将利用手机发射塔追踪无人机