【STM32】【HAL库】【实用制作】数控收音机(硬件设计)

2023-10-10 15:10

本文主要是介绍【STM32】【HAL库】【实用制作】数控收音机(硬件设计),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

需求分析

原理图

电源

电池

电池充电

电池保护 

升压电路

LDO

STM32

主控

 晶振电路

 电源

 引导

复位电路 

 ST-LInk下载电路

 串口

 按键和指示灯

 收音模块

RDA5807M

晶振

​编辑

 天线和耳机

 数码管

驱动 

 数码管

 功放电路

旋转编码器

 红外

PCB

成品


需求分析

  • 调频收音
  • 通过数码管显示音量,电台和频率
  • 使用电池进行供电
  • 可以推动较大功率的喇叭(5-10W左右)

原理图

电源

电源部分使用电池供电,使用的是额定电压3.7V的18605锂电池

单片机使用的是3.3V的stm32F103C6T6

数码管驱动额定电压3.3V-5V

后文使用的旋转编码器EC11额定电压5V

VS1838红外接受头额定电压5V

功放使用的是TDA2030 额定电压6-12V

其中只有功放部分属于大功率器件

所以电池需要升压后使用

电源有

8V(电池升压)

5V(LDO将8V降压)

3.3V(LDO将8V降压)

电池需要充电电路,电池保护电路,电池升压电路

电池

电池充电

使用的是PW4054芯片和Type-C的USB连接器

最大充电电流500mA慢充,避免出现电池发热

 

 电池充电一般是需要被电池保护电路所控制的,这里为了简化电路

所以充电电路和电池保护电路均直连电池 

电池保护 

 使用的是PW3130芯片,3.5A过流保护,2.6V低压保护

升压电路

 使用的是PW5300芯片,boost拓扑结构

注意L1电感需要最大电流1.5A以上

通过一个精密电位器调节升压后的电压 

当电压调节符合范围后通过跳线连接到主电源 

LDO

使用的是AMS1117系列,5V和3.3V 

 

 

STM32

主控

需要注意

晶振(5,6),复位(7),BOOT0(44),BOOT1(20)

 晶振电路

 

 用的是无源晶振

 电源

 滤波电容要接近电源的这些引脚

 引导

复位电路 

 阻容分压,上电瞬间为低电平,之后变为高电平

 ST-LInk下载电路

 串口

 按键和指示灯

 

 STM32的这部分电路是最容易出现问题的

 收音模块

RDA5807M

 I2C输出需要加上拉电阻 

晶振

 天线和耳机

 数码管

使用的是74HC595D

注意一定得是D,74HC595A是开漏输出,需要额外加上拉电阻

驱动 

 数码管

 功放电路

使用的是TDA2030芯片,单电源接法

 开关使用的是一个MOS管由单片机控制

旋转编码器

 红外

PCB

电源部分需要较粗(1A 30mil)的线

 

 STM32部分需要注意晶振电路

成品

百度网盘https://pan.baidu.com/s/1gO3oHUSIa0Vihef8MlgEEQ?pwd=6pao%C2%A0

软件部分https://blog.csdn.net/m0_57585228/article/details/126060958

这篇关于【STM32】【HAL库】【实用制作】数控收音机(硬件设计)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/181241

相关文章

MyBatis设计SQL返回布尔值(Boolean)的常见方法

《MyBatis设计SQL返回布尔值(Boolean)的常见方法》这篇文章主要为大家详细介绍了MyBatis设计SQL返回布尔值(Boolean)的几种常见方法,文中的示例代码讲解详细,感兴趣的小伙伴... 目录方案一:使用COUNT查询存在性(推荐)方案二:条件表达式直接返回布尔方案三:存在性检查(EXI

MySQL 添加索引5种方式示例详解(实用sql代码)

《MySQL添加索引5种方式示例详解(实用sql代码)》在MySQL数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中,下面给大家分享MySQL添加索引5种方式示例详解(实用sql代码),... 在mysql数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中。索引可以在创建表时定义,也可

JDK9到JDK21中值得掌握的29个实用特性分享

《JDK9到JDK21中值得掌握的29个实用特性分享》Java的演进节奏从JDK9开始显著加快,每半年一个新版本的发布节奏为Java带来了大量的新特性,本文整理了29个JDK9到JDK21中值得掌握的... 目录JDK 9 模块化与API增强1. 集合工厂方法:一行代码创建不可变集合2. 私有接口方法:接口

9个SpringBoot中的自带实用过滤器使用详解

《9个SpringBoot中的自带实用过滤器使用详解》在SpringBoot应用中,过滤器(Filter)是处理HTTP请求和响应的重要组件,SpringBoot自带了许多实用的过滤器,如字符编码,跨... 目录1. CharacterEncodingFilter - 字符编码过滤器功能和配置手动配置示例2

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

C#实现获取电脑中的端口号和硬件信息

《C#实现获取电脑中的端口号和硬件信息》这篇文章主要为大家详细介绍了C#实现获取电脑中的端口号和硬件信息的相关方法,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 我们经常在使用一个串口软件的时候,发现软件中的端口号并不是普通的COM1,而是带有硬件信息的。那么如果我们使用C#编写软件时候,如

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作