基于STM32和A4988的魔方控制系统

2018年08月09日 12:55来源于:科技创新与应用

基于STM32的四轴飞行器控制系统研究与设计.pdf

李俊安 赵春丽 黄泽林 陈昊文 陈芳

摘 要:文章设计了一种控制魔方转动的控制系统。以三阶魔方为主要模型,通过研究三阶魔方的内部结构,以一个控制转动的魔方轴作为定轴,剩余的五个旋转的可动的动轴来控制魔方的转动。在该控制系统中,主要利用步进电机的精准角度的转动特性来控制魔方的每一个面的旋转,从而达到魔方控制的效果。步进电机的转动主要是通过STM32单片机的内部计算,精确修改旋转角度、细分系数。步进电机的转动器的设计是以STM32F103RCT6作为主控制器,以A4988步进电机驱动设备,详细分析步进电机驱动设备的工作原理、各部分接口电路以及控制器设计方案。通过实物设计实现了步进电机正反转任意角度和细分系数的控制,并通过精确计算步进脉冲个数实现了任意旋转角度的精确控制,该驱动控制器步进角度精度高0.1125度,以至于达到了魔方的精准旋转控制。

关键词:STM32;A4988;步进电机;魔方控制系统

中图分类号:TP242 文献标志码:A 文章编号:2095-2945(2018)20-0005-05

Abstract: A control system is designed to control the rotation of Rubik's Cube. Taking the three-order Rubik's Cube as the main model, the internal structure of the three-order Cube is studied. A rotating Cube axis is used as the fixed axis, and the remaining five rotating movable axes are used to control the rotation of the Cube. In this control system, the rotation characteristics of the precise angle of the stepping motor are mainly used to control the rotation of each side of the Rubik's Cube, so as to achieve the effect of the Rubik's Cube control. The rotation of stepper motor is mainly through the internal calculation of STM32 single chip computer, precise modification of rotation angle, and subdivision coefficient. The design of stepping motor rotator is based on STM32F103RCT6 as the main controller and A4988 as the driving device. The working principle, interface circuit and controller design scheme of the stepping motor drive device are analyzed in detail. The control of the forward and backward rotation angle and subdivision coefficient of the stepping motor is realized through the physical design, and the precise control of any rotation angle is realized by calculating the number of step pulses accurately. The stepping angle precision of the driving controller is 0.1125 degrees higher so as to achieve the precise rotation control of the Rubik's Cube.

Keywords: STM32; A4988; stepping motor; Rubik's Cube control system

引言

随着教育事业的不断发展,要求学生多元化方向发展,从而学生的课程越来越多,所需的书籍也随之增多。因此,基于书籍的分类,在魔方结构的基础上,我们推出一款以魔方结构为基础的智能书架。

以三阶魔方为例,魔方的转动可根据相关的魔方公式来进行,从而可以使特定方格达到理想位置。控制魔方转动的动力来源于步进电机,而步进电机的驱动有A4988模块给予,其指令由STM32发出及控制。隨着科技的发展,步进电机的数字化控制更为方便,也给项目的应用带来更多的便捷之处。尤其是在步进电机的转动速度、角度的精准控制,这些是魔方控制结构的基础。本文主要介绍以STM32F103RCT6 作为A4988 控制器,并以A4988作为微型步进电机驱动器设计步进电机控制器模块, 实现闭环精确控制微型步进电机的步进角度的功能, 从而实现了魔方控制系统的精准控制。

1 A4988的工作原理及特性

A4988是一款带转换器和过流保护的DMOS微步驱动器,可在全、半、1/4、1/8及1/16步进模式时操作双极步进电动机,输出驱动性能可达35V及±2V。A4988包括一个固定关断时间电流稳压器,该稳压器可在慢或混合衰减模式下工作。转换器是A4988易于实施的关键。只要在“步进”输入中输入一个脉冲,即可驱动电动机产生微步。无须进行相位顺序表、高频率控制行或复杂的界面编程。A4988界面非常适合复杂的微处理器不可用或过载的应用。

除此之外,相比于其他的步进电机的驱动模块

(如:LM358),A4988有着功耗小、用法简单、体积小巧等优点。因此在魔方的控制系统中,选用A4988作为步进电机的驱动模块。

1.1 A4988的工作原理

