单片机
返回首页

基于Cortex-M3处理器的步进电机控制系统

2014-12-16 来源:21ic

步进电机的控制方式是将电脉冲信号转换为角位移,在未超载的情况下,步进电机的速度和位置分别取决于脉冲频率以及脉冲个数。步进电机控制方便,在众多行业都得到广泛的使用,诸如数控机床、机械包装等机械行业、机器人等电子行业、还有医疗设备等众多领域。在实际的工程应用中,由步进电机控制器发送脉冲和方向信号,通过控制脉冲信号的个数来实现角位移量的大小,按照方向信号的指示转动角度,从而通过驱动器实现和完成步进电机的复杂运动。步进电机控制器也可采用PLC系统。PLC具有易操作、可靠性高的优点,但成本较高。随着研究的不断深入和技术的不断优化,单片机的片上外设更加丰富,实际应用的可靠性和保障性不断增强,且价格也相对于PLC便宜。因此,对步进电机的控制正逐步由单片机实现。ARM Cortex—M3处理器专为低功耗、小尺寸、短的中断延时和优越的确定性而设计,它的价格与8位和16位器件相同,却具有32位器件的性能,且所有器件都以小型封装形式提供。

1 系统硬件设计

1.1 总体设计

系统主要由STM32主控制器、电机模块和触摸屏模块3部分组成。系统主控制器选用STM32F103VBT6来对电机进行控制,通过I/O口与电机模块连接,通过UART与触摸屏模块连接,主控制器通过采集触摸屏的按键信息实现对电机的控制,具体框图如图1所示。

基于Cortex-M3处理器的步进电机控制系统
 图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所示。

基于Cortex-M3处理器的步进电机控制系统

  图2 电机控制摸组结构图

(1)主要接口说明。1)电机控制接口:模组与单片机的接口,为10PIN排针,可直接与“STM32F103VB”相连,以实现对电机的控制。2)步进电机接口:接口类型为4PIN插针形式,SPGT62C19B驱动芯片和两相步进电机通过该接口连接。3)步进电机:永磁式步进减速电机,型号为35BYJ26,工作方式是两相4拍。在步进电机的面板上附带刻度盘,能在观察步进电机实验中的转动状态。

基于Cortex-M3处理器的步进电机控制系统

(2)步进电机共引出4根控制线。其中,1 A与1 B、2 A与2 B分别是电机内两组线圈的两个抽头。以不同的顺序控制两组线圈中的电流方向可使步进电机按照不同的方向转动。两相步进电机的4根控制线分为两组,分别与SPGT62C19B驱动芯片的两个输出通道连接,通过SPGT62C19B芯片的6个控制引脚使两个输出通道发出驱动步进电机的脉冲信号。

SFM32F103VBT6微控制器作为主控芯片,通过I/O端口对SPGT62C19B电机驱动芯片进行控制,从而实现对步进电机的控制。系统连接图如图3所示。

基于Cortex-M3处理器的步进电机控制系统

  图3 主控芯片与电机模组的连接示意图

PH1和PH2控制电机转动方向,SPEED用于测速。I01与I11、I02与I12分别控制着通道1和通道2的电流大小。以通道2为例,控制口I02与I12的不同逻辑组合可使通道2输出端输出不同大小的电流。

基于Cortex-M3处理器的步进电机控制系统

1.4 触摸屏模块

设计采用迪文DMT64480T056-01W智能显示终端,其拥有集成的标准字库、可选择操作模式、图形界面操作、多控制器选择等特点。液晶触摸屏主要用于显示速度、时间、距离以及能提供外界选择功能的选择按钮。

STM32开发板引出了两路UART,UART1(CN11)和UART2(CN6),本文通过UART1与触摸屏相连的。两路串口均连接到DB9。触摸屏界面中要包括:启动、停止、暂停、正转、反转、加速、减速。基于以上的内容选择了如图4所示的界面。

基于Cortex-M3处理器的步进电机控制系统

  图4 触摸屏界面

界面制作使用SysDefDownload文件,代码选择指定代码,如图5所示,命令代码:在本次实验中加速为0x01、减速为0x02、启动为0x03、停止为0x04、正转为0x05、反转为0x06、暂停为0x07;最后点击生成bin文件,如图6所示。

基于Cortex-M3处理器的步进电机控制系统

  图5 软件主界面

基于Cortex-M3处理器的步进电机控制系统

  图6 生成置文件窗口

2 系统软件设计

首先STM32通过对触摸屏的动态扫描采集到控制指令,再对相关采集数据进行分析处理,以控制外部步进电机和显示电路的工作状态,主程序流程如图7所示。

基于Cortex-M3处理器的步进电机控制系统

  图7 主程序流程图

3 结束语

以驱动、控制装置构成的步进电机系统在经济型的工业控制、数控机床以及仪器仪表等领域有着广泛的应用。文中设计了一种基于Cortex—M3处理器的具有人机交互界面的步进电机控制系统,硬件结构简单、价格便宜且操作方便,可实现对电机的精确与稳定控制。实验结果表明,系统实现了对步进电机的启动、停止、正反转、加减速、等工作状态的有效监控。

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章