APP下载

基于ARM 的步进电动机自动化控制系统设计

2014-03-12韩俊奇徐建华李杭嘉吴春江

微特电机 2014年11期
关键词:机软件上位电动机

韩俊奇,徐建华,李杭嘉,吴春江

(1.中国科学院大学,北京100049;2.中科院微电子研究所,北京100029;3.杭州中科微电子有限公司,杭州310053)

0 引 言

步进电动机是一种把电脉冲信号变成直线位移或角位移的控制电机[1]。通过控制电机的交变电流的频率,从而控制步进电动机的转速。而传统的步进电动机控制方法是由触发器产生控制脉冲进行控制的,控制方式单一且难以实现人机交互,当步进电动机的参数发生变化时,需要重新进行控制器的设计[2]。目前在一些电机的应用领域,要求电机具有精确的转动速度和角度,直流电动机往往无法满足这一要求。基于此,本文设计了一款基于ARM的步进电动机控制系统,并且开发了上位机软件,利用上位机软件,直接对步进电动机进行控制。而且,可以通过变换步进模式、设置步数来达到特定转动角度的精确要求。本系统操作模式简单,人机交互界面直观,程序执行速度快,可在一系列特定的电机自动化领域起到广泛的应用。

1 整体系统架构

电机控制系统包括硬件系统、软件系统以及通信系统三部分。硬件系统主要包括电路设计;软件系统主要包括软件设计、下位机程序设计;通信系统主要包括通信协议以及串口收发功能。点击上位机软件相应的按钮,通过USB 发送相应的控制命令信号,MCU 接收到控制命令并且分析,作出相应的判断处理,然后向驱动芯片发送相应的命令,从而达到控制电机的正转、反转、步进模式等一系列控制。根据以上系统结构,本文分成三个模块进行设计。系统架构图如图1 所示。

图1 系统架构

2 硬件电路设计

硬件电路把ARM 控制板和电机驱动板分开设计,通过排阵方式连接,这样可以保证ARM 板兼容其他的驱动控制板,从而扩大ARM 板的应用范围。

2.1 ARM 板设计

ARM 板的设计主要负责与上位机间进行命令交互、向驱动板供电、向驱动板发送控制命令等功能。因此ARM 板主要包括ARM 芯片、USB 与UART 转换芯片、电平转换芯片。

本系统选择NXP 公司的LPC11A14 作为控制板的MCU。LPC11A14 是基于ARM Cortex -M0 内核的MCU,它支持可嵌套中断向量控制NVIC 和串行调试接口SWD,它内置有最高32 kB 的片内闪存程序存储器、最高4 kB 的EEPROM 数据存储器、最高8 kB 的SRAM 数据存储器以及16 kB 的BOOT ROM。它支持USART 通信、包含4 个计数器。它的通用I/O 口最多可达28 个,支持多功能复用,可以根据需要配置成不同的功能。

上位机与控制板采用USB 通信,由于MCU 接收的是UART 串行信号,上位机发送的是USB 信号,因此需要USB 转UART 转换芯片。本设计采用了FTDI 公司生产的FT232R 芯片。FT232R 内置有1 024 bit EEPROM 可通过CBUS I/O 口来对芯片进行编程实现芯片的不同功能。FT232R 内部含有高达256 字节的接收缓冲和128 字节的发送缓冲,可实现快速数据发送和接收。FT232R 内置12 MHz的晶体振荡器,且外围电路简单。

LPC11A14 需要3.3 V 供电,FT232R 采用5 V 供电,因此需要电平转换芯片。本设计选取了较为简单的LM1117 电平转换芯片,方便5 V 转换3.3 V。

部分设计电路如图2 所示,其他外围电路略。

图2 ARM 板电路图

2.2 驱动板设计

驱动板主要是为电机提供驱动电压和信号。驱动板由ARM 提供电压,且选用Allegro 公司的A4985 作为驱动芯片。A4985 是一款简单实用的步进电动机驱动芯片,包含全步、1/2、1/4、1/8 四种步进模式。A4985 的信号输入端接入MCU,OUT 输出端连接步进电动机。选择好模式后,A4985 驱动芯片内部的DAC 和锁环控制电路产生对应模式的N阶近似阶梯电流,斩波电路通过CMOS 管的打开和关闭,使得电流维持在一个特定阶梯上,OUT1 和OUT2 端阶梯电流产生特定磁场合力,使得电机定子有N 个新的平衡位置(N 个步矩角)。当MCU 控制驱动芯片的Step 输入频率改变时,阶梯波形产生频率相应改变,OUT 端的输出交变电流频率相应改变,从而电机的转动频率相应改变。每经过一个Step 信号周期,两个OUT 端输出就会阶跃一个台阶,电机就会达到一个新的位置,当输入特定数目的频率时,可以控制步进电动机转过特定的角度,从而精确控制步进角。

A4985 的四种步进模式,可以达到精确角度的控制要求。全步模式下,单步转动角度为1.8°;1/2模式下,单步进角度为0.9°;1/4 模式下,单步进角位0.45°;1/8 模式下,单步进角度为0.23°。通过控制步数,从而达到精确的角度控制要求。

