彩票在线平台: [活动专区] 【赛元95F】 18650容量测试

永利游戏开户直营
219|2
楼主
本帖最后由 hzy41y 于 2020-3-25 20:13 编辑


MCU通过INA219检测18650的电流与电压后,彩票在线平台:用PWM1控制Buck对18650进行恒流充电,用PWM2控制358对18650进行恒流放电,最后经计算得电池的充放电容量。


Buck电路参考tanzhi963的已调试通用,现在正在调INA219。
  1. /******************* 刷新数据*******************/
  2. void RefreshData(void)  //刷新数据
  3. {
  4.         unsigned short BusVolt, Current, Power;
  5.         unsigned short OffsetCurrent, OffsetPower;
  6.         unsigned char Ascii[6];
  7.         BusVolt = INA219_GetBusVolt();     //获取总线电压
  8.         Ascii[0]= BusVolt/10000+48;        //加48(0x30)转为0到9的ASCII码
  9.   Ascii[1]=(BusVolt%10000)/1000+48;  //加48(0x30)转为0到9的ASCII码
  10.   Ascii[2]='.';                      //显示小数点  
  11.         Ascii[3]=(BusVolt%1000)/100+48;    //加48(0x30)转为0到9的ASCII码
  12.   Ascii[4]=(BusVolt%100)/10+48;
  13.   Ascii[5]=BusVolt%10+48;
  14.          SendString("\r\n\r\n电压");      
  15.         SendString(Ascii);                       //发送数据字符串  
  16.         
  17.         OffsetCurrent = (BusVolt >> 9) + 2;               
  18.         Current = INA219_GetCurrent();     //获取电流
  19.         if(Current > OffsetCurrent)
  20.                 Current -= OffsetCurrent;
  21.         else
  22.                 Current = 0;
  23.          
  24.           if(Current & 0x8000)                //最高位为1表示为负电流
  25.                 { Current=~Current+1;               //补码转原码
  26.                   SendString("-");                  //负电流
  27.                 }        
  28.           Ascii[0]=Current/1000+48;
  29.     Ascii[1]='.';                     //显示小数点  
  30.           Ascii[2]=(Current%1000)/100+48;
  31.     Ascii[3]=(Current%100)/10+48;
  32.     Ascii[4]= Current%10+48;
  33.                 Ascii[5]=0;                       //0为字符结束   
  34.                   SendString("\r\n电流");
  35.           SendString(Ascii);                      //发送数据字符串   
  36.         
  37.         
  38.         OffsetPower = ((BusVolt >> 3) * OffsetCurrent)/125 + 6;
  39.         Power = INA219_GetPower();         //获取功率
  40.         if(Power > OffsetPower)
  41.                 Power -= OffsetPower;
  42.         else
  43.                 Power = 0;
  44.     Ascii[0]=Power/10000+48;
  45.           Ascii[1]=(Power%10000)/1000+48;
  46.           Ascii[2]='.';                     //显示小数点  
  47.     Ascii[3]=(Power%1000)/100+48;
  48.           Ascii[4]=(Power%100)/10+48;
  49.           Ascii[5]=Power%10+48;
  50.                  SendString("\r\n功率");
  51.           SendString(Ascii);                      //发送数据字符串  
  52. }
复制代码

普通IO模拟I2C读写INA219数据串口发送源码

1.png (612.01 KB, 下载次数: 1)

1.png

SC95F8617_INA219.rar

193.5 KB, 下载次数: 4

沙发
| 2020-3-25 20:03 | 只看该作者
源码都发出来了,好人啊
板凳
| 2020-3-26 09:45 | 只看该作者
感谢分享,奖励您100家园币,家园币可以兑换礼品或抽奖,欢迎体验~
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

永利游戏开户直营 快速回复 返回顶部 返回列表
江山娱乐城网址 澳门金沙在线娱乐网上娱乐场 澳门博彩有限公司 312tyc.com www.1111msc.com手机APP下载登入
广发彩游戏 彩18在线开户 乐盈彩票网现金直营网 新葡京彩票app下载直营网 彩16在线开户
五星彩票娱乐 利华彩票娱乐 港龙彩票手机下载直营网 500w彩票电子游戏直营网 东方彩票正规直营网
申博游戏登录 幸运飞艇官网直营网 申博现金网 宏发彩票app下载直营网 j8彩票电子游戏