当前位置: 首页 > news >正文

电机学习-有感BLDC开环控制(六步换相)

文章目录

      • 1. 简介
      • 2. 六步换向控制
      • 3. 机械角度和电角度
      • 4.转子位置获取
      • 5.霍尔传感器读取测试
      • 6.速度开环控制
        • 6.1 PWM设置
        • 6.2死区时间

1. 简介

BLDC的反电动势一般是梯形的反电动势,所以采用方波控制。如图2-1所示,是一个简化的内转子无刷直流电机。我们通过控制ABC三相的导通顺序来产生不同的磁场,使电机的转子转动。
在这里插入图片描述
​ 图2-1

2. 六步换向控制

对于ABC三相,我们每次选取其中两相来导通,那么总共有6种排列组合的方式,如图2-2所示。
在这里插入图片描述
​ 图2-2

我们可以通过控制三相导通的顺序使电机转起来。

步骤A相B相C相
第一步悬空
第二步悬空
第三步悬空
第四步悬空
第五步悬空
第六步悬空

当电机转第六步的时候再循环第一步到第六步,这样电机就顺时针转了起来,如果要逆时针旋转,那么就反过来从第六步开始。当然,实际使用的过程中电机转子的初始位置我们是不知道,这里只是一个举例说明六步换向的控制原理。另外电机的速度也不是由换向频率来决定的。因为换向使一个被动的动作,只有转子到达了某一位置我们才可以进行换向来促使转子到达下一个位置,如果想要控制电机转速,就需要控制电流(两相之间的电压),从而控制磁场强度(转子受到的作用力)来控制电机的速度。

3. 机械角度和电角度

机械角度就是电机实际的角度,一圈是360°。而对于电角度的个人理解是一个定子上电压(电流)变化一个周期为360°。电角度=机械角度*P,P为电机极对数。

在六步换向控制电机的过程中,六步换向一个周期经过的电角度是360°,A相的电压如图2-3所示,在一个周期中正电压的持续周期时间是120°,悬空持续的时间是120°,负电压的持续时间是120°。
在这里插入图片描述
​ 图2-3

4.转子位置获取

在进行六步换向的过程中,我们需要确定当前转子的位置来对ABC相进行控制。在有感控制中,通过霍尔原件来确定转子的位置,在无感控制中是根据反电动势来判断电机的位置。霍尔传感器在电机中一般有两种安装方式一种是三个传感器间隔120°电角度,一种是三个传感器间隔60°电角度安装。这样安装可以保证在六步换向的一个周期中,每一步对应的传感器编码不一样,我们可以根据传感器的编码来确定转子是否到达位置从而进行换向,三个相隔120°电角度的霍尔传感器在一个周期中的编码如图2-4所示。关于下图的理解:在一个六步换向的周期中,每个相都会经历一个从正电压—>悬空---->负电压—>悬空的一个过程。假设正电压的时候该相上是N极,它吸引转子的一个S极过来,并推走当前的N极,直到S与该相正对上,此时它悬空,然后另外两相通电,将S极转走,S极转走后,该相变为负电压产生S极,将转子的下一个N极吸引过来,此时它再悬空,另外两相通电将N极转走。在这个过程中,它经历了转子一个完整的N极和S极。那么三个霍尔传感器也会经历一个N极和S极。又因为三个传感器相差120°的电角度,所以b传感器的高电平延时a传感器120°,c传感器的高电平延时b传感器120°。因此我们可以看到在一个六步换向周期中,abc组成的编码有6种,我们可以根据编码器的值来判断电机换向的时机。
在这里插入图片描述
​ 图2-4

实际上,我们电机厂商会给一个配套的真值表,如图2-5所示。
在这里插入图片描述

​ 图2-5

上图的意思是,当霍尔传感器的值是001的时候我们需要A相悬空,C相正电压,B相负电压;随着电机转动,当检测到霍尔传感器的值变为101的时候就需要A相正电压,B相负电压,C相悬空,因此类推进行六步换向。需要注意的是如果电机在六步换向过程中如果保持位置不变的话,此时电路中的电能将只能转换为热能,不能转换为机械能,而我们的电机绕组时候的是漆包铜线,其内阻非常的小,电流就会非常的大,这将会产生大量的热而导致电源或者电机被烧毁。

5.霍尔传感器读取测试

霍尔传感器的读取电路图很简单如图2-6所示,三个上拉电路,GPIO设置为输入模式就可以了, 开发板使用的是STM32F405。
在这里插入图片描述
​ 图2-6

例程:方波控制-霍尔信号采集

6.速度开环控制

能够读取到霍尔传感器的数据后,就可以对电机进行六步换向控制了,电机三相控制的逆变电路如图2-7所示。
在这里插入图片描述
​ 图2-7

如图所示,导通Q1和Q5,其他都不导通,那么电流将从Q1流经U相再从V相流到Q5,同理导通Q1Q6,Q2Q4,Q2Q6,Q3Q4,Q3Q5来驱动电机,可以通过PWM来控制电机的速度。

