基于C8051F单片机安培小时计的设计

时间:2022-07-25 12:15:42

基于C8051F单片机安培小时计的设计

摘要:提出了一种基于C8051F单片机的安培小时计的设计方案, 以满足电镀行业的生产工艺中对镀层厚度控制的需要。仪表采用OP07放大电路来放大电流信号,支持75mV分流器类型的电流传感器信号输入,系统采用数字校准技术,具有优于0.1%的电流采样精度。支持电镀过程中添加剂的自动添加,支持镀层厚度控制。该仪表使用编码器代替传统的按键输入,方便用户操作,延长仪表的使用寿命。

关键词:安培小时计;电流检测;单片机C8051F

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)33-7596-03

安培小时计用于直流电量计量,计量单位为安培小时。在电镀行业中,通过计量镀槽中流过的电量就可以间接计算出镀层的电镀金属质量,从而间接计算出镀层厚度,安培小时计的基本功能就是对镀层厚度进行控制,同时具有到时报警切断电路的功能。电镀行业的工作电流虽然是直流电流,但电流的大小却在不同的工作时间区域内变化,因此不能简单地由通电的时间和电流的乘积获得累积安培小时值,要想计量或控制安培小时量,就必须使用安培小时计。由于行业特点,安时计的使用环境比较恶劣,故对安培小时计的设计有较严格的要求,尤其在抗干扰能力、可靠性及安全性等方面要求更高。

1 总体设计方案

安培小时计的工作原理:首先由电流检测电路得到与工作电流成正比的电压量,对此电压量进行线性放大,送给单片机的AD转换模块,单片机通过运算,将当前的累积安培值实时显示在显示模块;系统采用数字校准方案,所有校准和设定操作全部由软件配合面板操作完成,不需要开壳,整机具有优于0.1%的电流采样精度。提供多种电荷量累计功能,支持电镀过程中添加剂的自动添加控制和镀层厚度控制。系统工作原理如下图所示:

系统由电流检测电路、单片机、人机接口、输出驱动及电源几个部分组成,系统设计非常简洁。单片机选用C8051F41x单片机,它使用Silicon Labs的专利CIP-51微控制器核。CIP-51与MCS-51TM指令集完全兼容,可以使用标准803x/805x的汇编器和编译器进行软件开发。C8051F41x系列器件的外设是标准8052的所有外设的超集。CIP-51采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。最大系统时钟频率为12-24MHz。而对于CIP-51核,70%的指令的执行时间为1或2个系统时钟周期,没有执行时间大于8个系统时钟周期的指令。具有片内上电复位、VDD监视器、看门狗定时器、两个12位的电流模式数/模转换器(IDAC)。

仪表操作界面的设计以简洁、实用为原则,最大程度简化了现场操作员的操作步骤。面板上设置了1个带开关的编码器,电镀操作员可通过旋转编码器来设置参数,顺时针方向为加,逆时针方向为减。面板上的按键包括:“计时器设定”,“计时器清零”,“累积器设定”,“累积器清零”,“计时单位切换”,“累积统计切换”,“手动加药”等。“计时器设定”按键用于设定单次报警值。“计时器清零”按键用于清除单次计时器。“累积器设定”按键用于设定累积报警值。“计时单位”按键用于切换单次计量方式,可切换安培计模式或者计时器两种模式。“累积统计”按键用于切换显示各种统计,包括安分累积、加药统计、通过次数和当前电流等。采用了4组4位共阴数码管作为显示器件。可同时显示两组参数,每组由8位数码管显示,保证了参数的显示精确度。为对添加剂进行定量控制,设计了一只继电器。当阶段电量累计达到设定值后,控制计量泵开启,开启时间由用户根据添加的剂量自行设定。

2 电流检测电路设计

由于分流器采集回来的电流信号非常微弱,只有0~75mV,所以本安培计决定采用OP07放大电路来放大电流信号。OP07是一种低噪声,非斩波稳零的双极性运放大集成电路。适合本系统要求。

