基于AVR的铅酸蓄电池管理系统设计
大力神蓄电池吧
全部回复
仅看楼主
level 8
qile8000 楼主
在工业过程或实验室里,经常需要对多种信号进行同时采集及监测,以便实现性能分析、过程控制、系统恢复等目的。目前,常用的数据采集装置,多采用单片机实现,软件多采用单任务顺序机制,这使得系统不仅处理能力有限,而且存在稳定性差的问题。以嵌入式计算机为核心的嵌入式系统由于具有体积小、性能好、功耗低、可靠性高以及面向行业应用的突出特征,成为继?I?T网络技术之后,又一个新的技术发展方向?[1]。
  本文以嵌入式?S3C2410为核心芯片,设计和实现了一种高速、高精度且具有一定处理能力的数据采集处理系统,并将其应用于工业过程水位和温度的实时监测。
  2.?系统总体设计
  本设计采用以?ARM9为核心的?S3C2410作为数据采集与处理的核心,主要包括以下四个模块:信号采集、数据存储、数据显示、数据传输。模拟信号通过放大电路再输入到?S3C2410处理器片内?A/D转换器,经过处理结果以动态波形的形式显示在?LCD上,并用触摸屏控制显示方式。同时通过串口发送给?PC,在?PC上用?VC++编写的程序对数据进行显示、存储等后续处理。系统结构如图?1所示。
  3.?硬件电路设计
  温度和水位的测量用的是变送器。以温度变送器为例,本系统选用的是北京赛亿凌科技有限公司的?STY系列一体化温度变送器,它的测量范围是?0~150℃,它的输出是一个与被测温度成线性关系的?4~20mA的恒流信号。
  为了满足测量要求,在温度变送器的两个输出端之间接一个电阻,使其输出的电流信号转换成电压信号,考虑到?S3C2410内部?A/D转换器的输入范围是?0~3.3v,因此选用?165?Ω的电阻。电路连接图如图?2所示。
  由图?2可知,温度变送器产生的?4~20mA电流信号,经电路转化变成了?0.66~3.3V的电压信号,此电压信号传递给?S3C2410内部的?A/D转换器。采样温度值可以这样计算,设采样得到的电压值为UT,单位为?V,对应温度为?T,单位为℃,则?T的值可由式(1)求得:
  4.?系统软件设计
  软件设计主要是?uC/OS-II移植和任务的编写。uC/OS-II是一个免费的、可裁减、源码开放、结构小巧、抢占式的实时多任务嵌入式内核,主要面向中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能优良和可扩展性强等特点[2]。
  为了方便移植,绝大部分?uC/OS-II的代码是用?ANSI?C语言编写的;但是仍需要用?C语言和汇编语言写一些与处理器硬件相关的代码,这是因为uC/OS-II在读/写处理器寄存器时,只能通过汇编语言来实现。与处理器相关的代码包括?OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C三个文件,所以移植的主要任务就是修改这三个文件。
 
2014年05月15日 04点05分 1
1