APP下载

双轴步进电机驱动控制系统设计

2019-09-03刘忠强张春晓孔祥飞申安安

自动化与仪表 2019年8期
关键词:双轴电路设计驱动器

刘忠强,张 立,张春晓,孔祥飞,申安安

(沈阳仪表科学研究院有限公司,沈阳 110043)

随着装备制造业的发展,自动化生产设备正在逐渐代替人工成为生产过程中的主力军[1]。自动化设备与人工相比具有精度高、速度快、效率高、抗疲劳的优点。借助于运行平稳、精度高、响应快、使用寿命长的优点,步进电机被广泛应用在涉及到定位的各个自动化控制场合[2]。为了解决传统自动化设备需要有较高专业技能人员操作的问题,本设计着力于设计一款拥有人性化交互界面的双轴步进电机驱动控制系统。

1 系统方案设计

系统方案设计包括基于单片机的主控部分,基于步进电机的执行机构部分,基于限位开关的反馈检测部分以及基于可触摸显示器的人机交互部分。主控部分负责将系统各个模块之间实现信号连接并使其正常工作。执行机构部分根据接收到的主控传送的信号来分别对X、Y轴的步进电机进行控制。反馈检测部分主要使用固定的限位开关实现,在步进电机运动到限位区域时及时向主控部分发出报警信号以防损坏步进电机以及驱动器。人机交互部分是通过触摸显示屏和嵌入式GUI界面实现的,借助于电容触摸屏和嵌入式GUI提供的丰富的控件可以设计出良好的UI界面以此来实现人性化的人机交互。系统方案框图如图1所示。

图1 系统方案框图Fig.1 System structure diagram

2 系统硬件电路设计

系统硬件电路主要包括电源电路、单片机最小系统电路、LCD接口电路、外扩SRAM电路、按键电路、蜂鸣器报警电路、步进驱动接口电路以及限位开关接口电路。系统的硬件电路框图如图2所示。

图2 系统硬件电路框图Fig.2 System hardware circuit block diagram

2.1 电源电路设计

电源电路的设计主要分为两部分完成。第一部分采用MP2359基于开关电源芯片设计的降压电路,降压电路把24 V直流电压变为5 V的直流输出,可以为步进驱动器的光耦芯片以及LCD液晶的LED背光进行供电。降压电路如图3所示。

图3 降压电路原理图Fig.3 Buck circuit schematic diagram

二极管D11是防反接电路,电容C51,C52组成了输入级的滤波电路,电阻R50,R52为芯片的反馈引脚FB提供反馈电压,芯片根据反馈电压可以将输出电压稳定在5 V左右;输出滤波电感L1选用4.7 μH的功率电感;输出滤波电容C53,C54选用瓷片电容加电解电容的组合;续流二极管D12采用肖特基二极管SS14。输出级电感L1和输出级电容C53,C54共同组成输出级滤波电路,消除输出电源纹波。

从5 V降压到3.3 V采用的是线性稳压芯片AMS1117-3.3。

2.2 单片机最小系统电路设计

系统选用STM32F407ZGT6单片机作为核心处理器。STM32F407单片机自带的定时器、FSMC总线、外部中断等外设可以有效地服务于系统的硬件电路[3]。

STM32单片机采用低电平复位的方法。最小系统电路中设计了2个晶振电路。第一个是频率为32.768 kHz的石英晶振Y1,主要功能是为单片机的RTC提供时钟基准。第二个是频率为8 MHz的石英晶振Y2,主要功能是为单片机提供外部时钟,该时钟源经过锁相环 (PLL)倍频后得到系统时钟(SYSCLK),系统时钟为单片机运行提供时钟基准。

2.3 LCD接口电路设计

LCD液晶采用了模块化设计,触摸屏为电容触摸,分辨率为800×480,颜色深度为16位,采用RGB565的数据格式[4]。本设计选用的单片机可以使用FSMC(可变静态存储控制器)总线外设驱动8080总线接口的LCD模块,LCD模块的大部分引脚连接到了单片机上拥有FSMC复用功能的引脚上。

