新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 单片机中定时/计数器在消除瞬时干扰中的应用

单片机中定时/计数器在消除瞬时干扰中的应用

作者:时间:2009-04-02来源:网络收藏

  软件具体编制方法如下:把/选作器用,设置好工作方式,在程序运行过程中不产生中段请求信号,选择内存中的某一单元(例如R0),在其中设一初始值(如果初始值大于255,则需要两个内存单元),使得此初始值对应的机器周期的时间比信号的作用时间长,而比实际所需采样信号的作用时间短(由于信号与实际所需信号作用时间存在很大的差异,做到这一点并不困难)。由CPU对A/D输入信号进行处理,当检测到被采样信号有上升趋势时启动器,并将定时器的初值设为0,在被采样信号到达最大值时,读回定时器中十六位的值,以之与R0初始值比较。若比初始值小,说明采集到的是信号的幅值,应该舍去,并给清零,重新返回采样;若比初始值大,则可确定此时采集到的为所需的测量值,可以存储起来或者通过显示、打印输出。

  由于十六位计数器最多只能计时216个机器周期,如果系统晶振为12MHz,则其最长计时时间为66.5毫秒,对于作用时间比较长的采样系统就显得不够。由于实际信号作用时间长,当采样到最大值时加法计数器可能早已溢出,此时我们就不能确定计数器里的值与R0中所设初始值的大小了。为了解决这个问题,可对上述程序做些修改,具体如下:将定时器设为中断工作方式,定时初值为0,R0中设初始值A,在检测干扰信号时,由于干扰信号作用时间短,检测到干扰信号幅值时计数器中的值小于R0中的初始值A;而在检测实际作用信号时,定时器会产生溢出。定时器溢出时向CPU发出中断请求。在中断程序中给定时器设立另一初值B,使B>A,中断返回后计数器从B开始计数,当测试到被测信号的最大值时,加法计数器中的值一定比初始值A大。因此我们就可以通过比较加法计数器中的值和R0中的初始值A来区分干扰信号和实际测量信号。

三、实例

  下面介绍这种设计思想在生铁团矿压力实验仪中的

  在高炉炼铁中,铁矿粉不能直接加入炉内冶炼,而应先制成球团,称为生铁团矿。为了保证生铁团矿在运输和装炉过程中不至碎裂,必须测出其抗压强度。团矿压力实验仪要求能准确地测出生铁团矿的破碎压力值,并显示和打印出来。笔者设计的生铁团矿压力实验仪中采样和控制系统框图如图3所示,该实验仪的工作过程如下:团矿放置在生铁团矿压力实验仪的托盘上,电机正转,托盘上升,球团矿与传感器接触并受压,传感器压力信号通过A/D转换后输入,由通过计算求出最大值。得到最大值后立即停止电机运转,显示、打印破碎压力值。然后电机反转,托盘下降,进行下一次实验。

图3 压力实验仪单片机系统框图

  在球团矿压力实验仪中,存在着电机频繁地启动与停止,在电机启动与停止的,由于电路中存在能量的突变,产生了严重的电磁干扰,给采样信号造成很大的影响,从而引起电机的误动作。但干扰作用时间很短,一般为十几微秒到几十微秒,而球团矿从受压到破碎这一过程一般在10~50ms。此干扰不易为一般的RC滤波器所滤除。笔者使用上述软件方法,基本上使此干扰得到控制。软件的程序流程图如图4。

图4 生铁团矿压力实验仪单片机控制程序流程图

尘埃粒子计数器相关文章:尘埃粒子计数器原理


评论


相关推荐

技术专区

关闭