一招搞定相机电池的电量检测,只需MCU+电阻+电容?!
每个人都有使用数码相机的经历,在使用时我们会注意到相机上可以实时显示电池的电量,那么这个电池电量的数据是由谁提供的呢?这是一个很有趣的问题,我们来分析一下,数码相机本身是有处理器的,但这个处理器要处理相机的系统,比如:显示器控制、文件系统控制等工作,不会分一个ADC去测量电池的电压。
相机使用的电池多数使用的是锂电池,锂电池内部也是有控制电路板的,但这个控制板主要是实现锂电池的充、放电的管理及保护 ,也很难分部分的资源去测量电池的电量,并通过一定的通讯规约传给相机。所以通常的作法是使用一个性价比高的MCU来实现电池电量的采样并将数据传给相机。本文介绍一个简单的方法实现电池电量的检测,以下是方案的系统结构图:
从结构图中我们可以看出,我们只需要一个MCU再外加采样电阻和几个去耦电容就可以实现了,是不是很简单!
对于系统的MCU,我们可以选用C8051F300或EFM8BB1芯片。这两款芯片的共同特点是封装小,且都是3*3mm,芯片内部也都集成ADC。C8051F300内部的ADC的精度是8位的,EFM8BB1内部的ADC的精度是12位的,都可以满足电池电量的采样精度的要求。同时这两款芯片的参考电压都可以选择内部的,C8051F300可以选择内部的VDD做参考电压,而EFM8BB1芯片内部本身就集成有一个参考电压,它可以输出1.65V或2.4V的参考电压,无需外部参考,可以节省电路板的空间,满足产品对小尺寸的要求。
实现电池电量的测量有两种方法,一种是只采样电池的电压,依据锂电池的放电特性估算电池的电量,这种是很通用的做法。另外一种方法是要加一个采样电阻,对电池的电流进行采样,再依据电压、电流的特性计算出电池的电量。
再则关于相机的通讯,先要区分相机采用哪种通讯模式。一般三个触点的电池与相机的通讯采用的是单总线方式,而4个触点以上的电池与相机的通讯采用的则是I2C通讯方式,具体用哪一种方式要看具体的相机的型号。
最后值得一提的是,单总线方式或I2C方式的通讯规约,有的相机厂商已经开放了这个规约,所以可以方便地实现与相机之间的通讯;即使没有开放的规约,我们也可以用其它的方法了解相机与电池之间的规约内容。
看到这里您是否又有项目灵感需实现,点击下面开发软件帮你忙。
SILICON LABS Simplicity Studio平台开发工具
Silicon Labs 集成开发环境工具
Silicon Labs 配置向导2开发工具
Silicon Labs FLASH编程开发工具
Silicon Labs 8位MCU Keil PK51 开发工具
Silicon Labs ToolStick 开发工具
Silicon Labs μVision 调试驱动程序开发工具
Silicon Labs 生产编程器开发工具
Silicon Labs .HEX转化.SVF开发工具
Silicon Labs USB复位实用程序开发工具
- |
- +1 赞 0
- 收藏
- 评论 3
本网站所有内容禁止转载,否则追究法律责任!
评论
全部评论(3)
-
Ranger Lv8. 研究员 2018-10-23学习一下
-
SunnyPlus Lv7. 资深专家 2017-08-25用EFM8的话,可以用VDD做参考电压,釆集内部LDO的1.8V电压,反推VDD的值,连釆样分压电阻都可以不要了。
-
llm Lv1. 初级工程师 2016-09-08c8051多少钱
- 世小强回复: 您可以直接拔打400-887-3266了解哦
相关推荐
【技术】EFM8LB 8位单片机如何正确使用温度传感器
本文详细介绍下Silicon Labs 8位单片机EFM8LB1系列内部温度传感器的使用,并正确使用校准值。
技术探讨 发布时间 : 2017-09-12
【经验】如何计算8位单片机EFM8LB系列PWM最高输出频率?
在电机驱动、电源发生、可调电压发生等应用中,经常需要PWM波,Silicon Labs推出的高性能、高集成度、小体积、高性价比的EFM8LB系列8位单片机,可广泛应用光模块、电机控制等领域,它支持输出PWM波。本文将详细讲解如何计算EFM8LB系列8位单片机PWM最高输出频率。
设计经验 发布时间 : 2020-02-05
8位单片机EFM8的烧录器有哪些?
8位单片机EFM8系列采用C2调试接口,常见的烧录器有:1,官方的EFM8 STK、USB Debug Adapter、ToolStick。2,第三方的U-EC2/6、WizPro200EFM(支持EFM8和EFM32)等。
技术问答 发布时间 : 2016-10-25
【应用】芯科低功耗8位单片机助力于轨交通讯视频控制系统设计,睡眠电流低至50nA,唤醒时间小于2μs
轨交通讯视频控制系统中通常需要一款超低功耗的MCU作为主控,本文推荐Silicon Labs的8位单片机EFM8SB10F8G-A-QFN24作为主控方案,助力于轨交通讯视频控制系统的应用与设计。
应用方案 发布时间 : 2022-09-27
【经验】PCB布线技巧:8位单片机端口Crossbar功能的使用及配置
如果单片机自带Crossbar功能,只要软件配置调整一下各端口功能,PCB布线就会畅通。
设计经验 发布时间 : 2017-08-09
8位单片机EFM8系列中芯片上的UID是什么?
UID是芯片中新加的全球唯一ID,即每个芯片的ID都是不一样的,EFM8系列的MCU上都包含此ID。有两类获取UID的方式,一种通过读取RAM的特定地址获得,一种通过读取Flash的特定地址获得。在早期引入此ID的MCU上(比如EFM8BB1/SB1/SB2)这个ID为32位,在芯片复位时(PC指针被复位至0之前)被复制至RAM中特定位置,用户程序可以读取其值。此位置的RAM仍然可以由用户使用。需要注意的是如果此位置被编译器分配了变量,那么当函数执行至main()时此位置的内容会被初始化代码覆盖。EFM8UB2的UID也是此类,但其位数为128位。在新的EFM8系列MCU上(比如EFM8BB3/LB1/UB1),UID位数为128位,存储在Flash上。
技术问答 发布时间 : 2017-05-05
【应用】芯科科技高性能8位单片机EFM8BB31F32G用于音频放大器,集成多达四个12位DAC
本文介绍Silicon Labs 8位单片机EFM8BB31F16G-D-QFN24R用于音频放大器,优势:最高工作频率50MHz,稳定性好;集成一个12位ADC、四个具备同步和PWM功能的12位DAC;FLASH从16KB~64KB可选等。
应用方案 发布时间 : 2022-09-20
8位单片机C8051F930在程序调成完成之后,使用Flash Programming Utility进行程序烧录发现无法烧录进入,提示连接失败,应如何处理?
因为C8051F930单片机是SiLICON LABS的C8051Fxx系列比较后期的产品,所以需要使用4.21.00以上版本的Flash Programming Utility进行程序烧录。
技术问答 发布时间 : 2016-10-25
8位单片机EFM8LB11,既有I2C,也有SMBus,那么,I2C与SMBus的主要差别是什么?
SMBus和I2C的主要差别是与各种时序要求相关。下面列举最重要的方面:SMBus定义一个最小总线时钟频率FSMB,10KHz。I2C没有明确任何最小总线时钟频率。除了维持有效的总线吞吐量,该SMBus协议参数还可作为一个简单的检测总线空闲条件(除了或代替检测每个STOP条件)和实现比特位超时的方法。SMBus定义一个数据保持时间,即从SMBCLK下降沿之后,SMBDAT仍然必须维持至少300ns有效。这在I2C协议中定义的保持时间为0。SMBus时钟最大频率定义为100KHz。I2C提供多种不同速率模式操作,Standard模式最高频率达到100KHz,Fast模式为400KHz,Fast Plus为1MHz,而High-speed高达到3.4MHz。SMBus定义一个时钟低电平超时 TTIMEOUT,最大为35ms。I2C并没有明确指定任何超时限制。SMBus明确TLOW:SEXT,即SMBus从设备的累积时钟低扩展时间。I2C没有类似的规定。SMBus明确 TLOW:MEXT,即SMBus主设备的累积时钟低扩展时间。I2C没有类似的规定。
技术问答 发布时间 : 2017-05-05
【经验】8位单片机C8051F360如何实现多个SPI通信?
快速与不同配置的多个从设备进行通信,已经成为当前MCU芯片设计中的核心技术点之一。在现有微控制器芯片中spi接口一般只有1个,如何实现多个SPI通信是个问题。本文将介绍Silicon Labs的8位单片机C8051F360实现多个SPI通信的方法。
设计经验 发布时间 : 2021-07-15
8位单片机EFM8BB2系列的PWM精度是多少?
EFM8BB2系列单片机的PWM精度跟timer有关,EFM8BB2系列支持8bit和16bit的timer,所以PWM的精度是16bit。
技术问答 发布时间 : 2016-10-25
在Simplicity studio平台使用Keil编译器编译8位单片机EFM8SB20F64G程序时,总是编译失败,错误提示为:data:segment too large,是什么原因造成的?
由于EFM8SB2单片机内部RAM分为内部RAM和片上XRAM,内部RAM为256 Bytes,XRAM为4KB。用户数据(变量)会默认优先保存在内部RAM中,如果用户定义了比较大的数据或者结构体变量,该变量超出内部RAM的范围时,会导致内部RAM分配错误,Keil编译器会提示data数据过大,此时需要对Keil编译器进行设置,将内存模式设置为Large模式即可,此时变量会默认优先保存在XRAM中。具体的设置方式如下:从Simplicity studio中打开Simplicity IDE,右键单击工程文件名,打开“properties”->“C/C++ Build”->“Settings”,在属性的右侧界面中打开“Tool settings”->“general settings”,然后在最后侧属性设置页面中将“Memory model”设置为“Large(variables in XDATA)”,设置完成重新编译即可。
技术问答 发布时间 : 2016-10-25
【经验】如何对EFM8系列8位单片机进行一次性下载两个HEX文件操作?
Silicon Labs(芯科实验室)推出的EFM8系列8位单片机被大量使用在光模块、电机控制等产量巨大的产品上。正因为量大,客户经常会问“如何提高下载效率?”的问题,尤其是用了EFM8LB的光模块客户,甚至还希望能一次性下载“bootloader HEX”+“APP HEX”两个HEX文件,可以这样操作吗?答案是肯定的,本文将为你详细讲解方法。
设计经验 发布时间 : 2020-06-22
Silicon Lab收购生产高速8位单片机Cygnal
2016年,Silicon Lab公司宣布,以5800万美元的价格收购Cygnal公司。Cygnal是一家8位单片机公司,主要生产高速8位单片机,自前年进入中国市场以来,沈阳新华龙是该公司的代理,其C8051F单片机以速度快但是价格贵在国内著名。
行业资讯 发布时间 : 2018-07-16
【应用】Silicon Labs推出低功耗8位微控制器EFM8BB2助力数码相机系统设计
在进行数码相机系统设计时,对于微控制器的选取,推荐采用Silicon Labs公司推出的EFM8系列中的EFM8BB2微控制器。EFM8BB2作为Busy Bee系列的一员,是一款功能全面的8位微控制器,集成了先进的模拟和众多功能,能够满足数码相机的设计需求。采用8位C8051内核,最大工作频率可达50MHz,具备小型封装结构,是数码相机这种空间受限应用的最佳选择。
应用方案 发布时间 : 2019-02-10
电子商城
现货市场
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
可来图定制均温板VC尺寸50*50mm~600*600 mm,厚度1mm~10mm,最薄0.3mm。当量导热系数可达10000W/M·K,散热量可达10KW, 功率密度可达50W/cm²。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论