登录
|
注册会员
开启辅助访问
设为首页
收藏本站
扫一扫关注官方微信
论坛
BBS
M币充值
M currency prepaid phone
M币获取
附件中心
搜索
search
全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
MCU资讯论坛
»
论坛
›
单片机论坛
›
单片机应用于方案
›
基于FPGA的VRLA蓄电池测试系统设计
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版
基于FPGA的VRLA蓄电池测试系统设计
[复制链接]
1279
0
ad***
管理员
发表在
FPGA/PLD
2013-6-7 20:34:41
|
查看全部
|
阅读模式
本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要
登录
才可以下载或查看,没有帐号?
注册会员
x
采用
FPGA
现场可编程器件实现VRLA蓄电池测试系统的复杂数据采集电路、USB数据通信接口、寄存器电路、越限报警电路等关键模块的设计,其中数据采集电路模块用差动式模拟开关电路替代双刀式继电器模拟开关。
整体架构利用了FPGA编程灵活、加密性好、设计制造成本低等优点,其固件开发的数据采集电路比常规采集卡稳定性更高,系统运行性能良好。
1、 引言
阀控式铅酸蓄电池(VRLA)在实际使用中会出现电池壳变形、电解液渗漏、容量不足、电池端电压不均匀等现象,实践证明,整组电池的容量是以状况最差的那块电池的容量值为准,而不是以平均值或额定值(初始值)为准,当电池的实际容量下降到其本身额定容量的90% 以下时,电池便进入衰退期,当电池容量下降到原来的80%以下时,电池便进入急剧的衰退状况,衰退期很短,此时电池组已存在极大的事故隐患,所以对VRLA蓄电池的定时检测和在线监测是非常重要和必须的。
2、 硬件电路设计
VRLA蓄电池在线监测系统主要功能是对直流电源VRLA蓄电池组中每一个VRLA蓄电池的端电压进行巡检,其工作方式分为实时监测和定时监测两类,定时监测的时间间隔由用户根据实际需要设定,用户可随时切换实时与定时监测两种工作模式,通过监视器显示电压、温度、内阻曲线实现对单个及整体VRLA蓄电池的监控操作。可完成图表打印,图形保存,曲线显示,历史数据回放多种管理功能,并缺省设置越限报警电压及温度范围限,如有异常情况立即发出报警信号。
2.1 测试系统硬件结构
本例FPGA开发系统采用Xilinx FPGA控制模块Spartan-II(XC2S200)、差动式多路模拟开关(包括模拟开关CD4051及光耦合器TLP181)、A/D转换AD0809芯片、Philips公司PDIUSBD12通用串行接口芯片、Winbond公司W29C020C并口Flash存储器及SRAM W24257、2×4键盘阵列、越限报警器件等构成。理想的VRLA蓄电池测试系统,通过实时监测VRLA蓄电池组内单节VRLA蓄电池的电压,内阻和温度能够有效的识别单节VRLA蓄电池的性能差异和安全临界点,有效控制单节VRLA蓄电池的过充,过放和热失控,实现均衡放电和均衡充电的理想功能;同时准确计算出单个VRLA蓄电池电量,根据充放电曲线,建立最佳充放电方法,并与控制器智能化配合,确定VRLA蓄电池负载特性参数选择,延长VRLA蓄电池使用寿命。
图1 整机系统框图
2.2 差动式多路模拟开关设计
数据采集电路设计采用差动式多路模拟开关可以避免常规双刀式继电器模拟开关对大型VRLA蓄电池组测量时需要的继电器太多,仪器的体积过大,功耗、成本及故障率高等众多缺点,如图示差动式模拟开关工作电源由所测VRLA蓄电池组提供,并采用光耦合器隔离采样开关与低压系统,以解决VRLA蓄电池组的电池数目多,电压高,难以测量等问题。
差动式模拟开关工作过程为:FPGA控制器通过控制端CA,CB来同时控制U1,U2八选一模拟开关,如果控制端同时选中输入端B1,则模拟开关U1输出端OUT1输出VRLA蓄电池B1的正端电压,而模拟开关U2的输出端OUT2输出则是B1的负端电压,如果将OUT2接到测量系统的地电平,OUT1接到测量系统信号输入端,则便可测得VRLA蓄电池B1的各项数据值。同理,只要控制CA,CB就可完成对B1~B4各个单体电池数据的量测,继而得出整组电池的各项参数数据。
图2 差动式模拟开关电路原理图
3、 软件设计
系统软件采用模块化设计,底层固件程序由VHDL语言编程的若干子程序块组成,包括主 控制程序,数据采集子程序,超限判断及报警子程序,USB端点通信子程序,中断处理子程序;上位机应用程序在Visual Basic环境下开发,可完成图表打印,图形保存,曲线显示,历史数据回放等管理功能。
3.1 主控制程序
用于完成FPGA及外部模块的上电自检和初始化,初始化flash存储器,SRAM工作区,A/D转换器及差动模拟采样通道设置、USB端口及周边接口的上电复位。初始化将对初始状态给予设定,包括定时器、中断器的开放等。其中外部中断用于响应键盘信号及USB口中断响应与上位机通信等操作。
3.2 USB控制端点中断服务程序流程图
USB控制端点中断服务程序功能是在USB通信口发出中断响应后把当前选定的单节蓄电池的电压、温度等数据存入相应数据区,为系统显示、报警、通信等功能提供原始数据,之后根据用户设置的蓄电池组数、每组蓄电池节数及设定电压、温度值,将原始数据作相应修正即可在上位机应用程序处显示每组蓄电池的单节电池电压及整体蓄电池的电压、温度、内阻曲线。
图3 USB控制端点中断服务程序流程图
3.3 USB控制端点通信建立初始化程序
参考Philips公司PDIUSBD12数据手册,PDIUSBD12的命令字分为三种:初始化命令字、数据流命令字和通用命令字,FPGA先给PDIUSBD12的命令地址发命令,根据不同命令的要求再发送或读出不同的数据。因此,可以将每种命令做成函数,用函数实现各个命令,以后直接调用相关函数即可。FPGA内部USB控制端点与PDIUSBD12通信初始化程序清单:
constant D12_CONNECT_DATA: REG8x8:= //配置命令和数据
( D12_COMMAND_SET_DMA, //设置DMA命令
D12_DMA, //发送命令数据
D12_COMMAND_SET_MODE, //发送设置模式命令
D12_MODE_CONFIG, //发送模式设置
D12_MODE_CLOCK_DIV, //发送分频率模式
others => X"00" );
constant D12_CONNECT_DATA_TYPE: REG8x1:= //命令、数据执行顺序
( D12_COMMAND,
D12_DATA, //发送数据
D12_COMMAND,
D12_DATA, //发送数据
others => '0' );
constant D12_CONNECT_DATA_LENGTH: INTEGER8 := 5; //配置参数总长度
constant D12_EP0_ACK_DATA: REG8x8:= //配置0断点命令
( D12_COMMAND_SEL_EP0_OUT, //发送0断点选择
D12_COMMAND_ACK_SETUP, //确认建立
D12_COMMAND_CLEAR_EP_BUFFER, //清寄存器
D12_COMMAND_SEL_EP0_IN, //接收0断点选择
D12_COMMAND_ACK_SETUP, //确认建立
others => X"00" );
constant D12_EP0_ACK_DATA_LENGTH: INTEGER8 := 5; //配置0断点总长度
constant ep0_ack_data: REG8x8 := D12_EP0_ACK_DATA; //发送0断点数据
4、 结语
基于FPGA的VRLA蓄电池测试系统充分利用固件编程调试灵活,开发成本低,片上资源丰富等优势,能方便的实现多组输入模拟量的扩展。可实现对单体电压0~15V、整组电压0~500V,电压测量精度:±0.5%;温度测量范围:-20℃~+80℃;内阻测试范围:0~99mΩ等高精度的参数测量。
参考文献:
[1]. 刘韬、楼兴华 FPGA数字电子系统设计与开发实例导航[M] 人民邮电出版社 2005.6,210-230
[2]. 周志敏、周纪海 阀控式密封铅酸蓄电池实用技术[M] 中国电力出版社 2004.10,97-109
[3]. 万利峰 基于PDIUSBD12的USB数据采集系统的设计[J] 微计算机信息 2006.5-1,110-112
[4]. 周胜海 集成多路模拟开关的应用技巧[J] 电子技术应用 2005.7,79-80
[5]. PDIUSBD12 USB Interface Device datasheet Ver.08 Philips Co., 2001
举报
回复
返回列表
*
滑块验证:
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册会员
本版积分规则
发表回复
回帖后跳转到最后一页
回复
转播
评分
分享
打开支付宝扫一扫,最高立得1212元红包
搜索
本版
帖子
用户
热搜:
传感器
51串口程序
电子管放大器
夾式電表
夾式電流
Mentor论坛
打印机
版块推荐
百宝箱
My 布拉格
无边框Z9
Z9Max
Z9mini
nubia动态
问题 & 建议
资源分享
爱拍
同城会
牛仔生活
查看论坛所有版块>>
每日签到
论坛任务
摄影技巧
跳蚤市场
互助问答
论坛导读
申请内测
红包中心
每日摇一摇
活动中心
网站地图
官方旗舰店
图文热点
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
产品品牌:永嘉微电/VINKA 产品型号:VKL44A 封装形式:TSSOP48 概述 VKL144是
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
产品品牌:永嘉微电/VINKA 产品型号:VKL128 封装形式:SSOP44 概述 VKL128是一
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
产品品牌:永嘉微电/VINKA 产品型号:VK2C23A/B 封装形式:LQFP64/48 概述 VK2C
高抗干扰液晶驱动/点阵式液晶显示IC/VK2C21
产品品牌:永嘉微电/VINKA 产品型号:VK2C21D 封装形式:SOP16 概述 VK2C21D是
I2C通信接口段码液晶驱动芯片VK2C21C SOP20
产品品牌:永嘉微电/VINKA 产品型号:VK2C21C 封装形式:SOP20 概述 VK2C21C是
更多
精华推荐
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
高抗干扰液晶驱动/点阵式液晶显示IC/VK2C21
I2C通信接口段码液晶驱动芯片VK2C21C SOP20
VK2C21B SOP24高抗干扰LCD液晶段码驱动芯片
低成本、高性能、带EEPROM了解一下
工控仪表/水电气表LCD驱动/抗干扰液晶段码
更多
社区学堂
VKL144A TSSOP48 点阵式液晶驱动芯片/
高抗干扰液晶显示驱动/省电液晶驱动IC/
VKL144A TSSOP48 点阵式液晶驱动芯片/低功
产品品牌:永嘉微电/VINKA 产品型号:VKL44A 封装形式:TSSOP48 概述 VKL144是
高抗干扰液晶显示驱动/省电液晶驱动IC/LCD
产品品牌:永嘉微电/VINKA 产品型号:VKL128 封装形式:SSOP44 概述 VKL128是一
VK2C23A/B LQFP64/48LCD驱动控制器/高抗干
产品品牌:永嘉微电/VINKA 产品型号:VK2C23A/B 封装形式:LQFP64/48 概述 VK2C
更多
客服中心
QQ:187196467
服务时间:周一至周日 8:30-20:30
在线客服
客服微博
产品咨询
售后中心
关注我们
关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
QQ:187196467
周一到周日 8:30-22:00 (全年无休)
7 x 24小时在线客服
手机版
Powered by
MCUZX!
X3.4 © 2008-2015
MCU资讯论坛
版权所有
京ICP备18035221号-2
客服QQ: 187196467
技术支持:
MCU资讯论坛
|
网站地图
快速回复
返回顶部
返回列表