首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏嵌入式程序猿

    学会BLDC电机控制必须搞懂的状态

    BLDC越来越多的应用,如家电,工农业,汽车,无人机,等,如上图就是一个BLDC内部绕组示意图,这段时间一直在做车上的项目,其中涉及到BLDC电机控制调速,BLDC就是直流无刷电机,其中最常用的就是无传感器算法控制 ,完成BLDC电机控制。 功率电路和电机拓扑示意图如上所示,通过反电动势控制六个开关管,MOSFET或者其他如IGBT器件进行换向达到BLDC电机控制调速的目的,其中驱动电路小功率的话可以使用集成的IPM模块,如果是大功率需要自己使用分立器件来做 其中电流环,和速度环成为算法的核心,这两个调速器都是PI调节器,所以做电机控制,PID还是要学会,另外电机的基本原理和基础算法,控制器的软件实现,都要懂,所以一直认为,电机控制是嵌入式行业一个比较难的地方 ,好多的工程师是对电机不太懂,现在做电机控制还是很吃香的,尤其是在新能源车上,各大厂商都在招聘这类人才,而国内的相关专业如自动化等学电机的专业,毕业后,可以说大多数人都对电机还是一知半解,导致了人才的短缺

    2.2K40发布于 2018-07-25
  • 来自专栏嵌入式程序猿

    看图学BLDC电机

    最近项目用到了直流无刷电机控制,其实在公众号之前的文章给大家多多少少介绍过一些BLDC电机的相关知识,无刷直流电机(BLDC)也被称为电子换向电机。转子上没有刷子,在某些转子位置进行电子换向。 其应用非常广泛,如风扇,泵,HVAC系统的鼓风机和压缩机,家用电器,机器人,伺服,跑步机等等,家用电器里现在许多都是BLDC电机控制。 主要分为有传感器和无传感器控制,拓扑框图如下: 可以看出,带霍尔传感器的有传感器控制跟无传感器的框图还是有一些区别,功率电路部分都一样,都是六个功率管子,采用PWM来控制,需要用到MCU的编解码器模块, 这个模块在公众号里曾给大家介绍过,用来测量电机转速。 六脉动的换向,或者叫换流的示意图可以参考如下; 一定要会看这几张图,你才能搞懂BLDC电机控制,和他的原理。

    1.7K120发布于 2018-04-11
  • 使用 ODrive 控制双路无刷电机BLDC)详解教程

    而 ODrive 是一款开源的高性能无刷电机驱动器,可以控制 两路 BLDC 电机,并且支持 霍尔传感器、编码器反馈,以及通过 PWM、串口、USB 与主控板通信。 ⚙️ 一、硬件准备设备名称型号/说明ODrive 驱动板v3.6 或 v3.7(推荐电源 24–48V)BLDC 电机 ×2带霍尔传感器,支持 24–43V,额定电流 < 10A电源DC 36V 电池包 ODrive 是一个功能强大、适配性强的 BLDC 驱动器,特别适合需要双电机控制的中等功率项目。 通过 Python、Arduino 或 PWM 控制的方式,我们可以实现对两个 BLDC 电机的稳定驱动,满足大多数机器人的运动需求。 标签:ODrive、BLDC、无刷电机、机器人控制、Raspberry Pi、Python、Arduino

    1.6K10编辑于 2025-06-25
  • 来自专栏kali blog

    Arduino控制电机

    在工业或农业生产中,我们需要控制电机的正传或反转。以及设备接入物联网,通过手机远程控制设备正转或者反转。通过本文,让我们一起来了解下! 为 L298N 提供工作电压 接地 GND GND 建立共同参考地 控制信号(方向) IN1 D2 控制电机正反转 控制信号(方向) IN2 D3 控制电机正反转 控制信号(速度) ENA(PWM 输入 ) D9 调节电机转速(PWM 调速) 电机连接 OUT1 和 OUT2 - 连接至直流电机 实物连接 ☢️注意事项: L298N电机控制模块,需要接入12V供电。 (IN2, LOW); for(int i=0; i<150; i++) { // 缓慢提升PWM值,减少启动电流 analogWrite(EN, i); delay(10); (IN2, HIGH); for(int i=0; i<150; i++) { analogWrite(EN, i); delay(10); } delay(5000);

    65010编辑于 2025-07-28
  • 来自专栏嵌入式程序猿

    直流无刷电机控制

    摘要 本篇笔记主要介绍,如何利用ST MCSDK实现直流无刷电机控制 2. 准备工作 1), IAR 8.3.1 2), 安装ST 电机控制MCSDK软件 ? 举例说明 ST的电机控制SDK主要是为现在应用越来越多的直流无刷电机BLDC和永磁同步地啊你PMSM的控制而开发的,提供库和源码两个版本,库版本随便下载使用,带源码的需要公司邮箱申请验证批准下载 ? 我们以F103为例以IHM07M1意法的小功率板为例来控制一个小直流无刷电机电机参数如下 ? ? ? 4. 操作步骤 打开电机控制的workbench 软件,选取控制板和功率板,以及电机,如果是官方的板卡还可以使用motor profile自动识别电机参数,提高控制精度,如果是自制板卡需要自己清楚电机参数或者测量电机参数 可以看到成功实现了电机控制,当然有兴趣的可以自己研究下FOC算法,实际的项目中,我们还要根据实际做一些修改,调试双环控制的PID参数,也支持三环控制。demo可以成功实现直流无刷电机控制。 5.

    1.2K30发布于 2021-01-05
  • 来自专栏码农爱学习的专栏

    电机控制进阶——PID速度控制

    之前的几篇文章(电机控制基础篇),介绍的电机编码器原理、定时器输出PWM、定时器编码器模式测速等。 本篇在前几篇的基础上,继续来学习电机控制,通过PID算法,来进行电机的速度控制,并进行实验测试。 电机PID速度控制 上面介绍了PID的基础知识,接下来就使用位置式PID来实现对直流电机转速的控制。 实验演示 目标速度值设为50(这里的目标值50使用的是编码器10ms捕获的脉冲数),通过体调节PID的参数,来测试电机能否较快的达到目标速度。 先调节P 【1】P值先使用10看看效果,从速度曲线可以看出,达不到目标速度,且与目标速度相差较大。 P I D 10 0 0 ? 【2】P值加大到100,从速度曲线可以看出,还是达不到目标速度。 演示视频 相关文章--[电机控制基础]: 文中涉及到PWM控制电机编码器测速的知识可以看下基础篇的介绍 专辑 | 电机控制 1 编码器计数原理与电机测速原理——多图解析 2 电机控制基础——定时器编码器模式使用与转速计算

    4.6K32发布于 2021-06-24
  • 来自专栏嵌入式程序猿

    电机控制好工具

    电机控制历来都是一个难点,在学校里学习时学生的难点,在工作中也是工程师的难点,我们曾经给大家介绍过一些电机的知识,因为手上刚好有一台NXP的高压电机控制平台,今天我们来看看NXP推出的电机控制高压平台 ,适用于三相感应电动机(ACIM) ,直流无刷电动机(BLDC),永磁同步电动机(PMSM). 做电机控制一定要注意安全,因为涉及到高压部分。 这些参考资料和制版文件都是可以下载到,对电机控制感兴趣的同学可以去看看。 ? 因为电机控制涉及到控制器大量的外设,需要掌握PWM,ADC, UART, TIMER, 还有一些电机控制的专有算法,滤波,坐标变换以及反变换,PI调节等,对功率电路也要有一定了解,熟悉常用功率管的工作特性 所以说做电机控制基本上把你大学相关的课程都涉及到了。随着工业4.0时代的到来,大量电机的智能控制也提到工程师面前,掌握好基础,才能应对这些变换和挑战。

    1.2K50发布于 2018-04-10
  • 来自专栏全栈程序员必看

    电机控制foc算法讲解_电机算法需求

    ,FOC控制算法主要是电机的稳定性控制,而不是电机本体的驱动。 FOC(电机矢量控制)要求严格的转子磁场定向,对于BLDC电机而言转子磁场方向始终与转子位置一致,因此其控制输入需要准确的转子绝对位置信号 DTC(直接转矩控制)实际上与基于定子磁场定向,而定子磁场则是依据电压积分估算获得 ###市场上电调分类 1、FOC电调:矢量控制,效率高,转矩脉动小,电机噪音小,减速制动快 2、普通电调:六步换向控制,方波驱动 STM32有BLDC开发套件 ###BLDC电机控制算法: PID 控制,专家PID控制,模糊PID控制,神经PID控制,基于遗传算法整定的PID控制,鲁棒控制,滑膜控制等; ###电机方面的知识: 1、根据《无刷电机控制系统》中所讲述:目前国内外对无刷直流电机的定义一般有两种 5、无刷直流电机KV值定义为:转速/V,意思是输入电压每增加1V,BLDC电机空转转速增加的转速值。同系列同外形尺寸的无刷电机,根据绕线匝数的多少,会表现出不同的KV特性。

    6.1K31编辑于 2022-09-29
  • 来自专栏码农爱学习的专栏

    电机控制进阶1——PID速度控制

    之前的几篇文章(电机控制基础篇),介绍的电机编码器原理、定时器输出PWM、定时器编码器模式测速等。 本篇在前几篇的基础上,继续来学习电机控制,通过PID算法,来进行电机的速度控制,并进行实验测试。 在实际的编程应用中,需要使用离散化的PID算法,以适用计算机的使用环境,下面以电机转速控制为例,来看一下两种PID算法的基本原理。 电机PID速度控制 上面介绍了PID的基础知识,接下来就使用位置式PID来实现对直流电机转速的控制。 pid-3.png 实验演示 目标速度值设为50(这里的目标值50使用的是编码器10ms捕获的脉冲数),通过体调节PID的参数,来测试电机能否较快的达到目标速度。 先调节P P值先使用10看看效果,从速度曲线可以看出,达不到目标速度,且与目标速度相差较大。

    6.2K22发布于 2021-06-22
  • 来自专栏嵌入式程序猿

    这个电机和电力变换调式神器你值得拥有

    其实很早之前在公众号给大家推送过NXP的这个神器,freeMaster,这个工具其实已经好多年了,在最早的飞思卡尔早期就存在,一直是工程师调试电机,电力变换的神器,确实好用,最近在调试BLDC, ACIM 电机,还有PFC电源,LLC电源都用到这个神器,因为还是开源的,所以很好集成到系统里。 此次用来测试的一款低压电机,是一款低压BLDC电机,24V,40W,2极,4000RPM的电机,采用无传感器六步控制换向法,目前BLDC电机应用非常广泛,电机控制历来都是难点,因为涉及到多学科知识综合 最近PFC电源,LLC电源也在加紧调试,有项目的尽管来骚扰,甩过来, 给你嵌入式程序猿最优质的服务,我们的团队都是平均拥有超过10年设计开发经验的工程师。 同时也承接PCB板,电机控制器,变频器维修业务。

    64920发布于 2018-09-28
  • 来自专栏码农爱学习的专栏

    电机控制进阶2——PID位置控制

    上篇文章电机控制进阶——PID速度控制讲解了电机的速度环控制,可以控制电机快速准确地到达指定速度。 本篇来介绍电机的位置环控制,实现电机快速准确地转动到指定位置。 1 位置控制与速度控制的区别 回顾上篇电机控制进阶——PID速度控制电机速度PID控制的结构图如下,目标值是设定的速度,通过编码器获取电机的转速作为反馈,实现电机转速的控制。 ? 再来看电机位置PID控制,其结构图如下,目标值是设定的位置,通过编码器获取电机累计转动的脉冲数作为反馈,实现电机位置的控制。 ? 所以:对比两张图,速度控制与位置控制的主要区别,就是控制量的不同。 2.2.2 PID电机控制逻辑 周期定时器的回调函数中进行PID的计算,程序中被注释掉的两句是速度控制的代码,用于与位置控制进行对比,通过对比可以明显的看出,位置控制与速度控制的区别在于传入PID的控制量 = pwm_val_protect((int)PID_realize(encoderNow));/*传入编码器的[总计数值],实现电机【位置】控制*/ /*【3】PWM控制电机*/

    3.7K31发布于 2021-06-24
  • 来自专栏OpenFPGA

    基于 FPGA 的电机控制

    FPGA 非常适合精密电机控制,在这个项目中,我们将创建一个简单的电机控制程序,在此基础上可以构建更复杂的应用。 然而,当想要进行精密或高级电机控制时,没有什么比 FPGA 的确定性和实时响应更好的了。接口的灵活性还使得可以通过单个设备控制多个电机,从而提供更加集成的解决方案。 首先,我们将学习一些有关电机控制理论的知识,并创建一个简单的示例。我们都知道,我们可以通过PWM信号来驱动直流电机控制其速度。然而,高效、精确地驱动它需要对电机控制理论有更多的了解。 两者中最容易控制的是有刷直流电机,所以我们就以这类电机为例。 脉宽调制驱动 使用 PWM 驱动电机的理论是,可以控制电机得到的平均电压,从而控制其速度。 在 PWM 信号占空比为 100% 时,电机处于满电压并全速运行。如果提供 10% 的占空比,电机就会以其全速的 10% 运行。 然而,为了有效地运行电机,我们需要正确确定 PWM 周期。

    1.1K20编辑于 2023-08-30
  • 来自专栏全栈程序员必看

    无刷直流电机控制方式(无刷电机控制原理)

    目前,主流的无刷直流电机控制方式有3种:FOC(又称为矢量变频、磁场矢量定向控制)、方波控制(也称为梯形波控制、120°控制、6步换向控制)和正弦波控制。那么这3种控制方式都各有什么优缺点呢? 每个换向位置电机输出特定方向的力,因此可以说方波控制的位置精度是电气60°。由于在这种方式控制下,电机的相电流波形接近方波,所以称为方波控制。 方波控制方式的优点是控制算法简单、硬件成本较低,使用性能普通的控制器便能获得较高的电机转速;缺点是转矩波动大、存在一定的电流噪声、效率达不到最大值。方波控制适用于对电机转动性能要求不高的场合。 显然,正弦波控制相比方波控制,其转矩波动较小,电流谐波少,控制起来感觉比较“细腻”,但是对控制器的性能要求稍高于方波控制,而且电机效率不能发挥到最大值。 由于控制电机定子磁场的方向,所以可以使电机定子磁场与转子磁场时刻保持在90°,实现一定电流下的最大转矩输出。

    1.9K20编辑于 2022-07-31
  • 来自专栏嵌入式程序猿

    ST的电机控制平台

    电机控制历来是芯片半导体厂家的必争之地,在公众号里多次介绍过NXP的电机控制平台,从直流无刷,到永磁同步到交流异步,包括项目中的使用探讨情况,最近在用ST的片子,ST同样提供很好的电机控制和参考设计平台 , 通过装载电机控制SDK的设计文件可以生成工程,根据需要进行裁剪和参考 很形象化的从拓扑到结构和芯片的选择,管脚定义都有很好的参考。 降低了许多刚入门电机控制的工程师的门槛。但是如果想控制电机,还是要对基础理论很清楚,但这些工具确实能够很好的帮到你快速完成搭建和验证,在配合MATLAB/simulink那更是如虎添翼。 生成的工程也很清晰,划分也很符合模块化设计的规则,是很好的电机控制参考工程。 有兴趣的可以对比下我们之前介绍的NXP的平台和ST的平台,根据你的需要合理选择和使用,同时参考一些设计中的考虑和分析。 现在的许多电机控制的项目都可以采用官方提供的工具和MATLAB的工具很好的完成,而且减少了很多工程师设计的时间。尤其随着这几年基于模型的设计,越来越多的设计项目可以采用一系列的工具来完成。

    1.1K10发布于 2019-12-12
  • 来自专栏全栈程序员必看

    直流无刷电机控制器(换电机霍尔收费多少)

    BLDC demo板是这样的: 芯片资料,bldc控制板简要说明,原理图,有感和无感的开源软件等等,请点击下载: JMT18F003 PLUS BLDC DEMO 板应用笔记 1. 简介 本应用笔记讨论了使用 JMT18F003 PLUS 控制芯片对无刷直流电机(Brushless Direct Current Motor, BLDC)进行方波算法的控制。 2. 电机开发板使用说明 3.1 电机板如下图 1 所示,包括以下资源: 控制芯片:JMT18F003 PLUS芯片; 24V-DC电源接口:为电机板提供24V直流电; 电机U/V/W 接口:连接电机的3根控制线 3.2 电机板使用注意点 由于下载串口的 RX管脚与滑阻管脚复用,在使用的时候只能二选一; 电机控制方式选择如图 2 所示,排针 J5、J6、J7 按图 2 左边方式短接则表示选择的电机控制方式为无感控制方式 ,按图 2右边方式短接则表示选择的电机控制方式为有感控制方式。

    1.2K20编辑于 2022-07-28
  • 来自专栏全栈程序员必看

    单片机控制步进电机

    简介: 用单片机控制步进电机正转 反转 加速 减速; 由LCD1602实时显示步进电机的状态;F-正转 B-反转;数字越大,转速越大; 仿真原理图如下: MCU和LCD1602显示模块: ; void delay(uchar xms); /*------------------------------------------- FileName:main.c Function: MCU控制步进电机 Description:控制步进电机正转 反转 加速 减速; 由LCD1602实时显示步进电机的状态; F-正转 B-反转;数字越大,转速越大; --------------------------- direcChange); direcFlag = ~direcFlag; } } } /*步进电机控制执行函数*/ void execute(){ uchar i, j; startPos (speed + 1) * Factor; j++){ // 用延时来控制脉冲输出的频率,从而控制步进电机转速 delay(10); } } } /*-------------------

    93521编辑于 2022-09-05
  • 来自专栏云深之无迹

    L6234无刷直流电机控制-简易版

    我本来今天想来一发源码分析的,但是我手头没有鼠标,我一想截图那么多就算了,我发一个电机驱动的代码就行。 SimpleFoc-云台电机2804+AS5600 SimpleFoc-原理图(STL6234+INA240) 所以一个输出要两个接口控制 L6234 驱动器有 3 个输出:OUT1、OUT2 和 每个输出由 2 个引脚控制:输入 (IN) 和使能 (EN),例如 OUT1 由 IN1 和 EN1 控制。 下图显示了每个半桥的控制逻辑: 逻辑电平 输出电平 另外这个原理图看左边,为了方便可以把使能脚直接都拉低 这样使用三个引脚模拟也是可以的 1.L6234 三相电机驱动器 2.6 x 33k (); bldc_step++; bldc_step %= 6; } void bldc_move() { // BLDC motor commutation function switch

    82820编辑于 2023-03-24
  • 来自专栏云深之无迹

    震惊,MPS居然搞起来了这个东西!

    此外,传统电机系统尺寸较大,有可能让其他关键组件无法安装到有限的空间中。 相比之下,集成智能电机仅需三个基本组件:电机控制器和反馈器件(见下图)。 这是 MPS(Monolithic Power Systems)空心杯无刷电机BLDC coreless motor)及驱动/磁编码器方案 的展会资料,面向: 人形机器人与灵巧手,医疗器械,工业自动化 电机能量转换公式 电机把电能转为机械能,能量守恒: 意味着:电能 → 机械输出 + 铜损(焦耳热),空心杯 BLDC 没有铁损,因此模型比普通 BLDC 更干净 转速常数 与转矩常数 页面非常关键的一句话 : 对于 MPS 电机来说,转矩与电流是等同的(线性关系) 也就是: 这在控制上极其重要: 只需要控制电流,就等于控制力矩,这为 FOC(磁场定向控制)提供极高的可控性 意味着:转速与反电动势成正比,转速越高 空心杯 BLDC 的优势 无铁芯 → 无齿槽 → 极致平滑力矩控制;转子轻 → 惯量低 → 加减速快;高频响应能力强 → 医疗/工具行业首选 MPS 的优势 电机 + 驱动 + 编码器 = 完整模块 FOC

    29510编辑于 2026-01-07
  • 来自专栏全栈程序员必看

    单片机控制步进电机正反转c语言程序,单片机控制步进电机1步10步100步正反转…

    原标题:单片机控制步进电机1步10步100步正反转 一,程序设计方案的构想: 1) 的控制原理 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件.在非超载的情况下,电机的转速,停止的位置只取决于脉冲信号的频率和脉冲数 ,而不受负载变化的影响.即给电机加一个信号,电机则转过一个步距角.这一线形关系的存在,加上步进电机只有周期性的误差而无积累误差等特点,使得在线速度,位置等控制领域用步进电机控制变的非常的简单. 2) 分析设计 使用以软件方式驱动步进电机通过编辑方法,对步进电机的转速,往返转动的角度以及转动次数等进行控制使其在一定的范围下进行,还可以方便灵活的控制步进电机的运行状态: 3)原理图: 4)连接图: 输出端 KM4 P1.3 4B P2.4 KM5 5)运用元件及电路图 元件名称 型号 件数 单片机 AT89C51 1 晶振 CRYSTAL 1 电容 CAP 22PF 47UF 2 电阻 RES 0.6W 10K 步按钮无法运行,其他都正常运行,回到程序检查时发现10步程序编写出现错误,经过改正后,可以运行.

    86620编辑于 2022-08-24
  • ODrive 替代方案探索:如何用 SimpleFOC 或 VESC 降低项目成本

    ODrive 简要回顾特性内容控制类型支持位置 / 速度 / 电流闭环控制通信方式USB / UART / PWM / CAN电机支持双路 BLDC(支持霍尔、编码器)软件生态Python API、odrivetool 典型应用场景 简易云台 小型平衡车 电机教学实验 ✅ 替代方案二:VESC(Vedder ESC) 简介VESC 是由 Benjamin Vedder 开发的高性能 BLDC 驱动器平台,支持 FOC 控制、高速通信(CAN/UART)、闭环反馈,适合中型电机控制任务。 ⚙️ 推荐硬件组合组件型号建议驱动板VESC 4.12 / VESC 6.6主控通信平台Raspberry Pi / STM32 / ESP32电机中功率 BLDC(如 500W 电动滑板)✅ 优点 功能强大 )控制器支持电机数双路 BLDC单路 BLDC单路(可多块并联)成本(含电机)中高低中调试工具odrivetool / Python APIArduino IDE / SerialPlotVESC Tool

    1.8K11编辑于 2025-06-25
领券