BH1750 传感器实战教学 —— 硬件设计篇

前言

前面刚写了一篇 《BH1750 光照传感器文档详解 及 驱动设计》,今天来写一篇简单的传感器实战教学。

文章如下:BH1750 光照传感器文档详解 及 驱动设计

那有些朋友就疑惑了,在上一篇文章其实我们基本都测试成功了,驱动也写了,还有必要在写一篇吗?

如果是用 STM32 做的一个普通产品,确实没有必要再过多说明,但是我们本次的应用稍微特殊一点,需要在一个 51 内核的低功耗无线芯片上使用这个传感器。

硬件上除了低功耗的设计不能少,I2C通讯还需要做电平转换,软件上产品的驱动也需要修改移植。

这种针对有现成驱动和参考资料的传感器实际应用,也有很多初学者不太明白,本文的目的就在于给新人做个实际应用示例,便于大家以后在对面不同应用的时候知道怎么处理。

我是 矜辰所致,全网同名,尽量用心写好每一系列文章,不浮夸,不将就,认真对待学知识的我们,矜辰所致,金石为开!
插一句,技术群在 CSDN 文章结尾后面的的推广,讨论学习。

一、整体说明

我们上文提到的测试是使用市面上现成的模块,我们只需要连接 4 根线即可完成测试。 但是本次实战,我们需要了自己设计电路图,而且要针对低功耗的应用,所以有些地方有必要说明。

本次采用的无线芯片为 Enocean 芯片,其实不是很通用,国内只有极少的的公司在使用他们的技术,但是这并不影响我们说明传感器的使用。

方案已经确定为 3.6V 的电池供电,需要尽可能的低功耗,处理芯片为 51 内核,I2C 电平为 1.8V。

本次的示例方案很简单,需要用心考虑的地方如下几点:

  1. BH1750 的 供电处理;
  2. BH1750 的 通讯处理;
  3. BH1750 驱动的移植;

二、 AD 绘制 BH1750 封装库

既然是实战,而且我们的 BH1750 是新接触的,要画原理图第一步当然是先画 BH1750 的原理图和 PCB 库了(因为本次是个人学习,所以对 AD 不算侵权 )。

打开 AD ,我们可以打开自己的 库文件,如果没有自己的库文件,可以任何找一个,自己新建也可以,但是一般来说,如果要长期使用这个软件,还是建议自己有自己的一个库文件,这样也方便自己往后项目的设计:

在这里插入图片描述

根据下图进行操作,点击自己的原理图库,打开 SCH Library:

在这里插入图片描述

我们根据手册画好 BH1750 的原理图如下:

在这里插入图片描述

原理图库绘制完成我们还需要进行 PCB 封装的绘制,这时候又需要用到我们的传感器资料了, PCB 封装的设计需要参考下图:

在这里插入图片描述

我们需要用到 AD 自带的一个 封装管理工具,如下:

在这里插入图片描述

手册上面给我们的说明 BH1750 为 WSOF 封装,这里我们并没有对应的,但是我们可以选择一个合适的封装对应 SOP ,如下:

在这里插入图片描述

根据手册参数,填入适当数据,因为封装不是一致的,所以这里需要自己的判断,我填入的数据如下:

在这里插入图片描述

最后生成的封装如下,如果觉得不合适,我们还可以在此基础上微调,如下图:

在这里插入图片描述
保存 PCB 封装,最后我们把 PCB 封装和原理图关联起来:

在这里插入图片描述

最后重新加载一下我们使用的 PCB 库文件:

在这里插入图片描述

就可以在画原理图的时候使用这个封装了:

在这里插入图片描述

三、 原理图设计

原理图设计我们这里考虑的点上面已经说了,因为整体方案是简单的单品传感器,主要注意如何能够保证低功耗。

3.1 BH1750 小板子

考虑到光照传感器的性质(产品设计中外壳是不得不考虑的一个问题):测量光照需要外壳透光,所以对一般的外壳来说,PCB的布局会是一个问题。

为了把这个问题简化,我们本次的示例计划把光照传感器单独做一块小板子,小板子的好处是更容易的适应各种外壳。

