发作品签到
标准版

红外光通信装置

工程标签

1.9k
0
0
1

简介

本设计是一套传输混合信号的红外光通信装置,主要由信号采集模块、红外发射模块、红外中继模块、红外接收模块四部分组成,能实现语音信号和发射端环境温度同时传输,无明显失真条件下最大传输距离达5m。

简介:本设计是一套传输混合信号的红外光通信装置,主要由信号采集模块、红外发射模块、红外中继模块、红外接收模块四部分组成,能实现语音信号和发射端环境温度同时传输,无明显失真条件下最大传输距离达5m。

开源协议

CC-BY 3.0

创建时间:2022-06-28 22:30:47更新时间:2022-06-28 22:48:10

描述

前言

     本设计为中国计量大学校赛获奖作品,较好地完成了赛题要求的参数指标。

团队介绍

     成员全部来自中国计量大学,为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);
    }
  }
}



实物展示

 

演示视频

    见附件。

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
演示视频.mp4
79
克隆工程
添加到专辑
0
0
分享
侵权投诉

评论

全部评论(1
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航