0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自制无刷电机控制器:画板、打样、焊接、调试

电子工程技术 来源:电子工程技术 2023-01-16 15:29 次阅读

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

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

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

75172e94-94be-11ed-bfe3-dac502259ad0.png

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

752e16d6-94be-11ed-bfe3-dac502259ad0.png

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

有感就是在电机端盖的部位加装霍尔传感器分别相隔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,它内部有自举升压电路。外部仅需一个续流的二极管及储能电容即可。

75568e5e-94be-11ed-bfe3-dac502259ad0.jpg

75661cfc-94be-11ed-bfe3-dac502259ad0.jpg

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

75766580-94be-11ed-bfe3-dac502259ad0.png

当然控制方式上也就简单很多,三个霍尔接中断输入,在中断处理程序中根据组合状态换相,程序上也没什么复杂的。主程序 一直检测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);

75839890-94be-11ed-bfe3-dac502259ad0.jpg

75b3ca4c-94be-11ed-bfe3-dac502259ad0.jpg

}

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

75c5d16a-94be-11ed-bfe3-dac502259ad0.jpg

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

75d417a2-94be-11ed-bfe3-dac502259ad0.jpg

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

75fc56ae-94be-11ed-bfe3-dac502259ad0.jpg

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

761e1884-94be-11ed-bfe3-dac502259ad0.jpg

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

一般方法都是分三段法: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

{

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.这样算起来电流还合理。

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

762ae7a8-94be-11ed-bfe3-dac502259ad0.jpg

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

764e1994-94be-11ed-bfe3-dac502259ad0.jpg

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

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

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

765f5d4e-94be-11ed-bfe3-dac502259ad0.jpg

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

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

766d1a92-94be-11ed-bfe3-dac502259ad0.jpg

理想很完美,现实很残酷,实际中根本得不到这么完美的波形。
如下图,这个已经是比较好的了,还是有很多毛刺。这个给单片机中断,肯定一大堆问题,严重的换错相烧mos管。

7693584c-94be-11ed-bfe3-dac502259ad0.jpg

76a201da-94be-11ed-bfe3-dac502259ad0.jpg

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

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

76b12aca-94be-11ed-bfe3-dac502259ad0.jpg

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

进入中断函数后做如下处理 ,定时器的中断我暂时用的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);

76ef0d4a-94be-11ed-bfe3-dac502259ad0.png

770d4e2c-94be-11ed-bfe3-dac502259ad0.png

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

最后秀几张转起来的照片

771c6c7c-94be-11ed-bfe3-dac502259ad0.jpg

7755083e-94be-11ed-bfe3-dac502259ad0.jpg

硬盘电机 无感模式

7764d642-94be-11ed-bfe3-dac502259ad0.jpg

电动工具电机 有感模式

7771343c-94be-11ed-bfe3-dac502259ad0.jpg

加装散热片的样子

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电流
    +关注

    关注

    40

    文章

    6006

    浏览量

    130025
  • 控制器
    +关注

    关注

    112

    文章

    15247

    浏览量

    171507
  • 无刷电机
    +关注

    关注

    57

    文章

    751

    浏览量

    45013

原文标题:大神自制无刷电机控制器:画板、打样、焊接、调试...

文章出处:【微信号:EngicoolArabic,微信公众号:电子工程技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    无刷电机是什么意思 无刷电机是交流还是直流

    ,并且无需维护刷子。无刷电机采用了电子换向技术,可以在不使用电刷的情况下实现电机的换向。本文将详细介绍无刷电机的工作原理、种类、特点和应用领域等。 一、工作原理 无刷电机通过内部的电子
    的头像 发表于 02-01 13:57 3198次阅读

    无刷电机谐波怎么调 无刷电机为什么要电调

    无刷电机谐波怎么调 无刷电机为什么要电调  无刷电机谐波调节原理详解 无刷电机是一种通过电子调速器来控制
    的头像 发表于 12-20 16:00 1230次阅读

    为什么用在有齿无刷电机控制器是方波而不是正弦波输出?

    为什么用在有齿无刷电机控制器是方波而不是正弦波输出?  在有齿无刷电机控制中,使用方波而不是正弦波输出有多个原因。我们将在本文中详尽、详实、细致地解释这些原因,并介绍方波
    的头像 发表于 12-20 16:00 611次阅读

    直流无刷电机的原理及其控制

    直流无刷电机的原理及其控制--英飞凌英飞凌专题技术交流  
    发表于 11-09 16:40 15次下载

    自制无刷电机控制器

    很早之前就想做一款无刷电机控制器,忙于工作一直没有弄。最近有点时间画板打样焊接调试,总算顺
    的头像 发表于 10-16 10:43 820次阅读
    <b class='flag-5'>自制</b><b class='flag-5'>无刷电机</b><b class='flag-5'>控制器</b>

    单片机如何控制无刷电机

    买了一个无刷电机,但是没有控制器。突然有个想法,看一看能不能用51单片机做一个控制器控制霍尔传感的相位,从而
    发表于 09-28 08:27

    WML36-180G型无刷电机控制器线路图分享

    WML36-180G型无刷电机控制器线路图
    发表于 09-26 07:11

    无刷电机和普通电机的区别

    但是,无刷电机的结构要复杂得多。与传统的电机相比,它需要几个电子元件来控制其运动方向和速度。此外,无刷电机的转子具有永磁体或定子绕组,其电子是通过传感器和
    的头像 发表于 08-26 10:50 2801次阅读

    无刷电机的工作原理是什么?

    与传统的电机不同的是,无刷电机的转子上没有刷子和集电环,这使得它不仅减少了机械磨损,而且减小了整个系统的体积和重量。无刷电机的转子上安装了一个电子设备,称为转子传感器。转子传感器可以测量转子的位置,并将这个信息传递给
    的头像 发表于 08-26 10:38 3850次阅读

    永磁电机无刷电机有什么区别

    无刷电机:由定子、转子、控制器等几个主要部分组成。无刷电机的转子上没有碳刷和集电环,取而代之的是一组控制器,它可以通过检测到转子位置来触发发送正确的交换推力电位。
    的头像 发表于 08-26 10:29 3357次阅读

    基于RT-Thread+RA6M4的无刷电机伺服控制器设计

    本项目制作了一个基于RT-Thread+RA6M4的无刷电机控制器,可以实现是无刷电机的伺服控制。可以应用在小型CNC、人机交互等场景。
    发表于 08-02 17:51 486次阅读
    基于RT-Thread+RA6M4的<b class='flag-5'>无刷电机</b>伺服<b class='flag-5'>控制器</b>设计

    无刷电机控制器电机控制器工作原理详解

    电机控制器工作原理详解 电机控制器控制电动机运行的关键部件,通过对电机进行电流、电压、频率等参
    的头像 发表于 06-08 11:38 3069次阅读

    无刷电机控制调试-上

    无刷电机
    白加黑
    发布于 :2023年05月30日 16:58:08

    无刷电机控制调试

    无刷电机
    白加黑
    发布于 :2023年05月30日 16:58:08

    无刷电机与驱动

     直流无刷电机自制FOC驱动器】深入浅出讲解FOC算法与SVPWM技术 | 稚晖的个人站     写得很清晰机器人硬件三大核心部件( 电机 、 减速器 、 驱动器 ) 照这样看来,直流电机
    发表于 05-16 15:13 25次下载
    <b class='flag-5'>无刷电机</b>与驱动