关于OLED 模块的使用,在后续软件部分会详细介绍,在这里就不再做介绍了。
◆无源蜂鸣器
在单片机应用的设计上,很多方案都会用到蜂鸣器,大部分都是使用蜂鸣器来做提示或报警,比如按键按下、开始工作、工作结束或是故障等等。
有源蜂鸣器直接接上额定电源就可以联系发声;而无源蜂鸣器则和电磁扬声器一样,要在音频输出电路中才能发声。
有源蜂鸣器和无源蜂鸣器的区别(注意:这里的“源”不是指电源,而是指震荡源。):
- 有源蜂鸣器内部带有震荡源,所以只要一通电就会叫;
- 无源蜂鸣器内部不带震荡源,所以如果用直流信号无法令其鸣叫,必须使用一定频率的方波去驱动它(一般频率为2kHz-5kHz);
- 有源蜂鸣器一般比无源蜂鸣器贵,主要是因为内部多了个震荡电路。
此开发板上集成了一个无源蜂鸣器,电路设计参考图如下:
由于蜂鸣器的工作电流一般比较大,以至于STM32 的GPIO 口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流就可以了。
三极管的基极必须串接电阻,保护基极,即保护STM32 的GPIO 口。
基极和发射极需要串接电阻,即R11 电阻,该电阻的作用是在输入呈高阻态时使三极管可靠截止,放置三极管受噪声信号的影响而产生误动作。三极管的基极不能出现悬空,当输入信号不确定时,加下拉电阻,就能使其有效接地。
D4 1N4148 二极管的作用主要是续流,因为蜂鸣器是感性元件,当感性元件突然断电时会产生很大的反向感应电动势,可能会对电路中的其他电子元件造成损伤,因此,并联该二极管的目的是旁路掉此感应电动势,起保护作用。
◆锂电池充电电路
OWL Micro F1 开发板搭载了一颗“单节锂电池充放电管理”的芯片TC4056A,它是一款完整的单节锂电池采用恒定电流/恒定电压线性充电器,关于该芯片的详细参数,大家可以查阅手册,这款芯片的主要特点包括电池温度检测、欠压闭锁、自动再充电和两个用于指示充电、结束的LED 状态引脚,可编程充电电流可高达1000mA。
锂电池的充电管理电路如下图所示:
上图中,D3 主要是用来指示锂电池的充电状态,插入USB 时,在TC4056A 的作用下,开始给锂电池充电,指示灯D3 常亮,当锂电池充满时,D3 常灭。R15 是用来限定TC4056A 的最大充电电流,根据公式:IBAT=(VPROG/RPROG)*1200,其中,VPROG在预充电阶段时的电压为0.1V,此时电流IBAT=(0.1/1200)*1200=0.1A;VPROG在恒流充电阶段时的电压为1V,此时电流IBAT=(1/1200)*1200=1A。
由于锂电池我们采用了自带保护板的铝包电池,所以我们在板子上没有再增加充电保护电路了,如果大家在更换电池的时候一定要注意选择带保护板的电池,否则有可能发生意想不到的事情。