BLDC无刷直流电机的原理及驱动基础
无刷直流电机(BLDC,也称为马达驱动)是电机和控制技术相结合的产品,电调控制电机的运行,从电流驱动角度来看,无刷直流电机可分为正弦波驱动和方波驱动。通常,以方波驱动的电机称为无刷直流电机(BLDC),正弦波驱动的电机则为永磁同步电机(PMSM)。无刷直流电机,跟永磁同步电机,基本结构相似,主要区别在于控制器电流的驱动方式不同。产生相位差120度的正弦三相电,要不断的调整三路、或是六路PWM的占空比,这要求较高的处理速度。给电机供相位差120度的方波,电机运转噪音虽大一些,但电机仍可以基本平稳的运转,方波驱动方式对处理器的速度要求低了很多。所以方波驱动方式就广泛应用开来。
一、方波控制理论基础
方波控制也叫六步控制,在一个电周期中,电机只有六种转态,或者说定子电流有六种状态(三相桥臂有六种开关状态)。
每一种电流状态都可看作合成一个方向的矢量力矩,六个矢量有规律地、一步接一步地转换,矢量旋转方向决定了电机旋转方向(顺时针或是逆时针),电机转子会跟着同步旋转。
在方波控制里,主要是对两个量进行控制,一个是电机转子位置对应的开管状态,有Hall时,通过Hall信息获取转子位置,无传感器时,通过反电动势信息获取转子位置,从而决定开管状态;第二个是PWM占空比的控制,通过控制占空比的大小来控制电流大小,从而控制转矩和转速。
二、方波算法实现步骤
(1)Hall 方波控制:
1.读取母线电流采样的AD 值,计算母线电流
2.电流环计算应该给的PWM 占空比,控制电流为给定电流大小
3. 读取hall 状态,根据Hall 状态与三相桥臂开管状态关系数组,得到相应的开管状态,每次hall 状态的跳变沿及为三相桥臂状态切换的时间点(也称为换相点)。
4. Hall 相邻状态间的扇区为一个电周期的六分之一,即为60°,用定时器可记录60°扇区所用的时间,从而计算电流频率,从而得到电机转速。
5. 以电流环作为内环,速度环作为外环,电机进行闭环控制,如Hall 方波控制框图。对于Hall 方波控制来说,电机启动时,就已经知道电机转子位置,直接用hall 状态对的矢量力矩去拉电机,就可启动电机,并可直接进闭环控制。
(2)BEMF 方波控制:
1.读取母线电流采样的AD 值,计算母线电流。
2.电流环计算应该给的PWM 占空比,控制电流为给定电流大小
3. 保持一种开管状态(即保持一个方向矢量定位),定位完成,然后按一定频率改变开管状态,并按规律提升改变频率。到达切换电频率,然后切换到反电动势模式。
4. 用一个较高频率定时器中断读取相比较器输出状态,若相比较器输出电平发生翻转,则说明该相反电动势产生过零,此时,读定时器D 时基计数值,保存,然后清定时器D,并配置定时器D 的比较寄存器0 的比较值,开定时器D 开始计时,直到产生PWMD0 中断,在中断中改变开关管状态,也就是找到过零点延迟30°电角度再换相。
5. 以电流环作为内环,速度环作为外环,电机进行闭环控制,对于BEMF 方波控制来说,电机启动时,是不知道电机转子位置,所以需要用外同步方式启动电机,让定子电流按给定大小和频率拖动电机转子跑,然后电机达到切换电频率,就可切换到反电动势模式跑电机,并运行速度和电流闭环控制。
BLDC无刷直流电机的原理及驱动基础的更多相关文章
- BLDC(无刷直流电机)应用相关
1.基于XC866的直流无刷电机简易正弦波控制 http://blog.gkong.com/hushunlin_219521.ashx 2.无刷直流电机的PWM调制方式介绍 http://blog.g ...
- 【电子基础】液晶显示器原理·LCD驱动基础
LCD显示器概述 ——>液晶显示器,LCD为英文 Liquid Crystal Display的缩写,它是一种数字显示技术,可以通过液晶和彩色过滤光源,并在平面面板上产生图像. ——&g ...
- linux驱动基础系列--Linux mmc sd sdio驱动分析
前言 主要是想对Linux mmc子系统(包含mmc sd sdio)驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.块设备驱动.设备模型等也不进行详细说明原 ...
- linux驱动基础系列--linux spi驱动框架分析
前言 主要是想对Linux 下spi驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.设备模型等也不进行详细说明原理.如果有任何错误地方,请指出,谢谢! spi ...
- linux驱动基础系列--Linux I2c驱动分析
前言 主要是想对Linux I2c驱动框架有一个整体的把控,因此会忽略协议上的某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.设备模型.sysfs等也不进行详细说明原理,涉及到i2c协议部分也只 ...
- 开源纯C#工控网关+组态软件(四)上下位机通讯原理
一. 网关的功能:承上启下 最近有点忙,更新慢了.感谢园友们给予的支持,现在github上已经有.目标是最好的开源组态,看来又近一步^^ 之前有提到网关是物联网的关键环节,它的作用就是承上启下. ...
- Unit01: JDBC原理 、 JDBC基础编程
Unit01: JDBC原理 . JDBC基础编程 这个文件里面有两块内容: 1.用比较麻烦的方式连接数据库,test1(),test4() 2.创建DBTool,测试DBTool连接数据库 ,tes ...
- linux驱动基础系列--Linux 串口、usb转串口驱动分析
前言 主要是想对Linux 串口.usb转串口驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如字符设备驱动.平台驱动等也不进行详细说明原理.如果有任何错误地方,请指出, ...
- linux驱动基础系列--Linux下Spi接口Wifi驱动分析
前言 本文纯粹的纸上谈兵,我并未在实际开发过程中遇到需要编写或调试这类驱动的时候,本文仅仅是根据源码分析后的记录!基于内核版本:2.6.35.6 .主要是想对spi接口的wifi驱动框架有一个整体的把 ...
随机推荐
- [翻译] PQFCustomLoaders
PQFCustomLoaders Current version: 0.0.1 Collection of highly customizable loaders for your iOS proje ...
- ZT 打工者买彩票中1000万 5年后变逃犯身上剩80元
打工者买彩票中1000万 5年后变逃犯身上剩80元 2014-01-07 08:22 来源:都市快报 我有话说 挥霍—— 从800万到80元 在湖南永州零陵区富家桥镇茶叶湾村,陈某是不折不扣的名人 ...
- Fiori Fundamentals和SAP UI5 Web Components
这周有位同事邀请我给团队讲一讲SAP技术的演进历史,所以我准备了下面几个主题来介绍. 其中SAP的技术回顾和演进,我的思路就是从前后台两方面分别介绍. 我画了一张非常简单的图: 去年5月我写过一篇文章 ...
- U-Mail:邮件营销如何大量获取并筛选有效地址
工欲善其事必先利其器,在所有的邮件推广中,最基础的工作就是收集到足够多的有效邮箱地址,俗话说韩信将兵多多益善,邮箱地址越多,也就意味着潜在的转化为消费者的数量众多,但是如果大量滥竽充数的地址被搜罗进来 ...
- HashMap源代码解析
HashMap原理剖析 之前有看过别人的HashMap源代码的分析,今天尝试自己来分析一波,纯属个人愚见.听一些老的程序员说过,当别人跟你说用某样技术到项目中去,而你按照别人的想法实现了的时候,你只能 ...
- TensorFlow学习之 图像预处理
import tensorflow as tf import matplotlib.pyplot as plt image_raw_data = tf.gfile.GFile("./pict ...
- Kali-linux使用SET实施攻击
前面介绍了社会工程学工具包(SET)的简单使用.为了能帮助用户更容易的理解社会工程学的强大功能.本节将介绍使用社会工程学工具包实施各种攻击. 7.4.1 针对性钓鱼攻击向量 针对性钓鱼攻击向量通过构造 ...
- Python 多线程 线程安全、daemon简介 (四)
线程安全 只能在Winodws下的ipython中演示,Python命令行.Pycharm.Mac下的ipython都演示不出效果 import threading def worker(): for ...
- linq项目中例子实例
在mvc项目中 var ls = (from i in gt.vendor_login join j in gt.vendor on i.vendor_id equa ...
- Bootstrap--模仿官网写一个页面
本文参考Bootstrap官方文档写了简单页面来熟悉Bootstrap的栅格系统.常用CSS样.Javascript插件和部分组件. 以下html代码可以直接复制本地运行: BootstrapPage ...