LTC具温度电压和电流测量功能的多节电池电量测量芯片_第1页
LTC具温度电压和电流测量功能的多节电池电量测量芯片_第2页
LTC具温度电压和电流测量功能的多节电池电量测量芯片_第3页
免费预览已结束,剩余16页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、LTC2943-具温度、电压和电流测量功能的多节电池电量测量芯片特点可测量累积的电池充电和放电电量至20V工作范围可适合多种电池应用14位ADC负责测量电池电压、电流和温度1%电压、电流和充电准确度=t50mV检测电压范围高压侧检测适合任何电池化学组成和容量的通用测量I2C/SMBus接口可配置警报输出/充电完成输入静态电流小于120卩A小外形8引脚3mmx3mmDFN圭寸装典型应用3.3VCHARGERDD卩P2kLTC2943SENSE+ALCCSDASENSE-SCLGNDTMULTICElI三LI-ION1ALOADTotalChargeErrorvsDifferentialSense

2、VoltageOJ110100sense(mV)294aTAOIt描述LTC?2943?可测量便携式产品应用中的电池充电状态、电池电压、电池电流及其自身温度。其具有宽输入电压范围,因而可与高达?20V?的多节电池配合使用。一个精准的库仑计量器负责对流经位于电池正端子和负载或充电器之间的一个检测电阻器电流进行积分运算。电池电压、电流和温度利用一个内部?14位无延迟增量累加?(NoLatency男)ADC?来测量。测量结果被存储于可通过内置?I2C/SMBus?接口进行存取的内部寄存器中。LTC2943?具有针对所有?4?种测量物理量的可编程高门限和低门限。如果超过了某个编程门限,则该器件将采用?

3、SMBus?警报协议或通过在内部状态寄存器中设定一个标记来传送警报信号。LTC2943?仅需采用单个低阻值检测电阻器以设定测量电流范围。应用电动工具电动自行车便携式医疗设备视频摄像机程序:#inelude<>#inelude<>#include""#include""#include""#include""#include""#include<>00;CheckI2CAddress."Sharedbetweenloop()andrestore_ale

4、rt_settings().nPleaseensureI2ClinesofLinduinoareconnectedtotheLTCdevice");(ack_error);(F("*");print_prompt();*n");(F("*Setthebaudrateto115200andselectthenewlineterminator.*n");(F("*n");n");int8_tmenu_1_automatic_mode(int8_tmAh_or_Coulombs,int8_tcelcius_or

5、_kelvin,uint16_tprescalar_mode,uint16_tprescalarValue,uint16_talcc_mode)0=acknowledge,1=8_tLTC2943_mode;int8_tack=0;LTC2943_mode=LTC2943_AUTOMATIC_MODE|prescalar_mode|alcc_mode;();ack|=LTC2943_write(LTC2943_I2C_ADDRESS,LTC2943_CONTROL_REG,LTC2943_mode);("Coulombs:");(charg

6、e,4);(F("Cn");elsecharge=LTC2943_code_to_mAh(charge_code,resistor,prescalarValue);("mAh:");(charge,4);(F("mAhn");current=LTC2943_code_to_current(current_code,resistor);IfanAlerthasbeenset,printoutappropriatemessageintheSerialPrompt.(F("m-MainMenunn");();delay(

7、AUTOMATIC_MODE_DISPLAY_DELAY);read_int();0=acknowledge,1=noacknowledgeint8_tLTC2943_mode;int8_tack=0;LTC2943_mode=LTC2943_SCAN_MODE|prescalar_mode|alcc_mode;();ack|=LTC2943_write(LTC2943_I2C_ADDRESS,LTC2943_CONTROL_REG,LTC2943_mode);("Coulombs:");(charge,4);(F("Cn");elsecharge=LT

8、C2943_code_to_mAh(charge_code,resistor,prescalarValue);("mAh:");(charge,4);(F("mAhn");current=LTC2943_code_to_current(current_code,resistor);(F("Temperature");(temperature,4);(F("Kn");elsetemperature=LTC2943_code_to_celcius_temperature(temperature_code);(F(&qu

9、ot;Temperature");(temperature,4);(F("Cn");checkAlerts(status_code);IfanAlerthasbeenset,printoutappropriatemessageintheSerialPrompt(F("m-MainMenunn");();delay(SCAN_MODE_DISPLAY_DELAY);while()=false|(ack);read_int();0=acknowledge,1=noacknowledgeint8_tLTC2943_mode;int8_tack=0;L

10、TC2943_mode=LTC2943_MANUAL_MODE|prescalar_mode|alcc_mode;();ack|=LTC2943_write(LTC2943_I2C_ADDRESS,LTC2943_CONTROL_REG,LTC2943_mode);Whensetto1itindicatesthatstaledataisbeingreadfromthevoltage,currentandtemperatureregisters.do(F(F(H*nn");uint8_tstatus_code;uint16_tcharge_code,current_code,volta

11、ge_code,temperature_code;("Coulombs:");ack|=LTC2943_read_16_bits(LTC2943_I2C_ADDRESS,LTC2943_ACCUM_CHARGE_MSB_REG,&charge_code);(charge,4);(F("Cn");elsecharge=LTC2943_code_to_mAh(charge_code,resistor,prescalarValue);("mAh:");(charge,4);(F("mAhn");current=L

12、TC2943_code_to_current(current_code,resistor);else("");(F("Voltage");(voltage,4);(F("V");if(staleData)(F("*StaleData*n");else("");if(celcius_or_kelvin)temperature=LTC2943_code_to_kelvin_temperature(temperature_code);(F("Temperature");(tempe

13、rature,4);(F("K");elsetemperature=LTC2943_code_to_celcius_temperature(temperature_code);(F("Temperature");(temperature,4);(F("C");if(staleData)(F("*StaleData*n");else("");checkAlerts(status_code);IfanAlerthasbeenset,printoutappropriatemessageintheSer

14、ialPrompt(F("m-MainMenunn");staleData=1;();delay(AUTOMATIC_MODE_DISPLAY_DELAY);while()=false|(ack);read_int();0=acknowledge,1=noacknowledgeint8_tLTC2943_mode;int8_tack=0;LTC2943_mode=LTC2943_SLEEP_MODE|prescalar_mode|alcc_mode;();ack|=LTC2943_write(LTC2943_I2C_ADDRESS,LTC2943_CONTROL_REG,L

15、TC2943_mode);("Coulombs:");(charge,4);(F("Cn");elsecharge=LTC2943_code_to_mAh(charge_code,resistor,prescalarValue);("mAh:");(charge,4);(F("mAhn");(F("Current");(F("ADCSleep.n");(F("Voltage");(F("ADCSleep.n");(F("Tem

16、perature");(F("ADCSleep.n");(F("m-MainMenunn");checkAlerts(status_code);();delay(AUTOMATIC_MODE_DISPLAY_DELAY);while()=false|(ack);read_int();0=acknowledge,1=noacknowledgeint8_tack=0;ack|=LTC2943_write(LTC2943_I2C_ADDRESS,LTC2943_CONTROL_REG,LTC2943_SHUTDOWN_MODE);0=acknowle

17、dge,1=noacknowledgeint8_tack=0;int8_tuser_command;do(F(F(H*nn");(F("1-SetAlertThresholdsn");(F("2-SetPrescalarValuen");(F("3-SetAL#/CC#PinStaten");(F("4-SetUnitsn");(F("m-MainMenunn");(F("Enteracommand:");user_command=read_int();if(use

18、r_command='m')("m");else(user_command);();switch(user_command)case1:ack|=menu_6_settings_menu_1_set_alert_thresholds();0=acknowledge,1=noacknowledgeint8_tack=0;int8_tuser_command;do(F(F(H*nn");(F("1-SetChargeThresholdsn");(F("2-SetVoltageThresholdsn");(F(&q

19、uot;3-SetCurrentThresholdsn");(F("4-SetTemperatureThresholdsn");(F("m-MainMenunn");(F("Enteracommand:");user_command=read_int();if(user_command='m')("m");else(user_command);();switch(user_command)case1:ack|=menu_6_alert_menu_1_set_charge_threshold

20、s();TheACRchargelsbsizechangeswithrespecttotheprescalarandsenseresistorvalue.Duetothisvariability,forthepurposeofthisdemoentervaluesinhexadecimal.break;case2:ack|=menu_6_alert_menu_2_set_voltage_thresholds();EnterValuesinVoltsbreak;case3:ack|=menu_6_alert_menu_3_set_current_thresholds();EnterValuesi

21、nAmperes.break;case4:ack|=menu_6_alert_menu_4_set_temperature_thresholds();EnterValuesinCelcius.break;default:if(user_command!='m')("IncorrectOption");break;while(!(user_command='m')|(ack);return(ack);0=acknowledge,1=noacknowledgeint8_tack=0;(F("EnterRAWMaxChargeThresh

22、old:");uint16_tmax_charge_threshold;max_charge_threshold=read_int();0=acknowledge,1=noacknowledgeint8_tack=0;(F("EnterMaxVoltageThreshold:");floatmax_voltage_threshold;max_voltage_threshold=read_float();ack|=LTC2943_write_16_bits(LTC2943_I2C_ADDRESS,LTC2943_VOLTAGE_THRESH_HIGH_MSB_REG

23、,max_voltage_threshold_code);ack|=LTC2943_write_16_bits(LTC2943_I2C_ADDRESS,LTC2943_VOLTAGE_THRESH_LOW_MSB_REG,min_voltage_threshold_code);0=acknowledge,1=noacknowledgeint8_tack=0;(F("EnterMaxCurrentThreshold:");floatmax_current_threshold;max_current_threshold=read_float();ack|=LTC2943_wri

24、te_16_bits(LTC2943_I2C_ADDRESS,LTC2943_CURRENT_THRESH_HIGH_MSB_REG,max_current_threshold_code);ack|=LTC2943_write_16_bits(LTC2943_I2C_ADDRESS,LTC2943_CURRENT_THRESH_LOW_MSB_REG,min_current_threshold_code);0=acknowledge,1=noacknowledgeint8_tack=0;(F("EnterMaxTemperatureThresholdinCelcius:")

25、;floatmax_temperature_threshold;max_temperature_threshold=read_float();ack|=LTC2943_write_16_bits(LTC2943_I2C_ADDRESS,LTC2943_TEMPERATURE_THRESH_HIGH_REG,max_temperature_threshold_code);ack|=LTC2943_write_16_bits(LTC2943_I2C_ADDRESS,LTC2943_TEMPERATURE_THRESH_LOW_REG,min_temperature_threshold_code);

26、0=acknowledge,1=noacknowledgeint8_tack=0;int8_tuser_command;do(F(F(H*nn");(F("1-SetPrescalarM=1n");(F("2-SetPrescalarM=4n");(F("3-SetPrescalarM=16n");(F("4-SetPrescalarM=64n");(F("5-SetPrescalarM=256n");(F("6-SetPrescalarM=1024n");(F(&

27、quot;7-SetPrescalarM=4096n");(F("m-MainMenunn");(F("Enteracommand:");user_command=read_int();if(user_command='m')("m");else(user_command);();switch(user_command)case1:*prescalar_mode=LTC2943_PRESCALAR_M_1;0=acknowledge,1=noacknowledgeint8_tack=0;int8_tuser_

28、command;do(F(H*nn");(F("1-EnableAlertModen");(F("2-EnableChargeCompleteModen");(F("3-DisableAL#/CC#Pinn");(F("m-MainMenunn");(F("Enteracommand:");user_command=read_int();if(user_command='m')("m");else(user_command);();switch(us

29、er_command)case1:(F("nAL#/CC#*alcc_mode=LTC2943_ALERT_MODE;PinDisabledn");break;default:if(user_command!='m')("IncorrectOption");break;while(!(user_command='m')|(ack);return(ack);0=acknowledge,1=noacknowledgeint8_tack=0;int8_tuser_command;do(F(F(H*nn");(F(&qu

30、ot;1-SetChargeUnitstomAhn");(F("1-SetChargeUnitstomAhn");(F("2-SetChargeUnitstoCoulombsn");(F("3-SetTemperatureUnitstoCelciusn");(F("4-SetTemperatureUnitstoKelvinn");(F("m-MainMenunn");(F("Enteracommand:");user_command=read_int();if(us

31、er_command='m')("m");else(user_command);();switch(user_command)case1:*mAh_or_Coulombs=0;(F("nChargeUnitsSettomAhn");break;case2:*mAh_or_Coulombs=1;(F("nChargeUnitsSettoCoulombsn");break;case3:*celcius_or_kelvin=0;(F("nTemperatureUnitsSettoCelciusn");break;case4:*celcius_or_kelvin=1;(F("nTemperatureUnitsSettoKelvinn");break;default:if(user_command!='m')("IncorrectOption");break;while(!(user_command='m')|(ack);return(ack);booli

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论