驱动板的原理图如图3 所示。

图3 驱动板电路图

3 软件系统设计

软件系统主要包括PC 机界面的编写以及ARM内核程序的编写。软件系统是整个电机控制系统的核心,实现与电机交互的操作。软件界面根据驱动芯片上的控制引脚设置基本的控制功能键,ARM 内核程序用以处理数据、发送命令。

3.1 PC 机软件及界面

PC 机软件是用户直接控制电机转动可视化界面,通过点击软件上的相应按钮,实现相应的控制功能。本软件设计是基于Windows 平台利用下利用QtCreater 设计的。QtCreater 是一款面向对象的基于C+ +的界面编程工具,它支持信号和槽机制,方便控件之间的通信。它内嵌的Qt Designer 可用来设计软件界面以及界面布局,并支持UI 到C + +类的转换,可以在生成UI 类的基础上进一步开发,根据需要编辑特定的功能。Qt 包含了强大的C + +库,方便用户直接调用,降低开发难度。

PC 机软件设计步骤可以分为:界面设计、串口类设计、控件命令的实现。PC 机界面包含基本的功能操作项,串口连接的界面以及收发界面,利用Qt Designer 完成相应的界面设计和布局。通过自定义Qserial 类作为与下位机通信的接口。控件的功能实现是利用Qt 的信号和槽机制,完成相应功能函数。

本软件把操作界面分为四部分:串口选择、基本功能部分、频率控制部分、串口收发部分。

3.2 ARM 内核程序

ARM 内核程序主要用到了ARM 的向量中断机制。通过不同的中断执行不同的中断函数,从而控制电机的转动状态。首先利用NXP 公司提供的例程函数对LPC11A14 进行系统配置,主要是系统时钟和初始化的配置。其次配置GPIO、UART 和Timer,最后撰写main 函数。UART 的中断函数用来接收PC 机信号并作出判断,Timer 中断处理函数利用它的计数器功能来控制电机驱动芯片的输入频率,计数器可以精确到1/48 μs。

主程序设计的核心是UART 准确接受命令,解析后,启动Timer 的精确计时,向驱动芯片发送准确的脉冲数,控制步进电动机转过准确角度。

ARM 内核程序流程图4 所示。

图4 程序流程图

4 通信协议

LPC11A14 作为系统的MCU,与PC 机通信采用同步串行方式通信,需设置成相同波特率,上位机可供 选择的波特率有1200、2400、4800、9600、19 200、38 400、57 600、115 200。为了尽量减少发送延时,采用115 200 的波特率。PC 端和MCU 的UART 端设置成8bit 数据位、1bit 停止位、无奇偶校验位。

PC 端向MCU 通过串口发送命令,MCU 接收到命令后,并反馈回PC 端,同时还要对相应的命令进行解析,以指定电机特定的动作。这种命令之间的交互,需要制定一定的协议,来保证命令的读取和解析。因此制定通信协议显得非常重要。根据对驱动芯片的控制引脚的描述,主要有nENABLE、DISABLE、DIR、MS1、MS2、nSLEEP、STEP、nRESET 这几种控制动作,针对这几种动作制定相应的协议,同时根据精确步进和精确角度的要求,还要设置速度和步进数的协议。为了提高执行速度,本协议采用二进制形式发送和解析。该协议分为帧头、数据帧和帧尾。数据帧包含控制模块选择、功能选择以及功能的参数。详细协议内容如表1 所示。

表1 通信协议格式

5 验证及结束语

当驱动芯片输入频率改变时,输出端的交变电流频率随之改变。当MCU 端产生特定频率,使得电机维持特定的速度转动;MCU 产生一定数目的脉冲,电机转过特定的角度。上位机软件通过改变频率值或者输入特定数目频率,达到精确控制电机转动速度和转动角度。上位机软件还可以实现电机的使能、停止、睡眠模式、步进模式等一系列功能,整个控制流程快捷清晰,软件和硬件相互配合,完成电机的控制。

当本设计完成了一整套从上位机到下位机的电机控制系统,从底层硬件电路设计,到上位机软件编写,再到MCU 程序编写,最后制定通信协议,分步骤的完成各个模块功能。经过反复调试,最终调试成功。通过软件精确控制步进电动机的速度和步进角度。实物如图5 所示。本电机控制系统可以广泛应用于工厂自动化、家庭自动化等领域,具有较强的实用性。

图5 实物图

[1] 敬岚,朱海君,张硕成,等.步进电机控制系统的设计及其应用[J].核技术,2005,28(6):479 -481.

[2] 史敬灼. 步进电动机伺服控制技术[M]. 北京:科学出版社,2006.

猜你喜欢

机软件上位电动机
浅析电动机日常维护与保养
永磁同步电动机的节能计算
特斯拉 风云之老阿姨上位
小水电站计算机监控系统上位机软件的开发
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
道岔监测系统上位机软件设计
基于KB0的电动机软启动控制系统
电动机的保护配合及CPS在民用建筑中的应用
以新思路促推现代农业上位