6.1 PWM设置

PWM控制的时候总过有5中方式,如图2-8所示:

  • PWM-ON型,在控制过程中,上下桥臂导通的120°电角度内,前60°保持恒通,后60°使用PWM

  • ON-PWM,在控制过程中,上下桥臂导通的120°电角度内,前60°使用PWM,后60°保持恒通

  • H_PWM_L_ON型,在控制过程中,上桥臂使用PWM,下桥臂保持恒通

  • H_ON_L_PWM,在控制过程中,上桥臂保持恒通,下桥臂使用PWM控制

  • H_PWM_L_PWM,在控制过程中,上下桥臂都使用PWM
    在这里插入图片描述

    ​ 图 2-8

在实际控制过程中,不同的控制方式效果不同,我们需要尝试多种控制效果,然后选择最佳的一种方式。本次测试PWM使用的频率为20Khz.一般选用16Khz以上,20KHz左右的PWM因为人类能够听到的声音一般是16Khz以下,在16Khz以下的时候人类就会慢慢听到噪声,PWM的频率也不能过高,过高会导致电机转矩降低,另外也要注意满足MOS管的开关频率。

6.2死区时间

在控制过程中,还需要注意不能使上下MOS管同时导通,这样会导致短路。MOS的关闭需要一个时间,因此在进行上下管开关切换的时候,需要一个延时,这个延时就是死区时间。如图2-9所示,是我使用的MOS管的硬件手册。td(on)是开启的延时,tr是电流上升的时间;td(off)是关闭的延时,tf是电流下降的时间。开启总时间为td(on)+tr,关闭的总时间是td(off)+tf,所以死区的最短时间是td(off)+tf-tr-td(on),加上死区时间后MOS管关闭完正好另一个MOS管刚刚开启。实际使用中死区时间通常设置的比计算的多一些。
在这里插入图片描述

​ 图2-9

在实际应用中,驱动电路可能还有别的一些芯片,因为单片机的引脚可能不足以驱动MOS管。我使用的板子在MOS管的前一级还带了一个MOS管栅极驱动芯片,其内部自带死区控制电路。其硬件手册如图2-10所示,可以看出其高端开启时间大于低端关闭时间,低端开启时间大于高端关闭时间。开启时间与关闭时间相差了大约85ns,为了保险起见我们也可以在定时器中再设置一个死区时间。
在这里插入图片描述

​ 图2-10

例程:方波控制-有感开环控制

源码链接:https://github.com/IJustLoveMyself/MotorControl

相关文章:

电机学习-有感BLDC开环控制(六步换相)

文章目录 1. 简介2. 六步换向控制3. 机械角度和电角度4.转子位置获取5.霍尔传感器读取测试6.速度开环控制6.1 PWM设置6.2死区时间 1. 简介 BLDC的反电动势一般是梯形的反电动势,所以采用方波控制。如图2-1所示,是一个简化的内转子无刷直流电机。我们通过…...

《深度学习》PyTorch框架 优化器、激活函数讲解

目录 一、深度学习核心框架的选择 1、TensorFlow 1)概念 2)优缺点 2、PyTorch 1)概念 2)优缺点 3、Keras 1)概念 2)优缺点 4、Caffe 1)概念 2)优缺点 二、pytorch安装 1、安装 2、…...

Linux:进程(四)

目录 一、进程优先级 二、Linux调度与切换 1.背景 2.进程切换 一、进程优先级 背景:在计算机中,软硬件资源是有限的,而进程想要访问某一种资源,就得通过排队来保证访问资源的过程是有条不紊的。 Linux下对优先级的定义。执行命…...

CTC loss 博客转载

论文地址: https://www.cs.toronto.edu/~graves/icml_2006.pdf 为了对应这个图,我们假设一种符合的模型情况: 英文OCR,37个类别(26个小写字母10个汉字空格),最大输出长度8个字符 模型预测结果…...

TryHackMe 第3天 | Pre Security (中)

该学习路径讲解了网络安全入门的必备技术知识,比如计算机网络、网络协议、Linux命令、Windows设置等内容。上一篇中简短介绍了计算机网络相关的知识,本篇博客将记录 网络协议 部分。 How the web works? DNS in detail DNS (Domain name system&…...

c语言中“qsort函数”和“结构体成员访问变量”

qsort函数: qsort是c语言中的库函数,这个函数是对数据进行排序(对任意) 冒泡排序中排列整数顺序用的函数只适用于整形,而qsort函数适用与所有数据 排序算法 冒泡排序 插入 选择 快速 void qsort{ void * base&…...

【MySQL】在MySQL中STR_TO_DATE()

1.在MySQL中STR_TO_DATE() 在MySQL中,STR_TO_DATE() 函数用于将字符串转换为日期格式。这个函数非常有用,当你需要将文本数据转换为可由MySQL日期和时间函数处理的格式时。 1.1 语法 STR_TO_DATE() 函数的基本语法如下: STR_TO_DATE(date…...

PCIE集成验证(五)MSI/MSI-X中断

PCI 总线最早采用的中断机制是 INTx,这是基于边带信号的。后续的 PCI/PCI-X版本,为了消除边带信号,降低系统的硬件设计复杂度,逐渐采用了 MSI(Message Signaled Interrupt)/MSI-X(消息信号中断)的中断机制。…...

leetcode 380.O(1) 时间插入、删除和获取随机元素

实现RandomizedSet 类: RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时,向集合中插入该项,并返回 true ;否则,返回 false 。bool remove(int val) 当元素 val 存在时&#xff0…...

基于MicroPython的ESP8266控制PS2摇杆模块的设计方案

以下是一个基于MicroPython的ESP8266控制PS2摇杆模块的设计方案: 一、硬件准备: 1. 一块ESP8266开发板,如NodeMCU 2. 一个带有X、Y轴模拟输出和Z轴(按钮)数字输出的PS2摇杆模块 3. 杜邦线若干 4. 3.3V直流电源 二、硬件连接&#xff1a…...

Spring Boot 3项目使用Swagger3教程

Spring Boot 3项目使用Swagger3教程 Swagger&#xff1a;自动生成接口文档 添加依赖(pom.xml) <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>4.1…...

linux-系统备份与恢复-系统恢复

Linux 系统备份与恢复&#xff1a;系统恢复 1. 概述 Linux 系统的恢复是系统管理的重要组成部分&#xff0c;它指的是在系统崩溃、硬件故障、误操作或安全问题后&#xff0c;恢复系统到可用状态的过程。良好的系统恢复计划可以有效避免数据丢失和业务中断&#xff0c;并确保系…...

【Rust语言】std::collections::HashMap用法

HashMap用法文档 文章目录 创建键的要求 增删改查增: insert删: remove/remove_entry改单点修改 get_mut整体修改 values_mut/iter_mut 查集增改于一身的entry 遍历只读遍历into_values() 与 into_keys()容量、实际长度、判空导出清除重定容量 use std::collections::HashMap;创…...

使用SoapUI、Postman工具调用Webservice方法

SoapUI工具更适合调用Webservice使用。 1.使用SoapUI工具调用Webservice 创建“New SOAP Project” 自行定义一个项目名称&#xff0c;输入wsdl地址&#xff1a; 在左侧列表找到方法名&#xff0c;双击“Request 1”, 在请求数据中&#xff0c;添加对应的参数&#xff0c;然…...

js 与 C++引用和指针的关系

js 与 C引用和指针的关系 js 中既有引用的影子, 也有指针的影子。 1、引用用法 这里相当于C 中的引用, b是a的引用, 修改b ,a也改变。 var a { 1: 1 }var b a;a null;b[2] 2;console.error(b); // { 1: 1, 2: 2 }2、指针用法 这里 a,b应该按照指针理解。 var a undef…...

python --PyAibote自动化

官文: https://www.pyaibote.com/ 下载安卓集成环境: 可以看到开发的一些信息...

Ubuntu系统开发环境搭建

一&#xff0c;Android源码编译环境搭建 1 安装Java Development Kit (JDK) sudo apt-get update sudo apt-get install openjdk-8-jdk 2,确认JDK安装成功 java -version 3,安装编译所需的依赖项 sudo apt-get install git-core gnupg flex bison gperf build-essential zip cu…...

lvs-dr模式实验详解

华子目录 lvs-dr&#xff08;企业当中最常用&#xff09;dr模式数据逻辑dr模式数据传输过程dr模式的特点实验拓扑实验主机准备解决vip响应问题限制响应级别:arp_ignore限制通告级别:arp_announce 实验步骤1.client的ip设定2.router上的ip设定3.router开启路由转发功能4.lvs主机…...

【RDMA】mlxconfig修改和查询网卡(固件)配置--驱动工具

目录 简介 工具要求 语法 例子和参数 例子 更多参数 其他工具和查询 简介 mlxconfig 工具允许用户在不重新烧录固件的情况下更改某些设备配置。 配置在重启后仍然保留。 默认情况下&#xff0c;mlxconfig 显示将在下次启动时加载的配置。对于第五代设备&#xff0c;还…...

跨站请求伪造(CSRF)漏洞详解

免责申明 本文仅是用于学习检测自己搭建的DVWA靶场环境有关CSRF的原理和攻击实验,请勿用在非法途径上,若将其用于非法目的,所造成的一切后果由您自行承担,产生的一切风险和后果与笔者无关;本文开始前请认真详细学习《‌中华人民共和国网络安全法》‌及其所在国家地区相关法…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

Kafka入门-生产者

生产者 生产者发送流程&#xff1a; 延迟时间为0ms时&#xff0c;也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于&#xff1a;异步发送不需要等待结果&#xff0c;同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

【Android】Android 开发 ADB 常用指令

查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)

目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 &#xff08;1&#xff09;输入单引号 &#xff08;2&#xff09;万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...