从A4988的使用手册中查询到A4988的内部结构图。如图1所示。

A4988内部有一个负责微控制器和驱动电路的信息交互的编译器。编译器可以产生DA信号,配合比较器辅助PWM锁存器修复衰减信号,并且该编译器能够产生逻辑电平控制逻辑控制器,逻辑控制器再配合电流调节器和N型MOS管驱动电压共同驱动两路全桥电路。电路中,ROSC主要更改并修复衰减模式,接VDD自动修复衰减,接GND电流衰减设置为增减电流同时修复。SENSE1和SENSE2检测驱动输出电压,实则是实时检测输出电流,供电流调节器调节输出电流信号,形成闭环控制。SENSE1和SENSE2管脚连接的电阻相对较小,一般只有零点几欧姆。

1.2 A4988的逻辑控制

A4988的逻辑控制分为:睡眠、正反转、复位、使能、细分模式。具体如下:

(1)对于Sleep引脚:当该引脚电平电平置0为睡眠模式,Sleep管脚置1,A4988处于正常工作模式。

(2)DIR引脚:DIR引脚置0或1为正转,置1或0为反转。

(3)REST引脚:为复位模式的引脚,在复位模式下会产生较大电流。置1为复位模式。

(4)ENABLE引脚:使能模式控制系统是否开始工作,ENBALBE管脚置0开始工作,置1停止工作。

(5)细分模式:MS1、MS2、MS3三个引脚可以控制细分系数,A4988可以细分至1/16细分为最小,通过计算角度值可得最小细分角度为全步进角度的1/16。

2 系统总体介绍

驱动魔方控制系统的动力来源于步进电机,而控制步进电机的算法是由STM32来控制。因此,魔方控制系统的核心是STM32单片机。因为整个魔方控制系统需要控制5个步进电机,所需要的功率相对较大,并且所需要的I/O口较多,因此我们选择功耗较低的STM32F103RCT6单片机作为主控制器。根据A4988的工作原理,魔方控制系统的控制电路分为STM32模块、A4988模块、步进电机模块三个部分。由STM32模块发出转动命令至A4988步进电机驱动模块,进而控制步进电机的转动角度及其正反转。

如图2所示,魔方控制系统由STM32作为主控,发送相关的控制步进电机的命令通过串口给A4988模块。A4988模块进而驱动步进电机,使之按照STM32给予的算法进行旋转。然后带动魔方面的控制,实现魔方的控制。

3 硬件设计

3.1 控制硬件电路的设计

(1)STM32 控制器模块:微型步进电机控制器的主控模块, 执行步进电机控制指令, 主要控制步进电机细分操作、速度控制、旋转角度控制。如图3所示。

在STM32单片机的9、10、11引脚分别与A4988的MS1、MS2、MS3引脚相接,控制其细分模式;STM32的12引脚于A4988的DIR引脚相接,控制步进电机的正反转;STM32的13、14引脚分别与A4988的ENABLE、REST分别控制A4988D的复位与使能。

(2)A4988驱动模块:主要用于驱动并控制步进电机,用来执行主控制器的。

(3)命令指示。这个模块的主电路图如图4所示。

3.2 功能设计

魔方控制系统的步进电机的控制要求如下:

(1)通过控制MS1、MS2、MS3引脚来实现步进电机细分控制。步进角度乘以细分系数可以得到细分的角度值。细分系数有STM32计算机内部进行设定,其中全步进方式运行为初始细分值1。

(2)步进脉冲频率和细分系数是影响步进电机转速的主要原因。通過对步进电机的转速控制实验的测试可以知道,步进脉冲频率在400Hz时,步进电机不会有失步现象,同时在这个脉冲频率下且经过细分之后,步进电机平稳转动,同时不会出现任何震动和噪声。从步进电机的旋转速度与细分系数和脉冲频率可以得到以下关系:当脉冲频率不变时,细分系数与步进电机的旋转速度成正相关关系;而当细分系数不变时,脉冲频率也与步进电机的转速成正相关的关系。

(3)A4988驱动旋转的最小的角度为0.1125°,可以使用这个角度来实现控制步进电机的任意角度的旋转。步进电机的旋转的角度值可以通过脉冲的个数与细分角度的乘积来得到。这个脉冲个数是由STM32的外部中断的I/O口的PWM个数得到。

4 软件设计

