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

无刷直流电机控制技术比较

大家好,又见面了,我是你们的朋友全栈君。

无刷直流电机是在有刷直流电动机的基础上发展来的,具有无极调速、调速范围广、过载能力强、线性度好、寿命长、体积小、重量轻、出力大等优点,解决了有刷电机存在的一系列问题,广泛应用于工业设备、仪器仪表、家用电器、机器人、医疗设备等各个领域。由于无刷电机没有电刷进行自动换向,因此需要使用电子换向器进行换向。无刷直流电机驱动器实现的就是这个电子换向器的功能。

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

目前,主流的无刷直流电机的控制方式有3种:FOC(又称为矢量变频、磁场矢量定向控制)、方波控制(也称为梯形波控制、120°控制、6步换向控制)和正弦波控制。那么这3种控制方式都各有什么优缺点呢?

方波控制

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

方波控制使用霍尔传感器或者无感估算算法获得电机转子的位置,然后根据转子的位置在360°的电气周期内,进行6次换向(每60°换向一次)。每个换向位置电机输出特定方向的力,因此可以说方波控制的位置精度是电气60°。由于在这种方式控制下,电机的相电流波形接近方波,所以称为方波控制。

方波控制方式的优点是控制算法简单、硬件成本较低,使用性能普通的控制器便能获得较高的电机转速;缺点是转矩波动大、存在一定的电流噪声、效率达不到最大值。方波控制适用于对电机转动性能要求不高的场合。

正弦波控制

正弦波控制方式使用的是SVPWM波,输出的是3相正弦波电压,相应的电流也是正弦波电流。这种方式没有方波控制换向的概念,或者认为一个电气周期内进行了无限多次的换向。显然,正弦波控制相比方波控制,其转矩波动较小,电流谐波少,控制起来感觉比较“细腻”,但是对控制器的性能要求稍高于方波控制,而且电机效率不能发挥到最大值。

FOC控制

正弦波控制实现了电压矢量的控制,间接实现了电流大小的控制,但是无法控制电流的方向。FOC控制方式可以认为是正弦波控制的升级版本,实现了电流矢量的控制,也即实现了电机定子磁场的矢量控制。

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

由于控制了电机定子磁场的方向,所以可以使电机定子磁场与转子磁场时刻保持在90°,实现一定电流下的最大转矩输出。FOC控制方式的优点是:转矩波动小、效率高、噪声小、动态响应快;缺点是:硬件成本较高、对控制器性能有较高要求,电机参数需匹配。由于FOC的优势明显,目前已在很多应用上逐步替代传统的控制方式,在运动控制行业中备受青睐。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/128137.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • cocoa动态方法决议及消息转发

    cocoa动态方法决议及消息转发

    2021年12月15日
  • iOS插件列表

    iOS插件列表

  • 读书笔记-APUE第三版-(8)进程控制

    读书笔记-APUE第三版-(8)进程控制

    2021年11月13日
  • SpringBoot启动全流程源码解析(超详细版)[通俗易懂]

    SpringBoot启动全流程源码解析(超详细版)[通俗易懂]我们在使用SpringBoot启动项目的时候,可能只需加一个注解,然后启动main,整个项目就运行了起来,但事实真的是所见即所得吗,还是SpringBoot在背后默默做了很多?本文会通过源码解析的方式深入理解SpringBoot启动全过程SpringBoot启动过程流程图源码解析大家不要抗拒源码解析,这个非常优秀的代码,我们如果能够学会对自己代码编写水平大有裨益首先,我们先来看下SpringBoot项目的启动类@SpringBootApplicationpublicclassSp.

  • 软件测试相关知识_软件测试期末考试知识点

    软件测试相关知识_软件测试期末考试知识点软件测试是软件生存周期中必不可少的环节,软件的典型生存周期可以用下图来形容:软件测试的目的是尽可能早的发现软件缺陷并确保其得以修复,因此软件测试是提高软件质量的重要手段,大量的经验实践证明,软件测试越早参与到软件开发过程中,开发出来的软件质量相对越高,时间和物力也越经济。根据软件工程的基本理论,多模块程序的测试共包括以下4个层次:…

  • leetcode-2两数相加[通俗易懂]

    leetcode-2两数相加[通俗易懂]原题链接给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9,9,9,9,9

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号