2.4 步进驱动接口电路设计

步进电机驱动器采用的是成熟设计的大功率驱动器,主控板上留出了与步进驱动器连接的接口。接口使用插拔式接线端子连接,接插方便、不会接反。驱动器内部采用光耦器件与单片机的输入信号隔离,驱动器内部的光耦器件采用共阳极的连接方式[5-7]。

接口中第一个引脚连接VCC5用于给驱动器的光耦芯片供电,每一个信号引脚输出低电平时对应驱动器内部的光耦器件导通,当信号输出高电平时内部光耦器件关闭。图中DIR信号用于控制步进电机的转动方向,STEP信号用于控制步进电机转动的角度。每个输入脉冲控制步进电机转动的角度取决于步进电机的步距角以及驱动器的细分设置。

图4 驱动接口电路图Fig.4 Drive interface circuit diagram

3 系统软件方案设计

本设计的单片机软件程序采用C语言编写,在单片机上运行了嵌入式实时操作系统UCOSIII。本设计共编写了7个运行于UCOSIII的用户任务(Task),这些任务在任务调度器的调度下共同实现本设计的功能。7个用户任务分别为开始任务、触摸任务、LED任务、X轴步进电机控制任务、Y轴步进电机控制任务、EMWIN的UI任务以及按键扫描任务。

开始任务用于创建其余的6个用户任务,在创建任务完成后开始任务将自己挂起,释放堆栈资源,不再运行。触摸任务用于在一定时间内向EMWIN反馈触摸坐标的变化,LED任务用于指示灯显示为不同状态。X轴步进电机控制任务用于控制X轴的步进电机运动,Y轴步进电机控制任务的流程与X轴步进电机控制任务完全一致。EMWIN的UI任务主要包含整个UI界面内的数据处理。按键扫描任务用于检测按键是否按下。

3.1 硬件以及UCOS和EMWIN的初始化

单片机上电之后首先执行的代码是调整系统运行时钟,本设计采用的时钟方案是外部晶振作为时钟输入源。初始化时钟主要包含设置PLL的倍频参数,设置外部晶振的频率,经过时钟初始化之后SYSCLK倍频到了168 MHz。

接下来初始化液晶屏、触摸板、按键、LED、蜂鸣器以及外部SRAM。液晶用到了FSMC的数据总线,片选信号,读、写使能信号等。外部扩展的SRAM内存芯片除了电源引脚以外的所有信号引脚连接到单片机都需要使用FSMC总线外设的复用功能,这也意味着外部扩展的内存主要读写、寻址操作可以由单片机的FSMC总线外设完成,降低了程序编写难度。在配置这些复用到FSMC外设的引脚时不仅需要配置引脚的输入输出模式还需要使用引脚功能复用函数GPIO_PinAFConfig()来将其选用的复用功能映射到FSMC外设上去。

对UCOSIII以及EMWIN的初始化主要是运行其提供的API函数,设定用户自己的参数即可。初始化流程如图5所示。

图5 硬件以及UCOS和EMWIN的初始化流程Fig.5 Initialization flow chart of hardware and UCOS and EMWIN

3.2 基于UCOS的用户任务

在完成UCOSIII的初始化之后用户任务在任务调度器的调度下运行,每个任务需要执行的程序主要有代码段和延时函数,代码段执行的耗时远小于延时函数执行的耗时。当前任务处于延时状态时任务调度器就可以将等待运行的任务激活。单片机执行代码的速度较高(168 MHz)加上任务调度器的工作速度很快,所以操作系统下运行的任务就像是在并行运行一样。以下将分别介绍几个重要的任务流程。

3.2.1 X、Y轴步进电机控制任务流程

