基于STM32的万能遥控器设计
实验题目:基于 STM32 的万能遥控器设计
1. 课程简要信息
- 课程名称:单片机原理与应用技术
- 课程学时:56 学时
- 适用专业,学生年级:通信工程 2014 级
2. 实验内容与任务
2.1 实验任务:使用 STM32F103 单片机和红外编码发射管制作万能遥控器。
2.2 实验内容:
-
仪器仪表测量记录波形,软件实现基波频率输出基础设计。采用仪器仪表观察并记录样本遥控器每一个按键的波形,分析波形并找出基波频率,设计红外发射电路,编程实现基波频率,根据所测各个按键频率进行倍频。最后完成每一个按键的功能发射,存储相应的按键编码,从而完成万能遥控器的自我学习过程。
-
采样脉冲序列的编程应用设计。使用单片机的捕获功能编程实现样本遥控器的波形测量记录,根据记录自动实现每一个按键功能并保存相应的编码信息。
-
自动匹配型号的高级设计。编程实现对遥控器脉冲序列的自动扫描,经过脉冲序列比对进行自动匹配,完成一个根据遥控器型号进行自动匹配的万能遥控器,完成遥控器的自我学习。
-
手机 APP 的创新设计。制作一款带有智能手机 APP 功能的便携式万能遥控器,具有菜单式选择型号,使得操作时尚、简洁和方便。
3. 实验过程及要求
-
了解不同遥控器分类和工作原理;
-
掌握不同遥控器的编码频率和编码脉冲序列;
-
选择一个电视机遥控器作为样本进行获取相关按键频率和编码信息,学习测量技术和编码方法;
-
采集遥控器所有按键频率和时序信息,分析基波频率;
-
通过仿真优化和硬件制作实现遥控器发射电路设计;
-
采用软件仿真载波频率,实现按键信息的发射,验证采样信号的准确性;
-
编程实现每个按键的时序信息,验证设计遥控器和样本遥控器的一致性。
-
使用单片机的捕获功能,采集样本遥控器的信息显示在 LCD 上;
-
保存每一个按键的时序和载波信息;
-
制作常用万能遥控器和智能手机便携式万能遥控器;
11)撰写设计报告,分组讨论答辩,学习交流不同的解决方案及其特点。
4. 相关知识及背景
如今,家电种类繁多,遥控器互不兼容,一个万能遥控器取代所有遥控器势在必行,正所谓“一机在手,遥控所有”。
STM32是当前最流行的32位ARM Cortex-M内核单片机,内有强大的资源可供选择,一方面可以直接与硬件电路相融合,另一方面也可以直接升级为嵌入式系统,实现真正意义上的软硬件完美组合。对于信号的产生、分解、合成轻而易举。
5. 教学目标与目的
通过完成设计,可以学会需求分析、方案论证;提高学生的综合应用能力,把电路、电子技术、单片机、通信技术和C语言编程等有机地融合在一起;学会发现问题、解决问题的方法和步骤,锻炼他们工程意识和工程素养。
6. 教学设计与引导
本实验的过程是一个比较完整的工程实践案例,需要经历任务分解、方案论证、模块化分工、硬件设计、软件设计、系统统调、系统实现、设计总结等过程。在实验教学中,应在以下几个方面加强对学生的引导:
-
学习遥控器脉冲测量的基本方法,了解不同的仪器仪表工作原理、测试技巧等,针对不同的测量方法要选择不同的方法、步骤和技巧。2) 不同遥控器输出信号的形式、脉冲宽度、有效范围、脉冲序列等都存在很大的差异,可以通过以点带面的方法逐步深入细致的研究。
-
实验要求的数据精度并不高,主要是功能性的实现。遥控器的红外线发射可以采用硬件电路提供载波信号,也可以采样定时器输出脉冲进行软件模拟仿真实现。
-
在电路设计、搭试、调试完成后,必须要用标准仪器设备进行实际测量,标定所完成的脉冲宽度和脉冲序列。
-
设计实现过程中,可以组织学生分工合作、分组讨论,以项目分解、答辩、剖析的形式进行交流,了解不同解决方案及其特点,拓宽知识面。6) 设计完成后,一定要组织共同讨论、交流、总结开发过程中的不足和经验教训。
在实验设计过程中,要注意学生设计的规范性;如单片机的最小应用。提倡模块化电路设计和软件编程。在调试过程中,要注意工作电源、参考电源对系统的影响,电路工作的稳定性与可靠性;特别要学会运用软件编程实现对硬件的验证方法,集中分析系统的误差来源并加以验证。
7. 实验原理及方案
红外遥控有发送和接收两个组成部分,设计方案如图 1 所示。