4.1 STM32控制程序设计

如图5所示,STM32F103RCT6是ST公司生产的32位微控制器,拥有72MHz的运算速度和256KB的存储容量,内置多路定时器, 能产生多路脉宽与频率可调的PWM 波,配合A4988步进电机控制模块,可以轻松精准的控制步进电机,其最大精度可以达到0.1125°;配有多路串口通信口,方便与各种通信模块直连;可以使用蓝牙等模块与手机进行通信进而改变配置。

内置大容量FLASH方便将魔方数据存储与运算。

控制器控制策略:STM32软件负责该模块的主控制器,首先初始化电机驱动需要的相关寄存器和定时器,之后关闭PWM输出,之后初始化内部大容量FLASH并进行读取,完成全系统的初始化。之后在内部运算魔方的相关算法,更改数组,并在旋转完过后将改变的数组写入FLASH中,以供下次读取。

4.2 魔方控制系统设计

魔方系统的结构与旋转方式与正常三阶魔方一致:6个中心块与中心轴连接在一起,但可以顺着轴的方向自由的转动,另外还有12个棱块和8个角块。以魔方中心为原点,垂直于各个面的3条直线为x,y,z轴建立三维坐标系,如下图6所示。

中心魔方系统总共有12种旋转方式,分别是6个面的顺时针旋转和逆时针旋转,每转动一次,魔方中的6个块的位置相较于旋转前会发生变化,而6个中心块的位置永远不会变化。因此系统中主要记录棱块与角块的变化即可。如图6所示,将20个标记块按照一定规律标记0-20号数码,在一次旋转后再按照相同规律输出各个块的位置即可完成对魔方各个块的位置记录。只要掌握12种旋转方式的魔方块的位置变化规律,即可在每一次旋转后正确记录魔方块的变化。变化情况表格如表2。

5 测试

5.1 魔方系统运算命令测试

0-19代表所要代表20个调用块的编号,21-32代表12种手动变换方式。测试时输入13即代表调取13号块置于顶层,需要y轴正边顺时针旋转2次,分别生成2次位置信息如图7。

5.2 魔方控制系统实物

如图8所示,魔方系统的固定部件是通过3D打印出来的,这样可以更加节省成本,同时也可以达到硬度及韧性的要求。将步进电机包裹与3D打印的磨具当中,将其固定,其磨具就是魔方控制系统的机械结构,这样的结构完全仿照与三阶魔方的内部控制结构,具有很好的稳定性及操作性。

6 结束语

魔方控制系统的主要控制器为STM32,以A4988作为中介,通过对A4988进行控制,从而控制步进电机的正反转、旋转角度以及转动速度,从而达到STM32控制步进电机的目的。最终完成了魔方控制系统的动力要求。在每个指定格上,都会有想相应的算法,使之达到相应的位置上。实现魔方的精准控制。

魔方控制系统通过计算机设定三阶算法,完成了对步进电机的精准控制,解决了魔方旋转的动力与方向性问题。但此控制系统的程序比较复杂,魔方块记录方式过于繁琐。

参考文献:

[1]SCHMIDT D J. Holistic handset power management: transisitor

to platform[R]. IWPC, 2010,4.

[2]GARCIA D, HILL J, BARRON D, et al. An RDMA protocol speci fication(Version 1.0)[EB/OL].(2014-09-29).

[3]■ Donald A.Neamen. Electronic Circuit Analysis and Design(Second Endition)■1/4■New York(USA):Mc Graw Hill,June,2004.

[4]Albert C.Leenhouts.Smooth Step Motor Motion With Half Driver.Annual Symposium on IMCSD.1995,24(2).

[5]王凱,韩力立.采用STM32 控制L6470步进电机驱动器[J].电子世界,2012(18).

[6]曹彪乾,陈远增,孙书鹰,等.基于STM32步进电机多细分控制设计[J].科学技术与工程,2013,13(23):6894-6897.

[7]孟英红,齐婉玉,段学锋.用L297,L298组成步进电机驱动电路[J].仪器仪表学报,2003,24(4):573-574.

 
免责声明:

     本文仅代表作者/企业观点,与【名品家电网】无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,仅供读者参考,并自行核实相关内容。

     【名品家电网】刊载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

      如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行;新闻纠错: lwl#youngchina.cn

关键词: 魔方 文章 步进电机