SimpleFOC(二)—— 快速入门 (开环控制)

STM32搭配SimpleFOC实现直流无刷电机BLDC开环控制完整指南 直流无刷电机(BLDC)凭借高效率、长寿命等优势,已广泛应用于无人机、机器人关节和电动工具等场景。然而,传统方波换相存在转矩脉动大、低速性能差等痛点,而磁场定向控制(FOC)虽能实现平滑驱动,其复杂的坐标变换与SVPWM算法却令许多开发者望而却步。SimpleFOC作为开源电机控制库,将FOC核心算法高度封装,让开发者无需深入数学推导即可快速上手。本文从基础概念出发,讲解开环控制原理——即通过旋转电压矢量牵引转子同步运动,并重点分享基于STM32与SimpleFOC的硬件接线、PlatformIO工程配置、 阅读详情
AI摘要

本文详细介绍使用SimpleFOC进行电机开环控制的方法,包括硬件准备、软件安装配置及示例程序运行步骤。适合初学者快速掌握电机控制的基础知识。


 

SimpleFOC的教程比较多,做了一个总的链接,欢迎点击阅读:SimpleFOC教程链接汇总
 

●一、硬件介绍

  

◆1、驱动板版本说明

  1、V1.3.3         2、V2.0.3        3、V0.2
在这里插入图片描述
    V1.3.3没有电流采样,这样做的好处是硬件成本低,控制程序简单,但缺点是力矩控制是开环的,直接输出电压(也就是PWM的占空比)来调节力矩。升级后的第二代V2.0.x增加了电流采样,可以做到力矩闭环,当然代价就是增加了采样电阻和运放,成本提高了。
    V2.0.x的板载驱动芯片是L6234,工作电压7-52V,峰值电流5A,官方推荐工作电压<24V,电流<3A,负载电机的内阻要>10欧姆。主要是针对小功率云台电机。
    V0.2是大功率驱动器。主要是更换了驱动芯片,其控制方法与小功率类似。板载驱动芯片是BTN8982TA,工作电压可达40V,电流55A。
    程序学习先从小功率云台电机开始。
  

◆2、驱动板跳线

    按照创作者的设计,Arduino主板可以同时控制两个电机,但是V2.0.3驱动板只能接一个电机,所以需要手动把控制引脚和驱动电路连接起来。本节只演示开环控制程序,只需要把9、5、6、8引脚连接即可。直接用焊锡短接或者0欧姆电阻连接。
在这里插入图片描述

  

◆3、硬件准备

序号名称数量
1Arduino UNO1
2simpleFOCShield V2.0.31
3云台电机1
412V电源1
5方口USB线1
在这里插入图片描述
● simpleFOCShield V2.0.3购买链接:淘宝购买
●电机购买链接:淘宝购买
  

◆4、硬件连接

    ①、SimpleFOCShield V2.0.3主板与Arduino UNO主板堆叠连接,
    ②、USB线连接Arduino UNO主板,与主板通信并提供5V电压,
    ③、12V电源连接主板TB_PWR接口,注意正负极,
    ④、电机三根相线连接至V2.0.3主板TB_M1的3个接口。三根相线不用区分,任意接在端子上。
 

  12V先不要上电,开环控制电机会发热,上电时间过久容易烧坏。最好等到程序编译上传后再上电,上电尽快操作。
  开环控制的目的主要是建立对电机控制的初步认识,以及验证电机和驱动板功能是否正常,不要停留太久!

    硬件连接如下图:
在这里插入图片描述

  
  

●二、软件操作

  

◆1、安装Arduino IDE

    SimpleFOC是完全基于Arduino的一个开源项目,所以对这个项目有兴趣的同学要先熟悉Arduino。
    Arduino IDE下载地址:https://www.arduino.cc/en/software
在这里插入图片描述
在这里插入图片描述
    此软件免安装,下载的文件,放到不包含中文路径的文件夹中,解压后双击图标 打开软件,如果打开失败,可能是需要安装JDK,请先安装Java的JDK。
  

◆2、安装SimpleFOC library

    ◎打开软件后,点击 工具—>管理库
在这里插入图片描述
    ◎在打开的小窗口中输入Simple FOC,选择最新版本,点击安装。
在这里插入图片描述
    安装完以后关闭软件,重新打开Arduino IDE。
  

◆3、打开示例程序

在这里插入图片描述
  

●三、电机控制

 

◆1、程序下载

