本设计为中国计量大学校赛获奖作品,较好地完成了赛题要求的参数指标。
成员全部来自中国计量大学,为2020级本科学生,其中两名为电子信息工程专业,一名为通信工程专业。
设计并制作一个基于红外光的混合信号传输通信装置。红外光通信装置利用红外发光管和红外光接收管作为收发器件,用来定向传输信号,传输距离为2m,接收的声音无明显失真。增加一路数字信道,实时传输发射端环境温度,并能在接收端显示。数字信号传输时延不超过10s。温度测量误差不超过2℃。语音信号和数字信号能同时传输。再设计并制作一个红外光通信中继转发节点,以改变通信方向90°,延长通信距离2m。
根据比赛题目,要求传输的信号可采用话筒或音频插孔线路输入,也可由低频信号源输入;频率范围为300~3400Hz。接收的声音应无明显失真。当发射端输入语音信号改为800Hz单音信号时,在8Ω电阻负载上,接收装置的输出电压有效值不小于0.4V。不改变电路状态,减小发射端输入信号的幅度至0V,采用低频毫伏表测量此时接收装置输出端噪声电压,读数不大于0.1V。同时还要增加一路数字信道,实时传输发射端环境温度。红外光通信中继转发节点设计与发射部分和接收部分类似。系统总体框图如下图所示。
1.电路总体框架设计
2.麦克风电路
3.加法电路
4.红外发射电路
5.红外接收及放大电路
6.滤波电路
高通滤波电路
低通滤波电路
7.解调电路
8.功率放大电路
主要代码如下。
发射部分代码块:
#include "delay.h"
#include "sys.h"
#include "led.h"
#include "lcd_init.h"
#include "lcd.h"
#include "pic.h"
#include "usart.h"
#include "ds18b20.h"
#include "ad9833.h"
#include "HMI.h" ;
char tjcstr[100];
static u8 flag;
int main(void)
{
u16 tem[1];
u16 temperature;
float temp,temp1,temperature_ture;
float t=0;
delay_init(168);
uart_init(4800);
OLED_Init();
LED_Init();//LED初始化
LED0=0;
while(1)
{
delay_ms(50);
if(DS18B20_Init() == 0)
{temperature_ture=DS18B20_Get_Temp()/10;
temperature = DS18B20_Get_Temp()-200;
USART_SendData(USART1,temperature);
}
}
}
接收部分代码块:
#include "stm32f10x.h" // Device header
#include "Delay.h"
#include "Timer.h"
#include "lcd_init.h"
#include "lcd.h"
#include "pic.h"
#include "Key.h"
#include "usart.h"
int main(void)
{
u32 temp=0;
u16 get_tempareture,get_tempareture_z,get_tempareture_x;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2 //延时函数初始化
uart_init(4800);
LCD_Init();//LCD初始化
LCD_Fill(0,0,240,40,GRAY);
LCD_Fill(0,40,120,240,LGRAY);
LCD_Fill(120,40,240,240,LBBLUE);
LCD_ShowChinese(0,40,"当前温度",BLACK,LGRAY,32,0);
while (1)
{
get_tempareture = USART_ReceiveData(USART1)+200;
get_tempareture_z=get_tempareture/10;
get_tempareture_x= get_tempareture%10;
if(get_tempareture<400)
{LCD_ShowIntNum(140,40,get_tempareture_z,2,BLACK,LBBLUE,32);
LCD_ShowString(175,40,".",BLACK,LBBLUE,32,0);
LCD_ShowIntNum(186,40,get_tempareture_x,1,BLACK,LBBLUE,32);
LCD_ShowChinese(202,40,"℃",BLACK,LBBLUE,32,0);
}
}
}
见附件。
!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。
欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。
EEWorld Datasheet 技术支持