切换到宽版
  • 14566阅读
  • 183回复

[工仪][开源DIY] 电池容量测量仪 LCD1602液晶显示 可监测充放电曲线 [复制链接]

上一主题 下一主题
离线zhkrid
 

发帖
14899
M币
48762
专家
185
粉丝
191
— 本帖被 青柠 设置为精华,作者+3000M币+5专家(2017-08-31) —
作者声明:本文仅发表在数码之家,严禁转载/盗用!
[开源DIY] 电池容量测量仪 LCD1602液晶显示 可监测充放电曲线

手头有拆自充电宝的电池和拆自笔记本电池,实际容量无法得知,一直想有个可以测量容量的小工具。某宝成品到是有,但价格不便宜,为了几节二手电池也下不去这手啊,怎么办呢?作为一个电子爱好者,那就自己折腾一个吧。


先上最终效果及成品图,下图曲线青色为电压曲线,紫红色为电流曲线,过程为先用板载4056模块充电,静止10几分钟后开始以0.5A恒流放电,带载电压小于3.0V时停止放电


最终成品图  盒子是之前撸的家用工具套装改的,非常合适,左边空间刚好放下usb充电线及usb转ttl串口线



准备工作,收集材料


一个一个往洞洞板上焊接,边焊边规划布局,焊了又拆,拆了再焊,痛并快乐着


主要元件位置定下了


制作散热器,手头只有电脑cpu散热器,个头太大不合适,准备自己用铝片做一个


拆弯,裁剪,打洞(螺丝固定孔)


组装效果图




涂点导热硅脂


装好全部硬件


来张轴侧图


调试过程种加的电容,最后还是取消了(最终在背面贴了几个小黄豆),实在太影响美观了,


调试过程上换上的可调电阻,调整运放放大倍数,实际原理图上是固定电阻,但因为各个元件精度的误差,实际用了固定电阻+可调电阻实际微调,如果有仿制的坛友要注意预留空间


到此时已经基本能实现功能,但误差较大,最后有很长一段时间一直在琢磨怎么改善精度


还是在调试中,电压从原来的分压取样改为了直接取样,提高AD端口电压,提高测量精度


电流计算也改了算法,原来只能显示放电电流,充电无法显示电流


最终板子外形


板子背面,有点乱,屏幕数据线那一块惨不忍睹,


主要制作至此告一段落,楼下继续为它量身打造房子,成品展示,测试数据展示以及大家最关心的原理图和C程序
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共52条打赏M币+575专家+12
风间尘 M币 +13 謝謝分享 09-07
hhotant M币 +1 優秀文章 09-07
troy012 M币 +15 優秀文章 09-06
rallyezhang M币 +20 原創內容 09-05
黯然销魂 专家 +1 優秀文章 09-05
黯然销魂 M币 +20 優秀文章 09-05
weizaisifang M币 +13 謝謝分享 09-04
dzb M币 +20 謝謝分享 09-03
denglei M币 +20 有想法做的不错,看楼主吧LCD改成绿色的背光了,要效果楼主可以买那种黑底白字的LCD换你要的颜色背光绝对漂 09-03
江户川 M币 +29 原創內容 09-02
离线zhkrid

发帖
14899
M币
48762
专家
185
粉丝
191
只看该作者 1楼 发表于: 08-31
继续打造房子,这是一个前段时间撸的工具盒,外形对比差不多,高度也够用

放里面正好合适,左边或右边有一家余量


最终决定留空左边,放usb线,把里面不要的挖空


挖干净了


上开源对应屏幕的位置也要挖出来


放进去堪称完美


盒上盖子,天衣无缝


焊上电源线并打胶固定(白色),右边黑色为TTL联机线


运行中,4056上面也加了散热片,并且和大散热片结合,


充电线收纳




联机线收纳


盒盖


贴上标签正式完工




先奉上原理图,昨天晚上加班画的,功底较差,线条有点乱,见谅


这是坛友【小角色】提供的0.2~+0.2V转0.5~4.5V运放电路,还有在程序上的指导,在此表示感谢!


这是联机后通过串口助手获取到的数据,和屏幕显示同步

这是stc烧录软件自带的串口助手,通过以下数字标示的6步可以存成EXCEL能直接打开的.csv文件



EXCEL图表原数据 pdf原理图 c文件

