发作品签到
专业版

#第八届立创电赛#基于瑞萨单片机的电池内阻测试仪

工程标签

1.0w
0
0
85

简介

高耐压的电池內阻测试仪

简介:高耐压的电池內阻测试仪

开源协议

GPL 3.0

创建时间:2023-06-26 13:39:15更新时间:2023-10-09 11:11:17

描述

* 1、项目功能介绍


电动汽车越来越多,维修保养生产需要测试电池的內阻,而高耐压的电池內阻测试仪价格较高,于是自己设计一个,可以测试400V的高压电池,借助瑞萨R7FA2E1A7单片机的高性能ADC,內阻最大可显示40000字,最小分辨率0.01毫欧,两个量程分别是4欧和0.4欧,4欧档位最小分辨0.1毫欧,0.4欧档位最小分辨0.01毫欧,整机功耗20毫安以下,可测电池內阻和开关电源市电整流后的大滤波电容的ESR,并且不用放电。

 

*2、项目属性

 

原创首次开源

 

* 3、开源协议

 

GPL 3.0

 

*4、硬件部分

电源:

 

电源采用单节18650电池供电,电源部分包含锂电池充电和保护电路

 

 

主控

瑞萨R7FA2E1A7单片机

 

 

显示:

 

采用COG12864显示

 

 

pwm滤波电路:

单片机P400口输出一路1KHZ 方波,进入RC滤波器过滤成正弦波,注R15、R16未焊接,设想用来扩展量程用的冗余设计。

 

 

 

恒流和保护电路部分:

 

1KHZ经过PWM滤波后的正弦波通过C7、R3、R13抬高到VCC的一半进入R10.1跟随器,接着进入恒流电路,R4、R5、R12是电流采样电阻,设置为恒流12毫安。Q1和Q2代替二极管保护运放,C100、C101为隔直电容采用的是安规电容,L1-L10限制电流变化速度增加保护电路可靠性,R11采用线绕电阻防止烧毁,D1 TVS将电压限制在一定范围,整个保护电路可耐压400V,尽管没有火花减小电路但是火花不是太明显。

 

调试:开尔文夹子夹住1欧电阻,用万用表交流毫伏档测1欧电阻两端,电压应为12毫伏左右,波形为标准正弦波。

 

 

 

 

 

测试夹部分

采用四线测量排除导线电阻影响,H1、H2一个夹子,H3、H4一个夹子,H1、H3电流回路最好两根线互相缠绕,H2、H4通过C16、C31隔离电池直流并且把正弦波信号抬高1.65V,R18、R38为限流电阻,Q3、Q4、Q5、Q6用三极管代替二级管。

 

 

 

放大电路

三运放仪表放大器,放大21倍

 

 

 

 

采用先衰减后放大,U4模拟开关控制衰减10倍或直通,U12.2十倍放大电路,最后进入单片机ADC口。

 

 

 

 

*5、软件部分

 

 

程序采用纯汇编编写,编译器ARM-NONE-EABI,可以直接到ARM官方网站下载,也可以自己下载GNU BINUTILS自己编译  

编译命令

  1.     ../configure --target=arm-none-eabi --prefix=/home/yjmwxwx/220g/ruanjian/chengxu/arm/bianyiqi/bintuils/
  2.     make
  3.     make install

 

开发工具:

附件里面的1.s是源代码,1.bin是固件

EMACS编辑器

编译器,输入make就可以了

 

 

JLINK 命令行调试工具,我用的是JLINK V9 的SWD模式,需要连接四根线到板子,分别是GND、SWDIO、SWCLK、VCC。

型号输入R7FA2E1A7,模式选择SWD

烧写命令

loadbin /home/yjmwxwx/1.bin 0

 

 

软件涉及单片机部分的有IO、GPT、ADC、DTC、DATA FLASH、SCI_SPI几个部分,涉及信号处理的主要是DFT和滑动滤波器。单片机定时器输出一路1KHZ PWM,另外一个定时器设置25K频率触发ADC采样,采集的数据通过DTC传输250点到RAM,SYSTICK定时器设置0.01秒中断一次,进入中断先算250点的DFT,得到实部虚部各进入300点滑动滤波器,得到的数据还需要旋转相位用来只显示阻抗的电阻部分。

信号处理核心部分程序:

GPT定时器设置25K频率用来触发ADC,SYSTICK定时器设置0.01秒中断一次处理ADC采集的数据。

定时器输出1KHZ PWM

 

 

ADC设置,通过定时器触发ADC采样

用来触发ADC采样的定时器设置25K频率,另外设置SYSTICK定时器0.01秒中断一次处理ADC采样数据

