单片机及外围串行设备组成的多回路微控制器的设计方案

发布者:幸福家庭最新更新时间:2018-02-09 来源: eefocus关键字:单片机  外围串行设备  多回路 手机看文章 扫描二维码
随时随地手机看文章

    1前 言

    化成充放电是蓄电池生产工艺中的关键过程之一,其控制水平直接关系到产品的质量。该工艺要求化成充电机能够按时间、电压或安时数等条件对蓄电池进行多次的充放电,具有静电、恒流充电、恒压(限流)充电、恒流放电等多种充放电模式,并要求达到控制精度≤1%,检测精度≤0.5%,限流限压保护精度≤2%。常规生产方式下主要采用人工手动操作,控制精度低、劳动强度大、人为因素对产品的质量影响很大,因此引入微机程控装置对于改善操作过程、提高产品质量意义重大。[1]


    随着新型单片机内置大容量的FlashROM、各种串行ADC、DAC以及高密度串行E2PROM等技术的发展,开发高性能、低成本、紧凑型蓄电池充放电控制器成为可能。根据小容量多回路充电机设备的需要,本文提出了一套由嵌入式单片机及其外围串行设备组成的多回路微控制器的设计方案,可以同时控制4台化成充电机的运行,实现自动静电、恒流充放电、恒压限流充电等控制功能;采用汉字LCD显示,可通过键盘设定控制程序参数,具有多阶段可自动按时间和条件(电压、电流或安时)控制的功能;断电后可自动记忆状态,恢复运行后自动继续原过程;自动监测断流、过流、过压等故障并告警;此外,通过RS485串行通信和上位机联网可构成两级集中监控分散型系统。[2-4]

    2控制器的硬件设计

    多回路化成充放电控制器的硬件主要由主控模块和过程处理模块两大部分组成。按设计要求,主控模块应具有下列功能:(1)良好的人机交互界面,包括键盘和显示器;(2)存储工艺控制参数;(3)掉电保存运行状态及数据;(4)高可靠性和抗干扰性;(5)与上位机联网构成两级集中监控或打印记录系统。过程处理模块完成4路化成充电机的输入/输出信号的调理、隔离与转换。包括系统给定控制量的输出、电流及电压采样值的输入,以及开关量的输出。根据上述功能要求,设计控制器的硬件结构如图1所示。

    360截图20120511140832875.jpg

    主控模块以低功耗、高性能的单片机AT89C55为主控CPU,其内部闪存容量达到20KB,内部RAM256字节,可满足较复杂的控制程序、LCD显示汉字库及通信程序的需要,而无需扩展外部程序存储器和数据存储器。主控模块的面板上提供了2×7的薄膜键盘和192×64的点阵式液晶显示器,使现场操作画面非常友好。

    采用大容量的24LCXX系列的串行E2PROM来保存大量的设定工艺控制参数及掉电状态数据。24LCXX与单片机的接口采用两线式串行总线,简单可靠。单片机作为主设备,24LCXX作为从设备,主设备对从设备进行读、写数据操作。

    过程设备接口均采用串行芯片,接口简单,与单片机间的信号线最多为四根,使得连线数目大大减少,且这些信号线均经光耦隔离后接到单片机,提高了系统的可靠性。

    另外,考虑到控制系统的特点,属于多点通信方式,且距离较长,数据要求双向传输,因此采用连接方便、抗干扰性能好、失真小且成低本的RS-485标准接口,实现和上位机之间的数据通信。

    该微控制器的硬件设计充分体现了嵌入式系统结构紧凑,外设简单,体积小,携带方便的特点,成本亦大大降低。

    3数据的存储管理

    在控制4台充电机工作的过程中,需要保存大量的非易失的数据,如工艺控制参数和运行控制数据。在串行E2PROM中保存了预置的8组型号的参数,每组包含12个阶段的工艺控制参数。控制充电机运行的过程中,系统定时将各回路充电机的工作参数值保存到E2PROM中。当系统突然掉电后能自动记忆状态,恢复运行后自动继续原过程。

    但考虑到掉电发生的随机性,为保证数据的正确性与完整性,设置了特定标志,保证写入数据的完整性。即每次对24LCXX操作前,首先判断此标志,若为FFH,表明基本数据区数据完整,将其内容写入后备数据区;若为00H,表明上一次对基本数据区的操作被打断,数据不完整,则将后备数据区的内容写入基本数据去,恢复掉电前的数据状态。在对数据操作完成之后,再将标志置为FFH,表明对数据的一次完整操作。采用这种给数据操作加锁的方法,有效地确保了系统的稳定运行。

    4控制器的软件设计

    4.1实时多任务结构及任务的划分

    控制器软件采用实时多任务结构,分为启动管理任务和运行任务两大部分。启动管理任务包括上电命令处理(辅助自检、清除记忆数据等)、系统初始化和工艺控制参数等修改设置,同时串行通信中断任务作为后台任务,接收上位机命令并向上位机发送状态信息;运行任务在执行启动充电机命令后激活,包括主控调度程序(前台任务)、系统定时器中断、串行通信中断任务等,按不同优先级调度运行(前台任务被后台任务打断)。图2为系统任务及调度示意图。

    后台任务1由系统定时器T0每100ms产生一次中断,形成基本时钟源,为控制和通信任务提供各类软件计数器。主控调度程序根据定时器计数状态调度各个任务,控制4路充电机的运行。这些任务包括:每隔1秒扫描一次键盘,根据键盘输入的命令激活相应任务,如启动或终止过程、显示设置参数等;每隔1秒进行例行数据采集与处理,分别采集4路充电机的电压、电流量,并对转换的结果作相应的处理;每隔1秒循环显示4路充电机的实时工作状态参数,包括当前工作阶段、工作方式、运行时间、电压电流值、安时数等;每隔2秒分别计算4路充电机的安时数;每隔3秒进行闭环反馈控制PI调节;每隔1分钟分别累计4路充电机的安时数,同时备份相关的数据到E2PROM中。运行过程中定时检查电流、电压信号,如遇异常、断流、过流、过压等故障则及时显示故障类型和对应的充电机号。

   360截图20120511140844781.jpg

    后台任务2为串行通信中断任务。由于采用主从式异步串行通信,通信中断任务的优先级比定时器中断的优先级高。通信中断包括接收中断和发送中断两种情况,并需根据需要进行切换控制和处理。平时处于接收中断允许状态,当收到上位机轮询报文时即组织发送报文,将报文帧送到发报缓冲区,启动发送中断和发送计数器,在以后的发送中断任务中按计数器发送一个字节直到发完该帧即禁止发送中断。如收到上位机数据/命令报文头则清理收报缓冲区,等待下次接收中断字节。

    4.2模块化的软件设计

    本控制器的软件设计采用模块化结构,使程序明晰简洁。同时各模块间相对独立,可以单独调试,程序扩充时,不要更改原有的结构,只需修改相应的模块。根据图2中系统任务的划分,程序模块主要由主控程序及定时器中断程序模块、通信程序模块、显示及键盘处理模块、输入输出及控制量计算模块构成。各模块之间的联系是采用单片机的逻辑处理功能,设置标志位,通过查询标志位的操作进行控制和调用。

    由于篇幅的原因,就不详细介绍各模块工作的流程。

    5通信系统的设计

    本文的应用对象是蓄电池工厂的极板或密闭电池充放电控制装置,为了降低成本,便于管理并提高系统可靠性,控制系统设计可以采用小型的分散型控制系统,即两层结构:分散的多回路控制器配一个操作站(俗称上位机和下位机)。通过低成本、高可靠的RS-485实时通信网络,将数十台多回路控制器与PC机相连,实现对生产过程的集中监控操作。上位机和下位机之间的通信包括数据下载、数据上装、命令下发等。通信系统设计如下:

    (1)系统物理层协议采用RS-485标准,为了在允许范围内尽量提高通信速率,波特率选择了非标准的3125bps。当上位机采用软件轮询方式与20个现场控制器逐个通信,通过适当的软件设计,可基本满足充放电过程操作的实时性要求。

    (2)据链路层协议参考HDLC,采用短帧定长传送,每帧有效字节为7个。应用层要求实现即时数据上装、历史数据上装、控制参数数据下载和命令下发等功能。

    (3)本系统采用主站轮询的主从方式,由主站发起通信,没有网络冲突;由主站选择它要求通信的次站,各次站可以有不同的优先级。相对于总线式控制网络,这种方式易于理解和实现。

    6结束语

    实验和现场实际运行表明,该多回路化成充放电控制器具有较好的人机对话窗口,结构简单,操作简便,参数设置灵活,有较强的适应性。系统软硬件设备工作正常,功能齐全,稳定可靠,具有完善的系统自诊断、故障定位功能。而且具有成本低、体积小(80×160×100)的特点。

    参考文献

    [1]贾英江,贾向英,浅议蓄电池充电,1998,(4):22-24.

    [2]何立民,MCS-51系列单片机应用系统设计,北京航空航天大学出版社,1990.

    [3]李维諟,郭强,液晶显示应用手册,电子工业出版社,2002.

    [4]冉全,章涤峰,单片机系统中的多任务多线程机制的实现,单片机与嵌入式系统应用,2003,(6)


