前言
- 个人邮箱:zhangyixu02@gmail.com
- 项目视频链接
硬件介绍
电池管理
(1)我们项目采用
TP4056
电源芯片给锂电池充电。因为我们采用的是3.7V
锂电池,通过插上USB
接口5V
供电。通过查看TP4056芯片手册的典型应用可知,该芯片是满足要求的。
(2)通过典型应用,我们基本可以知道该芯片原理图大体如何进行设计。但是,我们会根据自己的情况来进行调整。例如在典型应用中,他们是使用两个发光二极管用于显示充电状态。
(3)而我们电动牙刷有一个
LCD
显示屏,同时电池的电量会反应在电压上,当电池满电时电压为4.2V
,当电压为2.7V
至3.0V
左右时,电量基本是快没有了,此时再使用电池,将会对电池产生损坏。因此,我们可以使用ADC
功能来读取电压值来推断出此时的电量百分百,同时通过CHRG
引脚辅助获知电池充电状态和有无,之后在LCD
显示屏上进行显示。
(4)关于
PROG
引脚的 R P R O G R_{PROG} RPROG 电阻阻值选取,各位可以根据自己选定的电池充电最大电流来进行选取。我们这里选取的是2.2K
电阻,充电电流大约为500mA
。
(5)可以通过
TEMP
引脚获知当前电池温度,我们不需要该功能,因此进行删除。最终的电路如下
LDO稳压
(1)我们选取的
LDO
稳压芯片为HE9073A33M5R
。我们通过阅读HE9073芯片手册可知该芯片的输入电压范围为2-7V
能够稳压到3.3V
,而且该芯片的功耗很低,符合我们项目需求。
(2)我们看官方提供的 Typical Application Circuit,如下图,因此我们即可设计出自己的
LDO
稳压电路。
USB转串口
(1)如下为一个标准的USB转串口 原理图。这里是直接参考的曾经的 ESP32 相关开发板的。
LCD显示屏
(1)因为我们的
LCD
是外接的SPI
显示屏,因此需要根据外接显示屏的引脚进行设计,因此原理图如下:
电机控制
(1)电机控制,我们采取的驱动芯片是
TC118S
。该芯片主攻应用就是电动牙刷,而且是国产芯片,技术文档均为中文,相对友好。
(2)我们采用的电池为3.7V
锂电池,而3.7V
锂电池满电状态下为4.2V
。 根据 TC118S 技术文档可知,3V
以上建议使用1uF
电容,4.5V
使用4.7uF
电容。综合考虑,我们VDD
最终使用4.7uF
电容进行滤波。
(3)因此,最终我们电机控制的原理图如下:
无源蜂鸣器
(1)蜂鸣器分无源蜂鸣器和有源蜂鸣器两种。有源蜂鸣器的控制简单,但是声音单调且尖锐。没有人希望自己刷牙的时候,牙刷声音嘎嘎难听,因此我们选用无源蜂鸣器能够通过
PWM
控制,来产生想要的音频效果。
(2)无源蜂鸣器使用一个NPN
型三极管来控制蜂鸣器。该三极管使用R13
作为下拉电阻使得基极默认低电平,R14
作为限流电阻防止基极电流迅速增大导致三极管损坏。BEEP
引脚输出高电平,三极管导通。
(3)我们通过控制BEEP
输出PWM
能够让该蜂鸣器产生特定的音符,最终产生悦耳的声音。
按键
(1)根据 《ESP8684 系列芯片规格书》 的2.4 Strapping 管脚章节 介绍可知,当
GPIO9=0,GPIO8=1
时,芯片会进入下载启动模式。
(2)根据后面的ESP8684-MINI-1外围电路设计介绍部分我们知道,
GPIO8
会通过10k
限流电阻上拉至高电平。因此,我们决定使用GPIO9
作为按键引脚。这样按键在芯片启动时候可以用来选择启动模式,在芯片启动完成后又可以当做普通按键使用,一举两得。
(3)我们的按键并联一个
104
的电容用于按键消抖,这样软件程序编写会更加简单。因此电路如下:
自动下载电路
(1)ESP32的自动下载电路介绍起来相对复杂,感兴趣的可以看看这篇博客:论ESP32自动下载电路
ESP8684-MINI-1电路
ESP8684-MINI-1与ESP32C2关系
(1)我们该项目是采用的
ESP32C2
系列的芯片,使用的是ESP8684-MINI-1
模组。
(2)对于乐鑫的模组和芯片关系不太了解的,可以看看这篇博客:芯片、模组、开发板的区别与联系-结合ESP32浅谈。
(3)关于乐鑫的芯片选型,可以查阅:乐鑫芯片
ESP8684-MINI-1外围电路设计介绍
(1)该项目是基于
ESP8684-MINI-1
模组进行的项目设计。因此,我们需要知道ESP8684-MINI-1
模组的必备资源和可用资源进行了解。
(2)首先我们来看看乐鑫官方提供的ESP8684-MINI-1
模组技术规格书6 外围设计原理图章节。
(3)我们可以看到,进行模组外围电路设计,就需要先去理解该原理图。首先,我们看到该原理图中有
UART
接口、复位引脚、BOOT
选择接口、JTAG
接口,还有C1、C2、C3、R1
组成的延迟电路。
<1>因为要确保ESP8684
芯片上电时的供电正常,EN
管脚处需要增加RC
延迟电路。RC
通常建议为R = 10 kΩ
,C = 1 µF
。因此延迟电路设计如下:
<2>该项目作为一个电动牙刷项目,对体积存在一定的要求。因此,我们决定把
JTAG
接口删除,用于普通IO
口使用。
<3>该项目选择保留UART
接口。
<4>复位引脚、
BOOT
选择接口在前面的自动下载电路中进行了介绍,因此不再赘述。不过需要注意,IO8
会通过一个10K
限流电阻上拉至高电平。因此最终的ESP8684-MINI-1
设计如下: