OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5738|回复: 5

STM8L151 库仑计

[复制链接]

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2017-7-26
在线时间
23 小时
发表于 2017-7-27 09:02:46 | 显示全部楼层 |阅读模式
本帖最后由 金大米 于 2017-7-27 09:02 编辑

    由于自己能力的原因,一直是网上拿来主义,没有分享过.由于公司的一个新的项目,接触到了DS2780/DS2781库仑计,今天就将他们分享一下吧.这两个芯片的区别就是输入电压的范围不一样.DS2780只能适用于单节锂电池,DS2781可以使用一到两节的锂电池.当我一拿到DS2780的时候也是蛮惊讶的,这个小东西竟然比我的STM8L还贵,TTSOP8的封装还是蛮小的.惊讶过后就是一脸懵逼,网上基本没有DS2780的完整的教程,有的只是为数不多的驱动程序,但基本上程序的参数填写没有说明.在网上蹦跶了好久也没找到好的方法,突然有一天在美信官网闲逛时,看到了一丝丝的希望.首先在官网上下载DS2780的上位机软件,然后在某宝上买一片DS2480B单总线转串口芯片,如下图
注意,没有DS2480B和DS2780的话,上位机软件是打不开的.
     然后在软件里按照表填写锂电池参数,我的锂电池没有参数表,就按照DS2780手册里的表,大致的填写参数了.为什么要填写参数,因为有些数据我是不知道如何计算的,手册里也没有提示,只能由软件填写到DS2780里,然后再读出来,这样就能获得参数了.如果换了锂电池,只要打开软件修改参数就行了.初始化程序
void DS2780_Default(void)
{
  delay_ms(10);
  DS2780_Reset();
  /*设置老化系数*/
  //95%
  Wire_WriteStr(0x14,0x79);
  Wire_EEPROM_CopyStr(0x14);
  /*设置控制寄存器*/
  //BIT 7 Reserved   保留位
  //BIT 6 UVEN    0  欠压使能
  //BIT 5 PMOD    0  电源模式使能位
  //BIT 4 RNAOP   0  读网络地址代码,0x33
  //BIT 3         0  保留位
  //BIT 2 PSPIO   0  保留位
  //BIT 1 PSDQ    0  保留位
  //BIT 0         0  保留位
  Wire_WriteStr(0x60,0x00);
  Wire_EEPROM_CopyStr(0x60);
  Wire_WriteStr(0x61,0x04);
  Wire_EEPROM_CopyStr(0x61);
  /*设置老化容量*/
  //容量为1Ah,检流电阻0.02,1*0.02*1000000/6.25=3200=0x0C80
  Wire_WriteStr(0x62,0x0C);
  Wire_EEPROM_CopyStr(0x62);
  Wire_WriteStr(0x63,0x80);
  Wire_EEPROM_CopyStr(0x63);
  /*设置充电电压*/
  //电压为4.173V/19.5mV=214         
  Wire_WriteStr(0x64,0xD7);
  Wire_EEPROM_CopyStr(0x64);
  /*设置最小充电电流*/
  //最小电流为12.5mA,涓流充电,Rsns为20mR           
  Wire_WriteStr(0x65,0x05);
  Wire_EEPROM_CopyStr(0x65);
  /*设置有效空电压*/
  //电压为3.315V/19.5mV=170         
  Wire_WriteStr(0x66,0xAA);
  Wire_EEPROM_CopyStr(0x66);
   /*设置有效空电流*/
  //电流为50mA           
  Wire_WriteStr(0x67,0x05);
  Wire_EEPROM_CopyStr(0x67);        
   /*设置40度下有效空电量*/         
  Wire_WriteStr(0x68,0x00);
  Wire_EEPROM_CopyStr(0x68);
  /*设置取样电阻*/
  //1/0.02=50=0x32电阻单位mhos
  Wire_WriteStr(0x69,0x32);
  Wire_EEPROM_CopyStr(0x69);
  /*设置40度下有效电量值*/
  Wire_WriteStr(0x6A,0x0C);
  Wire_EEPROM_CopyStr(0x6A);
  Wire_WriteStr(0x6B,0x80);
  Wire_EEPROM_CopyStr(0x6B);
  /*设置满电量曲线*/
  Wire_WriteStr(0x6C,0x52);
  Wire_EEPROM_CopyStr(0x6C);
  Wire_WriteStr(0x6D,0x52);
  Wire_EEPROM_CopyStr(0x6D);
  Wire_WriteStr(0x6E,0xA4);
  Wire_EEPROM_CopyStr(0x6E);
  Wire_WriteStr(0x6F,0xA4);
  Wire_EEPROM_CopyStr(0x6F);
  /*设置有效空电量曲线*/
  Wire_WriteStr(0x70,0x00);
  Wire_EEPROM_CopyStr(0x70);
  Wire_WriteStr(0x71,0x62);
  Wire_EEPROM_CopyStr(0x71);
  Wire_WriteStr(0x72,0x21);
  Wire_EEPROM_CopyStr(0x72);
  Wire_WriteStr(0x73,0x21);
  Wire_EEPROM_CopyStr(0x73);
  /*设置待机电量曲线*/
  Wire_WriteStr(0x74,0x10);
  Wire_EEPROM_CopyStr(0x74);
  Wire_WriteStr(0x75,0x21);
  Wire_EEPROM_CopyStr(0x75);
  Wire_WriteStr(0x76,0x21);
  Wire_EEPROM_CopyStr(0x76);
  Wire_WriteStr(0x77,0x52);
  Wire_EEPROM_CopyStr(0x77);
  /*设置电阻增益*/
  Wire_WriteStr(0x78,0x04);
  Wire_EEPROM_CopyStr(0x78);
  Wire_WriteStr(0x79,0x1B);
  Wire_EEPROM_CopyStr(0x79);
  /*设置检流电阻温度补偿*/
  //检流电阻为100ppm
  Wire_WriteStr(0x7A,0x03);
  Wire_EEPROM_CopyStr(0x7A);  
  /*设置出厂增益*/
  Wire_WriteStr(0x7B,0x04);
  Wire_EEPROM_CopyStr(0x7B);
  Wire_WriteStr(0x7C,0x1B);
  Wire_EEPROM_CopyStr(0x7C);
}




