STM32F4 嵌入式报告2-按键扫描,蜂鸣器模块分析与相关外设的学习思路

   文章主要以库函数出发,因为本人以智能车硬件出身主要以硬件去理解STM32.本章节主要从GPIO的硬件出发理解按键扫描,蜂鸣器模块分析与相关外设的学习思路。本文章会针对性去思考实际应用不同硬件设计的可能性,以及通过硬件角度分析不只是通过软件。本人的所有文章会随着本人理解逐步更新,若有不足之处请各位大神指出。

一.实验内容及要求

1、请使用STM32F407完成蜂鸣器每隔300ms响一次的程序,硬件连接图如下:

2、请在以上代码基础上使用STM32F407完成按键作为输入,当按键按下蜂鸣器响的程序,按键部分硬件连接如图:

3.参考 【STM32F4】HAL库 CubeMX(二)--------按键实验(蜂鸣器实验)_cubemx实验-CSDN博客文章浏览阅读4.4k次,点赞18次,收藏56次。前言在前面已经学习了点亮LED以及完成了跑马灯实验,本片博客将跟大家一起学习蜂鸣器的配置以及按键的配置。关于蜂鸣器,同LED类似,均是IO的推挽输出模式,配置过程大相径庭。本片博客主要是学习按键的配置(输入模式)以及按键的判断。一、IO口的8种工作模式STM32F4 的 IO 可以由软件配置成如下 8 种模式中的任何一种:1、输入浮空2、输入上拉3、输入下拉4、模拟输入5、开漏输出6、推挽输出7、推挽式复用功能8、开漏式复用功能二、蜂鸣器实验1.引脚配置1、查看手册,正点原子_cubemx实验https://blog.csdn.net/qq_47877230/article/details/108944634?spm=1001.2014.3001.5502实现基于HAL库 CubeMX的按键实验(蜂鸣器实验)。

1.

硬件分析

     分析这一个电路蜂鸣器电路。从蜂鸣器自身出发,由于我们在学习的过程之中并不清楚具体外设的型号。所以我们从原理图的外设电压去假设分析,我们可以看到beep为VCC3.3供电。      我们在嘉立创中查找压片式3.3V蜂鸣器.我们以TMB12A03为例,在其芯片手册中详细的说明了工作电流,工作电压,震荡频率,以及封装。在驱动电路之中我们很清晰知道该元件的理想驱动电路。

     根据芯片手册得到Buzz需要将io口的电流进行放大。但发现两个驱动模块的电路不同。芯片手册的为蜂鸣器的原始电路只是在io口加入了一个R1电阻去作为限流起到一定的保护作用。

       而正点原子的开发版进行一些保护但电路还有很多可以改进的地方,下面来进行分析这个电路和增加我个人的电路分析。

      分析电路:

       R59:为限流电阻,防止流过基极电流过大损坏三极管。

       R61:相当于基极的下拉电阻。如果beep端被悬空则由于R61的存在能够使三极管保持在可靠的关断状态(在电路关断时,因为三极管有结间电容,三极管be段端电压由0.7V缓慢下降,三极管没有完全关断,且处较于长时间放大状态,会损坏三极管)。如果删除R61则当BUZZER输入端悬空时则易受到干扰而可能导致三极管状态发生意外翻转或进入不期望的放大状态,造成蜂鸣器意外发声。所以加个下拉电阻,进行放电。
提升高电平的门槛电压。如果删除R61,则三极管的高电平门槛电压就只有0.7V,即A端输入电压只要超过0.7V 就有可能导通,添加R61的情况就不同了,当从A端输入电压达到约2.2V 时三极管才会饱和导通,具体计算过程如下:
假定β =120为晶体管参数的最小值,蜂鸣器导通电流是15mA。那么集电极电流IC=15mA。则三极管刚刚达到饱和导通时的基极电流是 IB=15mA/120=0.125mA。流经R2的电流是0.7V/3.3kΩ=0.212mA,流经R1的电流 IR1=0.212mA +0.125mA=0.337 mA。最后算出BUZZER端的门槛电压是0.7V+0.337mA× 4.7kΩ=2.2839V≈2.3V。

 改进:

首先在原来的基础上添加一些电容和一个反向二极管

C3:滤波电容将脉冲信号滤除。在有源蜂鸣器的两端添加一个104的滤波电容C3。

C2:主要是将电源进行高频滤波。

C1:主要是将提高蜂鸣器的抗干扰环境,在智能车的赛道上就发生过蜂鸣器因为电磁线的磁场导致蜂鸣器自己发声。

软件分析:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值