历史上的今天
返回首页

历史上的今天

今天是:2025年02月09日(星期日)

正在发生

2018年02月09日 | 单片机及外围串行设备组成的多回路微控制器的设计方案

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?imageView2/2/w/550

    主控模块以低功耗、高性能的单片机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?imageView2/2/w/550

    后台任务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)


推荐阅读

史海拾趣

HELUKABEL公司的发展小趣事

HELUKABEL(和柔)公司在电子行业中以其卓越的电缆产品和解决方案而闻名,其发展历程中充满了多个值得一提的故事。以下是五个关于HELUKABEL在电子行业中发展起来的相关故事:

1. 从德国起源到全球扩张

HELUKABEL成立于1969年(也有资料提及为1978年),最初便专注于高品质电缆的生产。公司总部位于德国,凭借其卓越的产品质量和客户服务,迅速在欧洲市场站稳脚跟。随着全球化进程的加速,HELUKABEL开始实施国际化战略,逐步在全球37个国家建立了60多个子公司,形成了覆盖全球的销售和服务网络。这一过程中,HELUKABEL不仅将德国的技术和质量标准带到了世界各地,还根据当地市场需求进行产品调整和优化,实现了本土化经营。

2. 工业4.0时代的机器人电缆解决方案

随着工业4.0和智能制造的兴起,机器人成为制造业不可或缺的一部分。然而,机器人作业环境的复杂性和多轴运动对电缆提出了极高的要求。HELUKABEL凭借其深厚的电缆技术积累,研发出了适用于各种工业机器人的管线包技术。这些管线包不仅安装简便、空间占用小,还能确保机器人在高速、高负荷运行下的稳定性和可靠性。Robotec作为HELUKABEL旗下的子公司,更是专注于机器人电缆和组件的研发与生产,为全球机器人制造商提供了优质的解决方案。

3. 汽车轻量化进程中的电缆应用

汽车轻量化是近年来汽车行业的重要趋势之一,旨在提高燃油效率、降低排放。HELUKABEL凭借其丰富的电缆产品线和技术实力,积极参与到了这一进程中。公司提供的轻量化电缆不仅具有优异的电气性能和机械强度,还能有效减轻汽车整体重量。例如,在力劲集团的汽车轻量化生产车间中,HELUKABEL的电缆产品被广泛应用于控制柜和测量系统中,为汽车轻量化生产提供了坚实的电气连接保障。

4. 供应链优化与本土化战略

面对全球供应链的不确定性和挑战,HELUKABEL积极实施本土化战略以应对市场变化。公司在中国等关键市场建立了生产基地和供应链体系,实现了从原材料采购到成品生产的本地化。这一战略不仅缩短了产品交付周期、降低了物流成本,还提高了供应链的灵活性和抗风险能力。特别是在疫情期间,HELUKABEL通过本土化供应链体系确保了产品的稳定供应,赢得了客户的信赖和好评。

5. 技术创新与产品多样化

HELUKABEL始终将技术创新作为企业发展的核心驱动力。公司不断投入研发资源,推出了一系列具有自主知识产权的新产品和新技术。这些产品涵盖了低压至中压范围内的各类连接和控制用电器设备所需的电缆和线缆产品。同时,HELUKABEL还积极代理欧洲、美国等地区的知名品牌产品,为客户提供更加多样化的选择。通过技术创新和产品多样化战略的实施,HELUKABEL在电子行业中保持了领先地位并持续拓展市场份额。

Dau Semiconductor Inc公司的发展小趣事

随着技术的不断成熟和产品的不断升级,Dau Semiconductor Inc公司开始积极拓展市场。公司通过与全球知名的电子产品制造商建立合作关系,将自己的产品广泛应用于智能手机、平板电脑、可穿戴设备等领域。同时,公司还加大了品牌宣传力度,通过参加国际电子展会、举办技术研讨会等方式,提升了品牌的知名度和影响力。

友盟(AP)公司的发展小趣事

在市场拓展方面,友盟(AP)公司也展现出了强大的实力。公司通过线上线下相结合的方式,积极开展市场推广活动,扩大品牌知名度和影响力。同时,友盟还积极参与行业交流和合作,与业界同行共同探讨行业发展趋势和未来发展方向。这些努力不仅提升了友盟在行业内的地位,也为其未来的发展奠定了坚实的基础。

GE Oil & Gas Digital Solutions公司的发展小趣事
根据前述方法提高电路精度,同时检查测量环境是否稳定(如温度、湿度等)以避免外部因素干扰测量结果。
Fastron公司的发展小趣事

在电感器领域取得成功后,Fastron并没有止步不前。相反,公司积极拓展业务领域,实现了多元化发展。除了电感器业务外,Fastron还成功运营了大型钣金生产业务,专门生产精密金属外壳和机电组件。此外,Fastron集团还拥有位于德国的Rapid Biomedical公司,为MRI扫描仪定制MR线圈,进一步拓宽了公司的业务范围。

长江连接器(CJT)公司的发展小趣事

作为一家有社会责任感的企业,长江连接器积极履行社会责任和推动可持续发展。公司注重环保和节能减排,采用环保材料和绿色生产工艺,减少生产过程中的能源消耗和废弃物排放。同时,长江连接器还积极参与社会公益活动,为社会做出积极贡献。这些举措不仅体现了公司的社会责任感,也为其赢得了更多客户和合作伙伴的信任和支持。

问答坊 | AI 解惑

完整的秒表设计

与人分享,享受快乐!…

查看全部问答>

驱动 起 应用层EXE

各位高手,帮帮忙,急死了,本人刚接触驱动,调试了一星期,都无法成功,在硬编码的时候,可以成功启动,但是改成动态获取的时候,无论如何都启动不起来,有哪位大侠帮忙调试的加我QQ 454419771 在此感谢各位了,心急如焚啊!!!! __declspec(na ...…

查看全部问答>

lcd控制器+tv编码器如何调整分辨率和颜色深度

有一个开发板是s3c2440平台加上ch7026做TV编码器输出,800x600下输出稳定.现在我想降低分辨率却无法正常显示.请教: 1.我尝试修改了lcd控制器的寄存器值不成功,如有高手用过类似方案,给点提示 2.修改lcd分辨率是不是改那几个寄存器值就行了? 3.因 ...…

查看全部问答>

wince5.0 asp sqlce activeX 问题

想用wince做web服务器 在asp网页上需要动态显示数据,数据存储在SQLCE3.0数据库中 怎么样才能连接到数据库? 如果需要开发ActiveX,然后通过ActiveX连接数据库 那么用什么开发ActiveX呢?ActiveX中又是如何连接数据库呢? …

查看全部问答>

投影仪接口

请问在投影仪的接口上,每根针脚的作用是什么?比如说:哪几根针脚是控制画面的颜色?是不是就是用三根线来分别控制RGB()的三个参数的大小?如果是的话那是哪几根?请高人指点。现在我想做个改变投影仪颜色的东西。…

查看全部问答>

指点迷津:电子信息专业想往硬件硬件方面发展应该学什么?

我是电子信息专业的学生,想读研。个人比较喜欢硬件方面的东西,比较讨厌编程,虽然硬件也要有编程,但是不想以后出去当程序员天天对着电脑写代码,谁能告诉我在硬件方面应该学什么(比如:做硬件从什么入手?是不是要学单片机?做硬件的话需要什么 ...…

查看全部问答>

初学者的简单问题

初学51单片机C编程,经常看到51中有 sbit XX = P1^0; 这样的用法,我也知道这表示P1_0. 问题我想不明白,为什么 P1异或0 就得到P1_0了?先谢谢各位前辈指点了..…

查看全部问答>

vxWorks组播信息接收不到

wince 组播信息接收不到…

查看全部问答>

关于Clock Gating 的典型问题

在我的设计里,内部主要工作时钟是在复位撤销之后才给出的。我原来的设计期望,在复位撤销的时候,所有的触发器都被异步复位到确定的状态。但是加入了ClockGating之后,出现了一个问题:因为ClockGating的加入,导致了复位撤销的时候,时钟是不定态 ...…

查看全部问答>