设置DTC传输ADC采集到的数据,一共传输250个32位循环模式,25K采样频率采集250点保证采集到的数据相位锁定方便后面处理采集到的数据。

进入SYSTICK中断后先算DFT得到实部虚部,再把这两个数据各自放到300点滑动滤波器

滑动滤波器

DFT计算一部分程序

 

DFT计算用COS和SIN查询表生成程序,格式为Q15定点数,N=500是数据点数,M=10是算第10个点。采样率25000HZ除250点=100HZ,每个点100HZ,第10个点就是我们需要的1KHZ

 

#include
#include
#include
void main() {
  float m,pi,sr,si;

  int rr,ii, n,i;
  n=500;
  m=10;
  pi=3.141592653;    
    for(i=0;i       sr=cos(2*pi*i*m/n);
       si=-sin(2*pi*i*m/n);
       rr=sr*0x8000;
       ii=si*0x8000;
       printf("0x%04X,0x%04X,",rr,ii);
}
    printf("\n");
}

 

通过DTC传输到内存的数据通过OCTAVE显示出来,注意显示是512点,DTC传输最大256个32位,就算设置传输250点也会占用内存256个32位,前面6个32位是无用数据。

 

上面数据用OCTAVE FFT功能计算后,可以看到第10个点幅度最高就是我们需要的1KHZ

ADC采集到的数据

a=[02046   02046   02045   02046   02045   02045   02042   02042
02039   02039   02032   02033   02451   02452   02405   02407
02339   02342   02257   02260   02165   02168   02065   02070
01962   01966   01860   01863   01765   01769   01689   01691
01638   01640   01618   01619   01627   01626   01661   01660
01718   01715   01793   01790   01881   01877   01977   01973
02079   02076   02182   02178   02283   02279   02369   02366
02432   02429   02468   02467   02473   02473   02450   02452
02405   02407   02338   02341   02257   02259   02165   02168
02065   02069   01962   01966   01860   01863   01765   01769
01689   01691   01639   01640   01619   01619   01627   01626
01661   01661   01719   01715   01793   01789   01880   01876
01978   01973   02079   02076   02182   02179   02282   02278
02369   02367   02432   02430   02467   02466   02473   02473
02451   02453   02404   02406   02339   02341   02257   02260
02164   02168   02065   02069   01962   01966   01860   01863
01765   01769   01689   01690   01639   01640   01618   01617
01627   01627   01662   01659   01719   01716   01793   01790
01881   01877   01977   01974   02079   02075   02182   02179
02282   02279   02369   02366   02432   02430   02468   02467
02474   02474   02451   02452   02405   02406   02339   02342
02257   02260   02165   02168   02066   02069   01962   01966
01860   01864   01766   01768   01688   01690   01639   01639
01618   01618   01627   01627   01662   01660   01718   01716
01793   01790   01881   01877   01977   01973   02078   02075
02182   02179   02282   02279   02368   02365   02431   02429
02468   02467   02473   02473   02450   02452   02405   02408
02339   02341   02257   02260   02164   02168   02066   02069
01962   01966   01859   01863   01764   01768   01689   01691
01638   01640   01617   01618   01627   01626   01661   01660
01717   01716   01794   01790   01880   01877   01976   01973
02080   02076   02182   02178   02282   02278   02368   02366
02433   02430   02467   02466   02473   02473   02451   02451
02405   02406   02338   02341   02257   02260   02165   02169
02065   02068   01963   01966   01860   01863   01765   01768
01688   01691   01639   01640   01618   01618   01626   01625
01661   01660   01718   01716   01793   01790   01880   01878
01977   01973   02079   02075   02182   02179   02282   02279
02369   02365   02432   02430   02467   02466   02474   02474
02451   02452   02405   02406   02338   02341   02257   02260
02165   02168   02065   02069   01963   01966   01861   01864
01765   01768   01689   01691   01639   01641   01619   01619
01626   01626   01661   01659   01718   01716   01793   01790
01880   01876   01977   01974   02080   02076   02184   02174
02288   02284   02369   02365   02433   02430   02479   02466
02472   02473   02451   02452   02406   02407   02339   02341
02259   02260   02164   02167   02065   02069   01962   01966
01860   01864   01765   01767   01688   01691   01638   01636
01617   01618   01624   01628   01661   01659   01717   01715
01790   01788   01879   01876   01975   01972   02082   02074
02180   02177   02281   02277   02367   02364   02431   02430
02465   02457   02471   02470   02453   02450   02402   02404
02338   02340   02255   02253   02163   02166   02064   02068
01963   01964   01858   01862   01764   01766   01687   01689
01637   01640   01615   01616   01624   01619   01659   01659
01728   01714   01790   01787   01879   01875   01975   01971
02077   02073   02180   02176   02278   02276   02366   02364
02429   02427   02465   02464   02471   02471   02449   02449
02402   02404   02339   02339   02255   02258   02162   02166
02062   02067   01960   01964   01859   01861   01763   01765
01685   01688   01637   01637   01618   01616   01624   01623
01659   01658   01717   01714   01791   01787   01878   01875
01975   01971   02073   02073   02179   02178   02280   02289
02367   02363   02430   02427   02466   02468   02472   02472]

