基于AVR单片机的无线红外通信系统设计

时间:2022-03-06 01:59:26

基于AVR单片机的无线红外通信系统设计

摘要:文章应用红外通信方式实现了一个基于单片机红外光通信的模拟信号和数字信号的发射与接收系统。模拟发射部分采用PWM脉宽调制技术发射语音信号。接收部分采用带有滤波的光电三极管,解调出输入的语音信号。数字发射部分以avr单片机为控制核心,发射温度信号,采用单片机的输入捕捉功能还原出温度信号,再显示当前温度。系统具有硬件电路简单、抗电磁干扰能力强、高速可靠、较高的集成性、性价比较高等特点,具有一定的参考和使用价值。

关键词:AVR;单片机;无线红外通信

近年来无线数据通信技术不断发展,红外无线技术也得到了较大的进步,它主要利用红外线来传递数据,是无线通讯技术的一种,具有体积小、功耗低、功能强、成本低等特点。结合红外通信技术应用的特点,本文设计和实现了一种基于AVR单片机的无线红外通信系统。单片机是目前设计应用中用得比较广泛的器件,它可以通过软件编程来达到不同的效果,实现各种各样不同的功能,具有灵活性强、可靠性高、可扩展性好的优点。结合单片机技术,可以提高红外通信的距离,而且硬件电路简单,同时具有较高的集成性、性价比较高等特点,具有一定的参考和使用价值。

1系统方案

本系统是一个基于单片机红外光通信的模拟信号和数字信号的发射与接收系统。采用语音信号放大,经过PWM调制后单独发射,经光敏三极管接收进行放大滤波和功放。温度信号采用DS18820采集,经过单片机进行编码,将调制信号与38KHz载波信号通过74HC157多路选择器进行调制后发射。同样采用光敏三极管U37D进行接收,即可解调出发射的温度信号,通过AVR128单片机进行输入捕捉,最终显示到1602液晶显示屏上。模拟部分信号调制采用PWM调制方案,解调时采用巴特沃斯滤波器;数字部分的红外编码采用16位温度数据并在前后加入起始位和截止位,组成包含18bit方式的一个帧,调制方案主要采用WDM调制。

2系统硬件设计

2.1模拟系统硬件电路设计

信号的输入采用反相输入运算放大器实现前置放大,再通过比较电路与积分电路首尾相连,组成闭环电路,电路自动生成方波、三角波。然后将三角波信号和音频信号经过LM393比较后出来PWM比较标准,此时不需要整形,只需红外发射电路即可。为了确保发射达到一定的距离,在发射前级加一个功率放大三极管8050。再经过编码后的二进制信号调制成频率为38KHZ的间断脉冲串,即是调制后用于红外发射二极管发送的信号。发送信号完毕后,信号通过红外及放大电路接收。本设计选用接收距离较远、接收高频的光敏三极管,而且还带有一定的滤波作用。由于光敏三极管接收的信号比较弱,所以要先经过放大处理。在后极加一个带通滤波器,滤掉各种谐波,还原出语音信号。带通滤波器由一个巴特沃斯二阶低通滤波器和一个巴特沃斯二阶高通滤波器组成,该滤波器是将接收信号中低于300Hz以下的谐波滤掉。经滤波器输出的语音信号十分微弱,带不动8Ω负载,需要放大功率。选用专用音频功率放大芯片LM386。

2.2数字系统硬件电路设计

选用集成数字温度传感器DS18820,便于数据处理及控制。经过DS18820采集到的数字温度信号直接发射会在接收端出现乱码现象,故需对其进行编码处理。本设计采用ASK相移键控方式进行调制,并采用AVR单片机作为主控芯片。方波的频率选为37KHz,选用芯片SN74HC157实现选通。

接收电路还是选用光电三极管,光电三极管本身带有滤波作用,由于调制前后的信号都是数字信号,通过光电三极管的滤波就可将编码信号还原出来。由于接收到的信号是编码信号的反码,所以在接收后加一个反相器。解码之前要先将调制信号解调出来,解调方式是先将接收到的信号通过滤波器,再利用一个电压比较电路跳出编码信号,解码电路选用Atmel公司的ATmega128单片机,利用其输入捕捉功能进行解码,显示电路采用LCD1602,并用单片机进行控制。

3系统软件设计

红外编码方式采用2ms的高电平和1ms的低电平表示二进制“1”,用1ms的高电平和1ms的低电平表示二进制“0”,这样就将16位温度数据编码成一系列脉冲,为了保证解码的正确性,在编码后的16位温度数据前后加识别码,起始标志码用6ms高电平和5ms低电平表示,结束标志码用9ms高电平和8ms低电平表示,这就构成了一帧数据。

解码是将前面编码的温度数据还原出来,这里就用到Atmega128的16位计数器的输入捕捉单元。温度采用LCD1602液晶显示,电路简单,由于解码出的温度数据是16位二进制代码,还要进行数据处理,然后送给液晶显示。

4测试结果与分析

输入正弦信号,Vi=200mVp-p接收距离为2m时,在8Ω电阻负载上测得数据(见表1)。

在输入信号为O时,输出电压有效值Vrms=25mV。用DS18b20测得的温度数据为18.45260C。在接收端接收到了温度数据和语音信号,实现了利用红外光通信。在输入信号为500HZ时,从表1中可以看出,在8Ω电阻负载上,接收装置的输出电压有效值都大于0.4V;而且在输入信号为0V时,输出噪声电压的有效值为28mV,远小于0.1V,模拟部分用PWM调制,数字部分用ASK调制方案,成功地实现通信。

5总结与展望

本文设计了一个红外光通信系统,分别发送、接收模拟信号和数字信号。模拟发射部分采用PWM脉宽调制技术,将输入的语音信号经放大后与38KHZ的三角波进行PWM调制,经整形后通过红外二极管发射。接收部分采用带有滤波的光电三极管,可以基本解调出输入的语音信号,经放大后,采用带通滤波器滤波,再经过LM386功率放大后语音信号较好。数字发射部分以Atmega128单片机为控制核心,选用DALLAS公司的DS18b20温度传感器,将采集到的温度信息编码后,利用ASK调制后经红外二极管发射,接收部分采用非相干解调(包络检波法)方式解调出编码信号后,采用128单片机的输入捕捉功能还原出温度信号,再用LCD1602显示当前温度。系统的硬件电路简单,同时具有较高的集成性,性价比较高等特点,具有一定的参考和使用价值。

上一篇:网络动画仿真演示实现分析 下一篇:关于计算思维在艺术专业运用的几点思考