图1 红外线发射、接收设计方案
红外发送部分由 STM32F103单片机、触摸显示屏、逻辑调制器、红外发光二极管等组成。触摸显示屏用于显示和输入相关的命令或者输入载波频率;逻辑调制器用于对单片机发出载波信号和脉冲序列进行调制;红外线发送端采用二进制信号编码调制为一系列的脉冲串信号,通过红外发射管发射红外信号。
红外线发射电路如图 2所示。

图2 红外线发射电路图

图3 红外线接收电路图
红外接收主要完成对样本遥控器的脉冲序列检测,对红外信号的接收、放大、检波、整形,并解调出遥控编码脉冲。为了减少干扰,采用性能可靠的一体化红外接收头(HS0038,接收红外信号频率为 $3 8 \mathsf { k H z }$ ,周期约 $2 6 \mu \mathsf { s } )$ 接收红外信号,它同时对信号进行放大、检波、整形得到 TTL 电平的编码信号,再送给单片机,经单片机解码显示出发射信号的脉冲序列和样本遥控器发出的命令码。红外线接收电路如图 3所示。
8. 教学实施进程
教师在课堂上有的放矢的讲授,学生在课下成为主体,通过讨论、查阅资料、模块测试、软硬件结合的实训,把所学的单片机、通信技术和电子技术结合起来制作出一款简单实用的遥控器,从而激发学生的学习兴趣和积极性。
在实验实施过程中,教师仅仅是“导演”,学生才是真正的“主角”。教师采取“传、帮、带”式进行引导入门、启发思路、帮助解惑、鼓励上进,把学生积极地引入科技实践创新的大门,为培养具有工程素养大学生打下基础。
根据设计任务需要,把系统分作硬件设计和软件设计两部分。软硬件相互结合成为本实验的特点,更是需要注意的事项,要把软硬件的相互融合贯穿于任务安排、预习自学、课堂教学、分组讨论、现场调试、结果演示、总结答辩和设计报告的各个环境中,突出软硬件结合的必要性和可行性。
8.1 硬件部分设计
-
STM32F103 单片机最小应用系统的设计,红外编码发射部分(万能家用遥控器的主体),红外线解码接收器(用于测试样本遥控器)。
-
STM32F103 单片机最小应用系统的设计包括电源、晶振、复位、启动等电路。用一个 LED测试单片机是否工作正常。这是保证硬件正常工作的前提。
-
红外编码发射部分包括逻辑调制器和红外线发射驱动电路。可以使用数字信号源模拟载波信号和脉冲序列信号进行混合,然后使用示波器观察输出波形。这是万能遥控器的硬件主体,它的性能优劣决定着系统的稳定性和准确性。
-
红外线解码接收器,主要用于测试样本遥控器,也可以模拟一些家用电器的接收命令。这可以作为红外发射器的检测设备或者仪器。
8.2 软件部分设计
-
发射载波信号的 PWM输出:采用单片机定时器的 PWM输出功能实现给定的载波信号输出,这是系统编程设计的基础和检验实验设备品质的过程。
-
脉冲序列的仿真输出:运用单片机定时器功能模拟发射脉冲序列。实现遥控器的自学习功能。这是遥控器能否正常使用的关键,超出了误差范围,遥控器准确性就严重下降。
-
红外接收端的信号波形序列还原:使用单片机的定时器捕获功能还原发射端的波形脉冲序列,判断遥控器按键序号和功能。
-
保存记忆:保存记忆脉冲序列的特征值,便于及时区分遥控器类型和家用电器类型。
-
智能手机 APP:制作便携式智能的万能遥控器。这是大学生创新意识和创新兴趣提高的必经之路。
9. 实验报告要求
-
实验目的和意义:了解遥控器的工作原理,熟悉单片机、电子技术、传感器技术和电路设计规范和方法,掌握 STM32单片机定时器的编程方法和应用技巧,为今后工程设计和工程调试夯实专业基础。
-
实验任务:对任务进行需求分析,进行模块化分解。
-
方案论证:包括多个设计方案图、系统组成、工作原理以及各功能模块所实现的功能进行对比,选出最佳设计方案。
-
理论推导计算:根据遥控器载波频率和命令脉冲序列,计算定时器的时间参数。根据计算结果绘制调制波形和解调波形。
-
实验环境:包括 STM32 开发板和 RV MDK4.23 软件编译环境。
-
电路设计与参数选择:STM32F103 单片机最小应用系统的设计,红外编码发射部分(万能家用遥控器),红外线解码接收器(用于测试样本遥控器)。
-
电路测试方法:使用仪器仪表对器件测试;使用软件编程方式测试设计单元电路的功能,形成模块化封装的驱动程序。最后通过和样本遥控器对比的方式进行系统整体调试。
-
实验数据记录:记录每一个型号样本遥控器的信息。
-
数据处理分析:通过仪器仪表把实验数据进行记录分析,然后进行比对研究。
10)实验结果总结:通过系统设计,学习和掌握了哪些知识,存在哪些不足。展望没有实现的想法和设想。
10. 考核要求与方法
- 实验报告:报告的规范性与完整性,思路清晰,文笔流畅。占 $20 %$ 。2) 实物验收:功能与准确率的完成程度;触摸屏的应用;定时器的捕获和PWM输出以及与脉冲序列之间的相互关系;智能手机APP的人性化;完成时间。占 $40 %$ 。
- 实验质量:方案论证的准确性;STM32 实验平台资源的深入研究剖析;电路方案的合理性;焊接质量、组装工艺。占 $10 %$ 。
- 实验成本:充分利用实验室已有条件,材料与元器件选择合理,成本核算与损耗,占 $10 %$ 。
- 自主创新:功能构思、电路设计的创新性,自主思考与独立实践能力,占 $20 %$ 。
11. 项目特色或创新
-
主流的 STM32 单片机成为实验平台,特别是软硬件的完美综合应用成为本实验的亮点。
-
手机 APP、万能遥控器的时尚性、实用性,成为吸引学生兴趣试金石。
-
把工程实现方法的多样性渗透、融合到实验步骤中,通过技术知识的综合运用,使得学生的自主学习研究、项目组织规划、创新实践能力不断提高,有力地培养了学生的工程创新实践能力。
实验案例信息表
| 案例提供单位 | 山东科技大学 | 相关专业 | 通信工程 | |||
| 设计者姓名 | 吕英俊 | 电子邮箱 | sdkdlyj@163.com | |||
| 移动电话 | 18615614658 | 通讯地址(含邮编) | 济南市天桥区胜利庄路17 号,250031 | |||
| 设计者姓名 | 张山 | 电子邮箱 | 250411422@qq.com | |||
| 移动电话 | 15064151106 | 通讯地址(含邮编) | 济南市天桥区胜利庄路17号,250031 | |||
| 设计者姓名 | 牛君 | 电子邮箱 | 53895935@qq.com | |||
| 移动电话 | 15069005010 | 通讯地址(含邮编) | 济南市天桥区胜利庄路17号,250031 | |||
| 相关课程名称 | 单片机原理及应用技术 | 学生年级 | 3 | 学时(课内+课外) | 56+二周 | |
| 支撑条件 | 仪器设备 | 计算机一台;示波器;逻辑分析仪;STM32战舰I开发板;小型遥控终端接收器(比如 ETV)及遥控器;空调遥控器;5V2A直流稳压电源等。 | ||||
| 软件工具 | KeiluVision4(MDK4.23)。 | |||||
| 主要器件 | 红外线发射器,红外线接收器HS0038,三极管8050,74HC32或门,电阻、电容等。 | |||||