motor.voltage_limit 控制开环时的电流,对于大功率航模电机设置小一点(0.5-1)否则电机发热严重;对于小功率云台电机设置大一点(1-3)否则电机无力转不动。
 
◎例程打开后程序不需要做任何改动,只要驱动板的跳线是按照《2、驱动板跳线》9、5、6、8连接,电机极对数虽然不一定刚好正确,但是开环情况下并没有影响。
在这里插入图片描述
  
◎点击 工具,查看端口是Arduino所用接口(主要针对电脑上连接有多个USB转串口)。
在这里插入图片描述
  
◎点击“上传”,等待上传成功,
在这里插入图片描述
  

◆2、开环速度控制

◎开环速度控制需要通过串口发送指令,所以先打开“串口监视器”,
在这里插入图片描述
◎修改波特率为115200,Arduino初始化后会上传信息,如下图:
在这里插入图片描述
◎输入速度“T5”(T表示这是一个速度指令,5的单位是rad/s),然后点击“发送”,
在这里插入图片描述
◎收到指令后电机开始转动,并回复当前速度,
在这里插入图片描述
◎输入不同的速度指令,可观察到电机转速随指令变化,速度不能设置太快,会导致电机失步,由转动变成震动。
  
开环速度演示视频:https://www.bilibili.com/video/BV1KK4y1R7dm/
  
注意:
1、不同电机KV值不同,可以设置的最大速度不同,
2、开环控制时间不能太久,电机会发热。此程序主要为演示,正常使用一般采用闭环模式。

  

◆3、开环位置控制

◎打开示例程序
在这里插入图片描述
◎修改电机极对数,当前所用电机极对数为7。极对数就是电机的外转子中的磁钢数,当前电机有14片磁钢,也就是7对。simpleFOC的程序可以自动检测极对数,在稍后章节中会给大家讲解。
在这里插入图片描述
◎编译,上传。示例代码为只读文件,修改后的程序不能保存,如需保存要另存为。
在这里插入图片描述
◎打开 串口监视器,
在这里插入图片描述
◎等待程序完成初始化,
在这里插入图片描述
◎输入位置信息,点击 发送
在这里插入图片描述
◎可以看到电机转了一圈后停止,并回复位置信息。
在这里插入图片描述
◎输入不同的位置指令,可观察到电机转动到不同位置。
  
开环位置演示视频:https://www.bilibili.com/video/BV1q44y1z7jj/
  

◆4、程序说明

  ⑴、SimpleFOC中,所有的速度、角度和位置信息都是弧度制,180°=π=3.14,所以360°=6.28。
  ⑵、在开环速度例程中:
  因为电机极对数不正确,可能会导致设置速度与实际速度不一致,如果修改为当前使用的电机极对数7,输入6.28,电机会按照6.28rad/s的速度转动,也就是一秒一圈。
  ⑶、在开环位置例程中:
  上电后电机复位为0度(电角度),角度计算采用累加的方式,比如输入角度为10,电机转动10rad到指定位置,再输入11,则沿着刚才的方向再转动1rad到11rad,再输入0,电机反转回到起始位置。
  如果电机极对数设置不正确,比如当前使用的电机极对数为7,程序中为11,输入6.28,电机会转动11个极对数,也就是一圈半多一点。关于电角度和机械角度的区别请自行百度。
 
 
(完)
 
欢迎加入simpleFOC技术交流群:923734429 群已满根据提示添加新群 (入群申请写:优快云)
 
请继续阅读相关文章:
SimpleFOC(一)—— 简介(附有文件下载链接)
SimpleFOC(三)—— AS5600角度读取
SimpleFOC(四)—— 闭环控制
SimpleFOC(五)—— 双电机控制
SimpleFOC(六)—— PowerShield和AS5047P
SimpleFOC(七)——STM32(Bluepill)的应用
SimpleFOC(八)—— 理论+实践 深度分析SVPWM
SimpleFOC(九)—— 霍尔电机控制

simpleFOC控制无刷电机理论及实践 1. 阅读详情

相关推荐

simple foc 移植KEIL驱动双路电机

SIMPLE FOC 的通信控制协议加ST的定点算法才能较好的用在实际项目。首先需要将SIMPLE FOC 移植到KEIL中。

qq_42254853的博客 2594

SimpleFOC(一)—— 简介(附有文件下载链接)

