当前位置:首页 > 嵌入式 > 嵌入式硬件

本文介绍了基于ADT-MC020嵌入式数控控制器通过串口和PC机通信,设计通过光栅尺反馈的双闭环控制系统,分析了精确定位误差的原因及其解决方法。

该系统已用于游标卡尺激光打标和精确送料装置中。
    
  1 引言
  

随着计算机技术、电子技术的发展,嵌入式控制系统作为装备工业的大脑快速地被应用到各个行业中。
  

  嵌入式控制系统由于其体积小、性价比高、针对性强、抗干扰能力好等特点快速不断地进入了数控行业各个领域。
  

  游标卡尺由于是一种精密地测量仪器,那么其生产的厂家对卡游标尺本身的刻度打标要求就非常高。现代化生产中必须要考虑生产效率,而生产效率又与操作方便、生产速度等因素相关。本文设计了采用PC机上位机发控制指令,下位机是ADT-MC020嵌入式数控控制器控制伺服加光栅尺的双闭环控制系统,满足了以上要求。
  
  2 工作原理
  

  首先在上位机(PC机,以下称上位机)编辑好要加工的数据文件,然后通过上位机的串口向下位机(MC020嵌入式控制器,以下称下位机)发送指令,下位机接收到正确的指令后,开始向伺服执行机构发出运动指令,当伺服运行到位后,下位机通知上位机继续发下一个命令,以此循环。
  
  工作流程图如图1所示。
  

  

  
  3 游标卡尺激光打标系统设计
  

  (1) 上位机系统
  

  上位机控制系统是由VC开发的控制软件,在上位机上可以按使用者的要求,先通过一些简单的设定,系统便可以生成需要的图形。比如卡尺刻度之间的间隔,激光打的刻度线的长短,工制还是英制或两者都有。生成好图形客户可以先预览,看是否满足要求。
  

  在选择好循环打标或单次打标后,按开始按钮后,计算机便通过串口发出规原点命令,下位机接收到回原点命令后,马上执行回原点的任务,当回到原点后,发信号给上位机,上位机马上控制振镜和激光发生器打出0刻度线(刻度线的长短在上面生成的图形中已经规定),等打完0刻度线后,上位机马上发出再走一个刻度的命令,在下位机通过一系列的调整,保证精度后,重复上面的动作。
  

  整个系统控制流程结构图如图2所示。
  

  

   图2 控制流程结构图
 (2) 串口通信
  

① 串口通信协议
  

通信协议是指通信双方共同遵守的交换数据的格式。现在我们制定的通信协议只需考虑信息在线路中的传输规则。
  

本文所使用的串口通信协议如表1所示。这样上、下位机的相互通信就得以实现。
  

  

    表1 通信协议帧格式
  

② 串口通信的程序流程图如图3所示。
  

本系统中,上位机在得到按钮信号或得到下位机发回到位得信号,上位机就可以随时发出让下位机执行的指令;而上位机接收下位机指令是采用查询的方式,看下位机是否有给它发新信息;
  

下位机MC020接收和发送信息都是利用串口中断,当自己接收到新信息或要向上位机发送新信息,都将进入串口中断服务子程序。这样利用中断处理异步事件,使之与上位机收、发信息同步,而又不影响做其他工作。
  

  

   图3 串口通信流程图
(3) 下位机系统
  

下位机是本系统中精度的控制者和保证者,它关系到游标卡尺最后打标是否合格。
  

如图2所示,首先下位机在接收到上位机的位置命令后,经过校验和处理发给了伺服驱动器,伺服设成位置控制模式,伺服电机本身带有光电编码器,它会反馈伺服电机走的位置是否与下位机的给定值相等,进行负反馈调节,这便构成了位置环1。但位置环1只是反应了伺服走的位置,也就是伺服电机转的圈数,但如果丝杆、导轨等有误差,就不能反应出来,即不能反应目标位置的最终情况,所以位置环1只是半闭环。
  

加上光栅尺检测目标的最后位置,并把这个位置反馈给下位机MC020控制器,MC020再与上位机的给定位置值进行比较,再次进行负反馈调节,这样构成了位置环2,最终使目标达到上位机给定的命令值的位置,从而完成精确定位。
  