3 编码器电路

常见的同类仪表产品中,提供给操作员的往往只有两个按键:加、减。用按键的优点在于开发过程中程序编写简单。但缺点就是按键设置时,客户为了达到一个设定值,往往要按很多次,而且按键经过多次按压后,会出现机械磨损,缩短使用寿命。从客户体验的角度和售后维护的角度来看,本安培计决定使用编码器(带开关)设置参数,代替传统的按键。

编码器电路如图3所示。通过编码器的正反转,实现了参数的加减。并且通过快速转动,可以使参数快速加减。

4 掉电保护设计

在实际生产时,往往会出现外部掉电等情况。此时,如果因为掉电而丢失了运行中的参数。将对整个生产造成很多的影响,尤其是贵金属,给企业带来很大的经济损失。为了保证系统的稳定性,在系统设计中加入了掉电保存数据功能。掉电保存有多种实现办法:

通过定时写EEPROM或者FLASH。

优点:能够稳定的保存掉电的近似值。

缺点:无论EEPROM还是FLASH的擦写次数都是有限的,缩短了产品的寿命。

通过ADC读取外部电压,如果低于一定值,则判断为掉电,写保存数据。

优点:能够准确地反映了当前的电源状态。

缺点:由于ADC的扫描时间过长,所以要配备超大电容。成本上提高了。

通过比较器判断两端电压是否产生变化,如果是则写保存数据。

优点:由于判断快速,用一般的大电容即可准确地保存数据。

缺点:电源波峰有时候会使比较器误判。

本系统结合以上三种方法的优缺点,决定采用了比较器方案来实现掉电保护。

5 软件编写

由于整个程序过长,本设计给出编码器输入程序。通过编码器的正反转,实现了参数的加减。并且通过快速转动,可以使参数快速加减。

void code_speed(void) //编码器速度检测

{ if(io_key_up==1 && Code_Speed_Flag)

{ Code_Speed_Flag=0;

Code_Speed_Counter=0; }

if(io_key_up==0)

{ Code_Speed_Flag=1; } }

void all_codescanf(void) //通用编码器扫描

if(io_key_down==0 && Code_Down_Flag)

{ Code_Down_Flag=0;

T_1s = T_Back; //设置返回

T_05s = 6; //设置闪烁

T_1ms_counter = 0;

Savedata_Flag=1;

if (io_key_up==0) //—顺时针旋转—

{ if (Code_Speed_Counter

{ Code_Temp+=100; }

else if (Code_Speed_Counter

{ Code_Temp+=10; }

else Code_Temp++; //在第1档旋转

if(Code_Temp>Code_Max)

{ Code_Temp=Code_Min; }

} }

单片机可以比作一台单线程的PC机,系统中的主要功能模块放在了while大循环中执行。为提高系统的实时性,软件架构中也加入了时间片的概念,把一些实时性要求不高的放在了1ms执行片段。

6 总结

采用本方法设计的安培小时计达到了设计要求,已经形成产品并应用于工业现场。该文提出的电流检测电路、编码器的使用对于测量类仪器的设计具有一定的借鉴和参考价值。该产品经近一年的使用,用户反映良好,尤其克服了以往同类仪器抗干扰能力差的缺点,很适合电镀行业使用。

参考文献:

[1] 陈亚.新型碱性无氰镀锌工艺[J].电镀与环保,2006,26(1):14-17.

[2] 张邦术. 嵌入式软件设计之思想与方法[M]. 北京:北京航空航天大学出版社,2009:51-54.

[3] 丁元杰.单片微机原理及应用[M].北京:机械工业出版社,2005:132-134.

[4] 成洪飞,等.一种提高A/D 转换分辨率的方法[J].电测与仪表,1998(35).

[5] 张秀国. 基于C8051F的直流电动机控制系统设计[J].现代电子技术, 2013 (9): 33-36.

上一篇:图论在贝叶斯网条件独立性中的应用 下一篇:EDA技术在毕业设计中的应用