●前言 我们生活在一个非常激动人心的时代????! 无刷直流电机正进入越来越多的爱好社区,许多伟大的项目已经出现利用其远远优越的动态和功率能力。无刷直流电动机比普通直流电动机有许多优点,但有一个很大的缺点,即控制的复杂性。尽管PCB的设计和制造已经变得相对容易,并且我们自己创造了驱动无刷直流电机的硬件解决方案,但是合适的低成本解决方案还没有出现。其中一个原因是编写BLDC驱动算法的明显复杂性,磁场定向控制(FOC)是最有效的算法之一。可以在线找到的解决方案对于某些硬件配置和所使用的微控制器体系结构几乎都非常

loop222的博客 6万+

SimpleFOC调参1-力矩控制

simpleFOC studio调参,FOC各参数图形化含义总结

sinat_22081411的博客 1万+

SimpleFOC移植STM32(一)—— 简介

目录一、代码移植说明二、程序原理2.1、有感FOC控制原理2.2、有感FOC(不带电流采样)控制原理2.3、SVPWM(heart function)三、适配硬件3.1、Bluepill3.2、SimpleMotor四、程序架构五、演示功能   一、代码移植说明   多年前第一次听说“开源”这个事儿的时候非常不理解,自己辛苦写的代码让别人随意下载研究多吃亏呀,后来见的多了,发现开源也有它自身的一套商业逻辑。但是无论如何开源促进了技术的进步,避免大家重复造轮子,所以这是一件好事!   网上很多文章讲FOC都是

loop222的博客 7万+

基于STM32与SimpleFOC实现直流无刷电机开环控制的实战指南

本文提供了一份基于STM32微控制器与SimpleFOC开源库实现直流无刷电机开环控制的详细实战指南。内容涵盖硬件连接、PlatformIO环境搭建、核心代码解析及上电测试,旨在帮助开发者快速验证硬件并理解开环控制的基本原理,为后续实现高性能的闭环FOC控制奠定基础。

xxx12的博客 960

无刷电机驱动实战 - 基于STM32F405与SimpleFOC实现开环速度控制

本文详细介绍了基于STM32F405微控制器与SimpleFOC开源库实现无刷电机开环速度控制的实战教程。通过CubeMX工具配置HAL库与PWM定时器,快速搭建硬件驱动框架,并利用SimpleFOC简化FOC算法实现,帮助开发者高效完成电机驱动验证,为后续闭环控制奠定基础。

s1t2u3的博客 502

SimpleFOC、ODrive和VESC 教程链接汇总

一、SimpleFOC系列教程 SimpleFOC(一)—— 简介(附有文件下载链接) SimpleFOC(二)—— 快速入门 (开环控制) SimpleFOC(三)—— AS5600角度读取 SimpleFOC(四)—— 闭环控制 SimpleFOC(五)—— 双电机控制 SimpleFOC(六)—— PowerShield和AS5047P SimpleFOC(七)——STM32(Bluepill)的应用 SimpleFOC(八)—— 理论+实践 深度分析SVPWM SimpleFOC(九)——

loop222的博客 12万+

STM32F407驱动无刷电机:用CubeMX和HAL库快速实现SimpleFOC开环调速

本文详细介绍了如何使用STM32F407微控制器结合CubeMX和HAL库,快速实现基于SimpleFOC算法的无刷电机开环调速控制。通过硬件配置、定时器设置和算法移植的实战步骤,帮助开发者高效完成电机驱动开发,适用于工业自动化和机器人控制领域。

weixin_42552315的博客 445

STM32+SimpleFOC驱动直流无刷电机开环控制实战指南

直流无刷电机(BLDC)凭借高效率、低噪声和长寿命,广泛用于航模、机器人及工业驱动领域。然而,要让电机平稳旋转,涉及三相全桥驱动、PWM调制和换相逻辑等基础概念,初学者往往被复杂的FOC算法劝退。开环控制作为一种不依赖位置传感器的简易驱动方式,通过预设顺序为三相绕组通电产生旋转磁场,是快速验证电机硬件、理解无刷驱动原理的捷径。SimpleFOC作为轻量级电机控制框架,在STM32平台上封装了SVPWM、坐标变换等底层实现,帮助开发者聚焦控制逻辑。本文以STM32F103搭配SimpleFOC为例,从硬件接线

weixin_33795806的博客 305

基于STM32与SimpleFOC库的直流无刷电机开环驱动实践指南

本文详细介绍了如何使用STM32微控制器和SimpleFOC库实现直流无刷电机的开环驱动。从硬件选型、软件环境搭建(基于PlatformIO)到代码编写与参数调试,提供了完整的实践指南,帮助初学者快速验证硬件并建立对电机控制的基础理解,为后续的闭环FOC控制打下坚实基础。

tensor9flow的博客 389

Makerbase SimpleFOC Shield V3.2 实战入门:从开环测试到编码器校准

本文详细介绍了Makerbase SimpleFOC Shield V3.2驱动板的实战入门指南。内容涵盖从硬件开箱、Arduino软件环境搭建,到关键的开环速度与位置控制测试,并重点讲解了AS5600编码器的连接、信号读取与校准方法,帮助用户快速验证硬件功能,为后续实现精准的闭环FOC控制奠定坚实基础。

desk3的博客 440

STM32+SimpleFOC无刷电机开环控制实战:从接线到代码调参全指南

无刷直流电机(BLDC)的精确控制通常依赖磁场定向控制(FOC),这涉及坐标系变换、PID整定与多类反馈采样,门槛较高。而开环控制作为验证硬件链路与理解电机驱动原理的捷径,无需编码器或电流传感器,仅通过设定电压矢量和电角度即可驱动电机运转。本文从开环与闭环的本质差异切入,解析SimpleFOC库在STM32平台上的工程实践路径,涵盖硬件选型、引脚规划、环境配置及参数逐项拆解。通过电压幅值、极对数、速度爬坡等关键环节的调试经验,帮助读者快速掌握无刷电机的基础驱动逻辑。开环控制不仅适用于风机、云台等负载稳定场景

weixin_34115824的博客 296

避坑指南:SimpleFOC 2.3.4开环控制无刷电机时异响发热的5个解决方法

本文针对SimpleFOC 2.3.4库在开环控制直流无刷电机时常见的异响与发热问题,提供了五个核心调优解决方案。内容涵盖从系统化诊断流程、PWM频率精细调整、电压限幅优化、使能时序与硬件保护,到向闭环控制平滑过渡的策略,帮助开发者快速定位问题,实现电机平稳、高效、低噪音运行。

weixin_29184075的博客 500

SimpleFOC(五)—— 双电机控制

目录一、硬件说明1、硬件清单2、硬件连接二、程序演示三、其他控制模式1、速度模式2、速度和力矩混合模式   一、硬件说明 1、硬件清单 序号 名称 数量 1 Arduino UNO 1 2 simpleFOCShield V2.0.3 2 3 带磁编码器的云台电机 2 4 12V电源 1 5 方口USB线 1 如下图所示:   2、硬件连接   ⑴、驱动板背面跳线   两个驱动板,一个接9、5、6、8,另一个接3、10、11、7。   ⑵、编码器连接   Arduin

loop222的博客 1万+

从示波器波形看懂CAN/RS485/RS422:一个TVS管放错位置,通信全挂的教训

本文通过示波器波形分析,深入探讨了CAN/RS485/RS422通信系统中TVS管布局错误的故障诊断与解决方案。文章详细解析了错误布局导致的波形特征,如信号钳位、阻抗失配等,并提供了正确的保护电路设计方案和终端匹配技术,帮助工程师快速定位和解决通信故障。

weixin_30555515的博客 346

Unity 代码混淆<混淆插件(Obfuscator Pro 3.9.4)>

Unity 代码混淆<混淆插件(Obfuscator Pro 3.9.4)> 插件导入项目 导入后打开OPS/Obfuscator/Obfuscator Pro Settings 打开后可以看到界面如下 可以在上面界面中选择你需要混淆的类,方法,字段,属性,事件,参数。需要混淆的程序集的选择。如果有些程序集混淆后会有问题也可以添加到白名单里不被混淆 根据自己需求取选择 这个界面是是否添加添加随机代码的 如果使用了上面的插件可以使用 插件下载网址:https://download.cs

Xing_Cheng_Yun的博客 5099

无刷电机控制 - 基于STM32F405+CubeMX+HAL库+SimpleFOC01 ,移植simpleFOC

