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

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

3天内不再提示

灵动微MM32SPIN360C电机开发板驱动有感BLDC的操作方法

汇英同创杨娴 来源:汇英同创杨娴 作者:汇英同创杨娴 2023-04-06 22:05 次阅读

一、MM32SPIN360C 电机开发板介绍

简介

如图(1),MM32SPIN360C 电机开发板以 Mindmotion 的专用 MCU —— MM32SPIN360C 为主控制器,具备霍尔传感器检测和反电动势检测功能。适用于低压场合,可广泛用于工业或者民用领域的三相无刷永磁电机驱动器,如电动工具等。

主控制器 MM32SPIN360C 是 ARM Cortex-M0 的 32 位微控制器,内置 5V 输出的 LDO 稳压器(Input : 7~13.5V),内置 3 组具有自举二极管的 N 沟道半桥栅极驱动器(7~48V、1A Sink、1A Source),以及 3 个比较器和 3 个运算放大器等等。MM32SPIN360C 的具体参数和用法请参考灵动微的官网(https://www.mindmotion.com.cn/)上的数据手册和用户手册。

poYBAGQuxVqAD8srAAhDllHuU5I930.png


图(1)

电路板图解

如图(2)为电路板正面的图解,开发板带有 10KΩ 可调电阻器,可用于调节电机的转速。带有 UART/LIN 通讯接口,以及两种形式的 JTAG/SWD 接口。电源输入电压为 12~36V,可以有两种接入方式(DC-JACK 或者 接线端子)。

pYYBAGQuxWKASZVqAAcJ5Y6C45s843.png


图(2)

原理图介绍

图(3)是电机驱动部分的原理图。由于 MM32SPIN360C 这颗 MCU 内自带预驱,所以可以直接驱动 MOS 管(PXN012-60QL),简化了电机驱动电路。

poYBAGQuxWuAEf8LAAK8R4aQ0So646.png


图(3)

图(4)是反馈电路,可以通过 JP4~JP8,JP10~JP12 选择霍尔传感器方式反馈或者是反电动势方式反馈。如果选择霍尔传感器方式,则只需要将 JP6、JP7、JP8 的 1-2 脚短接。

pYYBAGQuxXSAMvxSAABi8nVyZJU617.png


图(4)

二、 驱动软件简介

启动电机

此驱动软件首先通过 12-bit ADC 采集可调电阻器的电阻值,确定电机的转速。当电机速度的 PWM 波形占空比大于 5% 才开始启动电机。电机启动之前通过读取 U/V/W 的 3 个霍尔传感器的值确定电机转子位置,进而根据转子位置来确定 U/V/W 的上电顺序。

//RM 旋钮启动与调速
do {
hwAdcValue = GetAdcAverage(5); // 采集可调变阻器的电压值
if (0xffff == hwAdcValue) {
break;
} else {
g_tMotor.tDuty = hwAdcValue * 100 / 4095; // 设置 PWM 占空比
SET_DUTY_U(g_tMotor.tDuty);
SET_DUTY_V(g_tMotor.tDuty);
SET_DUTY_W(g_tMotor.tDuty);
if ((g_tMotor.tDuty > 5) && (g_tMotor.tMotorState == STOP)) {
g_tMotor.tMotorState = START; // 如果电机速度的波形占空比大于 5%,则启动电机
}
}
} while(0);

霍尔传感器信号的采集

软件中包含 3 种霍尔传感器信号采集方式:主循环、EXTI、Timer 。

主循环 方式是在主函数的 while(1) 循环里读取 U/V/W 这 3 个霍尔传感器对应的 MCU 管脚(PA0/PA1/PA2)上的电平, 进而驱动换相。

EXTI 方式是设置 U/V/W 这 3 个霍尔传感器对应的 MCU 管脚(PA0/PA1/PA2)为外部中断,双边沿触发。当任一 HALL 线上电平发生变化时,都会有对应中断线产生中断,在 EXTI 中断服务函数中进行 HALL 引脚电平检测,进而驱动换相。

Timer 方式是设置 U/V/W 这 3 个霍尔传感器对应的 MCU 管脚(PA0/PA1/PA2)为定时器输入脚 ( CC1、CC2、CC3)。使用这 3 个定时器输入脚通过一个异或门连接到 TI1 输入通道;当捕获到 CC1、CC2、CC3 上有引脚发生电平变化时,由于异或门的存在, TI1 上产生一个跳变沿;经过输入滤波器和边沿检测器后传输给 TI1F_ED ,由于配置了 TIM 的触发源为 TI1F_ED 和使能了触发中断,这里会进入触发中断,在触发中断中我们可以判断霍尔状态的有效值,根据霍尔状态的有效值控制电机对应的绕组供电,进而驱动电机旋转。

这 3 种方式可以通过 hall.h 中的如下定义来选择:

#define HALL_POLLING_MODE 0 // 1:采用 主循环 方式采集霍尔信号


#define HALL_TIM_MODE 1 // 1:采用 Timer 方式采集霍尔信号
#define HALL_EXTI_MODE 0 // 1:采用 EXTI 方式采集霍尔信号

电机堵转检测

驱动软件中开启了系统节拍定时器(systick),每 1 毫秒中断一次。此定时器用于检测电机运转时堵转 2 秒之后,停止电机运行。

void Systick_Callback(void)
{
if(RUN == g_tMotor.tMotorState) {
g_tMotor.tCount.hwTimeCount ++;
if(g_tMotor.tCount.hwTimeCount > 2000) { // 2s超时,电机卡住不运转超过2s时间
GATE_DRIVER_DISABLE();
BLDC_UVW_DISABLE();
g_tMotor.tMotorState = STOP;
g_tMotor.tMotorErr = LOCKED_ERR;
g_tMotor.tCount.hwTimeCount = 0;
}
}
}


三、调试开发板

接线方法

开发板、BLDC 电机、调试器的接线图如图(8)所示。

poYBAGQuxYaAOUIKAAgTaDiYa1w363.png


图(8)

调试器的设置

开发板采用 SWD 接口调试。调试器可以采用灵动微官方的调试下载器,也可以采用适用于 ARM Cortex-M 核的调试器,比如图(8)用的就是 WPI 自制的调试器。

如果使用灵动微官方的调试器,则需要从灵动微官网上下载调试器的驱动(https://www.mindmotion.com.cn/support/development_tools/debug_and_programming_tools/)。 并在 keil 的调试设置中,选择 MM32-LINK Debugger ,如图(9)所示。

pYYBAGQuxY-Ac5ISAAGPy2oKlXc641.png


图(9)

我这里使用的是 WPI 自制的调试器,这种调试器免驱,在 keil 的调试设置中,选择 CMSIS-DAP Debugger ,如图(10)所示。

poYBAGQuxZ-AUV9EAAGR5OTqbTE925.png


图(10)

开发板上的设置

开发板上的跳线设置如图(11)所示,红色标记的地方需要接跳线帽,其他位置可以忽略。


图(11)

代码下载 & 运行

将代码下载到开发板上之后,旋转可调电阻器的旋钮,电机启动。可调变阻器的阻值越大,电机的转速越高。

四、总结

MM32SPIN360C 电机开发板上的主控制器(MM32SPIN360C)内置预驱,所以 MCU 只需要外接 6 个 MOS 管就可以驱动 BLDC 电机,整个驱动电路比较简单。
本文档介绍了如何使用 MM32SPIN360C 电机应用开发板驱动低压有感BLDC 电机的方法。 由于有霍尔传感器反馈电机转子的位置,所以在电机启动和运行的过程比较平稳,而且不需要算法,驱动代码比较简单。
此外,此开发板也可以驱动有感/无感正弦波电机,这个驱动的方法将在后面的博文中介绍,敬请期待。

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

    关注

    6002

    文章

    43990

    浏览量

    620954
  • 电机控制
    +关注

    关注

    3467

    文章

    1709

    浏览量

    264542
  • 无刷电机
    +关注

    关注

    56

    文章

    751

    浏览量

    44967
  • 灵动微
    +关注

    关注

    3

    文章

    173

    浏览量

    22557
  • MM32
    +关注

    关注

    1

    文章

    105

    浏览量

    576
收藏 人收藏

    评论

    相关推荐

    基于灵动MM32SPIN560C的低压无刷电机应用方案

    1 ► 方案描述 针对低压无刷电机,大联大世平集团推出基于灵动股份MM32SPIN560C 的无刷电机驱动方案。由于
    的头像 发表于 11-01 18:45 3228次阅读

    2019灵动微电子MM32 MCU智能之“芯”咖啡沙龙展示方案(一)——基于MM32SPIN360C的手持式吸尘器

    3.硬件设计MM32SPIN360C内建的LDO、DC/DC Regulator、三相Gate Driver以及比较器和运放,简化了电机驱动的设计。手持式吸尘器
    发表于 02-18 12:46

    灵动智能电机之芯——MM32SPIN系列MCU精彩亮相“2019年无刷直流电机技术研讨会”

    SPIN222C/360C集成硬件GATE DRIVER 以及MOSFET,对于微型电机应用上是一大利器,为用户省去了外部周边,大大降低系统成本并提高效率。此外,灵动持续发展
    发表于 03-29 13:24

    灵动课堂 (第113讲) | 基于MM32 MCU防疫产品应用解决方案分享 —— 便携冰箱

    大家可于3月20日(本周五)19:00在线莅临灵动直播间!灵动将给您带来:基于灵动MM32SPIN27PF系列无感FOC便携冰箱应用方案分享扫描下方图片二维码即可在线参会,参与互动还有
    发表于 03-19 17:56

    灵动MM32SPIN25PF与MM32F031C8T6产品具有哪些特性?

    灵动MM32SPIN25PF产品具有哪些特性?灵动MM32F031C8T6产品具有哪些特性?
    发表于 04-19 06:15

    小编科普一下32位单片机MM32SPIN360C

    32位单片机MM32SPIN360C有哪些特征?32位单片机MM32SPIN360C的引脚封装是怎样的?
    发表于 09-03 07:15

    分享灵动MM32SPIN系列电机电源相关应用设计专用产品 精选资料分享

    随着人们生活水平的提高,电机在各种家用设备,以及工业自动化等领域的应用将越来越广泛。电机作为工业领域动力之源,势必会有快速的增长机会,也会有更高要求。灵动
    发表于 09-08 07:42

    灵动MM32SPIN05TW开发的空调室内机应用方案

    缺点,同时家电的节能环保和智能控制的用户体验愈发重要,目前电源设计、智能控制和变频技术等方案优化仍旧是众多厂商需要攻克的难点。而灵动专为电机与电源设计的MM32SPIN系列MCU可满
    发表于 03-26 20:46

    关于电机控制专用国产32位单片机MM32SPIN360C

    配件、医疗、交通出行、显示及交互等领域。灵动可以为客户提供从优异芯片产品到核心算法和从完备参考设计方案到整机开发的全方位支持。 国产32位单片机MM32SPIN360C拥有M0内核的高性能32位微控制器,5V输出的LDO稳压器、
    发表于 11-30 14:57 2297次阅读

    32位单片机MM32SPIN360C现货供应

    微总代理英尚微提供开发板和例程以及产品应用解决方案等。   国产32位单片机MM32SPIN360C拥有M0内核的高性能32位微控制器,5V输出的LDO稳压器、三组具备有自举二极管的N通道半桥栅极驱动器。MCU最高工作频率可达9
    发表于 11-19 16:28 568次阅读

    灵动微电动工具专用单片机MM32SPIN360C

    及耐用。与手动工具相比可提高劳动生产率数倍到数十倍。   基于 灵动MM32SPIN360C电动工具控制方案,以MM32SPIN360C为主控: -无传感器控制 -过流过压堵转保护 -最高支持15万eRPM  
    发表于 12-21 15:59 1412次阅读

    基于MM32SPIN360C芯片的低压无刷电机设计

    2022年4月12日,致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下世平推出基于灵动微电子(MindMotion)MM32SPIN360C芯片的低压无刷电机应用方案。
    的头像 发表于 04-18 11:43 2119次阅读

    AN6301_MM32SPIN MCU无感方波BLDC电机驱动原理篇(中文版)

    AN6301_MM32SPIN MCU无感方波BLDC电机驱动原理篇(中文版)
    发表于 02-27 18:39 0次下载
    AN6301_<b class='flag-5'>MM32SPIN</b> MCU无感方波<b class='flag-5'>BLDC</b><b class='flag-5'>电机</b><b class='flag-5'>驱动</b>原理篇(中文版)

    MM32SPIN360C 产品手册(中文版)

    MM32SPIN360C 产品手册(中文版)
    发表于 02-27 18:45 0次下载
    <b class='flag-5'>MM32SPIN360C</b> 产品手册(中文版)

    博文 | 基于灵动MM32SPIN560C 电机调试的方法

    简介本博文基于世平集团的灵动MM32SPIN560C无刷电机开发板在用户调试电机时,描述在用户拿到电机
    的头像 发表于 09-22 17:31 1279次阅读
    博文 | 基于<b class='flag-5'>灵动</b>微 <b class='flag-5'>MM32SPIN</b>560C <b class='flag-5'>电机</b>调试的<b class='flag-5'>方法</b>