本帖到此结束,谢谢大家支持,喜欢的可以参考我的资料自己做一个,有问题可以提出来相互讨论,以达到共同进步

以下为C程序
  1. #include<stc12c5a60s2.h>
  2. #include"stdio.h"
  3. #include"intrins.h"
  4. #define uint unsigned int
  5. #define uchar unsigned char
  6. sbit v_cd=P3^4;
  7. sbit v_fd=P3^3;
  8. sbit key=P2^1;
  9. sbit lcdrs=P2^3;
  10. sbit lcden=P2^4;
  11. int volt,aolt,aolt_z,curr,mah;
  12. uchar key_flag=1;
  13. uchar num;
  14. uchar v_shi,v_ge,v_xiao1,v_xiao2;
  15. uchar a_shi,a_ge,a_xiao1,a_xiao2;
  16. uchar h_shi,h_ge,h_xiao1,h_xiao2;
  17. uchar t_shi,t_ge,t_xiao1,t_xiao2;
  18. uchar s,g,x1,x2;
  19. uchar data table[12];
  20. uint i=0;
  21. uchar code table1[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
  22. bit com_flag;
  23. uint time;
  24. uint num1,num2;
  25. bit time_flag;
  26. bit shan_flag;
  27. bit lcd_flag;
  28. void AD_init();
  29. unsigned int AD_get(unsigned char channel);
  30. float AD_work(unsigned char channel);
  31. void delayms(uint z);
  32. void delay(unsigned int a); //延时约1ms
  33. void UART_init(void);               //初始化函数
  34. void senddata(uchar dat);
  35. void write_com(uchar com);
  36. void write_data(uchar date);
  37. void lcd_init();
  38. void time_init();
  39. void delayms(uint z)
  40. {
  41.         uint x,y;
  42.         for(x=z;x>0;x--)
  43.             for(y=110;y>0;y--);
  44. }      
  45. /**********************************************************/
  46. void UART_init(void)               //初始化函 11.0592M
  47. {
  48.     SCON = 0x50;
  49.     TMOD = 0x21;
  50.     TH1  = 0xFD;                  //9600
  51.     TL1  = 0xFD;
  52.     TR1  = 1;
  53.     ES   = 1;
  54.     EA   = 1;
  55. }
  56. /**********************************************************/
  57. void senddata(uchar dat)
  58. {              
  59.     ES = 0;                       //关串口中断
  60.     TI = 0;                       //将串口发送完成中断请求标志清零
  61.     SBUF = dat;                //写数据到发送缓冲区
  62.     while(!TI);                   //等待发送完成
  63.     TI = 0;                       //将串口发送完成中断请求标志清零
  64.     ES = 1;                   //将串口发送完成中断请求标志清零
  65. }
  66. /* ***************************************************** */
  67. void delay(unsigned int a) //延时约1ms
  68. {
  69.         unsigned int i;
  70.         while (--a!=0)
  71.         for(i=600;i>0;i--);   //1T单片机i=600,若是12T单片机i=125
  72. }
  73. /*************************************************************/
  74. void write_com(uchar com)            //1602 lcd
  75. {
  76.     lcdrs=0;
  77.     lcden=1;
  78.     P0=com;
  79.     delayms(5);
  80.     lcden=0;
  81. }
  82. /**********************************************************/
  83. void write_data(uchar date)        //1602 lcd
  84. {
  85.     lcdrs=1;
  86.     lcden=1;
  87.     P0=date;
  88.     delayms(5);
  89.     lcden=0;
  90. }
  91. /**********************************************************/
  92. void lcd_init()    //lcd初始化
  93. {
  94.      write_com(0x38);
  95.      delayms(20);
  96.      write_com(0x38);
  97.      delayms(20);
  98.             write_com(0x0c);
  99.      delayms(20);
  100.             write_com(0x06);
  101.      delayms(20);
  102.             write_com(0x01);
  103.      delayms(20);
  104. }
  105. void AD_init()
  106. {
  107.         P1ASF=0xc8; //p1.7 p1.2 p1.0作为模拟功能AD使用  0xc8  11001000  p1.7 2.5V
  108.         ADC_RES=0;   //清零转换结果寄存器高8位
  109.         ADC_RESL=0; //清零转换结果寄存器低2位
  110.         ADC_CONTR=0x80;//开启AD电源
  111.         delay(2);   //等待1ms,让AD电源稳定
  112. }
  113. void time_init()
  114. {    
  115.         TH0=(65536-45872)/256;
  116.         TL0=(65536-45872)%256;
  117.         EA=1;
  118.         ET0=1;
  119.         TR0=1;
  120. }
  121. void lcd_display()
  122. {
  123.         if (v_cd==0)  
  124.         volt=AD_get(6)*2.5/AD_get(7)*1000-(aolt*0.11);  //TL431 2.5    0.11为取样电阻加线路总电阻
  125.           
  126.         if (v_cd==1)  
  127.          volt= AD_get(6)*2.5/AD_get(7)*1000+(aolt*0.11);
  128.               
  129.         v_shi=volt/1000;    
  130.         v_ge=volt%1000/100;      
  131.         v_xiao1=volt%100/10;  
  132.         v_xiao2=volt%10;  
  133.         
  134.         write_com(0x82);
  135.         write_data(table1[v_shi]);
  136.         write_com(0x83);
  137.         write_data('.');
  138.         write_com(0x84);
  139.         write_data(table1[v_ge]);
  140.         write_com(0x85);
  141.         write_data(table1[v_xiao1]);
  142.         write_com(0x86);
  143.         write_data(table1[v_xiao2]);
  144.         write_com(0x87);
  145.         write_data('V');
  146.         
  147.          aolt=((AD_get(3)*2.5)/AD_get(7)-2.5)*1000; // 电流计算公式
  148.   {     //充电电流为负,放电电流为正,负电流转正数
  149.         if (aolt < 0)  
  150.         {  
  151.                 aolt_z =aolt*-1;  
  152.         }  
  153.         else
  154.                 aolt_z =aolt*1;  
  155.   }  
  156.         a_shi=aolt_z/1000;
  157.         a_ge=aolt_z%1000/100;
  158.         a_xiao1=aolt_z%100/10;
  159.         a_xiao2=aolt_z%10;
  160.         
  161.         write_com(0x89);
  162.         write_data(table1[a_shi]);
  163.         write_com(0x8a);
  164.         write_data('.');
  165.         write_com(0x8b);
  166.         write_data(table1[a_ge]);
  167.         write_com(0x8c);
  168.         write_data(table1[a_xiao1]);
  169.         write_com(0x8d);
  170.         write_data(table1[a_xiao2]);
  171.         write_com(0x8e);
  172.         write_data('A');    
  173.         write_com(0xC0);    
  174.         write_data(' ');
  175.         
  176.         h_shi=mah/1000;
  177.         h_ge=mah%1000/100;
  178.         h_xiao1=mah%100/10;
  179.         h_xiao2=mah%10;
  180.     
  181.         write_com(0xc1);
  182.         write_data(table1[h_shi]);
  183.         write_com(0xc2);
  184.         write_data(table1[h_ge]);
  185.         write_com(0xc3);
  186.         write_data(table1[h_xiao1]);
  187.         write_com(0xc4);
  188.         write_data(table1[h_xiao2]);
  189.         write_com(0xc5);
  190.         write_data('m');
  191.         write_com(0xc6);
  192.         write_data('A');
  193.         write_com(0xc7);
  194.         write_data('h');
  195.         write_com(0xc8);
  196.         write_data(' ');
  197.         write_com(0xc9);
  198.         write_data('T');
  199.         write_com(0xca);
  200.         write_data('=');
  201.         t_shi=time/100;
  202.         t_ge=time%100/10;
  203.         t_xiao1=time%10;
  204.         write_com(0xcb);
  205.         write_data(table1[t_shi]);
  206.         write_com(0xcc);
  207.         write_data(table1[t_ge]);
  208.         write_com(0xcd);
  209.         write_data(table1[t_xiao1]);
  210.         write_com(0xce);
  211.         write_data('M');
  212. }
  213. void keysean()
  214. {
  215.         if(key==0)
  216.         {
  217.                 delayms(500);
  218.                 if(key==0)
  219.                 {
  220.                     key_flag++;
  221.                  if(key_flag>3)
  222.                     key_flag=1;
  223.                 }
  224.                 while(!key);
  225.         }
  226.         
  227.             if(key_flag==1)
  228.             {
  229.                     v_fd=1;
  230.                     v_cd=1;
  231.                                                         
  232.                     write_com(0x80);
  233.                     write_data('=');
  234.                    write_com(0x81);
  235.                     write_data(' ');
  236.                     num1=0;
  237.                     time_flag=0;
  238.             }
  239.             
  240.             if(key_flag==2)
  241.             {
  242.                     v_fd=1;
  243.                     v_cd=0;
  244.                   
  245.                      time=0;    
  246.                     mah=0;                                
  247.                 
  248.                 write_com(0x80);
  249.                 write_data('C');
  250.                 write_com(0x81);
  251.                 write_data('D');
  252.             }
  253.             
  254.             if(key_flag==3)
  255.             {
  256.                     v_cd=1;
  257.                     v_fd=0;
  258.                     time_flag=1;    
  259.                     if(shan_flag==0)
  260.                     {
  261.                             write_com(0x80);
  262.                             write_data('F');
  263.                                                                                               write_com(0x81);
  264.                             write_data('D');
  265.                     }
  266.                     if(v_shi==2)
  267.                     {
  268.                             v_fd=1;
  269.                             v_cd=1;
  270.                             time_flag=0;
  271.                             key_flag=1;
  272.                     }
  273.             }
  274. }
  275. unsigned int AD_get(unsigned char channel)
  276. {
  277.         ADC_CONTR=0x88|channel;    //开启AD转换1000 1000 即POWER SPEED1 SPEED0 ADC_FLAG   ADC_START CHS2 CHS1 CHS0
  278.         _nop_(); _nop_(); _nop_(); _nop_();//要经过4个CPU时钟的延时,其值才能够保证被设置进ADC_CONTR 寄存器
  279.         while(!(ADC_CONTR&0x10));    //等待转换完成
  280.         ADC_CONTR&=0xe7;      //关闭AD转换,ADC_FLAG位由软件清0
  281.         return(ADC_RES*4+ADC_RESL);   //返回AD转换完成的10位数据(16进制)
  282. }
  283. void main()
  284. {    
  285.         AD_init();
  286.         UART_init();
  287.               lcd_init();  
  288.         time_init();
  289.         v_cd=1;
  290.         v_fd=1;
  291.         
  292.         while(1)
  293.         {
  294.                 if(com_flag==0)      //      
  295.                 keysean();
  296.                 if(lcd_flag==1)
  297.                 {
  298.                     lcd_display();
  299.                     lcd_flag=0;
  300.                 }
  301.         }
  302. }
  303. void interrupt_uart() interrupt 4
  304. {
  305.           ES=0;    //关串口中断
  306.           table[i]=SBUF;//命令存到命令数组
  307.             if(table[0]=='W')
  308.             i++;
  309.             else
  310.             i=0;
  311.             RI=0; //软件清除接收中断
  312.             ES=1;//开串口中断
  313.         if(i>8)      //如果接受字节大于8个开始检测接受字节后四位数据  Work_v_ad
  314.     {
  315.                 if(table[5]=='v'&&table[6]=='_'&&table[7]=='a'&&table[8]=='d')
  316.         {  
  317.                         senddata(table1[v_shi]);
  318.                         senddata('.');
  319.                         senddata(table1[v_ge]);
  320.                         senddata(table1[v_xiao1]);
  321.                         senddata(table1[v_xiao2]);
  322.                         senddata('V');
  323.                         senddata(',');
  324.                         senddata(table1[a_shi]);
  325.                         senddata('.');
  326.                         senddata(table1[a_ge]);
  327.                         senddata(table1[a_xiao1]);
  328.                         senddata(table1[a_xiao2]);
  329.                         senddata('A');
  330.                                                                                                 
  331.                         senddata(0x0d);
  332.                         senddata(0x0a);
  333.                         com_flag=0;  
  334.          }
  335.                       
  336.                 if(table[5]=='v'&&table[6]=='_'&&table[7]=='c'&&table[8]=='d')
  337.                 {
  338.                            key_flag=2;
  339.                             com_flag=1;
  340.                 }
  341.                 if(table[5]=='v'&&table[6]=='_'&&table[7]=='f'&&table[8]=='d')
  342.                 {
  343.                            key_flag=3;
  344.                             com_flag=1;
  345.                 }
  346.                  if(table[5]=='v'&&table[6]=='o'&&table[7]=='f'&&table[8]=='f')
  347.                {
  348.                             key_flag=1;
  349.                             //v_cd=1;
  350.                             //v_fd=1;
  351.                             com_flag=1;
  352.                }
  353.                            i=0;    
  354.                                 }                
  355.   }
  356. void T0_time() interrupt 1
  357. {
  358.         TH0=(65536-45872)/256;
  359.         TL0=(65536-45872)%256;
  360.         num2++;
  361.         if(num2==20)
  362.             {
  363.                     num2=0;
  364.                     shan_flag=~shan_flag;
  365.                     lcd_flag=1;
  366.             }
  367.                                                 
  368.          if(time_flag==1)
  369.         {
  370.                 num1++;
  371.                 if(num1==1200)
  372.                 {
  373.                         num1=0;
  374.                         time++;
  375.                         if(time==1000)
  376.                             time=0;
  377.                         mah=aolt_z*time/60;
  378.                 }
  379.         }
  380. }

[ 此帖被zhkrid在2017-08-31 14:53重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共30条打赏M币+350专家+5
tigger09 M币 +15 原創內容 09-10
隔壁邻居老王 M币 +13 謝謝分享 09-06
weizaisifang M币 +9 謝謝分享 09-04
dzb M币 +20 謝謝分享 09-03
zhongyidiy M币 +8 精彩回帖 09-03
yi0819 M币 +15 原創內容 09-02
hfsp M币 +9 原来是编程高手,不简单呀. 09-02
xiaoxuanfeng M币 +20 这个要懂单片机才能玩得转呀。 09-01
newnet1234 专家 +1 謝謝分享 09-01
newnet1234 M币 +20 謝謝分享 09-01
离线zhkrid

发帖
14899
M币
48762
专家
185
粉丝
191
只看该作者 2楼 发表于: 08-31
过程帖:
http://bbs.mydigit.cn/read.php?tid=2187944
http://bbs.mydigit.cn/read.php?tid=2191134
http://bbs.mydigit.cn/read.php?tid=2193418
在制作过程中给我帮助的坛友数不胜数,再次感谢各位坛友!


1秒取样的曲线图


6秒取取样的曲线图



关于电池内阻,坛友[邓穿石]在31楼说明了计算方法,我用原数据进行了如下计算
放电开始和终止那一下电压是瞬间变化的

蓝色线为开始放电的第一秒电压跌落,从4.219V掉到4.125V,再在1秒内回到4.170V4.125数值暂时认为是异常数据,那么电压跌落值为4.219-4.1680.051V,此时电流是0.5A,   根据公式:0.051/0.50.102
橙色线为终止放电的第一秒电压回升,从2.996V1秒内回到3.053V,那么电压落差值为=3.053-2.9960.057V,此时电流是0.5A,    根据公式:0.057/0.50.114
两个阶段的计算值约有10%的差异,不够精确,不过这个方法可以作为对比,都取开始放电或者终止放电的数据还是可以给电池配对的
  1. [size=3]4.226         3.020 [/size]
  2. [size=3]4.226         3.020 [/size]
  3. [size=3]4.230         3.020 [/size]
  4. [size=3]4.226         3.020 [/size]
  5. [size=3]4.226         3.015 [/size]
  6. [size=3]4.226         3.015 [/size]
  7. [size=3]4.222         3.015 [/size]
  8. [size=3]4.226         3.015 [/size]
  9. [size=3]4.226         3.015 [/size]
  10. [size=3]4.226         3.010 [/size]
  11. [size=3]4.221         3.010 [/size]
  12. [size=3]4.226         3.010 [/size]
  13. [size=3]4.226         3.010 [/size]
  14. [size=3]4.226         3.005 [/size]
  15. [size=3]4.226         3.005 [/size]
  16. [size=3]4.226         3.005 [/size]
  17. [size=3]4.226         3.005 [/size]
  18. [size=3]4.219         3.001 [/size]
  19. [size=3]4.219         3.001 [/size]
  20. [size=3]4.219         3.001 [/size]
  21. [size=3]4.219         3.001 [/size]
  22. [size=3]4.125         2.996 [/size]
  23. [size=3]4.168         3.053 [/size]
  24. [size=3]4.170         3.057 [/size]
  25. [size=3]4.170         3.057 [/size]
  26. [size=3]4.170         3.057 [/size]
  27. [size=3]4.170         3.062 [/size]
  28. [size=3]4.173         3.062 [/size]
  29. [size=3]4.165         3.062 [/size]
  30. [size=3]4.165         3.062 [/size]
  31. [size=3]4.165         3.062 [/size]
  32. [size=3]4.165         3.062 [/size]
  33. [size=3]4.173         3.067 [/size]
  34. [size=3]4.165         3.067 [/size]
  35. [size=3]4.165         3.067 [/size]
  36. [size=3]4.165         3.067 [/size]
  37. [size=3]4.161         3.067 [/size]
  38. [size=3]4.165         3.067 [/size]
  39. [size=3]4.160         3.067 [/size]
  40. [size=3]4.161         3.072 [/size]
  41. [size=3]4.168         3.072 [/size]
  42. [size=3]4.160         3.072 [/size]
  43. [size=3]4.169         3.072 [/size]
  44. [size=3]4.168         3.072 [/size]
  45. [size=3]4.169         3.072 [/size]
  46. [size=3]4.161         3.077 [/size]
  47. [size=3]4.161         3.077 [/size]
  48. [size=3]4.161         3.077 [/size]
  49. [size=3]4.168         3.077 [/size]
  50. [size=3]4.156         3.077 [/size]
  51. [size=3]4.161         3.077 [/size]
  52. [size=3]4.163         3.077 [/size]
  53. [size=3]4.156         3.077 [/size]
  54. [size=3]4.164         3.077 [/size]
  55. [size=3]4.164         3.081 [/size]
  56. [size=3]4.155         3.081 [/size]
  57. [size=3]4.163         3.081 [/size]
  58. [size=3]4.163         3.081 [/size]
  59. [size=3]4.156         3.081 [/size]
  60. [size=3]4.164         3.081 [/size]
  61. [size=3]4.164         3.081 [/size]
  62. [size=3]4.164         3.081 [/size]
  63. [size=3]4.158         3.081 [/size]
  64. [size=3]4.156         3.087 [/size]
  65. [size=3]4.158         3.081 [/size]
  66. [size=3]4.159         3.086 [/size]
  67. [size=3]4.158         3.086 [/size]
  68. [size=3]4.158         3.086 [/size]
  69. [size=3]4.159         3.086 [/size]
  70. [size=3]4.159         3.086 [/size]
  71. [size=3]4.159         3.086 [/size]
  72. [size=3]4.158         3.086 [/size]
  73. [size=3]4.159         3.086 [/size]
  74. [size=3]4.159         3.086 [/size]
  75. [size=3]4.159         3.091 [/size]
  76. [size=3]4.158         3.091 [/size]
  77. [size=3]4.159         3.091 [/size]
  78. [size=3]4.151         3.091 [/size]
  79. [size=3]4.159         3.091 [/size]
  80. [size=3]4.154         3.091 [/size]
  81. [size=3]4.154         3.091 [/size]
  82. [size=3]4.159         3.091 [/size]
  83. [size=3]4.151         3.091 [/size]
  84. [size=3]4.154         3.091 [/size]
  85. [size=3]4.147         3.091 [/size]
  86. [size=3]4.154         3.091 [/size]
  87. [size=3]4.154         3.096 [/size]
  88. [size=3]4.154         3.096 [/size]
  89. [size=3]4.154         3.096 [/size]
  90. [size=3]4.154         3.096 [/size]
  91. [size=3]4.154         3.096 [/size]
  92. [size=3]4.154         3.096 [/size]
  93. [size=3]4.154         3.096 [/size]
  94. [size=3]4.154         3.096 [/size]
  95. [size=3]4.154         3.096 [/size]
  96. [size=3]4.154         3.096 [/size]
  97. [size=3]4.154         3.096 [/size]
  98. [size=3]4.150         3.096 [/size]
  99. [size=3]4.154         3.101[/size]


以下是同一个电池,第二次放电曲线,采样间隔为6秒,上面的数据是1秒


(4.222-4.164)/0.5=0.116欧
(3.078-3.004)/0.5=0.148

  1. [size=3]4.215    3.063[/size]
  2. [size=3]4.215    3.052[/size]
  3. [size=3]4.22    3.053[/size]
  4. [size=3]4.22    3.049[/size]
  5. [size=3]4.215    3.039[/size]
  6. [size=3]4.215    3.028[/size]
  7. [size=3]4.22    3.029[/size]
  8. [size=3]4.215    3.024[/size]
  9. [size=3]4.215    3.019[/size]
  10. [size=3]4.215    3.003[/size]
  11. [size=3]4.222    3.004[/size]
  12. [size=3]4.164    3.078[/size]
  13. [size=3]4.164    3.083[/size]
  14. [size=3]4.159    3.088[/size]
  15. [size=3]4.159    3.088[/size]
  16. [size=3]4.154    3.093[/size]
  17. [size=3]4.154    3.098[/size]
  18. [size=3]4.15    3.103[/size]
  19. [size=3]4.15    3.103[/size]
  20. [size=3]4.15    3.108[/size]
  21. [size=3]4.15    3.108[/size]
  22. [size=3]4.15    3.113[/size]
  23. [size=3]4.145    3.113[/size]
  24. [size=3]4.145    3.117[/size]
  25. [size=3]4.145    3.118[/size]
  26. [size=3]4.14    3.117[/size]
  27. [size=3]4.14    3.123[/size]


[ 此帖被zhkrid在2017-08-31 22:51重新编辑 ]
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共27条打赏M币+253专家+4
风间尘 M币 +13 謝謝分享 09-07
副班长 M币 +8 優秀文章 09-05
黯然销魂 M币 +9 懂单片机就是好玩 09-05
411183343 M币 +20 原創內容 09-03
zty615 M币 +20 支持,我现在已经不自己写程序了,已经忘记得差不多了 09-01
xiaoxuanfeng 专家 +1 原創內容 09-01
xiaoxuanfeng M币 +15 原創內容 09-01
虚伪的妖 M币 +8 能自己搞定真不错。我等只有等成品的份,呵呵 09-01
newnet1234 M币 +13 原創內容,祝贺得精 09-01
qrut M币 +20 謝謝分享 09-01
在线maskzippy

发帖
5391
M币
15760
专家
82
粉丝
273
只看该作者 3楼 发表于: 08-31
看板子背面走线就晓得这是个大工程
本帖最近打赏记录:共1条打赏M币+1
zhkrid M币 +1 前前后后弄了个把月,洞洞板越来越不好用了,洞都不够多,线穿来穿去到最后只能飞了 08-31
离线jorong

发帖
90
M币
3913
专家
13
粉丝
24
只看该作者 4楼 发表于: 08-31
本帖最近打赏记录:共1条打赏M币+1
zhkrid M币 +1 歡迎探討 08-31
离线ljlun

发帖
61135
M币
47121
专家
231
粉丝
19426
只看该作者 5楼 发表于: 08-31
终于完成了,坐等LZ更新!
本帖最近打赏记录:共2条打赏M币+10
轻烟 M币 +9 不容易哈 09-03
zhkrid M币 +1 谢谢一直关注我的进度,提供精神支持,终于完工 08-31
离线jpdd521

发帖
19182
M币
699
专家
15
粉丝
314
只看该作者 6楼 发表于: 08-31
先不管是啥,插个楼。
本帖最近打赏记录:共1条打赏M币+1
zhkrid M币 +1 歡迎探討率 插晚了,已经编辑完成 08-31
离线zhkrid

发帖
14899
M币
48762
专家
185
粉丝
191
只看该作者 7楼 发表于: 08-31
前前后后弄了个把月,洞洞板越来越不好用了,洞都不够多,线穿来穿去到最后只能飞了
离线zhkrid

发帖
14899
M币
48762
专家
185
粉丝
191
只看该作者 8楼 发表于: 08-31
谢谢一直关注我的进度,提供精神支持,终于完工
离线bg4oqx

发帖
371
M币
172
专家
0
粉丝
8
只看该作者 9楼 发表于: 08-31
支持DIY,谢谢分享。
本帖最近打赏记录:共1条打赏M币+1
zhkrid M币 +1 歡迎探討 08-31
快速回复
限80 字节
“新手上路”发帖需审核后才能显示(请认真发帖),达到数码9级后取消此限制
 
上一个 下一个