STM32F405与STM32F103在FOC电机控制中的性能对比分析 本文对比了STM32F405和STM32F103在FOC电机控制应用中的核心差异。STM32F405凭借Cortex-M4内核、168MHz主频、硬件FPU和DSP指令集,在运算能力上显著优于72MHz的STM32F103(Cortex-M3)。具体差异体现在: 处理器性能:F405支持浮点运算和DSP指令 内存资源:F405具有112KB SRAM和512-1024KB Flash 外设支持:F405提供更快的ADC采样(2.4Msp

wallace89的博客 2637

保姆级教程:用ROS2 Humble和激光雷达,5分钟搞定机器人避障(附Python代码)

本文提供了一份详细的ROS2 Humble激光雷达避障实战指南,帮助开发者快速实现机器人避障功能。通过环境配置、硬件连接和Python代码实现,5分钟内即可让机器人自主避开障碍物。文章还涵盖了参数调优、常见问题排查及进阶优化技巧,适合机器人开发初学者和进阶用户。

weixin_42528902的博客 342

Makerbase SimpleFOC 第一课 入门配置

第1部分 硬件介绍 1.1 硬件清单 序号 品名 数量 1 SimpleFOCShield V2.0.2 主板 1 2 ARDUINO UNO主板 1 3 MKS SF2804电机 1 4 直流24V 1A电源适配器 1 5 USB 线 1 注意:MKS SF2804是改装的云台无刷电机,增加了径向磁铁和AS5600编码器。 主要参数如下: 序号 名称 参数 1 驱动电压 24V 2 转子极数 14 3 空载电流 10mA 4 最大连续电流 1

gjy_skyblue的博客 8818

IP白名单校验

支持格式: 1、127.0.0.1 // 指定固定IP 2、127.0.0.1-127.0.0.128 // 可使用“-”来表示一个IP区间,支持跨IP段(一般不会出现这种情况,跨IP段则配置多个规则) 3、127.0.* // 2~4位IP段可...

2199

基于PaddleX的垃圾分类识别

基于PaddleX的智能垃圾分类识别项目,使用百度开源的PaddlePaddle深度学习框架,结合PaddleX开发套件,实现对垃圾分类的识别检测

Mefishes的博客 8119

从‘盲人摸象’到‘心中有数’:用ESP32和SimpleFOC库实战无感BLDC电机控制(附代码)

本文详细介绍了如何利用ESP32微控制器和SimpleFOC库实现无感BLDC电机控制,从硬件选型到算法解析,再到启动策略和闭环控制参数整定,提供了完整的实战方案和优化技巧。通过附带的代码和实测数据,帮助开发者快速掌握无感控制技术,提升电机控制性能。

俺是一个瓜娃!!! 700

基于phpstudy搭建pikachu靶场

一、phpstudy下载安装配置 phpstudy介绍 简单介绍一下phpstudy,详细请参考百度解读。pikachu是基于PHP环境搭建的,需要数据库支持,所以装pikachu之前需要先安装它需要的环境,就像你养鱼需要给它提供水环境一样。安装phpstudy能满足pikachu的需求,所以先安装phpstudy。 phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL+phpMyAdmin+ZendOptimizer,一次性安装,无须配置即可使用,是

ptxybird的博客 1万+

电机控制开源固件源码阅读指南:从SimpleFOC到VESC的FOC入门路径

FOC(磁场定向控制)是电机控制的核心技术,通过坐标变换将三相电流解耦为励磁和转矩分量,实现高效精准控制。其原理涉及Clarke/Park变换、电流环PI调节和SVPWM输出,技术价值在于提升电机效率、降低噪音,广泛应用于机器人、工业自动化和电动汽车。阅读开源固件源码是掌握FOC的捷径,但需从简单控制回路入手,逐步深入坐标变换、观测器和系统级问题。本文按入门、进阶、深入三阶段,推荐SimpleFOC、VESC、ODrive等项目,帮助读者建立信号流思维,避开常见坑点。

weixin_33842304的博客 348

社会网络仿真软件:NetLogo_(14).社会网络数据导入与导出

在NetLogo中,社会网络的仿真不仅依赖于模型的内部逻辑,还需要能够灵活地导入和导出数据。这使得用户可以利用外部数据来初始化模型,或者将模型的运行结果导出以便进一步分析。本节将详细介绍如何在NetLogo中实现社会网络数据的导入和导出,包括常见的数据格式和具体的代码示例。

kkchenjj的博客 600

Simulink开发项1000例实战专栏--实例38:基于Simulink的周波变换器(Cycloconverter)

需求分析周波变换器(Cycloconverter),也称为频率变换器或直接变频器,是一种将输入的固定频率交流电直接转换为不同频率的交流电的电力电子设备。它广泛应用于工业领域,如大功率电机驱动、风力发电、船舶推进系统等场合。与传统的间接变频器(如交-直-交变频器)相比,周波变换器具有更高的效率和更简单的结构,适用于需要低频输出的应用场景。

xiaoheshang_123的博客 334
上一篇: SimpleFOC(一)—— 简介(附有文件下载链接)
下一篇: SimpleFOC(三)—— AS5600角度读取
loop222
博客等级 码龄8年 4091粉丝 61原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值