b = reshape(a',1,512)
b = b-2048
c = 0:511
plot (c,b)

 

滤波后的实部和虚部还需要旋转下相位,因为测电池內阻只显示阻抗的电阻部分

 

程序里面计算COS和SIN还有ATAN2的程序采用的是CORDIC算法,CORDIC算法详细介绍见附件。

 

 

 

 

校准方法

三个校准菜单,显示P-00是短路清零、显示P-01是相位校准、显示P-02是标准电阻校准。

按住切换档位的按键再同时按住另一个进入校准模式,数码管显示P-00,按档位加的按键会在P-00、P-01、P-02之间切换,两个按键一块按退出校准菜单显示END,按另外一个按键进入显示的菜单。

P-00 夹子短路,两个按键加减调到0,先调欧档,两个按键一块按进入毫欧档,调好后再两个按键一块按保存到FLASH 显示END

P-01 夹住1欧电阻,调到这个电阻真实相位,我也不知道就调到0了,调好后两个按键一块按保存到FLASH 显示END

P-02 夹住标准电阻把读数调到和电阻一样,也是先调欧档,两个按键一块按进入毫欧档,调好后再两个按键一块按保存到FLASH 显示END

 

 

*6、BOM清单


No. Quantity Comment Designator Footprint Value Manufacturer Part Manufacturer Supplier Part Supplier
1 18 10uF C1,C2,C12,C13,C15,C17,C21,C22,C23,C25,C28,C32,C34,C35,C39,C41,C45,C46 C0603 10uF CL10A106KP8NNNC SAMSUNG(三星) C19702 LCSC
2 11 1nF C3,C4,C5,C6,C8,C9,C10,C11,C26,C27,C33 C0603 1nF CC0603JRNPO9BN102 YAGEO(国巨) C106246 LCSC
3 8 100nF C7,C24,C29,C36,C37,C38,C40,C42 C0603 100nF CC0603KRX7R9BB104 YAGEO(国巨) C14663 LCSC
4 2 100nF C16,C31 CAP-TH_L13.0-W6.0-P10.00-D1.0 100nF MP2104K27C3X6LC SRD(圣融达) C105759 LCSC
5 2 10pF C18,C19 C0603 10pF CC0603JRNPO9BN100 YAGEO(国巨) C106245 LCSC
6 1 470uF C43 CAP-TH_BD8.0-P3.50-D0.6-FD 470uF KM477M016F12RR0VH2FP0 CX(承兴) C28067 LCSC
7 2 1uF C100,C101 CAP-TH_L18.0-W11.0-P15.00-D0.8 1uF PX105K2C1503 KYET(科雅) C2693799 LCSC
8 1 SMBJ5.0A D1 SMB_L4.3-W3.6-LS5.3-RD   SMBJ5.0A FTR(乔光电子) C693503 LCSC
9 1 AFA01-S10FCA-00 FPC1 FPC-SMD_10P-P1.0_FGS-XJ-H2.0   AFA01-S10FCA-00 JS(钜硕电子) C262756 LCSC
10 8   H1,H2,H3,H4,H5,H6,H7,H8 HDR-TH_1P-V-M_XKB_X4611WV-01I-C28D40       C81276  
11 10 47uH L1,L2,L3,L4,L5,L6,L7,L8,L9,L10 IND-SMD_L4.5-W4.0_SLF0403 47uH SLF0403-470KTT Sunltech(韩国顺磁) C182152 LCSC
12 2 204-10SURD/S530-A3-L LED1,LED2 LED-TH_BD3.0-P2.54-FD   204-10SURD/S530-A3-L EVERLIGHT(亿光) C99771 LCSC
13 6 SS8050 Q1,Q2,Q3,Q4,Q5,Q6 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR   SS8050 ElecSuper(静芯微) C5249676 LCSC
14 9 100kΩ R1,R6,R7,R8,R9,R10,R14,R26,R39 R0603 100kΩ RC0603FR-07100KL YAGEO(国巨) C14675 LCSC
15 21 10kΩ R2,R15,R16,R17,R18,R20,R21,R22,R23,R24,R25,R27,R30,R31,R32,R33,R34,R38,R41,R44,R47 R0603 10kΩ RC0603FR-0710KL YAGEO(国巨) C98220 LCSC
16 6 1MΩ R3,R13,R19,R35,R36,R37 R0603 1MΩ 0603WAF1004T5E UNI-ROYAL(厚声) C22935 LCSC
17 3 100Ω R4,R5,R12 R2512 100Ω CRH2512J100RE04Z EVEROHMS(天二科技) C175441 LCSC
18 1 5.1Ω R11 RES-TH_BD3.5-L9.0-P13.00-D0.8 5.1Ω KNP1WS-5Ω1±5%-2T52 VO(翔胜) C601740 LCSC
19 11 1kΩ R28,R29,R40,R42,R43,R45,R46,R48,R51,R52,R54 R0603 1kΩ RC0603FR-071KL YAGEO(国巨) C22548 LCSC
20 1 100Ω R49 R0603 100Ω RC0603FR-07100RL YAGEO(国巨) C105588 LCSC
21 2 10Ω R50,R53 R0603 10Ω 0603WAF100JT5E UNI-ROYAL(厚声) C22859 LCSC
22 2 1TS005A-2500-5001 SW1,SW2 SW-TH_4P-L6.0-W6.0-P3.90-LS6.5   1TS005A-2500-5001 HYP(鸿源精密) C255811 LCSC
23 1 SS-12F20-G070 SW3 SW-TH_G-SWITCH_SS-12F20-G070   SS-12F20-G070 G-Switch(品赞) C2848914 LCSC
24 4   TP1,TP2,TP3,TP4 M2螺丝          
25 1 R7FA2E1A72DFL#AA0 U3 LQFP-48_L7.0-W7.0-P0.50-LS9.0-BL   R7FA2E1A72DFL#AA0 RENESAS(瑞萨)/IDT C2932201 LCSC
26 1 SGM3157 U4 SC-70-6_L2.2-W1.3-P0.65-LS2.1-BL   SGM3157 UMW(广东友台半导体) C394901 LCSC
27 1 WSP4056 U5 SOP-8_L5.1-W3.9-P1.27-LS6.0-BL   WSP4056 WINSOK(微硕) C2985892 LCSC
28 1 662K. U6 SOT-23-3_L2.9-W1.3-P1.90-LS2.4-BR   662K. FM(富满) C841298 LCSC
29 1 WSTDW01 U7 SOT-23-6_L2.9-W1.6-P0.95-LS2.8-BR   WSTDW01 WINSOK(微硕) C86873 LCSC
30 2 AO3400A U8,U9 SOT-23-3_L3.0-W1.6-P1.90-LS2.8-BR   AO3400A ElecSuper(静芯微) C5224194 LCSC
31 3 LMV358ARZ U10,U11,U12 SOP-8_L4.9-W3.9-P1.27-LS6.0-BL   LMV358ARZ HTCSEMI(海天芯) C2928823 LCSC
32 1 TYPE-C16PIN2MD(073) USB1 USB-C-SMD_TYPE-C-6PIN-2MD-073   TYPE-C16PIN2MD(073) SHOU HAN(首韩) C2765186 LCSC
33 1 - X1 OSC-SMD_4P-L3.2-W2.5-BL - 7325-3200A0910-00 XTY(新天源) C389917 LCSC

 

 

*7、大赛LOGO验证


 

请上传包含大赛logo的项目图片,logo以丝印形式印刷在PCB上面。

点击zip下载大赛logo标识! (大赛标识).zip

 

* 8、演示您的项目并录制成视频上传

 

B站高清视频

 


立创电赛:《基于瑞萨单片机的电池内阻测试仪》-团队介绍

 

 

立创电赛:《基于瑞萨单片机的电池内阻测试仪》-功能演示

 

 

立创电赛:《基于瑞萨单片机的电池内阻测试仪》-耐压测试

 

 

立创电赛:《基于瑞萨单片机的电池内阻测试仪》-校准方法

 

更多详情:https://diy.szlcsc.com/posts/15a52db9fd7d40c492eb505280278e45

 

设计图

未生成预览图,请在编辑器重新保存一次

BOM

暂无BOM

附件

序号文件名称下载次数
1
程序源代码和固件.zip
169
2
ProProject_#第八届立创电赛#基于瑞萨单片机的电池内阻测试仪_2023-10-09.zip
131
3
cordic.pdf
135
4
cordic ZH.pdf
160
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航