DS2480

DS2480

DS2780K

DS2780K

锂电池表

锂电池表

锂电池容量填写

锂电池容量填写

数据读取

数据读取

DS2480B.pdf

700.65 KB, 下载次数: 170

DS2780 .pdf

486.49 KB, 下载次数: 153

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2016-10-19
在线时间
5 小时
发表于 2017-8-19 11:13:51 | 显示全部楼层
您好   请问您有没有关于STM8L151的库函数使用手册啊     在网上找的  都是关于寄存器的
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2017-7-26
在线时间
23 小时
 楼主| 发表于 2017-8-21 16:55:55 | 显示全部楼层
到6请放R 发表于 2017-8-19 11:13
您好   请问您有没有关于STM8L151的库函数使用手册啊     在网上找的  都是关于寄存器的

我也没有,我都是在网上找的
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2018-5-10
在线时间
1 小时
发表于 2018-5-22 09:45:53 | 显示全部楼层
请问ds2480怎么与电脑连接的,我用原子的UART转USB好像不行。
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2017-7-26
在线时间
23 小时
 楼主| 发表于 2018-11-19 13:24:47 | 显示全部楼层
本帖最后由 金大米 于 2018-11-19 13:26 编辑
ChrisLiu 发表于 2018-5-22 09:45
**** 作者被禁止或删除 内容自动屏蔽 ****

DS2480的串口好像要设置的,在电路上设置,手册里有讲到
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
59
金钱
59
注册时间
2019-12-10
在线时间
24 小时
发表于 2020-4-30 15:07:23 | 显示全部楼层
楼主,DS2781好用的吗,我也在调试但是读出来都是FF,可以帮下忙的吗
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 14:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表