这里我们用到我们在手册中我们看过的参考电路了,直接使用推荐电路图即可,如下图:

在这里插入图片描述

使用小板子的好处是,以后即便不用这个芯片,这个小板子还是可以直接使用的。

3.2 芯片板

芯片板子,就是上面提到的我使用的 Enocean 芯片,一个最小系统,这里因为某些原因就 不放出原理图,但是也不会影响我们说明问题,因为芯片出来与传感器连接 的也只有 2 根线, SDA 和 SCL 。

供电是很简答的:

在这里插入图片描述

3.3 传感器供电

传感器供电问题是本文重点之一,本次方案供电为 3.6V 的电池供电,我们在资料中知道,传感器电压最大是可以达到 3.6V 的:

在这里插入图片描述

所以其实我们这里可以直接使用电池过来的电源。

但是这里我们要注意一个问题,传感器一直供电是有消耗的。一般低功耗的传感器大部分情况下是处于休眠状态,传感器并不需要一直工作者。我们可以使用一个简单的电路切断传感器的电源。

当然我们通过手册知道,BH1750 传感器在 Powerdown Current 模式下面的电流很低,最大才只有 1uA 的电流消耗,如下图:

在这里插入图片描述

1uA 的电流消耗其实算是很小了,因为我所用的芯片最小系统随眠模式的电流 大概是 5、6uA,但是这里写了一个条件, No input Light ,就是没光照的情况,但是我们传感器很多情况下,即便有光照我们也不需要他工作,所以这里电源控制电路是加定了。

电源控制电路怎么选,这里我不废话,直接推荐两种方式:

方式一:低静态电流 LDO

使用超低静态电流低压降线性稳压器控制 传感器的 电源,EN 引脚为供电开关引脚,如下图:

在这里插入图片描述

注意,此电路控制选用需要保证静态电路越低越好,因为 LDO 一直通电,他自己也有能量消耗。 但是这个电路的好处是可以提供稳定的电源,有些传感器的耐压值只有 3.3V ,甚至是 3.0V (使用 TPS78230),需要 LDO 降压。

方拾二:MOS 管开关

通过 MOS 管开关,可以直接切断传感器的供电,而且消耗极低,考虑到我们的 BH1750 传感器可以支持 3.6 V 的供电,我们本次采取这种方式 :

注意,开关电路是由 一个 PMOS 和一个 NMOS 构成的!

在这里插入图片描述

而且还有一点,此方法成本低。

3.4 传感器通讯电平转换

传感器通讯,在《BH1750 光照传感器文档详解 及 驱动设计》文章中,我提到过,使用 STM32 的时候, BH1750 都不需要做电平转换, SDA 和 SCL 可以直接和 STM32 的 IO 口连接。

但是在我们本次设计中,使用的芯片 I2C 引脚电平为 1.8V,就是下图中的 DVDD 为1.8V的电平,所以需要电平转换,如下图:

在这里插入图片描述

电平转换电路的说明可参考我的另外一篇博文:结合实际聊聊电平转换电路(常用电平转换电路总结)

图中预留了两个端子(其实两个接口不相同),一个是为了接收头现成的传感器模块方便测试,另外一个就是给我们自己设计的传感器模块预留的。

这种预留的测试在实际产品的设计中是很有用的,再产品设计初版的时候,如果产品出问题,可以更快的查出问题所在。

至此,加上芯片最小系统,我们的一个低功耗的传感器就设计完成。

结语

本文我们通过一个简单的示例,手把手的说明了一个传感器的实际应用电路设计。

虽然简单,但是有一些细节还是值得新人们注意和学习。

本文作为实际的设计应用,把硬件设计部分给大家说清楚了,但是我们在单片机上移植 I2C 程序,还需要我们花一些时间,还是老样子,下一篇博文,会来更新 BH1750 传感器在单片机上的驱动移植篇。

本文就到这里,谢谢大家! 另外,别忘了下面可以加我的技术群哦!

猜你喜欢

转载自blog.csdn.net/weixin_42328389/article/details/127497166