本设计使用了2个步进电机分别用于控制X、Y轴丝杠的运动。驱动步进电机转动需要一路方波信号,信号的频率越高步进电机的转速越快。根据这个特点使用2个任务分别控制X、Y轴步进电机的运动,X、Y轴步进电机的控制任务流程基本相同。由于在UCOS系统中使用1 ms以下的延时的时候不可以进行任务调度,驱动步进电机的控制信号的周期延时分别交给单片机的硬件定时器TIM3、TIM4以及2个UCOS的信号量来完成[8]。

步进电机控制任务主要完成限位检测、手动模式下的步进电机运动控制、自动模式下的步进电机运动控制、开机自动回到坐标原点、计算当前双轴平台滑块的坐标数据等功能。

步进电机控制任务主要实现了开机滑块自动回原点,手动模式下用按键控制步进电机的运动,自动模式下自动运行,触发限位时手动消除限位的效果。步进电机控制任务流程如图6所示。

3.2.2 基于EMWIN的UI任务流程

图6 步进电机控制任务软件流程Fig.6 Software flow chart of stepping motor control task

基于EMWIN的UI界面的各种操作被放在了EMWIN的UI任务里。UI任务主要包含界面内的各个窗口小控件的初始化,实时更新需要显示的数据,根据相关小控件的操作更新用于控制步进电机的参数等功能。

在使用该UI界面时可以通过RADIO单选框来选择双轴滑台的工作模式,可以在未运行的自动模式下通过SLIDER小控件设置目标坐标,可以使用SLIDER控件调整液晶的亮度,可以通过BUTTON控件开启、暂停步进电机的运行状态。UI任务的软件流程如图7所示。

图7 UI任务软件流程Fig.7 Software flow chart of UI task

4 系统调试以及现象

双轴步进电机驱动控制系统的设计主要包括硬件电路设计优化和软件编程设计。硬件电路设计主要包括电气原理图连接,单片机的IO资源分配,外设的电路设计等工作。软件编程设计主要包括UCOS的移植,EMIWN的移植,步进电机控制任务的编写。电路板设计完成之后需要对整个硬件电路进行调试,测试其能否正常工作。软件编写完成后需要调试软件使其达到最稳定的运行状态。

本设计的软件编程主要涉及2个方面,一是基于EMWIN实现的人机交互界面,二是步进电机的控制程序。人机交互界面主要关系到显示到界面上的各个小控件的像素位置。图8展示了人机交互界面的照片。

图8 人机交互界面Fig.8 Human machine interface

整个双轴滑台的运动控制都集成在了主控板上。主控板上用于输入信息的方式主要有按键和触摸屏。通过操作按键和触摸屏可以控制双轴滑台进行各种各样的运动控制功能。

5 结语

双轴步进电机驱动控制系统以2个单轴的丝杠滑台作为执行机构,采用TB6600型步进驱动作为平台上步进电机的驱动器,以单片机为核心构建了一块驱动控制板,采用UCOS+EMWIN的软件方案设计了一套用于人机交互的触摸屏界面。

触摸屏界面作为主要的交互方式,通过界面内的单选框来选择当前平台的工作模式,工作模式分为手动模式和自动模式;通过滑动界面内的滑块小工具设定用于自动模式下的预期坐标;通过滑动最下方的滑块调节屏幕亮度以适应不同强度的光线;通过界面内的速度调节按钮调节步进电机运行的速度;通过运行/停止按钮控制自动模式下双轴平台的运行和暂停。

综上所述,本文描述的硬件电路设计、软件方案设计圆满实现了基于液晶触摸屏的人机交互功能和步进电机控制功能,双轴步进电机驱动控制系统的各项指标达到要求。

猜你喜欢

双轴电路设计驱动器
双轴非比例低周疲劳载荷下船体裂纹板累积塑性数值分析
气动网络多腔室弯曲软体驱动器结构优化
双轴向粗粉分离器流动特征研究
藏起驱动器号确保数据安全
基于Multisim的单管共射放大电路设计与仿真分析
一种车用醉驾检测电路设计
Altium Designer在电路设计中的应用
基于双轴转台的捷联惯性导航系统8位置系统级标定方法(英文)
负反馈放大电路设计
双轴旋转错流膜分离过程的数值模拟