关键字:单片机  外围串行设备  多回路 引用地址:单片机及外围串行设备组成的多回路微控制器的设计方案

上一篇:ARM程序跳转到中断服务例程的功能实现
下一篇:在线仿真器在嵌入式系统设计中的应用

推荐阅读最新更新时间:2024-03-16 15:54

一种基于单片机的节能断电保护电路设计
电能为人类带来了经济效益,且方便环保,但应节约用电,注意安全,防止火灾发生。节能是降低成本,提高经济效益的重大课题,用电注意安全,防止火灾是我们时刻需要注意的问题。根据一些引起火灾的社会现象,设计了一种基于单片机的节能断电保护电路。 1 硬件结构设计 硬件电路如图1所示。S1为手动电源开关;S2按下闭合,放手断开;按下S2,单片机启动运行,经过2 s左右,KM闭合,交流220 V可为电器设备持续供电,供电5 min后,单片机根据传感器检测到的信息控制电源的供电;当某一路传感器检测到信息使P1.1为高电平时,P1.0输出5 V高电平至U4的3脚,而U4的2脚只有1.5 V,这样U4的1脚输出高电平使VT1导通,VT2导通,使
[单片机]
一种基于<font color='red'>单片机</font>的节能断电保护电路设计
单片机TwinCAN调试心得
1、 帧类型 (1) 数据帧:数据帧将数据从发送器传输到接收器 (2) 远程帧:总线单元发出远程帧,请求发送具有同一标识符的数据帧。/ MSGDRn4。 (3) 错误帧:任何单元检测到总线错误就发出错误帧 (4) 过载帧:过载帧用于在先行和后续数据帧(或远程帧)之间提供一附加的延时。 数据帧和远程帧即可使用标准帧,也可使用扩展帧。 2、 帧格式介绍 1 数据帧 数据帧由7个不同的位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束。 2 远程帧 远程帧由6个不同的位场组成,即帧起始、仲裁场、控制场、CRC场、应答场、帧结束。 3 错误帧 错误帧由两个不同的场组成。第一个场是错误标志,用做为不
[单片机]
8051单片机(STC89C52)之改变蜂鸣器发声频率
由于定时器0的中断处理程序为50ms触发一次, 故改变tcount归零时的临界值即可改变蜂鸣器发声的频率. 当tcount = 40 进行电平翻转时, 发出的声音类似于公交车转向灯开启时的效果声音. 当tcount = 10 进行电平翻转时, 发出的声音类似于倒计时秒表的哒哒声. 当tcount = 5 进行电平翻转时, 发出的声音比tcount = 10进行翻转时更加急促. #include STC89C5xRC.H int tcount = 0; sbit beep = P1 ^ 5;// P1 xor 0000 0101 void TO_EXT() interrupt 1//50ms触发一次 {
[单片机]
利用单片机的端口地址实现对液晶显示器的控制
在许多使用单片机控制的场合,为改善人机界面,经常要使用液晶显示器显示控制机构的工作状态及各种参数信息以供操作人员作出决策,由于液晶显示器是一个低速器件,加上它对接口的要求比较特殊,使得单片机对它的控制变得较为烦琐,从而占用了许多机器时间。在我们研制的数字录音机中使用了一块16×2的字符型液晶显示器,由于单片机不断地更新液晶显示器上的显示信息,同时又要处理语音数据,所以节约机器时间显得尤为重要,为此我们采用以端口地址来区分命令的方法,成倍地节约了单片机对液晶操作的时间。 1.硬件接口原理 在笔者所设计的系统中使用的16×2字符型液晶显示器为南京国显电子公司生产,它与8031单片机的典型连接电路如图1所示,模块引脚功能如表1所
[单片机]
利用<font color='red'>单片机</font>的端口地址实现对液晶显示器的控制
单片机在GPS和CDMA计时系统中的设计
在可靠性、扩展性、控制功能以及体积、功耗等方面比其他电子产品具有优越性。在天文、地震台、航空航天等对时间精度较高的场合,以及国防、通信、电力、交通等要求高精度时间同步的领域,得到广泛应用。 1 系统硬件设计方案 1.1 系统总体设计 基于MSP430单片机的GPS和CDMA双接收计时系统,是传统钟表计时技术与现代时频、微电子、通讯、计算机等多项技术的结合,通过接收不同形式的时间码,经内置微处理器解码处理,自动校准计时器走时,使该系统显示时间与标准时间自动保持精确同步。除保留传统机械时钟计时特点外,还增加了LCD数字显示,双显示方式。接收GPS、CDMA信号,实现双系统联合精确定时,在接收到精确的时码后,经数据处理器处理,即可
[单片机]
<font color='red'>单片机</font>在GPS和CDMA计时系统中的设计
基于Atmegal6L单片机的智能小车的设计与制作
O 引言 自工业革命以来,随着电气的发展,人类进入了文明的新阶段。机器人已经广泛用于工业、农业、服务业、军事、机械、交通、航天航空等领域。智能机器人水平的不断提高,大大提高了劳动效率,减轻了劳动强度。机器人与人类并肩作战,在征服自然,改造自然地过程中发挥着重要作用。 智能小车是集理论力学、机械结构、数字电路、模拟电路、传感器、单片机、控制理论和算法等多门学科为一体的综合系统,其内容涵盖机械、电子、自动控制原理、计算机、传感技术等多个学科和领域。 本文设计的基于ATmagel6L的智能小车就是要求其从起跑线出发,然后通过自身自动调整向角和车速,使其自动沿着一条黑色引导线行驶。 1 智能小车的硬件设计方案 本
[单片机]
MSP430F149单片机智能火灾报警系统设计
以单片机MSP430F149 为主控芯片,设计出一款高精度、高集成度、超低功耗的智能火灾报警系统。以环境温度、烟雾浓度作为判断火灾的依据,完成了对火灾的预警。主要由单片机控制模块、时钟模块、烟雾浓度测量模块、DS18B20 温度测量模块、声光报警模块、1602液晶显示模块和电源构成。并且该系统以MSP430F149 为下位机,完成数据采集、预处理以及对现场装置的控制,以 PC 机为上位机,完成各种复杂的数据处理和对单片机的控制。设计的智能火灾报警系统具有较高的可靠性、稳定性、准确度高,对不同类型的火灾都具有较高的灵敏度,达到了降低误报率的目的。 温度测量模块:设计中采用支持“一线总线”接口、抗干扰性强、外部电路简单、精确度高的
[单片机]
MSP430F149<font color='red'>单片机</font>智能火灾报警系统设计
详解STM32单片机堆栈
学习STM32单片机的时候,总是能遇到“堆栈”这个概念。分享本文,希望对你理解堆栈有帮助。 对于了解一点汇编编程的人,就可以知道,堆栈是内存中一段连续的存储区域,用来保存一些临时数据。堆栈操作由PUSH、POP两条指令来完成。而程序内存可以分为几个区: 栈区(stack) 堆区(Heap) 全局区(static) 文字常亮区程序代码区 程序编译之后,全局变量,静态变量已经分配好内存空间,在函数运行时,程序需要为局部变量分配栈空间,当中断来时,也需要将函数指针入栈,保护现场,以便于中断处理完之后再回到之前执行的函数。 栈是从高到低分配,堆是从低到高分配。 普通单片机与STM32单片机中堆栈的区别 普通单片机启动时,不需要用b
[单片机]
详解STM32<font color='red'>单片机</font>堆栈
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved