基于STM32和A4988的魔方控制系统
基于STM32的三维运动控制系统设计★

3收稿日期:2020-05-10*科研项目:四川现代职业学院科研项目(基于STM32单片机的三维运动控制系统研制与开发)(编号:K18-ZD1-007)作者简介:熊方(1981—),女,四川资阳人,硕士,副教授,研究方向:电子电路、自动控制。
0 引言运动控制器广泛应用于智能机器人、全自动焊接机、点胶机、电缆生产牵引系统等自动化设备中。
运动控制正朝着高速度、高精度、开放式的方向发展,国内外各大公司生产的运动控制器大多为通用型产品,普遍存在以下不足:功能强大、价格昂贵,在实际使用中往往只用到少数功能;封闭式的结构很难进行二次开发,灵活性较差[1]。
本文将介绍一种基于STM32的三维运动系统设计并进行实验验证,该设计简洁、运行稳定、易操作、便于二次开发。
1 三维运动系统机械结构设计三维运动系统的机械结构,包括三维平台、X/Y/Z三轴上的坐标尺、旋转滑台螺杆、驱动螺杆旋转的步进电机MX/MY/MZ、安装在Z轴上的控制对象,如图1所示。
X轴滑台可以左右移动,Y轴滑台可以前后移动,Z轴滑台可以上下移动。
2 三维运动系统控制总方案三维运动控制系统中,上位机发出命令,通过串口发送给控制器STM32,STM32根据命令控制步进电机动作,如图2所示。
MY电机控制水平面平台板沿Y轴运动,将MZ电机固定在X轴电机的位移片上,从而实现X、Y、Z三个方向的位移。
Z轴的位移可以实现控制对象的起落。
3 硬件电路设计3.1 步进电机驱动模块电路设计系统采用TB6600驱动模块,它是一款专业的两相步进电机驱动,可实现正反转控制[2]。
通过S1、S2、S3三位拨码开关选择8档细分控制,S4、S5、S6选择8档电流控制。
比如:设定细分系数为4,电流控制2.0A。
查看细分/电流选择表,将S1、S2、S3分别设置为ON、OFF、OFF,S4、S5、S6分别设置为ON、OFF、OFF。
驱动模块推荐使用24V/3A开关电源供电。
驱动模块与控制器STM32之间共阴连接方法如图3所示。
第8章-解魔方机器人设计

8.4.3 KOCIEMBA 算法的优化
Kociemba 魔方复原算法运行时,总会挑选近似最 优的解输出。据多次(大于 15 次)测试统计,单次运 行算法时,输出的复原公式平均有 21 步,舵机执行此 复原公式的平均步数为 144 步。算法运行一次输出是 近似最优解,解算时间平均为 10ms。为了取得最优的 复原公式,系统在保证时间高效的同时,必须寻找出最 优解。正常情况下,运行时间越长,Kociemba 魔方复 原算法更有可能取得最优解。 当运行 Kociemba 算法 时间足够长时,一定会找出最优解,最优解能通过减少 舵机 执行步数来缩短魔方复原时间。但是减少的时间 能不能抵消掉 Kociemba 算法多次 运行带来的时间消
图8-12 测试软件主界面
测试软件的主界面是魔方六个面的展开图,如图812所示。魔方中心块上的字母代表这个面所处的方位: F(front)代表前面,B(back)代表后面,L(left)代表左 面, R(right)代表右面,U(up)代表上面,D(down)代 表下面。一个魔方共有 6 种颜色, 某种颜色的颜色标 号用中心块为该颜色的面所处的方位(F、B、L、R、U、 D)来表 示。Kociemba 算法的输入参数即为魔方 54 个 颜色块的标号排列,颜色标号的排列 按照一定的顺序, 六个面的顺序依次为上、右、前、下、左、后,每个面 的标号 排列按照从上到下,从左到右的顺序。
未优化指令系统
图表给出了魔方机器人的未优化指令系统,共有 18 种单指令。表中字母 L(left)代表左面,R(right)代表 右面,F(front)代表前面,B(back)代表后面, U(up) 代表上面, D(dowm)代表下面。字母后面加’代表逆时 针旋转 90 度,例如 F’ 表示将魔方的前面逆时针旋 转 90 度,单独一个字母表示顺时针旋转 90 度,字母 后面有数字 2 表示将相应的面旋转 180 度,由于逆时 针旋转 180 度和顺时针旋转 180 度的效果是一样的, 所以不做区分。
基于STM32和FPGA的多通道步进电机控制系统设计共3篇

基于STM32和FPGA的多通道步进电机控制系统设计共3篇基于STM32和FPGA的多通道步进电机控制系统设计1本文介绍了基于STM32和FPGA的多通道步进电机控制系统设计。
一、设计目标本次设计的目标是:设计一个可控制多路步进电机的系统,具备高效、可靠的控制方式,实现步进电机多通道运动控制的目标。
二、硬件选型1、主控芯片STM32本设计采用STM32作为主控芯片,STM32系列微控制器具有高性能、低功耗、高集成度、易于开发等优点,非常适合此类控制系统。
2、FPGA本设计采用FPGA作为数据处理和控制模块,FPGA具有可编程性和高速、低功耗的特点,在电机控制系统中有广泛的应用。
3、步进电机步进电机具有速度可调、定位精度高等特点,很适合一些高精度的位置控制系统。
4、电源模块电源模块负责为整个系统提供稳定的电源。
5、驱动模块驱动模块负责驱动步进电机,其控制原理为将电机的输入电流拆分为若干个短脉冲信号,每一个短脉冲信号控制一个步距运动。
三、系统设计1、STM32控制器设计STM32控制器是本系统的核心,其功能是读取FPGA发送的控制信号和控制步进电机的运动。
STM32控制器处理的信号主要包括方向信号、脉冲信号、微步子段等控制参数,将这些参数按照驱动模块的需求分发到各个驱动模块中,从而控制步进电机的运动。
2、FPGA模块设计FPGA模块是本系统的数据处理模块,其主要功能是接收STM32发送的指令,进行解码并且转化为步进电机的控制信号,以驱动步进电机的运动,同时FPGA模块还负责将电机的运动数据反馈回STM32,以保证整个系统的稳定运行。
3、驱动模块设计驱动模块是本系统的控制模块,其主要功能是将电机的输入电流拆分成若干个短脉冲信号,每一个短脉冲信号控制一个步距运动,从而实现对步进电机的控制。
四、系统流程1、系统初始化整个系统初始化主要包括STM32控制器的初始化、FPGA模块的初始化、各个驱动模块的初始化、电源模块的初始化,当系统初始化完成后,所有硬件设备均已经准备完成,可以开始正常的运行。
基于STM32的四旋翼飞行器控制系统设计

基于STM32的四旋翼飞行器控制系统设计引言:四旋翼无人机近年来逐渐走向商业化和日常生活化,广泛应用于航拍、货运、农业等领域。
为了保证飞行器的平稳、安全飞行,需要设计一个可靠的控制系统。
本文基于STM32单片机,设计了一种适用于四旋翼飞行器的控制系统。
一、硬件设计1.主控板主控板采用STM32单片机,该单片机具有高性能、低功耗、强大的控制能力等优势。
它能够完成飞行器的数据处理、控制输出等任务。
2.传感器为了获取飞行器的姿态信息,需要使用加速度传感器和陀螺仪。
加速度传感器用于测量飞行器的加速度,陀螺仪用于测量飞行器的角速度。
这些传感器通常被集成在一块模块上,直接连接到主控板。
3.遥控器为了实现飞行器的遥控操作,需要使用遥控器。
遥控器通过无线通信与主控板进行数据传输,控制飞行器的起降、悬停、转向等操作。
4.电源管理飞行器控制系统需要提供可靠的电源供电。
因此,需要设计一个电源管理模块,包括锂电池、电池充电管理电路和电源开关等。
二、软件设计1.姿态估计通过加速度计和陀螺仪的数据,使用滤波算法(如卡尔曼滤波)对飞行器的姿态进行估计。
根据姿态的估计结果,可以计算出飞行器的控制输出。
2.控制算法针对四旋翼飞行器,常用的控制算法有PID控制算法和模糊控制算法。
PID控制算法通过比较飞行器的期望姿态和实际姿态,计算出相应的控制输出。
模糊控制算法可以根据模糊规则和模糊集合来计算出控制输出。
3.通信模块为了实现与遥控器之间的无线通信,需要使用无线通信模块,例如蓝牙模块或者无线射频模块。
通过与遥控器进行数据传输,可以实现遥控操作,并接收遥控器发送的命令。
三、控制流程1.初始化飞行器启动时,首先进行传感器的初始化,包括加速度传感器和陀螺仪的初始化。
然后进行电源管理的初始化,确保电源供电正常。
2.传感器数据采集通过传感器采集飞行器的姿态数据,包括加速度和角速度。
3.姿态估计根据传感器采集的数据,使用滤波算法对飞行器的姿态进行估计。
《2024年基于STM32单片机的无人机飞行控制系统设计》范文

