APP下载

基于单片机的凸轮控制器软硬件实现

2012-04-13唐中燕

科技视界 2012年26期
关键词:转轴凸轮中断

唐中燕

TANG Zhong-yan

(华北电力大学 河北 保定 071003)

(North China Electric Power University,Baoding Hebei,071003)

基于单片机的凸轮控制器软硬件实现

The Realization of the Cam Controller Base on Micro-computer

唐中燕

TANG Zhong-yan

(华北电力大学 河北 保定 071003)

(North China Electric Power University,Baoding Hebei,071003)

基于单片机的凸轮控制器是通过软硬件结合实现的。根据送入单片机的转轴角位置信号以及事先设置好的凸轮数据参数,控制器即可产生相应凸轮开关状态信号。实现方法方便、灵活。

单片机;凸轮;流程图;汇编语言

0 引言

凸轮主要用于检测机械设备某一个轴的角位置,当到达不同的角位置时发出不同的开关状态信号。例如按照工艺要求,某凸轮的功能为:每周包含 4 个区间(00~600、610~1200、1210~3000、3010~3600), 其中 1、3 区间为 ON 状态,2、4 区间为OFF状态。当改变工艺过程时,需重新制作机械凸轮,十分不方便。利用单片机的记忆功能及软硬件可方便的设计一个凸轮控制器,而构成一个或多个“电子凸轮”。“电子凸轮”的工艺改变十分灵活,满足了需经常改变工艺过程的实际需要。

1 参数设置

为了方便灵活的改变凸轮工艺,可利用单片机存储数据的功能,事先按照工艺要求将凸轮数据参数设置在存储器中,通过改变所存储的数据参数就可改变凸轮工艺。本设计可实现最多8个电子凸轮,若每个电子凸轮最多可以有8个区间。则对应数据参数表如表1~表3所示。

①电子凸轮区间数表:共8个数据,每个数据占1字节,对应一个电子凸轮,表示其区间数。只给出了0#凸轮数据;

②电子凸轮区间设置表:共8组数据,每组数据对应一个电子凸轮,每组数据中有8个数据,每个数据2字节,共占16字节,给出了该电子凸轮的各区间角度。只给出了0#凸轮的数据;

③电子凸轮区间状态表:共8组数据,每组数据占1字节,对应一个电子凸轮,给出了该电子凸轮在各区间要输出的开关状态信号。只给出了0#凸轮的数据。

表1 电子凸轮区间数表

表2 电子凸轮区间设置表

表3 电子凸轮区间状态表

图1 硬件电路原理图

以这些表格为基础,配以相应的软硬件就可方便、快捷地实现8个电子凸轮的功能。

2 硬件设计

本设计的硬件电路原理图如图1所示。

利用8个光电编码器可检测8个转轴的角位置。转轴每转1°编码器输出一个脉冲,单片机对该脉冲进行计数即可得到转轴的角度。编码器输出脉冲作为D触发器的控制脉冲,8个D触发器的输出端经OC门线或在一起,接到单片机外部中断0(/INT0)引脚。当8个光电编码器中的任一个输出脉冲信号时,会使相应 D触发器输出为“1”,经反相后为“0”,引起/INT0的中断触发,单片机中断响应后转去执行中断服务程序。在中断服务程序中首先要进行中断源的查询,即通过查询P1口线的状态判断是哪个编码器发出的脉冲,然后进行对应脉冲的计数、计算对应转轴的转动角度。因为中断采用的是电平触发方式,所以还要从P2口相应引脚输出负脉冲,以撤销中断申请。P0口用于输出8个电子凸轮所发出的开关状态信号。

3 软件设计

单片机得到每个转轴的实际角度后,再判断该角度处在相应电子凸轮的哪个区间,然后输出对应的开关状态信号。上述控制过程在中断服务程序中进行。

8个电子凸轮要输出的开关状态信号共8个。在RAM中设一个输出状态信号的缓冲区,为1个单元,称为输出控制字。当经过以上数据处理、判断,得到需输出的区间状态后,先将它写入输出控制字中的对应位,再将该字中数据送到对应输出接口P0实现输出。

主程序及中断服务程序如下:

4 结论

该凸轮控制器设计的核心方法是:事先设置好电子凸轮数据参数,再利用单片机查表指令取出相应数据来实现凸轮功能。当需要改变凸轮设置时,只需将新数据再写到存储器中即可,实现非常灵活。

[1]丁元杰.单片微机原理及应用[J].北京:机械工业出版社,1999.

王洪泽]

猜你喜欢

转轴凸轮中断
大型汽轮发电机转轴接地方式及轴电流分析
凸轮零件的内花键拉削工艺的自动化生产线
轧机转轴无损检测及修复技术
基于UG&VERICUT的弧面凸轮多轴数控加工仿真实现
基于MATLAB的盘形凸轮逆向工程
跟踪导练(二)(5)
千里移防,卫勤保障不中断
凸轮机构在“S”型无碳小车中应用的可行性
AT89C51与中断有关的寄存器功能表解
FPGA内嵌PowerPC的中断响应分析