无刷电机控制器图解:电路图 程序 接线图

发布者:恬淡如云最新更新时间:2021-10-13 来源: elecfans关键字:无刷电机  控制器  接线图 手机看文章 扫描二维码
随时随地手机看文章

很早之前就想做一款无刷电机控制器,忙于工作一直没有弄。最近有点时间画板,打样,焊接,调试,总算顺利的转起来。期间也遇到很多问题,上网查资料,自己量波形前前后后搞了差不多近一个月,(中间又出差一周)总算搞的差不多了,特意写个总结。


板子外观100*60mm 中等大小。DC 12V输入,设计最大电流10A.(实际没试过那么大的电机,手头的电机也就5 6A的样子)硬件上可以切换有感(HALL)和无感(EMF)两种模式,外部滑动变阻器调速 预留有 PWM输入、刹车、正反转、USB和uart等接口。


先来说下原理无刷电机其实就是直流电机,和传统的DC电机是一样的,只是把有刷的电滑环变成了电子换向器。


因为少了电滑环的摩擦所以寿命静音方面有了很大的提升,转速也更高。

当然难点就在如何获取当前转子的位置好换相,所以又分为两种有感和无感。


有感就是在电机端盖的部位加装霍尔传感器分别相隔30度或60度。无感就是靠检测悬浮相的感应电动势过零点(后面在细讲)。


当然各有各的优缺点,有感在低速方面好,可以频繁启停换相。无感的结构简单成本低,航模上应用居多。


先说有感,电源首先被分成了3个绕组U V W这个交流电还是有区别的。


它只是3个h桥按一定的顺序导通模拟出来的,本质还是直流电。电机靠hall位置按一定顺序换相,转速与电压电流有关。这一点切记,不是换的越快转的越快。(位置决定换相时刻,电压决定转速)一般调速就是调电压,6步pwm方式是目前常用的。当然后续还有foc等更好算法。


硬件部分网上基本都是成熟的方案。三相H桥,H桥一般有上臂mos和下臂mos组成,如果只是简单的做演示上臂选pmos下臂选nmos控制电路简单直接用单片机的io就可以驱动。但是pmos低内阻的价格高。功率上面很难做大。


这也就是为什么基本所有的商业控制器全是nmos的原因。


但是上臂用nmos存在一个问题vgs控制电压大与vcc 4v以上才能完全导通。为了简化电路采用了ir公司出的驱动ic,它内部有自举升压电路。外部仅需一个续流的二极管及储能电容即可。

有感模式控制相对简单,3个霍尔传感器输出一般都是数字信号,分压后直接接单片机io。

当然控制方式上也就简单很多,三个霍尔接中断输入,在中断处理程序中根据组合状态换相,程序上也没什么复杂的。主程序 一直检测ad值,改变pwm占空比,及电流保护等。

如下一个典型的换相代码。Stm32 有两个高级定时器tim1 TIm8 可以输出4组互补型pwm,还可以设定死区时间等,使用上非常方便。


switch(step)

{

case 4: //B+ C-

/* Next step: Step 2 ConfiguraTIon -------------------------------------- */

TIM_CCxCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCx_Disable);

TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCxN_Disable);

}

下图为uvw三相的霍尔检测到的电平及w相的波形。

下图为 uvw三相波形及w相霍尔电平

下图为 w相电平, w相上臂on 下臂pwm ,w相霍尔信号。

下图为w相ir2304芯片输出,上臂电压可明显看到已高于vcc,下臂为pwm信号

在说说无感模式,由于没有了霍尔,电机无法知道转子当前的位置所以就无法换相,而感应电动势也只有在转起来之后才有,所以无感模式的启动是个难点。

一般方法都是分三段法:1 预定位 2 启动 3 进入闭环反馈

正如网友说的江湖一层纸,戳破不值半文钱。

1. 预定为就是强制给某一相通电一段时间,让电机定位到这个位置。占空比30-50%不要太大,可能会发热。

2. 启动,就是逐步的强制换相,当然要有个加速的过程,使电机转起来。

这个过程太慢会抖动反转,太快会丢步。参数需要一点点试,有点像控制步进电机。要能使电机转的能产生电动势,我也是参照的德国MK 电调的算法。

每次延时时间比上一次少1/25,形成一个加速的过程,直到电机完全转起来产生足够的电动势。

3. 闭环反馈控制换相跟有感差不多一样。

speed_duty=30; //30% start

BLDC_PHASE_CHANGE(Step[Phase]); //固定一相

Delay_MS(200);

speed_duty=pwm;

timer = 300;

while(1)

{

for(i=0;i《timer; i++)

{

Delay_US(120); //等待

}

timer-= timer/25+1;

if(timer 《 25)

{

if(TEST_MANUELL)

{

timer = 25; //开环强制换向

}

else

{

bldc_dev.motor_state=RUN;

break;

}

}

Phase++;

Phase %= 6;

BLDC_PHASE_CHANGE(Step[Phase]); //

}

说到感应电动势很多人不明白,先来说说电流,电机线圈的内阻通常很小比如0.2欧,电机的电压比如10v,按理来说电流100a为何电机不烧哪?