《基于STM32单片机的无人机飞行控制系统设计》篇一一、引言随着科技的不断进步,无人机已成为众多领域的重要工具,其应用领域从军事侦察、地质勘测,到农业植保、物流配送等不断拓展。
为了确保无人机的稳定飞行和精确控制,一个高效且可靠的飞行控制系统显得尤为重要。
本文将详细介绍基于STM32单片机的无人机飞行控制系统设计,包括硬件设计、软件设计以及系统测试等方面。
二、硬件设计1. 主控制器选择本系统选用STM32系列单片机作为主控制器,其具有高性能、低功耗、丰富的外设接口等优点,适用于无人机飞行控制系统的需求。
2. 传感器模块传感器模块包括陀螺仪、加速度计、磁力计等,用于获取无人机的姿态、速度、位置等信息。
这些传感器通过I2C或SPI接口与主控制器连接,实现数据的实时传输。
3. 电机驱动模块电机驱动模块负责控制无人机的四个电机,实现无人机的起飞、降落、前进、后退、左转、右转等动作。
本系统采用H桥电路实现电机驱动,通过PWM信号控制电机的转速和方向。
4. 电源模块电源模块为整个系统提供稳定的电源供应。
考虑到无人机的体积和重量限制,本系统采用锂电池供电,并通过DC-DC转换器将电压稳定在合适的范围。
三、软件设计1. 操作系统与开发环境本系统采用嵌入式操作系统,如Nucleo-F4系列开发板搭配Keil uVision或HAL库进行软件开发。
这些工具具有强大的功能,可以满足无人机的复杂控制需求。
2. 飞行控制算法飞行控制算法是无人机飞行控制系统的核心。
本系统采用四元数法或欧拉角法进行姿态解算,通过PID控制算法实现无人机的稳定飞行。
同时,结合传感器数据融合算法,提高系统的鲁棒性和精度。
3. 通信模块通信模块负责无人机与地面站的通信,包括遥控信号的接收和飞行数据的发送。
本系统采用无线通信技术,如Wi-Fi或4G/5G模块,实现与地面站的实时数据传输。
四、系统测试为了确保无人机飞行控制系统的稳定性和可靠性,需要进行一系列的系统测试。
基于STM32的舵机控制系统毕业设计论文

基于STM32的舵机控制系统摘要随着越来越多的高科技产品逐渐融入了日常生活中,舵机的控制系统发生了巨大的变化。
单片机、C语言等前沿学科的技术的日趋成熟与实用化,使得舵机的控制系统有了新的的研究方向与意义。
本文描述了一个由STM32微处理器、舵机、LCD 显示器、键盘等模块构成的,提供基于STM32的PWM信号舵机的控制系统。
该系统采用STM32微处理器为核心,在MDK的环境下进行编程,根据键盘的输入,使STM32产生周期性PWM信号,用此信号对舵机的速度及转角进行控制,并且通过LCD显示出数据。
结果表明该系统具有结构简单、工作可靠、精度高等特点.关键词:STM32微处理器;舵机系统;LCD显示;PWM信号AbstractAs well as the high-tech products gradually integrated into the daily life,servo control system has undergone tremendous changes.SCM and C language of the frontier disciplines such mature technology and practical,Make steering control system is a new research direction and meaning.This paper describes a STM32 microprocessors, steering, LCD display and keyboard, etc.Based on the STM32 servo control system of PWM signal,This system uses STM32 microprocessor as the core, MDK in the environment, according to the keyboard input programming, STM32 produce periodic PWM signal, with this signal to the velocity and Angle of steering gear control, and through the LCD display data. The features of the simple hardware, stable operation and high precision are incarnated in the proposed system.Keywords:STM32 microprocessors; Steering system; LCD display;pulse width modulation signal目录第1章绪论 (1)1.1 课题背景 (1)1.2 课题的研究展望 (2)课题任务及要求 (2)1.3 课题内容及安排 (3)第2章硬件设计 (4)2.1 STM32微处理单元 (4)2.2 舵机 (8)2.3 LCD显示器 (9)2.4 时钟电路的制作 (10)第3章软件设计 (12)3.1 STM32固件库简介 (12)3.2 软件的总体设计 (13)3.3 时钟初始化子程序 (14)3.4 I/O口初始化子程序 (17)3.5 PWM信号子程序 (17)3.6 A/D转换初始化子程序 (18)3.7 LCD显示子程序 (19)第4章系统调试 (21)4.1 调试方案 (21)4.1.1 硬件调试方案 (21)4.1.2 软件调试方案 (21)4.2 故障调试及解决方法 (22)4.3 联调结果 (22)结论 (26)社会经济效益分析 (27)参考文献 (28)致谢 (29)附录I 电路原理图 (30)附录Ⅱ程序清单 (35)第1章绪论舵机(servo motor),又名伺服电机,主要是由外壳、电路板、马达、减速齿轮和电位器构成。
基于STM32的四旋翼飞行控制系统毕业设计

例如在高空电力线巡检中,无人机能在工作人员的操控下进行工作,可以代替人工对巡检对象实施接近检测,减少工人的劳动强度。也可以携带传感仪器、摄像机等,对巡检对象进行数据收集、分析与存储,这进一步提高巡检的工作效率和巡检精度。在军事上,在局部小规模对战的时候,一些普通的侦察机,可能受到敌方打击而造成不必要的机体人员伤亡,无人机则可以很好地起到替代作用。利用四旋翼飞行器作为侦察机,具有振动小、噪声小、可靠性高、成本低、反侦察能力强、自我销毁等优势。因此无人机的军事价值不可估量。四旋翼飞行器还有着更为广阔的前景等待着开发。比如可以通过为飞行器的添加更加智能的算法实现人机互动,让飞行器帮人取物件等。
1
6
mV
电源模块的原理图如图4.1所示。图里的5V电源来源于电子调速器的BEC降压系统。
图4.1电源模块电路图
4.1.2STM32F407最小系统
STM32F407VET6是意法半导体基于CORTEX-M4内核的芯片,STM32F407拥有的资源包括:集成FPU和DSP指令,并具有192KBSRAM、1024KB FLASH、12个16位定时器、2个32位定时器、2个DMA控制器(共16个通道)、3个SPI、2个全双工I2S、3个IIC、6个串口、2个USB(支持HOST /SLAVE)、2个CAN、3个12位ADC、2个12位DAC、1个RTC(带日历功能)、1个SDIO接口、1个FSMC接口、1个10/100M以太网MAC控制器、1个摄像头接口、1个硬件随机数生成器、以及112个通用IO口等。该芯片的配置十分强悍,具有卓越的性能。相对STM32F1来说,许多功能进行了重大改进。STM32最小系统电路图如图4.2所示。
基于STM32双臂魔方机器人的设计

基于STM32双臂魔方机器人的设计
高达
【期刊名称】《电子产品世界》
【年(卷),期】2018(025)011
【摘要】基于STM32的双臂魔方机器人能够将任意打乱的三阶魔方快速还原.在研究各种魔方机器人机构的基础上,设计了一种体积小、速度快、性能稳定的机械结构,能使魔方机器人适应不同环境.
【总页数】3页(P51-53)
【作者】高达
【作者单位】北华大学机械工程学院吉林省吉林市 132021
【正文语种】中文
【相关文献】
1.基于STM32的魔方机器人设计 [J], 徐豪康; 赵越岭; 邹正杰; 梁慧泽
2.基于STC8的双臂魔方机器人设计 [J], 邓小颖;魏国梁;李志强;陈磊
3.一种双臂魔方还原机器人机构设计 [J], 阮嘉宏;翁涌杰;俞龙杰;邹赵渭;储博凯;陈龙;江晓亮
4.基于STM32的魔方复原机器人设计 [J], 王海泽;付跌辉;李宗璞;王佳纯
5.基于Kociemba算法的双臂解魔方机器人还原算法研究 [J], 卢桂萍;程开;罗泽奇;吴荣鑫;陈永键;康诗铄
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
龙源期刊网 http://www.qikan.com.cn 基于STM32和A4988的魔方控制系统 作者:李俊安 赵春丽 黄泽林 陈昊文 陈芳 来源:《科技创新与应用》2018年第20期
摘 要:文章设计了一种控制魔方转动的控制系统。以三阶魔方为主要模型,通过研究三阶魔方的内部结构,以一个控制转动的魔方轴作为定轴,剩余的五个旋转的可动的动轴来控制魔方的转动。在该控制系统中,主要利用步进电机的精准角度的转动特性来控制魔方的每一个面的旋转,从而达到魔方控制的效果。步进电机的转动主要是通过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 引言 随着教育事业的不断发展,要求学生多元化方向发展,从而学生的课程越来越多,所需的书籍也随之增多。因此,基于书籍的分类,在魔方结构的基础上,我们推出一款以魔方结构为基础的智能书架。 龙源期刊网 http://www.qikan.com.cn 以三阶魔方为例,魔方的转动可根据相关的魔方公式来进行,从而可以使特定方格达到理想位置。控制魔方转动的动力来源于步进电机,而步进电机的驱动有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为反转。 龙源期刊网 http://www.qikan.com.cn (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 功能设计 魔方控制系统的步进电机的控制要求如下: