无刷直流电机(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无刷直流电机的原理及驱动基础的更多相关文章

  1. BLDC(无刷直流电机)应用相关

    1.基于XC866的直流无刷电机简易正弦波控制 http://blog.gkong.com/hushunlin_219521.ashx 2.无刷直流电机的PWM调制方式介绍 http://blog.g ...

  2. 【电子基础】液晶显示器原理·LCD驱动基础

    LCD显示器概述   ——>液晶显示器,LCD为英文 Liquid Crystal Display的缩写,它是一种数字显示技术,可以通过液晶和彩色过滤光源,并在平面面板上产生图像.   ——&g ...

  3. linux驱动基础系列--Linux mmc sd sdio驱动分析

    前言 主要是想对Linux mmc子系统(包含mmc sd sdio)驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.块设备驱动.设备模型等也不进行详细说明原 ...

  4. linux驱动基础系列--linux spi驱动框架分析

    前言 主要是想对Linux 下spi驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.设备模型等也不进行详细说明原理.如果有任何错误地方,请指出,谢谢! spi ...

  5. linux驱动基础系列--Linux I2c驱动分析

    前言 主要是想对Linux I2c驱动框架有一个整体的把控,因此会忽略协议上的某些细节,同时里面涉及到的一些驱动基础,比如平台驱动.设备模型.sysfs等也不进行详细说明原理,涉及到i2c协议部分也只 ...

  6. 开源纯C#工控网关+组态软件(四)上下位机通讯原理

    一.   网关的功能:承上启下 最近有点忙,更新慢了.感谢园友们给予的支持,现在github上已经有.目标是最好的开源组态,看来又近一步^^ 之前有提到网关是物联网的关键环节,它的作用就是承上启下. ...

  7. Unit01: JDBC原理 、 JDBC基础编程

    Unit01: JDBC原理 . JDBC基础编程 这个文件里面有两块内容: 1.用比较麻烦的方式连接数据库,test1(),test4() 2.创建DBTool,测试DBTool连接数据库 ,tes ...

  8. linux驱动基础系列--Linux 串口、usb转串口驱动分析

    前言 主要是想对Linux 串口.usb转串口驱动框架有一个整体的把控,因此会忽略某些细节,同时里面涉及到的一些驱动基础,比如字符设备驱动.平台驱动等也不进行详细说明原理.如果有任何错误地方,请指出, ...

  9. linux驱动基础系列--Linux下Spi接口Wifi驱动分析

    前言 本文纯粹的纸上谈兵,我并未在实际开发过程中遇到需要编写或调试这类驱动的时候,本文仅仅是根据源码分析后的记录!基于内核版本:2.6.35.6 .主要是想对spi接口的wifi驱动框架有一个整体的把 ...

随机推荐

  1. (转)informatica 面试题大全

    1 What is the difference between a data warehouse and a data mart? Ø Dataware house: It is a collect ...

  2. 使用UILabel实现滚动字幕移动效果

    使用UILabel实现滚动字幕移动效果 这个链接中的代码也实现了这种效果 https://github.com/cbpowell/MarqueeLabel 最终效果如下: 原理如下: 1. 获取文本 ...

  3. 使用HVTableView动态展开tableView中的cell

    使用HVTableView动态展开tableView中的cell 效果: 源码: HVTableView.h 与 HVTableView.m // // HVTableView.h // HRVTab ...

  4. ZT 分智网博客 – 职场、面试技巧、职业规划

    http://blog.fenzhi.com/archives/5148.html 分智网博客 – 职场.面试技巧.职业规划 软件工程师职位薪酬最高的25家中国公司 作者: 分智网 日期: 2013 ...

  5. 浅谈 JavaScript 中的继承模式

    最近在读一本设计模式的书,书中的开头部分就讲了一下 JavaScript 中的继承,阅读之后写下了这篇博客作为笔记.毕竟好记性不如烂笔头. JavaScript 是一门面向对象的语言,但是 ES6 之 ...

  6. 【OpenCV】【MFC】图片、视频、摄像头输入响应【详细图解】

    记住新建项目后,要配置OpenCV环境!参考链接http://blog.csdn.net/zy122121cs/article/details/49180541 做工程搭建框架什么的,基本的要熟练啊. ...

  7. Java基础知识强化之多线程笔记07:同步、异步、阻塞式、非阻塞式 的联系与区别

    1. 同步: 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回.但是一旦调用返回,就必须先得到返回值了. 换句话话说,调用者主动等待这个"调用"的结果. 对于 ...

  8. InputStream TO byte

    public class ByteToInputStream { public static final InputStream byte2Input(byte[] buf) { return new ...

  9. 【Vue】安装(NPM 方法)

    [Vue2.0 新手完全填坑攻略——从环境搭建到发布]http://www.jianshu.com/p/5ba253651c3b 1.在用 Vue.js 构建大型应用时推荐使用 NPM 安装 2.Vu ...

  10. 2、Android-UI(布局待完成)

    2.3.布局 实现界面的整齐摆放各种控件需要使用布局来完成 布局是一种可用于放置很多控件的容器 可以按照一定的规律调整内部的控件位置 布局的内部不仅可以放置控件还可以放置布局 1.线性布局 Linea ...