基于STM32的焊缝底片数字化仪硬件设计
2014-09-19 来源:21ic
随着计算机技术的日益普及,计算机辅助评片系统愈来愈受检测人的青睐。针对胶片的气孔缺陷,设计了计算机辅助评片,并进行自动分级。为了保证缺陷智能检测中线阵CCD相机对胶片的数字化处理准确无失真,文中设计采用ARM处理器STM32F103C8T6为核心,光电编码器接入电路,电机驱动选用LMD18245芯片,驱动步进电机控制扫描机构的运动速度与线阵CCD线频率的匹配,从而确保工业胶片数字化和同步只能检测的准确无误,为未来工业射线检测提供重要保障和技术支持。
1 系统总体设计
本设计采用STM32F103作为集成控制芯片,增量式光电编码器作为采集启动信号,接收到由增量式编码器发出的A、B相信号,再由STM32 F103对步进电机驱动器发脉冲信号,利用脉冲计数方式控制电机驱动器,再用电机驱动器带动电机进行加工。增量式编码器在转动时,可连续输出与旋转角度对应的脉冲数,静止状态不输出脉冲。计算其步进电机的转速,利用步进电机细分驱动和PID控制算法调整传动机构的速度,最终实现对步进电机的精确控制,电机同步系统框图如图1所示。
2 硬件电路设计
步进电机总体控制设计采用两相四线的步进电机,ARM控制器给步进电机驱动器一个脉冲信号和方向信号,并利用驱动电路中的细分功能,经过功率放大和环形分配器,驱使步进电机绕组精确运转,采用细分控制电路,能够降低工作噪音,减少震动,消除步进电机的低频共振,改善步进电机工作的旋转位移分辨率。
2.1 光电编码器
光电编码器在电机控制中可以用来测量电机转子的磁场位置和机械位置以及转子的磁场和机械位置的变化速度与变化方向。可以利用定时器/计数器配合光电编码器的输出脉冲信号来测量电机的转速。其测速原理是在规定的检测时间Tc内,对光电编码器输出的脉冲信号计数的测速方法。
设在时间T内,转轴转过的弧度数为XT,则转速可由下式表示:
相关参数如表1所示。
2.2 步进电机驱动及细分电路
驱动电路选用两片LMD18245作为步进电机驱动芯片,用来驱动两相四线步进电机,它与STM32F103主要硬件控制连接图如图2所示。
步进电机必须有驱动器和控制器才能正常工作,驱动器的作用是对控制脉冲进行功率放大,环形分配,为了更加精确有效的控制步进电机,改善步进电机工作的旋转位移分辨率,步进电机驱动采用细分功能,LMD18245电源电压12 V供电,固有步距脚1.8°,电机齿数50 W,DIRECTION为方向逻辑输入引脚。逻辑控制功能,BRAKE为急停信号,为D/A转换器的参考电压,设置为5 V,M1-M4为D/A转换器的二进制数字输入端,可以改变细分数,此设计采用4细分驱动,因此细分后步距角=电机固有步距角/细分数,其步距角为1.8°/4=0.45°,也就相当于每来一个脉冲走0.45°,当细分等级大于1/4后,电机的定位精度并不能提高,只是电机转动更平稳。通过对步进电机的精确,平稳控制,可以使其和线阵CCD相机的采集频率表相互匹配最终达到精确检测的目的。
3 软件设计
控制系统软件主要由六部分,分别为主控程序,增量式PID速度控制程序,串口收发程序,外部中断程序,位移,速度计算程序,步进电机正反控制程序。设计流程图如图3所示。
步进电机上电初始化后,对胶片位移和速度进行测量和计算,并利用增量式PID控制步进电机的移动速度,串口进行对电机方向,目标位置,PID参数的设定,当胶片开始移动后,控制器将对编码器进行计数进行位移计算和速度计算,并调用PID算法。
PreU=Kax[(Dreeor+betaxKbxek+KcxPreDerror)] (4)
计算误差,更新电机转速的输出值,为了使线阵CCD线频率与扫描机构的运动速度相匹配,已知步进电机步距角T,细分数N,频率f,可以计算得到步进电机的转速。
进而转化为Vr=RxVm,线阵CCD的线频率fc=VrxL,其中L为每个CCD像素的成像代表物面上的尺寸。从而更新胶片相对于CCD镜头的位置进行成像,最终实现对X胶片的数字化精确采集。
4 结束语
文中设计了基于STM32的底片数字化仪硬件电路,重点描述了电机同步控制电路,通过利用驱动细分技术对步进电机转速的控制,使线阵CCD相机的扫描速率和胶片传动机构速率相匹配,实践证明,采用以上设计方法可以获得更加准确、清晰、无失真的数字化底片图像。