热门关键词:

STM32编码器在光栅尺测速场合的实际应用

  • 该文件为pdf格式
  • 文件大小:109.46KB
  • 浏览次数
  • 发布时间:2014-11-23
文件介绍:

本资料包含pdf文件1个,下载需要1积分

STM32103F系列是 sT公司采用高性能的 32位 ARM Cortex-M3内核,主要面向工业控制领域推出的微控制器芯片。通用定时器有以下几种工作模式:计数器模式、输入捕获模式 、输出比较模式、PWM模式、单脉冲模式、编码器接口模式。其中,编码器接口模式是- 种有别于其他通用 ARM控制器以及 DsP控制器的特有模式,此模式可以用来反馈马达的实时转子位置,测量马达的转速,也可以反馈光栅尺的实时位置,测量光栅头的移动速度,在工业控制诚,尤其是需要精确定位的压机、机床等使用诚,有着非常实用的价值。

光栅尺位移传感器(简称光栅尺),是利用光栅的光学原理工作的测量反馈装置。光栅尺位移传感器经常应用于机床与现在加工中心以及测量仪器等方面,可用作直线位移或者角位移的检测。其测量输出的信号为数字脉冲,具有检测范围大,检测精度高,响应速度快的特点。例如,在数控机床中常用于对刀具和工件的坐标进行检测,来观察和跟踪走刀误差,以起到-个补偿刀具的运动误差的作用 。

在这里需要说明的是,光栅尺只是-个反馈装置 ,它可以将位移量和位移方向通过脉冲信号输出的方式反馈出来,但它不能直接显示出来,它还需要-个显示装置,比如通过 CPLD来识别,或者本文中的微控制器 STM32103F来识别。光栅尺的输出信号为相位角相差 90o的两路方波信号,如果 A路超前 B路 90。,表示光栅尺在正向移动,反之,A路落后 B路 90。,表示反向移动。这两路方波信号都为差分信号,需要经过差分输入芯片,比如 TI的 MC3486,转化为rrL电平的方波之后,才能进定时器的输入引脚。此例中接入的是TIM3-CH1和TIM3-CH2两个引脚。

海德汉 LS1378C为增量式直线光栅尺,量程 220mm,信号周期lum,即-个方波对应 lum,经后续电子设备进行 4分频之后测量步距为0.25urn。直观来说,STM32103F识别到-个周期的方波脉冲,计数器增长4次,表示光栅尺移动了 lum。

图 1编码 器模式下的计数 器操作实例此例中,定时器 Timer3配置成编码器接 口模式 ,提供传感器当前实时位置的信息。另外再开-个定时器Timer2,配置成 10ms的定时工作模式,读取 10ms之内的位置之差,即可获得动态的信息,比如速度、加速度。

这个算法思想的前提,也就是本文讨论的核心,是 10ms内定时器 3计数器不溢出,因为定时器为 16位,最大可计数的范围为65535,如何保证 10ms内实际增长的计数不超过这-最大值呢我们通过计算来说明,比如已知光栅尺连接的机械运动部件的最大速度不可能超过 lm/s,那么 10ms内走 的位移量为 10mm,10mm/0.25um40000次计数 ,40000小于 65536,所以这-算法的前提成立。 如果运动部件的实际运动速度可能更快,那么把 1Ores定位改为 5ms即可,以此类推,但定时间隔不可无限制缩小,以免加重CPU负荷。

首先,初始化定时器 Timer3为编码器模式 ,同时在 TI1和 TI2边沿计数 ,PA口的6脚和 7脚设置为刚输入,用来连接编码 器 输入 信号 ,定时器 3计数周期 Period设置为65535,预分频数设置为零(不分频)。

接 着 ,Timer2配置 为 lOres的定时,计数周期 Period设置为 2000,预分频数设置为 360,向下计数模式。

下面是编码器读取方法 ,在每次10ms定 时调 用此段 :#defineMAXCOUNT30000110ms 内 不可能超过的计数器最大值#define EN-CODER- TIM-PE-RIOD.65535H定 时器的 period值 ,最好 比 MAX COUNT要大intl6tspeedmax 0: /全局变量,统计瞬时速度最大值 ,需要在每次重新测量之前清零int32 t cII -臣至圃 定义局部静态变t 2 ,存放上-扶的计数值定义局部变量 E国 ,读取实时计数值TIld3->定义局部变重 期威导 为上述两个值的差值0 ],l直 g 碱去 l l s 加上 Il ENC01 TIMPERI∞ l ENc0咂I乙T珊PERI∞ f lastc驯nt:dIrc。unt,当前计数值威为下-次进中断时1.竺窒兰 J0下面是定时器 2的中断处理 函数匝三JL圈 C-rentCount 0: /全局变量,计数器实时值 ,有正负,总量程 220ram对应 88万个计数,lum对应 4个计数currentCount除以4000,即为光栅尺当前位置,单位为 mm;speed max为最大瞬时速度,单位为 mm/s。

结束语在实际的项目使用中,如果光栅尺移动速度过快,超过了硬件反应速度,可能导致脉冲丢失,显示出-个错误的位移量,这种错误是不可接受的。为了避免超过光栅尺及硬件电路的极限处理能力,我们通过试验测出这-极限速度,并告知用户,用户可采用其他机械辅助的方法限制运动速度,在极限速度与生产效率之间找到-个合适的平衡点 ,使光栅尺工作在正常状态。如果实际生产中的最大瞬时移动速度超过这-限制,将发出报警以示提醒。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败