游标卡尺打标的双环精确定位流程图如图4所示。
  

  

   图4 双位置环定位程序流程图
  
  4 位置误差产生原因及解决方案
  

(1) 原点误差
  

在运动控制中,现在很多机器上安装的原点开关一般是机械式的或光电开关,机械开关本身有一定的弹性变形范围,而且用久了后弹片的弹性系数和机械磨损带来的位置偏差都将发生变化;光电感应开关本身有一定的感应范围,即左边沿到右边沿的范围;而每次电机以一定的速度回到原点时,在其惯性的作用下不可能刚好停在开关的感应边沿上。
  

基于以上原因,我们可以让电机先以一个较高的速度回到原点开关的感应范围内,再让电机以一个较低的速度向离开原点的方向走,下位机控制器实时检测,当发现电机一离开原点开关马上停止;接着让电机以一个很低的速度向原点开关的方向走,下位机控制器实时检测,当发现电机一碰到原点开关马上停下来。
  

用以上方法,既可以让电机以高速回零,提高效率,又保证将每次回零的误差降到最低。而对于整个系统来讲,每次打标的起点都一致。
  

(2) 控制器和伺服驱动器脉冲匹配产生的误差
  

下位机控制器把位置值按脉冲的个数发给执行单元伺服驱动器的寄存器中,但伺服电机以不同的速度走,走完所有的脉冲所用的时间就不同,如果在伺服电机还没真正停稳的时候去读光栅尺检测的实际位置值,再把这个偏差发给伺服,伺服降超过命令给定值。
  

而且由于伺服没真正的停下来,这时去检测,可能检测的是一个中间值,而这个中间值有可能就在精度要求的范围内,进而控制器跳出对精度的调整,但伺服电机还在走,当其真正停下来时位置势必引起偏差。
  
  基于以上原因,基本可用两种方法解决。第一,可以用伺服驱动器上的定位完成信号输出给下位机控制器,让下位机控制器知道下面伺服真正走到位了。但要注意:很多伺服驱动器并不是等所有的脉冲都发完才输出这个信号,而是当达到一定脉冲数时就输出此信号,所以必须把伺服驱动器中此控制定位完成的脉冲数调到一个恰当值。第二,就是给电机发了校正脉冲后适当的延长一段时间,延时后再去检测光栅尺的实际位置,然后再去校正。
  

由于游标卡尺打标本身要求精度高,如果电机多走出几个脉冲,那它的偏差就多几个μm,是不允许的,所以必须控制好偏差的调节。
  

(3) 光栅尺的安装即环境温度造成的读数误差
  

本系统的精度就是依靠光栅尺做最后保证,那光栅尺本身的精度就至关重要。首先光栅尺的安装要保持光栅尺内部的玻璃刻线条与运行的导轨平行,光栅尺的读数滑块连的运动滑台的运行轨道要与光栅尺内部的玻璃刻线条保持平行。而支撑滑台的导轨和丝杆本身的质量自然也要有保证。
  

令一个方面就是环境温度对最后测量的影响,由于温度的变化会造成光栅尺内部玻璃刻线条的热胀冷缩的变化,以致造成最后读书偏差。所以一定的温度。
  
  5 结束语
   

随着国家制造业的不断发展,对国家的装备业要求也越来越高,尤其在快速定位和精度要求较高的系统中,对定位精度就提出更高的要求。本设计方案在游标卡尺激光打标中获得了成功应用。
  

参考文献:
  

【1】 徐建军主编。MCS-51系列单片机应用及接口技术[M].北京:人民邮电出版社,2003。
  

【2】 郭庆鼎,王成元。交流伺服系统[M].北京:机械工业出版社。1996。

(提供: 深圳市众为兴数控技术有限公司 ,作者:魏德军 ,)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用

嵌入式开发是一种专门针对特定硬件平台设计和实现软件系统的工程实践,它涵盖了从需求分析、系统设计、编程实现、调试测试直到产品部署及维护的全过程。本文将深入探讨嵌入式开发的主要阶段,分解其流程并阐述每个步骤的关键要点,以便于...

关键字: 嵌入式开发 嵌入式软件
关闭
关闭