基于Cortex-M3处理器的步进电机控制系统
扫描二维码
随时随地手机看文章
摘要 Cortex-M3是ARM公司最新推出的基于ARMv7体系架构的处理核。步进电机已被广泛的应用于位置、速度等控制领域。文中基于Cortex-M3核设计了具有人机交互界面的步进电机控制系统。整个系统以片上外设丰富的Cortex-M3核ARM芯片为核心,对人机交互界面、电机模块的设计进行了详细分析。在软件上给出了系统的主程序流程图。与其他电机控制系统相比,该设计系统具有操作简单、控制精度高等优点。
步进电机的控制方式是将电脉冲信号转换为角位移,在未超载的情况下,步进电机的速度和位置分别取决于脉冲频率以及脉冲个数。步进电机控制方便,在众多行业都得到广泛的使用,诸如数控机床、机械包装等机械行业、机器人等电子行业、还有医疗设备等众多领域。在实际的工程应用中,由步进电机控制器发送脉冲和方向信号,通过控制脉冲信号的个数来实现角位移量的大小,按照方向信号的指示转动角度,从而通过驱动器实现和完成步进电机的复杂运动。步进电机控制器也可采用PLC系统。PLC具有易操作、可靠性高的优点,但成本较高。随着研究的不断深入和技术的不断优化,单片机的片上外设更加丰富,实际应用的可靠性和保障性不断增强,且价格也相对于PLC便宜。因此,对步进电机的控制正逐步由单片机实现。ARM Cortex—M3处理器专为低功耗、小尺寸、短的中断延时和优越的确定性而设计,它的价格与8位和16位器件相同,却具有32位器件的性能,且所有器件都以小型封装形式提供。
1 系统硬件设计
1.1 总体设计
系统主要由STM32主控制器、电机模块和触摸屏模块3部分组成。系统主控制器选用STM32F103VBT6来对电机进行控制,通过I/O口与电机模块连接,通过UART与触摸屏模块连接,主控制器通过采集触摸屏的按键信息实现对电机的控制,具体框图如图1所示。
1.2 STM32F103VBT6微控制器
STM32F103VBT6单片机芯片搭配ARMv7 Cortex—M3版高性能内核,工作频率最高可达72 MHz。采用3级流水线和哈佛结构,具有独立的指令和数据以及外设总线,使得代码执行速度高达1.25 MIPS/MHz。内置128 kB的闪存和20 kB的静态随机存储器(SRAM),同时还具备丰富的增强I/O端口和外部设备。该芯片工作的温度范围为-40~+85℃,供电电压为2.0~3.6 V,同时具有功耗低的优点,使得STM32F103微控制器适于工业控制、手持设备和汽车电子等多种应用领域。
1.3 电机模块
系统采用SPGT62C19B电机控制模组中的步进电机部分,SPGT62C19B电机控制模组主要是为学习步进电机和直流电机的控制而设计的套件。此模组采用凌阳SPGT62C19B电机驱动芯片,可驱动一台双极性两相步进电机或两台直流电机。使用时,用输出选择跳线来选择芯片控制的电机,模组的平面图如图2所示。
(1)主要接口说明。1)电机控制接口:模组与单片机的接口,为10PIN排针,可直接与“STM32F103VB”相连,以实现对电机的控制。2)步进电机接口:接口类型为4PIN插针形式,SPGT62C19B驱动芯片和两相步进电机通过该接口连接。3)步进电机:永磁式步进减速电机,型号为35BYJ26,工作方式是两相4拍。在步进电机的面板上附带刻度盘,能在观察步进电机实验中的转动状态。
(2)步进电机共引出4根控制线。其中,1 A与1 B、2 A与2 B分别是电机内两组线圈的两个抽头。以不同的顺序控制两组线圈中的电流方向可使步进电机按照不同的方向转动。两相步进电机的4根控制线分为两组,分别与SPGT62C19B驱动芯片的两个输出通道连接,通过SPGT62C19B芯片的6个控制引脚使两个输出通道发出驱动步进电机的脉冲信号。
SFM32F103VBT6微控制器作为主控芯片,通过I/O端口对SPGT62C19B电机驱动芯片进行控制,从而实现对步进电机的控制。系统连接图如图3所示。
PH1和PH2控制电机转动方向,SPEED用于测速。I01与I11、I02与I12分别控制着通道1和通道2的电流大小。以通道2为例,控制口I02与I12的不同逻辑组合可使通道2输出端输出不同大小的电流。
1.4 触摸屏模块
设计采用迪文DMT64480T056-01W智能显示终端,其拥有集成的标准字库、可选择操作模式、图形界面操作、多控制器选择等特点。液晶触摸屏主要用于显示速度、时间、距离以及能提供外界选择功能的选择按钮。
STM32开发板引出了两路UART,UART1(CN11)和UART2(CN6),本文通过UART1与触摸屏相连的。两路串口均连接到DB9。触摸屏界面中要包括:启动、停止、暂停、正转、反转、加速、减速。基于以上的内容选择了如图4所示的界面。
界面制作使用SysDefDownload文件,代码选择指定代码,如图5所示,命令代码:在本次实验中加速为0x01、减速为0x02、启动为0x03、停止为0x04、正转为0x05、反转为0x06、暂停为0x07;最后点击生成bin文件,如图6所示。
2 系统软件设计
首先STM32通过对触摸屏的动态扫描采集到控制指令,再对相关采集数据进行分析处理,以控制外部步进电机和显示电路的工作状态,主程序流程如图7所示。
3 结束语
以驱动、控制装置构成的步进电机系统在经济型的工业控制、数控机床以及仪器仪表等领域有着广泛的应用。文中设计了一种基于Cortex—M3处理器的具有人机交互界面的步进电机控制系统,硬件结构简单、价格便宜且操作方便,可实现对电机的精确与稳定控制。实验结果表明,系统实现了对步进电机的启动、停止、正反转、加减速、等工作状态的有效监控。