其实电机线圈在通电的一瞬间并不是完全导通的,因为有反向电动感应势的存在,可能有-9.8v。10v-9.8v = 0.2v /0.2 = 1A.这样算起来电流还合理。

在说说那个初中学习的法拉第 ,当线圈切割磁场时会产生感应电动势,根据右手定则。。。。。。。。不懂的自行上网搜。

如下图当ac相在通电12v的情况下,静止状态下正中间中性点理论为6v,但是转起来就不一定了,因为b相实际是在切割磁场,是会产生电动势的。而电动势的大小正负取决与当前在磁场ns极的位置。当切割ns时为-1,切割sn时为1,平行时为0.

利用这一特性不就刚好可以获得转子的位置吗?

首先检测电路网上已经一大很成熟了。

如下图,当然很多时候需要在4.7k对地的电阻上并一个100nf的电容,做一个低通滤波。也可以在软件中做滤波处理。

我们所要做的就是检测这个悬浮相的电动势过零点。

网上常用的两种方法:1 单片机ad采集;2 比较器比较。我选择了比较器lm339价格已经很便宜了,在高速上比ad有明显优势,只要比较cin bin ain 与n点的压差即可获得零点。

理想很完美,现实很残酷,实际中根本得不到这么完美的波形。

如下图,这个已经是比较好的了,还是有很多毛刺。这个给单片机中断,肯定一大堆问题,严重的换错相烧mos管。

为什么会有这些毛刺哪,有些还挺有规律。

参考了网上的介绍,这中间还有一个叫消磁的东西。

原理不深究了,反正时间很短,软件上做一个滤波消掉就可以了。

进入中断函数后做如下处理 ,定时器的中断我暂时用的20us。

const unsigned int FilterNums = 0xff;

static unsigned int nums =0;

static unsigned int Queue_UStatus =0;

static unsigned int Queue_VStatus =0;

static unsigned int Queue_WStatus =0;

static unsigned char EMF_SVal =0;

unsigned char Filter_U_Status=0;

unsigned char Filter_V_Status=0;

unsigned char Filter_W_Status=0;

unsigned char EMF_Val=0;

unsigned int status_h;

unsigned int status_l;

unsigned int Delay30deg =0;

/* 清除中断标志位 */

if ( TIM_GetITStatus(TIM3 , TIM_IT_Update) != RESET )

