基于DSP芯片TMS320F240的步进电机的调焦系统设计

出处:clz918 发布于:2010-08-30 14:55:24

     0引言:

  当摄影镜头拍摄运动的物体时,如果运动轨迹已知,摄影镜头必须对焦距进行调节,从而调整目标的像点的位置,使得目标始终位于焦点上,达到实时拍摄的 目标,传统变焦大多是利用机械装置完成的,比如凸轮机构,齿条机构;但是由于机械加工工艺复杂,其、平稳性和灵活性都难以满足要求,为此本系统利用步 进电机带动摄像机完成变焦,由于步进点机地按照步进角转动,并且由DSP进行控制,从而满足了以上机械装置无法完成地性能要求。实验结果表明,本系统 调焦曲线与理想曲线拟合度较好,拍摄已知运动轨迹的目标,达到了满意效果。

  1 调焦系统设计思想

  在光学系统中,采用一组物镜,调节轴向位移,物镜光学系统物象关系是:

  X′=f2 / X

  其中 X′—— 像距(目标像平面到主焦平面的距离);

  X —— 物距(目标距离);

  f —— 光学系统焦距 f=常量,像距X′与物距X成反比关系。

  利用已知的摄影调焦曲线确定步进电机转动所需的步数和时间坐标关系,存入F240数据存储器中,利用F240运算速度快、片载FLASH存储器大 (16K字)的特点,准确控制步进电机控制器驱动步进电机运转,通过机械装置实现摄影镜头焦距按照规定的曲线变化,从而实现实时拍摄运动物体的功能。

  2 硬件设计部分

  2.1步进驱动器UP-4HB03M简介

  UP-4HB03M是北京联太工贸有限公司生产的专用步进电机驱动器,4HBO3M适用于两相六出头混合式及四相混合式步进电机,PWM恒流控制方 式;可选择半步(四相八拍)或者16细分两种工作方式;驱动电流为0.3A连续可调,并且具有自动半流锁定功能;脱机控制及其相位检测功能;所有控制信号 与功率驱动部分光电隔离;散热外壳与驱动器内部完全电绝缘。

  2.2 TMS320F240简介

  TMS320F240(以下简称F240)由DSP内核和片内外设组成。由于DSP内核具有较快的计算和响应处理速度,可以应付高速应用的要 求,同时也为控制软件的设计提供了更加有力的支持,使控制系统能够完成更加复杂的功能、实现更好的控制效果。同时TMS320F240具有丰富的片内外 设,包括16路10位A/D转换器、多个可编程的多路复用I/O引脚、硬件UART以及SPI总线等。特别是TMS320F240片内设置了一个事件管理 器(EPA),可以提供6路全比较PWM通道,能方便地实现各种PWM波形的发生。这里使用F240主要是考虑F240速度快以及有丰富的I/O引脚资 源;程序烧写方便,利于更新曲线坐标以及修改程序;性价比较高等因素。

  2.3 硬件设计

  本系统的硬件接口电路如图1所示,74ls14为反相器,接到DSP的I/O口以提高其驱动能力,CH1是一个八脚的插头,用于外接步进机的各项绕 组。步进电机以及摄影镜头部分从略。工作过程如下:首先获得摄影调焦曲线,利用MATLAB软件,得出时间位移坐标,再换算成步进电机转动所需的步数时间 坐标,以数组的行式保存下来。在F240的数据存储器中开辟空间存储步数时间数组,利用F240定时器完成计时,I/O口输出相应宽度的脉冲信号,驱动步 进电机驱动器UP-4HB03M,其中CP为步进脉冲输入端;FREE为脱机端,高电平有效,FREE=1时,电机处于释放状态;V/D为方向控制端,高 低电平分别控制电机正反转。


图1 硬件接口电路图

  3 软件设计:

  由于电机的运行和转动步数以及两步之间间隔时间有关系,故采用计时器计时的方法来计算时间,F240初始化程序如下:

  void Initcpu(void) //初始化F240程序

  { *WDCR=0x6f; // 禁止自带的看门狗功能;

  *CKCR1=0x69; // 外部输入晶振为20MHZ,F240工作在20MHZ;

  *CKCR0=0xc3; // 系统时钟为10MHZ;

  *SYSCR=0x4000; } // F240输出频率CLKOUT=IOPC1(I/O管脚);

  F240初始化后,计时器的基本计时时间为0.1?s,考虑到F240定时器是16位计数器,这难以满足计算长时间的需求,所以采用通 过计算进入定时器中断的次数来计算长时间的方法。例如设置定时器周期寄存器值为800即*T1PR=800,那么进定时器中断时间为800*0.1= 80?s如果计时为1s的话,则只需进12500次中断即可,以此类推;故定义的数组内容表示如下:

  int table[ ]= { 25,800,255, //第1行

  . . . . . . } //第n行

  其中25为电机步数;800为定时器周期寄存器值;255每两步间所要进入定时器中断的次数。实现准确地控制步进电机控制器关键在于由F240 I/O口产生规定的脉冲信号,提供给步进电机控制器从而驱动步进电机正确转动,程序中包括F240初始化、电机正转、等待、电机反转几个程序模块。程序流 程图如图2所示:


图2 程序流程图

  以下是实现电机正转的程序。程序中变量解释:step:用于存储数组中电机步数;every step:用于存储数组中每两步间所要进定时中断的次数;flag:数组行数标志(程序假设需正转36组)。

  void interrupt INT2_ISR()

  { while (*EVIVRA==0x0027) //是否是定时器中断

  { if(flag<36) //用来完成正转

  {

  if (steptotal==step) //是否走完数组每行规定的步数

  { flag++; //数组行标志加1

  steptotal=0; //电机转动步数清零

  step=table[++j]; //更新电机运行步数数据

  *T1PR=table[++j]; //更新定时器定时周期

  everystep=table[++j]; //更新需要进入定时器中断次数

  *T1CNT=0; } //从零开始计时,启动定时器

  i++; //循环标志位加1

  if(i==1) *PADATDIR=0xff05; // 提供下降沿,正转,不脱机

  else{ if (i==everystep)

  { i=0;

  steptotal++; } //电机每转一步标志位加1

  else

  *PADATDIR=0xff04; //CP脚为高电平为产生下降沿准备,正转,不脱机

  }

  *IMR=0x02; //开定时器中断

  enable(); //开启F240总中断

  }

  }

  4 实验结果及其注意事项

  电机转动的步数和时间坐标都是由主机端通过MATLAB仿真取得的,因此实际调焦曲线的与理想曲线的拟合程度大大提高了;步进电机控制器采用四相八拍运行 方式,并且由DSP进行控制,步进机地按照步进角(0.9度)转动。实际应用该调焦系统调整摄影镜头,拍摄运动轨迹已知的目标,达到了满意的效果。

  定时器时间的准确计算对高地测量一些物理量是非常重要的。当需要定时器计算的时间比较长时,定时器计数还不够,这时就需要利用定时器自身的中断,即短时间定时一到就进入定时器中断服务子程序,利用进入的次数来达到计时的目的。

  5 结束语

  本文对基于DSPTMS320F240利用步进驱动器UP-4HB03M控制步进电机进行了研究,改进了传统的工程中调焦方式,大大提高, 经测试系统运行稳定,由于DSP操作方便,而且采用C语言方式编写,易于日后的代码修改和程序移植。


  

参考文献:

[1]. F240 datasheet https://www.dzsc.com/datasheet/F240_1474507.html.
[2]. 74ls14 datasheet https://www.dzsc.com/datasheet/74ls14_1485322.html.


版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!