LTC具温度电压和电流测量功能的多节电池电量测量芯片Word文件下载.docx

上传人:b****1 文档编号:14278189 上传时间:2022-10-21 格式:DOCX 页数:31 大小:77.83KB
下载 相关 举报
LTC具温度电压和电流测量功能的多节电池电量测量芯片Word文件下载.docx_第1页
第1页 / 共31页
LTC具温度电压和电流测量功能的多节电池电量测量芯片Word文件下载.docx_第2页
第2页 / 共31页
LTC具温度电压和电流测量功能的多节电池电量测量芯片Word文件下载.docx_第3页
第3页 / 共31页
LTC具温度电压和电流测量功能的多节电池电量测量芯片Word文件下载.docx_第4页
第4页 / 共31页
LTC具温度电压和电流测量功能的多节电池电量测量芯片Word文件下载.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

LTC具温度电压和电流测量功能的多节电池电量测量芯片Word文件下载.docx

《LTC具温度电压和电流测量功能的多节电池电量测量芯片Word文件下载.docx》由会员分享,可在线阅读,更多相关《LTC具温度电压和电流测量功能的多节电池电量测量芯片Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。

LTC具温度电压和电流测量功能的多节电池电量测量芯片Word文件下载.docx

∙静态电流小于120μA

∙小外形8引脚3mmx3mmDFN封装

典型应用

描述

LTC®

2943 

可测量便携式产品应用中的电池充电状态、电池电压、电池电流及其自身温度。

其具有宽输入电压范围,因而可与高达 

20V 

的多节电池配合使用。

一个精准的库仑计量器负责对流经位于电池正端子和负载或充电器之间的一个检测电阻器电流进行积分运算。

电池电压、电流和温度利用一个内部 

14位无延迟增量累加 

(NoLatencyΔΣTM)ADC 

来测量。

测量结果被存储于可通过内置 

I2C/SMBus 

接口进行存取的内部寄存器中。

LTC2943 

具有针对所有 

种测量物理量的可编程高门限和低门限。

如果超过了某个编程门限,则该器件将采用 

SMBus 

警报协议或通过在内部状态寄存器中设定一个标记来传送警报信号。

仅需采用单个低阻值检测电阻器以设定测量电流范围。

应用

∙电动工具

∙电动自行车

∙便携式医疗设备

∙视频摄像机

程序:

#include<

Arduino.h>

stdint.h>

#include"

Linduino.h"

LT_I2C.h"

UserInterface.h"

QuikEval_EEPROM.h"

LTC2943.h"

Wire.h>

//FunctionDeclaration

voidprint_title();

//Printthetitleblock

voidprint_prompt();

//PrintthePrompt

voidstore_alert_settings();

//StorethealertsettingstotheEEPROM

int8_trestore_alert_settings();

//ReadthealertsettingsfromEEPROM

#defineAUTOMATIC_MODE_DISPLAY_DELAY1000//!

<

Thedelaybetweenreadingsinautomaticmode

#defineSCAN_MODE_DISPLAY_DELAY10000//!

Thedelaybetweenreadingsinscanmode

constfloatresistor=.100;

//!

resistorvalueondemoboard

//Errorstring

constcharack_error[]="

Error:

NoAcknowledge.CheckI2CAddress."

;

Errormessage

//Globalvariables

staticint8_tdemo_board_connected;

Setto1iftheboardisconnected

staticuint8_talert_code=0;

ValuestoredorreadfromALERTregister.Sharedbetweenloop()andrestore_alert_settings()

//!

InitializeLinduino

voidsetup()

{

chardemo_name[]="

DC1812"

DemoBoardNamestoredinQuikEvalEEPROM

quikeval_I2C_init();

ConfiguretheEEPROMI2Cportfor100kHz

quikeval_I2C_connect();

ConnectstomainI2Cport

Serial.begin(115200);

InitializetheserialporttothePC

print_title();

demo_board_connected=discover_demo_board(demo_name);

if(demo_board_connected)

{

print_prompt();

}

else

demo_board_connected=true;

Serial.println("

DidnotreadIDString,attemptingtoproceedanyway...\nPleaseensureI2ClinesofLinduinoareconnectedtotheLTCdevice"

);

}

RepeatsLinduinoloop

voidloop()

int8_tack=0;

I2Cacknowledgeindicator

staticuint8_tuser_command;

Theuserinputcommand

staticuint8_tmAh_or_Coulombs=0;

staticuint8_tcelcius_or_kelvin=0;

staticuint16_tprescalar_mode=LTC2943_PRESCALAR_M_4096;

staticuint16_tprescalarValue=4096;

staticuint16_talcc_mode=LTC2943_ALERT_MODE;

if(demo_board_connected)//!

Donothingifthedemoboardisnotconnected

if(Serial.available())//!

Donothingifserialisnotavailable

user_command=read_int();

Readuserinputcommand

if(user_command!

='

m'

Serial.println(user_command);

Serial.println();

ack=0;

switch(user_command)//!

Printstheappropriatesubmenu

case1:

ack|=menu_1_automatic_mode(mAh_or_Coulombs,celcius_or_kelvin,prescalar_mode,prescalarValue,alcc_mode);

AutomaticMode

break;

case2:

ack|=menu_2_scan_mode(mAh_or_Coulombs,celcius_or_kelvin,prescalar_mode,prescalarValue,alcc_mode);

ScanMode

case3:

ack|=menu_3_manual_mode(mAh_or_Coulombs,celcius_or_kelvin,prescalar_mode,prescalarValue,alcc_mode);

ManualMode

case4:

ack|=menu_4_sleep_mode(mAh_or_Coulombs,prescalar_mode,prescalarValue,alcc_mode);

SleepMode

case5:

ack|=menu_5_shutdown_mode();

ShutdownMode

case6:

ack|=menu_6_settings(&

mAh_or_Coulombs,&

celcius_or_kelvin,&

prescalar_mode,&

prescalarValue,&

alcc_mode);

SettingsMode

if(ack!

=0)//!

Ifackisnotrecievedprintanerror.

Serial.println(ack_error);

Serial.print(F("

*************************"

));

//FunctionDefinitions

Printthetitleblock

voidprint_title()

Serial.println(F("

\n*****************************************************************"

*DC1812ADemonstrationProgram*\n"

**\n"

*ThisprogramcommunicateswiththeLTC2943MulticellCoulomb*\n"

*CounterfoundontheDC1812Ademoboard.*\n"

*Setthebaudrateto115200andselectthenewlineterminator.*\n"

*****************************************************************\n"

PrintthePrompt

voidprint_prompt()

\n1-AutomaticMode\n"

2-ScanMode\n"

3-ManualMode\n"

4-SleepMode\n"

Seri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1