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

分享到:

  一、引言

  近一、二十年来,单片机以其体积小、价格低、功能强的优点而广泛应用于各种测控系统中。但是单片机系统的输入信号总是存在着不同形式和程度的噪声和干扰,这给准确测控带来了一定的难度。采用滤波电路是削弱和消除这些干扰信号的方法之一。对于大多数高频干扰信号,硬件滤波的方法能起到很好的作用。但对于一些特殊的干扰信号,采用硬件电路滤波则效果不大。其中有一类干扰具有以下形式:干扰的幅值与实际采样信号的幅值相差不大,甚至大于采样信号的幅值;干扰只出现在实际信号工作之前或之后,在系统真正工作时并不与采样信号产生叠加;干扰的作用时间比系统实际所需信号的作用时间小得多(至少相差一个数量级)。此类干扰不同于一般的高频干扰,利用硬件方法难以消除。针对这种干扰,我们在设计生铁团矿压力实验仪中采用了一种软件方法,来消除它的影响。这种方法借助单片机中的定时/计数器,对采集到信号的作用时间进行计量、比较,利用干扰信号和实际信号作用时间相差特别大的特征,来区分干扰信号和实际信号。下面是这种方法的原理和程序编制及其在智能压力实验仪上的实际应用。

  二、原理

  在金属抗拉、抗压强度和生铁团矿破碎压力测量等实验中,要求实验仪器能准确测量出被采样信号的最大值。由于单片机价格低廉,动作可靠,因此这些实验仪器常选用单片机进行控制。在理想无干扰的状态下,实验过程中这些被采样信号的时域曲线有一个共同的特点:在到达最大值之前,曲线呈单调递增趋势,而在最大值之后,信号呈现单调递减趋势,且递减速率比上升速率大得多。例如,在理想状态下45钢抗拉强度实验中,试棒所受拉力的时域曲线如图1所示。但是,在这些实验中,不可避免地会存在各种形式的干扰。45#钢在有瞬时干扰情况下拉力时域曲线如图2所示。干扰的存在给这些实验仪器的研制带来了很大的技术困难。

  根据金属抗拉、抗压强度和生铁团矿破碎压力在测试过程中时域曲线变化特征,利用89C51单片机中的定时/计数器,结合相应的的软件处理,可消除采样过程中的瞬时干扰,准确测量出金属的抗拉、抗压强度和生铁团矿破碎时的压力最大值。
 

 


  图1 45#钢无干扰状态拉力时域曲线

 

 

 




  图2 45#钢在瞬时干扰下的拉力时域曲线

  在89C51单片机中有两个可编程的定时/计数器—定时/计数器0与定时/计数器1(8032/8052还有定时/计数器2),可由程序选择作为定时器用或作为计数器用,定时时间或计数值由程序设定。定时/计数器的核心是一个十六位的加法计数器,当作定时器用时,加法计数器对内部机器周期脉冲计数。在定时器的工作过程中,加法计数器的内容是可读回CPU的。借助单片机中定时/计数器的这些特点来编制消除瞬时干扰的程序。

  软件具体编制方法如下:把定时/计数器选作定时器用,设置好工作方式,在程序运行过程中不产生中段请求信号,选择内存中的某一单元(例如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 生铁团矿压力实验仪单片机控制程序流程图

  对于采样信号作用时间长的系统,则需要采用定时器的中断工作方式。主程序的流程图与图4很类似,二者只是在定时器的初始化设置上有些不同。中断程序的流程图如图5所示。

 

 

 

 



  图5 中断程序流程图

  四、结语

  本文介绍了一种软件消除瞬时干扰的的方法。利用瞬时干扰比实际信号工作时间相差很大这个特点,借助单片机内部的定时/计数器,通过编程来实现消除瞬时干扰的目的,思路新颖。利用这种方法,既避免了普通消除干扰方法中繁杂的硬件电路设计,又充分利用了单片机的内部资源。通过实践应用发现,此方法使瞬时干扰得到了很好的控制。

 

 

 

 

 

 
 

 

 

 

 

继续阅读
《5G+工业应用移动机器人物流解决方案蓝皮书》正式发布!

11月4日,在《未来机器人·第三届中国国际移动机器人(AGV/AMR)产业发展暨智能物流集成商大会》上,由中国移动机器人(AGV)产业联盟、华为技术有限公司发起,机科发展科技股份有限公司、上海快仓智能科技有限公司、深圳市今天国际智能机器人有限公司、杭叉智能科技有限公司、三一机器人技术有限公司、灵动科技(北京)有限公司、杭州联核科技有限公司、杭州迦智科技有限公司联合主编的《5G+工业应用移动机器人物流解决方案蓝皮书》正式发布!

自动搬运AGV的类型及应用

随着制造业的自动化、智能化工厂的需求加大,自动搬运AGV的发展势头在近年来愈发蓬勃,吸引了大量的企业进入该行业。并且,AGV行业还受到了资本市场的高度关注,各AGV生产商先后获得数十亿元融资,也进一步说明了AGV小车的发展前景是非常可观的。当然大家如此看好这个行业跟AGV小车本身的特点有关,因此米克力美在这里简单介绍一下有关AGV小车的知识,希望能帮助到大家。

u-blox 为可穿戴设备和资产追踪应用提供可靠的超低功耗定位模块

全新 u-blox M10 定位技术平台即使在充满挑战性的环境中也能同时跟踪多达四个 GNSS 星座的卫星信号。

号召学习南方电网已经搞出54个5G应用的经验,为5G发展找到了最佳模式

在5G商用一周年之际,通信头条小编深入运营商一线深度探究5G建设、5G应用和5G在千行百业的接受程度。通信头条小编来到广东移动,对这里在5G云游戏、5G智慧港口、5G智慧电力等进行深度采访。

大疆行业应用与解决方案技术负责人田艺:无人机+AI帮助农业、安防和测绘等领域提高效率

10月16日,FUS猎云网2020年度人工智能产业峰会在北京金茂万丽酒店隆重举行。