红外空调遥控器上位机设计
- 格式:docx
- 大小:220.92 KB
- 文档页数:7
智能红外遥控器设计
设计要求:设计一个智能空调遥控器,具有学习功能,能实现通过USB设定空调定时开关、温度调节、模式转换和风速调节等功能,能实时检测室内温度。通过顶部发光二极管显示工作状态,底部按键实现系统复位,通过USB转串口实现供电和传输数据的功能。
我在此次课程设计中主要负责上位机的搭建,下面将介绍我所做的工作。
1.上位机开发环境
上位机是指可以直接发出操控命令的计算机,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的计算机。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般为模拟量),转换成数字信号反馈给上位机。
我所选择的上位机开发平台是labview由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
它的最大的优势是速度快,图形化的程序语言,又称为“G”语言。使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW是一个面向最终用户的工具。它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。。其内部有大量的函数,另外对于专业领域也有大量的工具包、如音频、视觉、运动、报表、数据库等,都有现成的工具包可以调用,不需要自己再去编程实现这些功能。
2.系统功能模块组成
本系统共包含串口设置模块、室温采集模块、温度设定模块、遥控器学习模块和定时开关模块这五个模块。系统整体软件框图如下:
2.1.串口设置模块
LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括:
首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位等等,串口初始化如下图:
如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISA Read。在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。
在面板中进行串口配置,选择串口和波特率,控制串口开关。
2.2.室温采集和设温模块
温度信息通过DS18B20传感器采集并传送到上位机,在面板中显示出来。手动设定预期温度。
点击获取温度即可显示当前室内温度,其后台程序框图如下:
2.3.遥控器学习模块
设计要求中要求该智能遥控器具有学习功能。平常我们所使用的空调遥控器是通过自身发射红外信息来控制空调,在这里我们设计了一个学习模块,将遥控器上的功能进行一个克隆。先记录下配套遥控器各个功能按键所发射的红外信号信息的编码,然后存储到控制面板相对应的按键中。通过这种学习,下次直接操作面板按键就可以实现对空调的控制。
能够进行空调的开关、升降温、模式转换、风速控制及扫风等功能。操作面板图形如下:
其后台程序框图如下:
2.4.定时开关模块
要实现空调智能开关就必须要有一个定时模块,定时模块的开关都可由人自主控制,面板图如下:
对应程序框图如下: