1、桁车无线自动遥控装置的设计113 硬件的设计3.1单片机的选择根据上述工业桁车控制器设计组成及功能标准, 在硬件设计上的关键工作就在于完成信号检测并通过光电隔离等方式有效的将信号传回单片机, 处理结果由继电器输出, 由控制驱动模块。并根据无线芯片编码解码的的特点,结合AT89C51优秀的处理器功能,本设计选用AT89C51 为控制核心来实现无线遥控。AT 89C51有较少的精简 I/ O端口, 体积很小, 非常适用做小型应用系统的处理器。从传感器传入单片机的信号首先经过光电隔离器T LP521-4 降低干扰, 这种设计主要是考虑到在施工现场各种干扰因素比较复杂, 信号直接输入单片机可能会导致信
2、号不识别。隔离后的信号经过引脚 P1. 0 P1. 3 进入AT 89C51 进行处理, 与预先设定的门限值作比较, 然后输出指令到驱动电路, 控制继电器作出相应的反应。下面对AT89C-51做一下简单的介绍: ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 主要特性如下:(1)与MCS-51 兼容(2)4K字节可编程闪烁存储器(3) 寿命:1000写/擦循环(4)可编程串行通道低功耗的闲置和掉电模式(5)32可编程I/O线(6)三级程序存储器锁定(7)128*8位内部RAM(8)5个中断源(9)两个16位定时器/计数器(10)全静态工作:0
3、Hz-24Hz(11)数据保留时间:10年图6 AT89C51实物及引脚图由上可见,AT89C51芯片的功能强大,其震荡特性能很好的满足本设计的要求,与同类51芯片相比,其引脚较多,在满足对控制方式的选择的同时,还可加入调光控制电路,这更能符合本设计的需要。因此本设计决定选用芯片AT89C51作为无线电遥控电路核心芯片,使用的晶振为11.0592MHZ。3.1.2无线发送、接收芯片的选择现在,台湾普城公司生产的一种C M O S工艺制造的低功耗低价位通用编解码芯片 P T 2 2 7 2 和P T2262是无线遥控应用领域应用最为普遍、最为容易操作的无线编码解码芯片,其中2272是解码芯片,
4、2262是编码芯片,如下所示,。PT2262/PT2272 最多可有12 位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441 地址码,PT2262 最多可有6 位(D0-D5)数据端管脚,设定的地址码和数据码从17 脚串行输出,可用于无线遥控发射电路。 图7 PT2272实物及管脚图另外一款无线数传模块PTR2000同样也具有很广泛的应用,该芯片性能相当的强大。虽然所需外围元气件是非常少,但设计编程过程中是非常方便,也便于书写到硬件上。该模块在内部高度集成了高频接收、高频发射、FSK调制解调、PLL合成、功率放大、参量放大、频道切换等功能。符合现在社会的使
5、用要求,同样为了方便,它采用集成形式,与以往设计无线数传的产品相比,无需要昂贵的专业设备和相当的无线电专业知识,而且电路方案调试方便、电路简单,对于初学者也一学就会,从而促进了用户的使用和新产品的开发研制工作。对于便携及手持产品的设计一般采用这种芯片。PTR2000特性及引脚说明(1) 工作频率为国际通用的数传频段433MHz;抗干扰能力强,FSK 调制,特别适合工业控制场合;(2)灵敏达到-105dBm;(3)接收发射合一;(4)最大发射功率+10dBm;(5)功耗小,低工作电压(2.7V),待机状态仅为8uA;(6)具有两个频道,特别是能够满足需要多信道工作的特殊场合。(7)工作速率最高可
6、达20Kbit/s,也可在较低速率下工作如9600bps;(8)超小体积,约40mmx27mmx5mm;(9)可直接接CPU串口使用,也可以接计算机RS232 接口,软件编程很方便;(10)由于采用了高接收灵敏度、低发射功率的设计,使用无需申请许可证;(11)标准DIP引脚间距,更适合嵌入式设备。 图3.1 PTR2000引脚结构图PTR2000无线模块不但能够发射,且能够接收,实现一机多用的功能。它可以直接和单片机串口相连接,能独自实现信号的编码和解码,不必像PT2262/PT2272需要编程对信号进行解码,对于软件设计,相对简单了许多。另外,PT2262/PT2272只能接四个遥控键,若需
7、要功能较多的话,它无法满足。最后,和单片机的硬件连接方面,PRT2000模块也较为简单。基于以上几个方面的原因,无线发射、接收模块采用PTR2000。3.1.3其他部件的选择对于电源电路的设计中,电容和二极管的选择是很重要的,一般根据各系统元器件对电源电波的需求,首先选择选用相对低 ESR 的电容,减少对输出纹波的影响。陶瓷电容和钽电解电容具有较低的 ESR,但尽量采用标准铝电解电容。10100F的容量一般就足够了,负载大选电容大点的,小的选小的。二极管的作用是当功率开关管关闭时,为电感电流提供一条直流通路,故该二极管有时称续流二极管。续流二极管要求具有快的反应恢复时间和低的正向压降,因为反应
8、恢复时间的存在会引起噪声,增加二极管本身和功率开关的功耗。二极管正向压降的大小直接影响二极管上的损耗的大小,这里使用了反响恢复时间短、正向压降低的IN4007。经过以上对电源输出电压的滤波处理后,电源输出端的尖脉冲得到了很好的处理,将电源输出端连接到芯片引脚供电端时再加上去耦和旁路电容,会得到更加平稳的电源。3.2 遥控器外壳的设计操作人员可以通过键盘向计算机输入数据、地址、指令或其它控制命令,实现人机对话。用于计算机系统的键盘按其结构形式可分为两类:一类是编码键盘,即键盘上闭合键的识别由专用的硬件来实现;另一类是非编码键盘,即键盘上闭合键的识别由软件来识别。为了节省FO线,单片机系统中普遍使
9、用非编码键盘,键盘接口应具备以下功能:键扫描功能即检测是否有键按下;产生相应的键代码(键值);消除按键抖动及多键按下。根据设计功能的要求和现有的遥控器模型,本次设计的遥控器如下图:4x2的键盘结构中通过电阻接+5v。键盘没有键闭合时,所有的行线和列线断开,列线都呈高电平。当键盘上某一个键闭合时,则该键所对应的列线与行线短路。此时列线的电平由行线的电位所决定。如果把列线接到微机的输入口,行线接到微机的输出口,在微机的控制下线都为高电平,则这行上没有键闭合,如果读出的列线状态不全为高电平,则为低电平的列线相交处的键处于闭合状态;如果这一行上没有闭合键,就使行线为低电平,检测该行线上有无闭合键,以此
10、类推,直到最后一根列线都检测完。这种逐行逐列地检查键盘状态的过程就称为对键盘一次扫描。CPU对键盘扫描可以采取程序控制的随机方式,CPU空闲时扫描键盘。也可以采取定时控制方式,每隔一定的时间CPU就对键盘扫描一次。也可以采取中断方式,每当键盘上有键闭合时,向CPU请求中断,CPU响应中断后,对键盘扫描,以识别一个键处于闭合状态,并对该键输入信息做出相应处理。CPU对键盘上闭合键的键号确定,可根据行线和列线的状态计算求得,也可以根据行线和列线状态查表得。图8 4x2键盘2停1西西北停东南停开下停上停 图9遥控器外壳框架及理论实物想实现复杂的遥控信号传输,在发射端必须进行单片机的程序控制才能进行复
11、杂的按钮输出,8种情况的按钮输出,分别为停、开、东、南、西、北、上、下,遥控按键实物中的1、2为无功能键,为以后添加功能提供按键支持,并且可以再前六个按键损害时更换。3.3电路的设计3.3.1发射端电路的设计电源是各种电子设备不可缺少的组成部分,而便携式电子产品多采用电池供电,为了使电路性能稳定,往往还需要稳定电源。目前电源的种类繁多,不同的电源都有特定的使用场合。本次设计中,考虑到无线遥控器发射端电源只需给单片机89C51和无线模块PTR2000供电,故耗电功率相对较低,并且无线遥控模块和单片机所需电压都是5V,再加上电源购买、更换方便,投入成本低等问题,现选取一节碱性电池供电,电源输出电压
12、5V,输出电流需要达到100mA 以上,输出电压噪声要小以保证射频电路稳定工作。但随着工作时间的增长,电池电压的下降,无线遥控将不能正常工作,因此需要在在电源电路中加上一个发光二极管,以检测电池是否有足够的电量,如不足就是更换电池,电路图见下文。 图10为了节省电源,在遥控器背面设计一开关装置,用以开断电池供电。发射端电路图见附件。3.3.2接收端电路设计无线接收电路电源需要给单片机89C51、无线模块PTR2000、三个交流电机供电,且供电电压为+5V、+5V、+220V,并且接收端电源模块安装在桁车顶部,如采用两种电源方式,将便于进行更换,故在现有的220V交流电的基础上,进行变压处理,产
13、生5V、12V两种直流电压,来给无线接收端、继电器供电,文中不再对变压电路进行设计。接收端电路图见附件。4 系统软件的设计4.1软件设计需要完成任务由上章节对系统硬件模块设计我们可以清楚知道,电机的驱动都由硬件单独可以完成。所以,系统软件所要完成的任务包括一下四个部分。(1)键盘扫描程序;(2)无线电发射程序,当单片机扫描键盘有键按下时,需要单片机串口给PTR2000无线模块发送有效数据;(3)无线电接受程序,当有效数据接受时,需要PTR2000无线模块给单片机发送数据 ;(4)电机驱动程序,根据接收到的有效信号来控制电机的前进,后退,左行,右行,升,降。4.2系统软件主要程序的设计4.2.1
14、 发射部分控制程序设计遥控部分有单片机和键盘模块组成,单片机对按键端口扫描,然后判断是否是有效信息,若是则通过串口给无线模块进行发射。程序流程图如图4.1:/ PTR2000发送一组数据/*void halRfSendPacket(unsigned char *txBuffer,unsigned char size) halSpiWriteReg(CCxxx0_TXFIFO, size); halSpiWriteBurstReg(CCxxx0_TXFIFO, txBuffer, size); /写入要发送的数据 halSpiStrobe(CCxxx0_STX); /进入发送模式发送数据/*图1
15、1 无线发射模块程序流程图4.2.2 接收部分控制程序设计被控部分主要由单片机、驱动芯片、无线接收模块和直流电机组成,无线电接收信息,单片机分析数据,然后调用子程序,从而控制直流电机动作。程序流程图如下图4.2:/接收一组数据,并放入缓冲区 /* if (halSpiReadStatus(CCxxx0_RXBYTES) & BYTES_IN_RXFIFO) packetLength = halSpiReadReg(CCxxx0_RXFIFO); /读出第一个字节为该帧 数据长度 if (packetLength = length) /所要的有效数据长度小于等于接收到的数据包的长度 halSpiReadBurstReg(CCxxx0_RXFIFO, rxBuffer, packetLength);/读出接收的数据 halSpiReadBurstReg(CCxxx0_RXFIFO, status, 2);/读出CRC校验位 if (status1 & CRC_OK) /如果校验成功返回接收成功 halSpiStrobe(CCxxx0_SFRX); /接收之后刷新缓冲区 return 1; /*N
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1