无刷电机_无刷电机驱动 - CSDN
精华内容
参与话题
  • STM32F103做主控自制无刷电机(BLDC)控制器 支持 有感/无感 两种模式 2018年9月21日 星期五 snail_dongbin 很早之前就想做一款无刷电机控制器,忙于工作一直没有弄。最近有点时间画板,打样,焊接,调试,总算...

    源文件地址:https://download.csdn.net/download/snail_dongbin/10681696

    STM32F103做主控自制无刷电机(BLDC)控制器
    支持 有感/无感 两种模式

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

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

    先来说下原理无刷电机其实就是直流电机,和传统的dc电机是一样的,只是把有刷的电滑环变成了电子换向器。
    具体参考网络介绍 https://blog.csdn.net/dddxxxx/article/details/52564571
    在这里插入图片描述

    在这里插入图片描述
    因为少了电滑环的摩擦所以寿命 静音方面有了很大的提升,转速也更高。

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

    有感就是在电机端盖的部位加装霍尔传感器分别相隔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);

      /*  Channel1 configuration */
      /*  Channel2 configuration */    
      TIM_SetCompare2(BLDC_TIMx,BLDC_TIM_PERIOD);
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_2,TIM_CCx_Enable);
      /*  Channel3 configuration */
      TIM_SetCompare3(BLDC_TIMx,BLDC_TIM_PERIOD*speed_duty/1000);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_3,TIM_CCxN_Enable);
      break;
    case 5: //B+ A-
      /* Next step: Step 3 Configuration -------------------------------------- */      
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_3,TIM_CCx_Disable);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_3,TIM_CCxN_Disable);
      
      /*  Channel1 configuration */
      TIM_SetCompare1(BLDC_TIMx,BLDC_TIM_PERIOD*speed_duty/1000);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCxN_Enable);
    
      /*  Channel2 configuration */
      TIM_SetCompare2(BLDC_TIMx,BLDC_TIM_PERIOD);
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_2,TIM_CCx_Enable);
      /*  Channel3 configuration */
      break;
    case 1: //C+ A-
      /* Next step: Step 4 Configuration -------------------------------------- */
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_2,TIM_CCx_Disable);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_2,TIM_CCxN_Disable);
    
      /*  Channel1 configuration */
      TIM_SetCompare1(BLDC_TIMx,BLDC_TIM_PERIOD*speed_duty/1000);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCxN_Enable);
      
      /*  Channel2 configuration */ 
      /*  Channel3 configuration */
      TIM_SetCompare3(BLDC_TIMx,BLDC_TIM_PERIOD);
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_3,TIM_CCx_Enable);
      break;
    case 3: //C+ B-
      /* Next step: Step 5 Configuration -------------------------------------- */
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCx_Disable);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCxN_Disable);    
    
      /*  Channel1 configuration */      
      /*  Channel2 configuration */   
      TIM_SetCompare2(BLDC_TIMx,BLDC_TIM_PERIOD*speed_duty/1000);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_2,TIM_CCxN_Enable);
    
      /*  Channel3 configuration */      
      TIM_SetCompare3(BLDC_TIMx,BLDC_TIM_PERIOD);
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_3,TIM_CCx_Enable);
      break;
    case 2: //A+ B-
      /* Next step: Step 6 Configuration -------------------------------------- */
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_3,TIM_CCx_Disable);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_3,TIM_CCxN_Disable);
      
      /*  Channel1 configuration */
      TIM_SetCompare1(BLDC_TIMx,BLDC_TIM_PERIOD);
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCx_Enable);
      /*  Channel2 configuration */
      TIM_SetCompare2(BLDC_TIMx,BLDC_TIM_PERIOD*speed_duty/1000);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_2,TIM_CCxN_Enable);
      /*  Channel3 configuration */
      break;
    case 6: //A+ C-
      /* Next step: Step 1 Configuration -------------------------------------- */
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_2,TIM_CCx_Disable);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_2,TIM_CCxN_Disable);
      
      /*  Channel1 configuration */
      TIM_SetCompare1(BLDC_TIMx,BLDC_TIM_PERIOD);
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCx_Enable);
      /*  Channel2 configuration */      
      /*  Channel3 configuration */
      TIM_SetCompare3(BLDC_TIMx,BLDC_TIM_PERIOD*speed_duty/1000);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_3,TIM_CCxN_Enable);
      break;
    default:
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCx_Disable);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_1,TIM_CCxN_Disable);
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_2,TIM_CCx_Disable);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_2,TIM_CCxN_Disable);
      TIM_CCxCmd(BLDC_TIMx,TIM_Channel_3,TIM_CCx_Disable);
      TIM_CCxNCmd(BLDC_TIMx,TIM_Channel_3,TIM_CCxN_Disable);
      break;
    

    }

    下图为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);

    	nums++;
    //缓存io状态
    	Queue_UStatus= Queue_UStatus <<1;//左移
    	Queue_VStatus= Queue_VStatus <<1;
    	Queue_WStatus= Queue_WStatus <<1;
    	
    	Queue_UStatus |= EMF_U_STATUS; //赋值
    	Queue_VStatus |= EMF_V_STATUS;
    	Queue_WStatus |= EMF_W_STATUS;
    	
    	//连续检测消除杂波
    	status_h = Queue_UStatus &FilterNums;
    	if(status_h == FilterNums) Filter_U_Status = 1;
    	else if(status_h == 0x0) Filter_U_Status = 0;
    	else return;
    
    	status_h = Queue_VStatus &FilterNums;
    	if(status_h == FilterNums) Filter_V_Status = 1;
    	else if(status_h == 0x0) Filter_V_Status = 0;
    	else return;
    	
    	status_h = Queue_WStatus & FilterNums;
    	if(status_h == FilterNums) Filter_W_Status = 1;
    	else if(status_h == 0x0) Filter_W_Status = 0;
    	else return;
    	
    	//边沿检测
    	status_l = UEMF_Edge(Filter_U_Status); //U 检测边沿
    	if(status_l == 1) nums =0;		  //上升沿
    	else if(status_l == 0)  		  //下降沿
    	{
    		Delay30deg = nums/4;  
    	}
    	if(VEMF_Edge(Filter_V_Status))//V 检测边沿
    	{ nums =0; }
    	
    	if(WEMF_Edge(Filter_W_Status))//W 检测边沿
    	{ nums =0; }
    	//30度延时换相						
    	if(nums == Delay30deg) 
    	{	
    		EMF_Val = (Filter_U_Status<<2 )| (Filter_V_Status<<1) |Filter_W_Status;
    
    		if(EMF_SVal == EMF_Val) return;
    		EMF_SVal = EMF_Val; //更新值
    		
    		EMF_EXTI_Callback(EMF_Val);
    	}
    
    }
    

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

    最后秀几张转起来的照片

    在这里插入图片描述

    硬盘电机 无感模式

    硬盘电机 无感模式
    在这里插入图片描述
    电动工具电机 有感模式
    在这里插入图片描述
    加装散热片的样子。

    展开全文
  • 详解三相直流无刷电机驱动器硬件原理图

    万次阅读 多人点赞 2019-04-16 22:26:46
    三相直流无刷电机是指具有三相的绕组、无电刷和换向器(或集电环)的电机,并采用直流电经过逆变电路进行驱动的电机。 与传统的 有刷直流电机相比,直流无刷电机采用了电子换向取代有刷电机的机构换向,取消了电刷和...

    三相直流无刷电机是指具有三相的绕组、无电刷和换向器(或集电环)的电机,并采用直流电经过逆变电路进行驱动的电机。
    与传统的 有刷直流电机相比,直流无刷电机采用了电子换向取代有刷电机的机构换向,取消了电刷和换向器;并将原有 有刷电机 中的定转子颠倒,即电枢绕组在定子上,与静止的电子换相电路联接方便,励磁在转子上,为永磁体,不需要励磁绕组,也更不需要向转子通电的滑环和电刷;在 有刷电机 中,换向器在转子上,它能保证当电枢导体从一个定子磁极下转到另一个极下时其中的电流同步改变方向,直流无刷电机电枢绕组中电流方向的改变由功率管的开关来控制,为保证开关信号与转子磁极转过的位置同步,需要有检测转子位置角的传感器。其基本组成部分如图:

    在这里插入图片描述
    除了基本的三相逆变全桥电路外,直流无刷电机驱动电路还需具备各点的采样电路。驱动电路主要的有以下几部分构成

    1. 三相逆变桥电路
    2. 电流采样电路
    3. 直流母线电压采样电路
    4. 霍尔编码器驱动电路

    1.三相逆变全桥电路
    三相逆变桥电路采用IR2101S加MOS驱动方式。IR2101S本身是半桥驱动,采用上桥跟下桥驱动方式,也就是一路驱动需要1个IR2101S和2个MOS管,总共3路。所以电机驱动很大部分成本在这里面。而且根据需要应用的场合不同,需要MOS管功率不同,这时就需要考虑成本尽量选用性价比高的MOS管。电路如图
    在这里插入图片描述
    其中U2为IR2101S,Q1,Q2是IRF540N N沟道MOS管,D2、C3组成上桥自举电路,R3,R13为MOS管基极限流电阻。R15为驱动采样功率电阻,大负载时可以更换大功率电阻,防止电流过大烧毁电阻。R9、R10为单片机控制引脚到IR2101S限流电阻。
    自举电路也叫升压电路(这个电路在三相逆变桥电路中起到很关键的作用)。原理是利用自举升压二极管,自举升压电容等元件,使电容放电电压和电源电压叠加,从而使电压升高(类似于升压电路),有的电路升高的电压可达到数倍电源电路。
    这就是利用自举来抬高电压的。通常用一个电容和一个二级管,电容存储电荷,二极管防止电流倒灌,频率较高的时候,自举电路的电压就是电路输入的电压加上电容的电压,起到升压的作用。同时自举电容的容值也不能过大也不能过小,需根据开关频率选择适当的容值。

    2.电路采样电路
    电机控制最基本的要求就是获取电机的电流信息。在每个半桥的下臂都加了一个0.05欧 2W的采样电阻,如图:
    在这里插入图片描述
    采集电机相线上电流,原理是电流流过功率电阻,产生电压,经过差分放大电路放大 5 倍,(5 倍是 10/(1+1))后送到单片机进行处理。电容起到滤波作用,三路电流采样一样,这里只列举一路。
    在这里插入图片描述
    同时,为了给采样电路提供1.65V的参考电压,我们采用运放搭了个参考电压电路,也称跟随器。利用电阻分压出 1.65V,经过跟随器输出稳定的电压。
    在这里插入图片描述
    3.直流母线电压采样电路
    直流母线电压采样电路主要是监控直流电源电流的大小,一可以计算电机的功率,二可作为硬件过载保护的措施。
    采集电机母线上电流,原理是电流流过功率电阻,产生电压,经过差分放大电路放大 5 倍,(5 倍是 10/(1+1))后送到单片机进行处理。电容起到滤波作用。
    在这里插入图片描述
    硬件过流我们采用比较器电路,母线总电流流过功率电阻产生电压,正常时,功率电阻上电压低于比较电压,比较器输出高电平,不故障,当功率电阻上电压高于比较电压,比较器输出低电平,故障,电机停转。目前比较值为 3V。
    在这里插入图片描述
    4.霍尔编码器驱动电路
    霍尔编码器驱动电路主要的功能是采集电机的旋转角度和转速,以此可对电机形成闭环控制。霍尔编码器接口采用标准的 5 线霍尔接线方式,由上拉电阻,限流电阻和滤波电容组成,确保采集信号干净无杂波。接线时注意接线顺序,电机参数里都有霍尔线顺序,一般根据颜色去区分。
    在这里插入图片描述
    具备了以上这几个电路之后,便可对三相直流无刷电机进行有效的控制,适用于各种常用的电机控制算法,比如V/F控制(也就变频控制)、FOC控制(磁场定向控制)等。

    获取详细的无刷电机原理图,可关注公众号,首页回复“无刷电机原理图”获取资料
    在这里插入图片描述

    展开全文
  • 无刷直流电机构成及工作原理详解

    万次阅读 多人点赞 2018-02-25 21:30:45
    直流电机主要有直流有刷电机无刷直流电机两种,特别是无刷直流电机以其出色的工作特性在工业生产及日常生活中应用广泛,本文对无刷直流电机构成及工作原理进行介绍。一无刷直流电机简介 无刷直流电机(BLDC)以电子...

    直流电机主要有直流有刷电机和无刷直流电机两种,特别是无刷直流电机以其出色的工作特性在工业生产及日常生活中应用广泛,本文对无刷直流电机构成及工作原理进行介绍。

    无刷直流电机简介

      无刷直流电机(BLDC)以电子换向器取代了机械换向器,所以无刷直流电机既具有直流电机良好的调速性能等特点,又具有交流电机结构简单、无换向火花、运行可靠和易于维护等优点。

    无刷直流电机模型

    图1、无刷直流电机模型

      无刷直流电机主要由用永磁材料制造的转子、带有线圈绕组的定子和位置传感器(可有可无)组成。可见,它和直流电机有着很多共同点,定子和转子的结构差不多(原来的定子变为转子,转子变为定子),绕组的连线也基本相同。但是,结构上它们有一个明显的区别:无刷直流电机没有直流电机中的换向器和电刷,取而代之的是位置传感器。这样,电机结构就相对简单,降低了电机的制造和维护成本,但无刷直流电机不能自动换向(相),牺牲的代价是电机控制器成本的提高(如同样是三相直流电机,有刷直流电机的驱动桥需要 4 只功率管,而无刷直流电机的驱动桥则需要 6 只功率管)。

      图1所示为其中一种小功率三相、星形连接、单副磁对极的无刷直流电机,它的定子在内,转子在外。另一种无刷直流电机的结构和这种刚刚相反,它的定子在外,转子在内,即定子是线圈绕组组成的机座,而转子用永磁材料制造。

      无刷直流电机有以下的特点:

      ● 无刷直流电机的外特性好,能够在低速下输出大转矩,使得它可以提供大的起动转矩;

      ● 无刷直流电机的速度范围宽,任何速度下都可以全功率运行;

      ● 无刷直流电机的效率高、过载能力强,使得它在拖动系统中有出色的表现;

      ● 无刷直流电机的再生制动效果好,由于它的转子是永磁材料,制动时电机可以进入发电机状态;

      ● 无刷直流电机的体积小,功率密度高;

      ● 无刷直流电机无机械换向器,采用全封闭式结构,可以防止尘土进入电机内部,可靠性高;

      ● 无刷直流电机比异步电机的驱动控制简单。

    无刷直流电机的工作原理

      无刷直流电机的定子是线圈绕组电枢,转子是永磁体。如果只给电机通以固定的直流电流,则电机只能产生不变的磁场,电机不能转动起来,只有实时检测电机转子的位置,再根据转子的位置给电机的不同相通以对应的电流,使定子产生方向均匀变化的旋转磁场,电机才可以跟着磁场转动起来。

      如图2所示为无刷直流电机的转动原理示意图,为了方便描述,电机定子的线圈中心抽头接电机电源 POWER,各相的端点接功率管,位置传感器导通时使功率管的 G极接 12V,功率管导通,对应的相线圈被通电。由于三个位置传感器随着转子的转动,会依次导通,使得对应的相线圈也依次通电,从而定子产生的磁场方向也不断地变化,电机转子也跟着转动起来,这就是无刷直流电机的基本转动原理——检测转子的位置,依次给各相通电,使定子产生的磁场的方向连续均匀地变化。

    无刷直流电机转动原理示意图

    图2:无刷直流电机转动原理示意图

    无刷直流电机的驱动方法

      无刷直机电机的驱动方式按不同类别可分多种驱动方式,它们各有特点。

      按驱动波形:

      ● 方波驱动,这种驱动方式实现方便,易于实现电机无位置传感器控制;

      ● 正弦驱动,这种驱动方式可以改善电机运行效果,使输出力矩均匀,但实现过程相对复杂。同时,这种方法又有SPWM SVPWM(空间矢量PWM)两种方式,SVPWM的效果好于SPWM。


    展开全文
  • 直流无刷电机控制功能介绍: 采用瑞萨单片机R5F0C807作为主控制芯片,通过3路具有中断触发功能的输入端口来采集霍尔传感器的输出信号; 6路实时输出(RTO)输出端口用于驱动电机转动的换向电平。霍尔传感器的输出...
  • 转;有刷电机与无刷电机图解分析,很详细

    万次阅读 多人点赞 2019-05-21 17:22:34
    有刷电机是大家最早接触的一类电机,中学时物理课堂上介绍电动机也是以它为模型来展示的。有刷电机的主要结构就是定子+转子+电刷,通过旋转磁场获得转动力矩,从而输出动能。电刷与换向器不断接触摩擦,在转动中起到...

    感谢这位大神的归纳http://m.elecfans.com/article/724357.html

    有刷电机工作原理

    有刷电机是大家最早接触的一类电机,中学时物理课堂上介绍电动机也是以它为模型来展示的。有刷电机的主要结构就是定子+转子+电刷,通过旋转磁场获得转动力矩,从而输出动能。电刷与换向器不断接触摩擦,在转动中起到导电和换相作用。

    有刷电机采用机械换向,磁极不动,线圈旋转。电机工作时,线圈和换向器旋转,磁钢和碳刷不转,线圈电流方向的交替变化是随电机转动的换相器和电刷来完成的。

    在有刷电机中,这个过程是将各组线圈的两个电源输入端,依次排成一个环,相互之间用绝缘材料分隔,组成一个象圆柱体的东西,与电机轴连成一体,电源通过两个碳元素做成的小柱子(碳刷),在弹簧压力的作用下,从两个特定的固定位置,压在上面线圈电源输入环状圆柱上的两点,给一组线圈通电。

    随着电机转动,不同时刻给不同线圈或同一个线圈的不同的两极通电,使得线圈产生磁场的N-S极与最靠近的永磁铁定子的N-S极有一个适合的角度差,磁场异性相吸、同性相斥,产生力量,推动电机转动。碳电极在线圈接线头上滑动,象刷子在物体表面刷,因此叫碳“刷”。

    相互滑动,会摩擦碳刷,造成损耗,需要定期更换碳刷;碳刷与线圈接线头之间通断交替,会发生电火花,产生电磁破,干扰电子设备。

    无刷电机工作原理

    无刷电机中,换相的工作交由控制器中的控制电路(一般为霍尔传感器+控制器,更先进的技术是磁编码器)来完成。

    无刷电机采取电子换向,线圈不动,磁极旋转。无刷电机,是使用一套电子设备,通过霍尔元件,感知永磁体磁极的位置,根据这种感知,使用电子线路,适时切换线圈中电流的方向,保证产生正确方向的磁力,来驱动电机。消除了有刷电机的缺点。

    这些电路,就是电机控制器。无刷电机的控制器,还可以实现一些有刷电机不能实现的功能,比如调整电源切换角,制动电机,使电机反转,锁住电机,利用刹车信号,停止给电机供电。现在电瓶车的电子报警锁,就充分利用了这些功能。

    无刷直流电机由电动机主体和驱动器组成,是一种典型的机电一体化产品。由于无刷直流电动机是以自控式运行的,所以不会象变频调速下重载启动的同步电机那样在转子上另加启动绕组,也不会在负载突变时产生振荡和失步。

    有刷电机与无刷电机调速方式的区别

    实际上两种电机的控制都是调压,只是由于无刷直流采用了电子换向,所以要有数字控制才可以实现了,而有刷直流是通过碳刷换向的,利用可控硅等传统模拟电路都可以控制,比较简单。

    1、有刷马达调速过程是调整马达供电电源电压的高低。调整后的电压电流通过整流子及电刷地转换,改变电极产生的磁场强弱,达到改变转速的目的。这一过程被称之为变压调速。

    2、无刷马达调速过程是马达的供电电源的电压不变,改变电调的控制信号,通过微处理器再改变大功率MOS管的开关速率,来实现转速的改变。这一过程被称之为变频调速。

    性能差异

    1、有刷电机结构简单、开发时间久、技术成熟

    早在十九纪诞生电机的时候,产生的实用性电机就是无刷形式,即交流鼠笼式异步电动机,这种电动机在交流电产生以后得到了广泛的应用。但是,异步电动机有许多无法克服的缺陷,以致电机技术发展缓慢。尤其是直流无刷电机一直无法投入商业运营,伴随着电子技术的日新月异,直至近几年才慢慢投入商业运营,就其实质来说依然属于交流电机范畴。

    无刷电机诞生不久,人们就发明了直流有刷电机。由于直流有刷电机机构简单,生产加工容易,维修方便,容易控制;直流电机还具有响应快速、较大的起动转矩、从零转速至额定转速具备可提供额定转矩的性能,所以一经问世就得到了广泛应用。

    2、直流有刷电机响应速度快,起动扭矩大

    直流有刷电机起动响应速度快,起动扭矩大,变速平稳,速度从零到最大几乎感觉不到振动,起动时可带动更大的负荷。无刷电机起动电阻大(感抗),所以功率因素小,起动扭矩相对较小,起动时有嗡嗡声,并伴随着强烈震动,起动时带动负荷较小。

    3、直流有刷电机运行平稳,起、制动效果好

    有刷电机是通过调压调速,所以起动和制动平稳,恒速运行时也平稳。无刷电机通常是数字变频控制,先将交流变成直流,直流再变成交流,通过频率变化控制转速,所以无刷电机在起动和制动时运行不平稳,振动大,只有在速度恒定时才会平稳。

    4、直流有刷电机控制精度高

    直流有刷电机通常和减速箱、译码器一起使用,使的电机的输出功率更大,控制精度更高,控制精度可以达到0.01毫米,几乎可以让运动部件停在任何想要的地方。所有精密机床都是采用直流电机控制精度。无刷电机由于在启动和制动时不平稳,所以运动部件每次都会停到不同的位置上,必须通过定位销或限位器才可以停在想要的位置上。

    5、直流有刷电机使用成本低,维修方便。 由于直流有刷电机结构简单,生产成本低,生产厂家多,技术比较成熟,所以应用也比较广泛,比如工厂、加工机床、精密仪器等,如果电机故障,只需更换碳刷即可,每个碳刷只需要几元,非常便宜。无刷电机技术不成熟,价格较高,应用范围有限,主要应在恒速设备上,比如变频空调、冰箱等,无刷电机损坏只能更换。

    6、无电刷、低干扰

    无刷电机去除了电刷,最直接的变化就是没有了有刷电机运转时产生的电火花,这样就极大减少了电火花对遥控无线电设备的干扰。

    7、噪音低,运转顺畅

    无刷电机没有了电刷,运转时摩擦力大大减小,运行顺畅,噪音会低许多,这个优点对于模型运行稳定性是一个巨大的支持。

    8、寿命长,低维护成本

    少了电刷,无刷电机的磨损主要是在轴承上了,从机械角度看,无刷电机几乎是一种免维护的电动机了,必要的时候,只需做一些除尘维护即可。

    无刷电机控制原理

    电机驱动控制就是控制电机的转动或者停止,以及转动的速度。电机驱动控制部分也叫做电子调速器,简称电调,英文electronic speed controller(ESC)。电调对应使用的电机不同,分无刷电调和有刷电调。

    有刷电机的永磁体是固定不动的,线圈绕在转子上,通过一个电刷跟换相器接触间断来改变磁场方向来保持转子持续转动。无刷电机,顾名思义,这种电机是没有所谓的电刷和换相器的,他的转子是永磁体,而线圈是固定不动的,直接接到外部电源,问题就来了,线圈磁场方向怎么改变呢?事实上,无刷电机外部还需要一个电子调速器,这个调速器说白了就是一个电机驱动,它随时都在改变着固定线圈内部电流的方向,保证它跟永磁体之间的作用力是相互排斥,持续转动得以延续。

    刷电机工作可以不需要电调,直接把电供给电机就能够工作,但是这样无法控制电机的转速。无刷电机工作必须要有电调,否则是不能转动的。必须通过无刷电调将直流电转化为三相交流电,输给无刷电机才能转动。

    最早的电调可不是像现在的电调一样,最早全是有刷电调,说道这你可能要问了,什么是有刷电调,和现在的无刷电调有什么区别。事实上这差别呀可大了去了,有刷电调和无刷电调都是根据电机来说的,现在电机的转子,就是能转动的部分全是磁铁块,线圈是定子不转动的,因为这中间没有碳刷,这就是无刷电机。而有刷电机呢,顾名思义就是有碳刷,所以就是有刷电机,像我们平常小孩子玩的一二十块钱的遥控车用的电机就是有刷电机。电调就是根据这两种电机而命名的有刷电调和无刷电调。从专业的角度来讲呢就是有刷电调就是输出时直流电,无刷电调输出是三相交流电。直流电就是我们电池里存储的电,有正负极之分,我们家用220V的,用于手机充电器或者电脑的电源都是交流电。交流电就是带有一定的频率,通俗讲就是一根线上正负、正负的来回交换着;直流电就是正极是正极,负极是负极。交流直流弄清楚了,那么什么又是“三相电”呢?理论讲三相交流电是电的一种传输形式,简称三相电,是由3个频率相同、振幅相等、相位依次互差120度的交流电势组成的电源。通俗的讲,就是我们家用的三项交流电,除了电压、频率、驱动角不同,其他都一样,现在对于三相电和直流电都了解了吧。

    无刷电调,输入的是直流电,通过一个滤波电容稳定电压。然后分成俩两路,一路是电调的BEC使用,BEC是给接收机与电调自身单片机供电使用的,输出至接收机的电源线就是信号线上的红线和黑线,另一路是介入MOS管使用,在这里,电调上电,单片机开始启动,驱动MOS管震动,使电机发出滴滴滴的声音。启动后待命,有些电调带有油门校准功能,在进入待命前会监测油门位置是在高还是低还是中间,高的话进入电调行程校准,中间的话开始发出报警信号,电机会滴滴的响,低的话会进入正常工作状态。一切准备就绪后,电调内的单片机会根据PWM信号线上的信号决定输出电压的大小和频率的高低以及驱动方向和进角多少来驱动电机的转速,转向。这就是无刷电调原理。在驱动电机运转的时候,电调内共有3组MOS管工作,每组2个极,一个控制正极输出,一个控制负极输出,当正极输出时,负极不输出,负极输出时,正极不输出,这样子也就形成了交流电,同样,三组都是这样工作的,它们的频率是8000HZ。讲到这,无刷电调也相当于一个工厂里电机上使用的变频器或者调速器。

    电调的输入是直流,通常由锂电池来供电。输出是三相交流,可以直接驱动电机。另外航模无刷电子调速器还有三根信号输入线,输入PWM信号,用于控制电机的转速。对于航模,尤其是四轴飞行器,由于其特殊性,需要专门的航模电调。

    那么为什么在四轴飞行器上需要专门的电调呢,其有什么特别的地方?四轴飞行器有四个桨,两两相对呈十字交叉结构。在桨的转向上分正转和反转,这样可抵消单个桨叶旋转引起的自旋问题。每个桨的直径很小,四个桨转动时的离心力是分散的。不像直机的桨,只有一个能产生集中的离心力形成陀螺性质的惯性离心力,保持机身不容易很快的侧翻掉。所以通常用到的舵机控制信号更新频率很低。

    四轴为了能够快速反应,以应对姿态变化引起的飘移,需要高反应速度的电调,常规PPM电调的更新速度只有50Hz左右,满足不了这种控制所需要的速度,且PPM电调MCU内置PID稳速控制,能对常规航模提供顺滑的转速变化特性,用在四轴上就不合适了,四轴需要的是快速反应的电机转速变化。用高速专用电调,IIC总线接口传送控制信号,可达到每秒几百上千次的电机转速变化,在四轴飞行时,姿态时刻能够保持稳定。即使受到外力突然冲击,依旧安然无恙。

    展开全文
  • 无刷直流电机(BLDC)建模与仿真

    万次阅读 多人点赞 2020-04-28 23:18:48
    按照最常用的定义,无刷直流电机有两种,一种是梯形波反电动势无刷直流电机,也就是通常说的BLDC,另一种是正弦波反电动势无刷直流电机,也就是PMSM。本文只研究梯形波反电动势无刷直流电机,也就是BLDC的建模和仿真...
  • 无刷电机 无刷电机的转子结构: 在这个转子内侧,有两个永久性磁铁,一个是N极,一个是S极。 这种结构属于外转子型的无刷电机,即电机的转子在外面,而定子在内部。 如下图所示: 电机的定子结构是线圈,也...
  • 无刷电机学习笔记(1)

    千次阅读 2019-06-24 15:52:29
    1.无刷电机,相比有刷电机,有使用寿命长,转速易控制,噪音小,扭矩大等特点,一般多轴用的时外转子无刷电机。 2.电机外转子动平衡和轴承的选材决定了电机大部分的便面性能,如果这两个部分出现问题,电机高速转动...
  • 无刷电机参数测量方法

    千次阅读 2019-08-18 15:42:37
    在进行电机开发时需要知道手中电机的参数,不同无刷电机的参数不一样,在进行FOC算法驱动时,电机参数的正确性尤为重要。一般这些参数在买电机时厂家会提供,如果厂家不提供,可以通过以下方法去测量。 主要测量...
  • 有刷电机是大家最早接触的一类电机,例如很多电动小玩具,或者很多家用的吹风机里面的电机都是有刷电机。有刷电机的主要结构就是定子,转子,电刷,通过旋转磁场获得转动力矩,从而输出动能。电刷与换向器不断接触摩擦...
  • 无刷电机和有刷电机的详解区别

    万次阅读 2018-09-07 15:06:15
    无刷电机和有刷电机的详解区别 有刷电机: 1.有刷电机工作时,绕组线圈和换向器旋转,磁钢(也就是永久磁铁)和碳刷(也就是提供直流电的两个触头)不转,线圈电流方向的交替变化是随电机转动的换相器和电刷来完成...
  • 有刷电机和无刷电机

    千次阅读 2018-09-20 20:02:34
    我们常用的发动机是直流电机(马达),直流电机可以分有刷电机和无刷电机。   1、有刷直流电机   我们小时候很常见的大多是有刷电机。有刷电机最基本的组成部分除了定子(不转动的部分,固定着的)、转子...
  • 航模基础知识 无刷电机

    千次阅读 2019-05-20 11:20:28
    无刷电机参数及特性 1、尺寸 大家选择无刷电机,会看到很多命名类似的型号,如2216、2814等,这个数字,前两位是定子外径(mm)、后两位的是定子高度(mm)。定子的外径和高度越多,定子的铁芯越大,线圈绕的匝数也...
  • 有刷、有感和无刷无感电机的使用心得

    万次阅读 多人点赞 2016-09-20 13:10:34
    一、有刷马达的原理 要讲清这一问题,那就应粗略地了解一下有刷马达的工作原理。... 首先,无刷电机不是直流电机,模型虽然是直流电池供电,但通过无刷电调之后就转变为了三相交变电流传输到了三个极性上。通过下图可
  • 【抢头条】迄今最全的无刷电机工作及控制原理分享-绝对…! 这篇文章图文并茂,讲解的直流无刷电机的工作原理,很好,很赞。
  • 无刷电机的极对数

    千次阅读 2019-06-24 15:52:39
    极对数越少,转速越高 极对数越多,扭矩越大 视频原创链接:https://www.youtube.com/watch?v=VqLG_HsUyPI
  • 直流有刷电机与无刷电机的区别

    万次阅读 2019-03-28 10:26:07
    首先介绍有刷电机与无刷电机工作原理,最后从调速方式及性能差异这两个方面详细的阐述了有刷电机与无刷电机的区别。  有刷电机与无刷电机工作原理  1、有刷电机  电机工作时,线圈和换向器旋转,磁钢和碳刷...
  • 无刷电机FOC控制笔记

    万次阅读 多人点赞 2020-06-29 23:12:30
    矢量控制的核心思想是为了简化无刷电机的控制模型,将一个需要换相的无刷电机通过各种算法变换,抽象为一个直流电机的控制模型,只需要控制简单的两个直流分量来控制无刷电机,其中Vq抽象为直流电机的两端电压,Vd可...
  • 我们在电动车,家用电器,印刷机械等很多行业都可以看到直流无刷电机的应用。直流无刷电机的运行时靠确定霍尔记录转子的位置,传送信号到控制芯片来控制直流无刷电机的工作状态。 这里的霍尔的作用就用来记录直流...
  • 无刷电机电调的使用

    千次阅读 2020-03-28 22:49:55
    无刷电机电调,见下图: 电调的输入端分别是直流供电电源和PWM信号输入,输出端是三相电,三根线用于连接三相电机。 电调信号频率范围50Hz-432Hz ,即20ms-2.5ms 高电平脉宽为1ms表示停转,高电平脉宽为2ms...
1 2 3 4 5 ... 20
收藏数 3,773
精华内容 1,509
关键字:

无刷电机