无刷直流电机(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. xml php 解析

    JSON作为数据交换可以说已经成为了一种事实上的标准,但是前几年和它对应的xml虽然说用的越来越少,但是我感觉还是有他可以应用的地方. json更偏重于程序员来使用和解读,而xml则更适合用户来使用和 ...

  2. Centos 7配置docker-阿里云镜像加速

    阿里云加速网址:https://cr.console.aliyun.com/cn-hangzhou/mirrors(自行注册账密码) sudo mkdir -p /etc/docker sudo vi ...

  3. ubuntu13.04更新源

    最近163的源出问题了,又要换一次源. 报错如下: 查更新源的命令查了好多次,这次还是记下来吧,估计以后还会用到很多次. 常规来说,是要先备份的,不过感觉备份也没什么用,所以就直接跳过吧.. 1  打 ...

  4. January 12 2017 Week 2 Thursday

    Although it rains, throw not away your watering pot. 纵然天下雨,休把水壶丢. Don't throw away your watering pot ...

  5. [COGS 0065][NOIP 2002] 字串变换

    65. [NOIP2002] 字串变换 ★★   输入文件:string.in   输出文件:string.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述] 已知有两个字 ...

  6. TCP/IP 协议图--计算机网络体系结构分层

    计算机网络体系结构分层   计算机网络体系结构分层 不难看出,TCP/IP 与 OSI 在分层模块上稍有区别.OSI 参考模型注重“通信协议必要的功能是什么”,而 TCP/IP 则更强调“在计算机上实 ...

  7. python_机器学习—sklearn_win_64-3.6安装&&测试

    下载网址:http://www.lfd.uci.edu/~gohlke/pythonlibs/ 在之前numpy\scipy基础上,安装sklearn_win_64-3.6 pip install D ...

  8. 简单说说Spring Security 使用(附加验证码登录,自定义认证)

    先看官方文档:http://docs.spring.io/spring-security/site/docs/4.0.x/reference/htmlsingle/ spring security4已 ...

  9. Django F对象的使用

    概念 class FF()是代表模型字段的值,也就是说对于一些特殊的字段的操作,我们不需要用Python把数据先取到内存中,然后操作,在存储到db中了. 场景 例1:我们有个统计点击量的字段,每次更新 ...

  10. python process,queue

    #-*- coding:utf-8 -*- from multiprocessing import Process,Queue import os,time,random def write(q): ...