基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法

这篇具有很好参考价值的文章主要介绍了基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

近年来,无刷直流电动机在众多领域中得到广泛应用。无论是电动汽车、家用电器,还是工业控制和医疗器械都有它的身影。无刷直流电动机之所以如此广受青睐,除了保持了有刷直流电动机优越的启动性能和调速性能外,其最大的特点就是没有换向器和电刷组成的机械接触结构,因而具有低损耗、高效率、寿命长、噪声低、运行可靠、维护简便等一系列优点。然而虽然无刷直流电机具有诸多优点,但是在控制上却有一定难度。由于无刷直流电机的机械结构简单,因此必须要配有相应的驱动电路,且需要由MCU产生电机所需要的波形来控制电机的转动。针对无刷电机驱动设计,汇英同创电子推出了基于MindMotion MM32SPIN360C的无刷电机驱动方案,可适用于多种电机驱动场合。

一、MM32SPIN360C 电机开发板介绍

  1. 简介

        如图(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/)上的数据手册和用户手册。

 基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法
图(1)

  1. 电路板图解

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

基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法
图(2)

  1. 原理图介绍

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

基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法
图(3)

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

基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法
图(4)

二、  驱动软件简介

  1. 启动电机

        此驱动软件首先通过 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);

  1. 霍尔传感器信号的采集

        软件中包含 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 方式采集霍尔信号

  1. 电机堵转检测

        驱动软件中开启了系统节拍定时器(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;
}
}
}

三、调试开发板

  1. 接线方法

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

基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法
图(8)

  1. 调试器的设置

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

        如果使用灵动微官方的调试器,则需要从灵动微官网上下载调试器的驱动(上海灵动微电子股份有限公司)。 并在 keil 的调试设置中,选择 MM32-LINK Debugger ,如图(9)所示。

基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法
图(9)

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

基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法
图(10)

  1. 开发板上的设置

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

基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法

四、总结

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

到了这里,关于基于MM32SPIN360C芯片的低压无刷电机设计 电机开发板驱动有感 BLDC 的操作方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 5V低压步进电机驱动芯片GC6150,应用于摄像机,机器人 医疗器械等产品中。具有低噪声、低振动的特点

         GC6150是双通道5V低压步进电机驱动器,具有低噪声、低振动的特点,特别适用于相机变焦对焦系统、万向架、摇头机等精度、低噪声STM控制系统,该芯片为每个通道集成了一个256微步的驱动器。通过SPI T2C接口,客户可以方使地调整驱动程序的参数。 芯片应用        摄

    2024年01月22日
    浏览(45)
  • stm32 无刷电机 V/F控制(无刷电机变频控制)以及与foc(矢量控制)的区别

           无刷电机有三种控制方式,方波控制,foc控制以及变频控制,前两章我们讲解了方波和foc的控制方法,今天我们一起来讲一讲什么是无刷电机的变频控制(VF)以及变频控制的优势是什么。         实验用的硬件还是KY_Motor的无刷电机开发板:无刷电机开发板   什么

    2024年02月11日
    浏览(36)
  • 无刷直流电机32位MCU解决方案

    电机是指依据电磁感应定律实现电能转换或传递的一种电磁装置。它的主要作用是产生驱动转矩,作为用电器或各种机械的动力源。发电机在电路中用字母G表示。它的主要作用是利用电能转化为机械能。 无刷直流电动机的工作原理:无刷直流电机是永磁式同步电机的一种,

    2024年02月12日
    浏览(42)
  • 【正点原子】STM32电机应用控制学习笔记——2.直流无刷电机基础知识

    没有电刷,无换向器的电机,也称为无换向器电机。 主要是定子和转子,而直流有刷电机多的是换向器和电刷。 而直流有刷的定子是N和S的永磁体,而无刷是三个线圈饶阻。 直流有刷是定子是饶阻,无刷的定子是N和S的永磁体。两者的转子和定子恰好是相反的。也是他们最大

    2024年02月03日
    浏览(68)
  • 无刷电机学习-方波电调 程序篇1(AM32)

    一、AM32简介         AM32 固件专为 ARM 处理器设计,用于控制无刷电机 (BLDC)。该固件旨在安全、快速、平滑、快速启动和线性油门。它适用于多种车辆类型和飞行控制器。 AM32具有以下特点: 可通过 betaflight 直通、单线串行或 arduino 升级固件 伺服 PWM、Dshot(300, 600) 电机协

    2024年01月24日
    浏览(48)
  • STM32实现FOC直流无刷BLDC电机-外围电路

    永磁同步电机和无刷直流电机(BLCD)具有更高效、运行更安静、扭矩波动小、响应速度快、更可靠等优点,正用于越来越多的应用,替代直流有刷电机。尽管结构不同,但所有三相永磁电机(BLDC、PMSM或PMAC)都是由脉冲宽度调制(PWM)的三相桥(三个半桥)驱动,以便采用频

    2024年01月16日
    浏览(50)
  • STM32无刷电机全套开发资料(源码、原理图、PCB工程及说明文档)

    目录 1、原理图、PCB、BOOM表 2、设计描述  2.1 前言 2.2 设计电路规范  3、代码 4、资料清单           经过一个星期的画PCB,今天终于化了,整体看上去还比较满意,具体的性能基本满足需求   1、线间距。       这里应该遵循3W规则,所谓3W就是为了减少线间串扰,应保

    2024年04月16日
    浏览(33)
  • stm32 滑膜观测器+PLL 锁相环 FOC 无感无刷电机控制

            上一期为大家介绍了滑膜观测器正反切的应用案例,收到不少小伙伴的反馈是否有PLL的案例,大概看了一下网上的资料,讲理论的很多,能转化成源码的几乎没有。前半年工作和家里的事情都比较多,一拖再拖,终于在6月将源码调试好了,在这里跟大家分享一下调试

    2024年02月10日
    浏览(46)
  • 无刷直流电机矢量控制(四):基于滑模观测器的无传感器控制

            在越来越多的应用场景中,无刷直流电机开始采用无位置传感器的控制方式。无刷直流电机运行于中高转速时,可以利用反电势信号估算转子位置,具体实现的方法不止一种,应用较多的是滑模观测器法。         本文整理了该方法的基本原理,介绍了在MAT

    2023年04月09日
    浏览(58)
  • 【零基础玩转BLDC系列】基于霍尔传感器的无刷直流电机控制原理

    无刷直流电机(Brushless Direct Current Motor, 简称BLDC)采用电子开关电路来代替直流电机的机械换向器或电刷进行换向,提高了控制系统的可靠,性能上相较一般的传统直流电机有很大优势。无刷直流电机是永磁同步电机的一种,并不是真正的直流电机,其实质是直流电源输入,

    2024年02月02日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包