{

TIM_ClearITPendingBit(TIM3 , TIM_FLAG_Update);

至于网上说检测到过零点后,延时30度换相,对电源效率有影响。我试了下,好像没什么明显的差异。也有人说在大功率的电机下不延时反而更平滑等等。真实怎样有待各位实际实验了。

最后秀几张转起来的照片

硬盘电机 无感模式

电动工具电机 有感模式

加装散热片的样子


关键字:无刷电机  控制器  接线图 引用地址:无刷电机控制器图解:电路图 程序 接线图

上一篇:智能功率模块IPM的主要特点及内部结构原理
下一篇:经典反电动势采集电路讲解BLDC反电势过零检测计算

推荐阅读最新更新时间:2024-11-12 11:21

新能源汽车BMS控制器拆解及电路总结
1 新能源汽车BMS控制器芯片清单 2 新能源BMS系统概述 该新能源汽车14.1kWh锂离子电池,标称电压为382V。能量存储在8个电池模块中,每个模块包含13个电池组,每电池组的串并联是13S4P (可以看系列一起文章)。电池管理系统由一个电池管理控制单元(BMC),8个从从控制单元(CMU),一个电池连接盒控制单元(BJB),一个电流传感器(CS)组成, 3 新能源BMS系统电路示意图 如框图,系统分为低压区,高压区,互相隔离;(不是基于具体电路图绘制) 低压区是以MCU为中心的电路。高压区以电池采样为中心,主要包括电芯电压采集、均衡电路、总电压采集、总电流采集、绝缘检测等。 4 部分电路功能说明 继电器驱动电
[嵌入式]
新能源汽车BMS<font color='red'>控制器</font>拆解及电路总结
为汽车瘦身,简化汽车车身电机控制器设计
无论是调整座椅至最佳位置还是能够轻松打开行李箱,车身电子设备系统都可使用电机来提高驾乘人员的舒适性和便利性。 金属氧化物半导体场效应晶体管(MOSFET)控制这些应用的电动装置。但将MOSFET用作开关给电子控制模块设计(包括电磁干扰(EMI)和热管理、电流感应、断电制动以及诊断与保护)带来了新的技术性挑战。德州仪器开发的集成电路(IC)电机驱动器产品集成了模拟功能,可帮助电子控制模块设计人员应对这些挑战,同时减小解决方案尺寸并缩短开发时间。 本文中,我们将讨论可帮助应对这些设计挑战、集成到电机驱动集成电路中的特定模拟功能。 降低电磁干扰(EMI) 降低EMI可通过在芯片级和PCB级的功能和解决方案来实现。降
[汽车电子]
为汽车瘦身,简化汽车车身电机<font color='red'>控制器</font>设计
东芝推出TXZ+™族高级系列新款M4N组Arm® Cortex®-M4微控制器
东芝推出TXZ+™族高级系列新款M4N组Arm® Cortex®-M4微控制器 对配备以太网与CAN控制器的物联网设备进行优化 中国上海,2021年10月19日—— 东芝电子元件及存储装置株式会社(“东芝”) 今日宣布,已开始量产M4N组的20款新微控制器。M4N组是TXZ+™族高级产品的新成员,采用40nm工艺制造。M4N组集成带FPU的Arm Cortex-M4内核,运行速度高达200MHz,最高可集成2MB代码闪存和32KB数据闪存,具有10万次的写入周期寿命。此外,新款微控制器还提供了丰富的接口与通信选项,例如以太网、CAN以及带集成PHY的USB 2.0 FS OTG控制器。M4N组器件适用于办公设备、楼宇和工厂
[嵌入式]
东芝推出TXZ+™族高级系列新款M4N组Arm® Cortex®-M4微<font color='red'>控制器</font>
洗衣机洗涤程序控制器的内部控制模块简介
设计一个洗衣机洗涤程序控制器,控制洗衣机的电机作如下规律运转:     用两位数码管预置洗涤时间(分钟数),洗涤过程在送入预置时间后开始运转,洗涤中按倒计时方式对洗涤过程作计时显示,用LED表示电机的正、反转,如果定时时间到,则停机并发出音响信号。     设计提示 洗涤预置时间编码模块 减法计数显示 时序电路 译码驱动模块  
[嵌入式]
一种基于超级电容器储能的光伏控制器的实现
1 引 言 能源是人类社会存在和发展的重要物质基础,随着社会的发展,能源日渐减少,并伴随着环境问题日益突出,使得越来越多的国家把目光投向可再生能源。太阳能作为重要能源之一,以其永不枯竭,无污染等优点,正得到迅速的发展。但是太阳能电池在其工作过程中,由于受环境(主要包括日照强度,温度)的影响,其输出具有明显的非线性特性,造成电池与负载之间的不匹配,从而不能使太阳能最大效率地转化为电能输出。为了实现光伏发电系统的功率输出最大化,就需要对光伏电池的最大功率点进行跟踪控制,即MPPT(MaximumPower Point Tracking)控制。 在光伏控制技术上,MPPT控制方法有很多种,目前市场上常用的是使用CVT(恒定电压跟踪)控制
[电源管理]
一种基于超级电容器储能的光伏<font color='red'>控制器</font>的实现
伺服控制器的安全功能选项运用场景
随着工业4.0概念的推进和大力发展,机器设备在协助或替代人员来更加高效、高精度的完成产品生产和加工流程,同时机器设备上高速运动的零部件可能对操作人员造成不同程度的伤害发生。全球各个国家和地区都会制定相应的安全生产的法规和标准来确保,所有机器制造商都清楚,机器必须满足严格的安全要求来保护工人免于伤害。 伺服电机作为现代设备重要的组成部分,配合伺服控制器(伺服放大器)的不同安全功能,保持机器正常运转的同时为操作员提供安全保障,就会大大削弱人们绕过安全功能设施和“闯红灯”的冲动。许多以前需要关闭和重新启动的操作,现在可以在机器以降速甚至全速继续生产的情况下完成。功能安全既保障了操作员的安全,也能够最大限度地提高机器生产力。在实际运
[嵌入式]
伺服<font color='red'>控制器</font>的安全功能选项运用场景
自适应单纯太阳能路灯控制器系统设计
大阳能路灯以其无需铺设电缆,不消耗常规能源等优点得到了广泛认可。然而太阳能路灯还存在一些问题造成其成本偏高,可靠性不稳定,、比如电池往往不到一年就需要更换,不仅提高了后期维护的费用,而且增加了客户的消费成本,也造成了资源浪费。其次是太阳能属于不稳定能源,而且能量分布不均,夏天能量充足,但路灯使用时间短,冬天有效光照时间短,但路灯使用时间长,大大降低了运行的可靠性,其原因主要受到太阳能路灯控制器性能的影响。太阳能控制器是太阳能光伏系统中的核心部分,主要完成对蓄电池的充、放电、调光和路灯的开、美控制,以及在过充、过放电、过载等情况发生时对系统进行及时和有效地保护,保证照明时间,确保可靠性,有效延长电池寿命,降低成本。   1 太阳能
[嵌入式]
STM32单片机解码NEC红外控制器C语言程序
简介:红外遥控器发射码值的协议有很多种,在百度文库里搜“史上最全的红外遥控器编码协议”,可以看到是有43种,但是我们今天是解码NEC红外协议的,几乎所有的开发板带的小遥控器都是这个协议的,我是用的定时器配合外部中断写的解码程序。 #include ir_exti.h //利用外部中断和定时器进行红外解码 //在51上学习的 u8 irtime;//定时器时间累加 u8 irflag;//接收到第一个下降沿的标志 u8 irdate;//接收下降沿次数的累加 u8 irtable ;//装每一次下降沿的时间 //u8 irdateok; u8 irtable2 ;//解码出地址和数据 地址 地址反码
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved