问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

开源揭秘!基于 STM32 的三相直流无刷电机驱动器,一文读懂其设计精髓

创作时间:
作者:
@小白创作中心

开源揭秘!基于 STM32 的三相直流无刷电机驱动器,一文读懂其设计精髓

引用
与非网
1.
https://rohm.eefocus.com/article/id-4576

在当今电子技术与电机驱动领域蓬勃发展的时代浪潮中,三相直流无刷电机凭借其高效节能、运行稳定、寿命长等显著优势,在工业自动化生产线、智能家居设备,甚至电动汽车动力系统等众多关键领域广泛应用,成为推动各行业发展的重要动力源。而一款适配的驱动器则是发挥电机最佳性能的关键,同时,EMC 电机控制器测试整改:从问题识别到优化实践,也成为确保电机驱动系统稳定可靠运行的重要环节。今天,我们将深入探讨一个基于 STM32F103C6T6A 微控制器的开源三相直流无刷电机驱动器项目,其创新设计与开源精神,为电机驱动爱好者和从业者提供了宝贵的学习实践资源。

该项目最引人注目的特色之一便是采用了主控与驱动相互分离的精妙设计架构。这种别出心裁的设计方式,犹如将复杂的系统工程进行了条理清晰的模块化划分,使得整个系统的结构变得一目了然,极大地提升了系统的可维护性与可扩展性。整个系统宛如一个协同运作的精密 “交响乐团”,由 BLDC_Core 板(主控板)、BLDC_Drive 板(驱动板)和 KEY 板(按键板)这三个主要 “演奏者” 共同组成,它们之间通过 SH1.0 的线束这一 “无形的纽带” 紧密相连,从而构建起一个和谐统一、有机协作的整体,为实现对三相直流无刷电机的精准控制奠定了坚实的硬件基础。

主控板作为整个系统的 “智慧大脑”,选用了 STM32F103C6T6A 作为核心控制芯片。这款芯片集成了丰富的片上资源,具备强大的数据处理与运算能力。它能够快速、精准地接收并解析来自外部按键板输入的各种控制指令,同时实时采集电机运行过程中的各类反馈数据,如电机转速、电流大小、霍尔传感器信号等,并依据预设的控制算法对这些数据进行深度分析与处理,进而输出一系列精准的控制信号,以实现对电机运行状态的精确调控,确保电机按照预期的速度、方向和扭矩等参数稳定运行。

驱动板则采用了三相逆变桥电路这一经典且关键的设计。其前级选用了自带闭锁功能的栅极驱动 MOS,这一巧妙的设计不仅能够完美适配有感方案,即通过电机内部的霍尔传感器实时获取电机转子位置信息,以此来精确控制电机的换相时刻,从而实现高效稳定的运行;同时,对于无感方案同样展现出了卓越的兼容性,在无需霍尔传感器的情况下,通过对电机反电动势等电气参数的精确检测与分析,依然能够准确判断电机转子的位置,进而实现可靠的换相控制,充分彰显了其强大的适应性与通用性,为电机的稳定驱动提供了坚实可靠的硬件保障。

在电机的驱动方式上,该项目采用了在三相直流无刷电机控制领域中常用且行之有效的六步换相方法。虽然三相直流无刷电机在名称中带有 “直流” 二字,但实际上其运行是依靠交流电来驱动的,而驱动板中的逆变桥便是将直流电转换为交流电的核心 “魔术师”。在六步换相的运行过程中,三相电机在每一时刻仅有两组绕组中有电流通过并产生磁场,通过按照特定的顺序依次导通功率开关管,如 Q1Q2—Q2Q3—Q3Q4—Q4Q5—Q5Q6—Q6Q1,巧妙地利用电磁力的相互作用,推动电机的转子持续不断地旋转。例如,当电机处于正转状态时,在某个特定的时刻,电机的霍尔传感器会检测到转子的位置信息,并将其转换为相应的电信号输出。假设此时霍尔 W 为 1、霍尔 V 为 0、霍尔 U 为 1,系统在接收到这一霍尔值组合后,会迅速按照预先编写的程序设定,精准地打开对应的功率开关管,如导通 Q1 和 Q6,同时关闭其他不相关的功率开关管,以此来产生合适的磁场,驱动电机持续稳定地正转。通过这样严谨且有序的换相控制方式,电机能够实现高效、平稳的运行,为各类应用场景提供稳定可靠的动力输出。

为了实现更为精确、及时的换相控制,项目充分利用了 HALL 中断这一关键技术。当电机旋转时,其内部的霍尔传感器会随着转子的转动而产生周期性的信号变化,这些信号变化会触发 HALL 中断。系统在检测到 HALL 中断后,会迅速进入中断服务程序,在中断中读取 HALL 的值,并依据预先精心编制的换相表来进行精准的换相位操作。这种基于中断的换相控制方式,能够极大地提高系统的响应速度和控制精度,有效避免了因换相不及时或不准确而导致的电机运行不稳定、效率降低等问题,确保电机在各种工况下都能保持最佳的运行状态。

从硬件设计的专业角度来看,BLDC_Drive 原理图犹如一幅精心绘制的电路 “蓝图”,其中涵盖了栅极驱动、电流检测等多个关键部分。栅极驱动电路负责将主控板输出的微弱控制信号进行放大和整形,以满足功率开关管的驱动需求,确保功率开关管能够快速、准确地导通和截止,从而实现对电机电流的精确控制。电流检测电路则实时监测电机运行过程中的电流大小,并将检测到的电流信号反馈给主控板,以便主控板根据实际电流情况对电机的运行状态进行调整和优化,有效保护电机免受过载、短路等故障的损害,确保驱动板能够稳定、可靠地工作,为电机的稳定运行保驾护航。BLDC_Core 原理图则紧密围绕 STM32F103C6T6A 芯片展开,不仅连接了 OLED 显示屏,用于实时显示电机的运行参数,如转速、电流、电压等,方便用户直观地了解电机的工作状态;还连接了按键板,用户可以通过按键向主控板输入各种控制指令,如启动、停止、调速、正反转切换等,实现对电机的便捷控制。此外,在 PCB 设计方面,BLDC_Drive 的 PCB 和 BLDC_Core 的 PCB 同样经过了精心的布局设计。工程师们充分考虑了电气性能、散热管理以及电磁兼容性等诸多因素,合理规划各个元器件的位置,优化布线走向,尽可能地减少信号干扰和线路损耗,同时采用了有效的散热措施,如增加散热铜箔、合理设计散热通道等,为系统的长期稳定运行提供了坚实的物理保障。

在软件架构方面,该项目选择基于裸机开发,并采用了分时调度的先进方式。通过定时器 2 产生 1MS 的时基标志位,以此作为整个系统任务调度的 “时钟节拍”,有条不紊地完成各项任务的执行与切换。换相控制作为电机控制的核心任务之一,被巧妙地安排在 HALL 中断中完成,确保换相操作能够在最恰当的时刻及时响应。电机驱动部分代码分别在 hall.c 和 motor.c 文件中进行了清晰的模块化编写,这种结构化、模块化的代码设计方式,使得代码结构清晰明了、逻辑严谨,不仅便于开发者理解和阅读代码,更方便对代码进行修改、调试和维护,大大提高了开发效率和代码的可复用性。

目前,该项目已经成功完成了霍尔传感器有感方案的验证工作。在满载电机空转的测试条件下,整个系统的电流稳定在 800mA,展现出了良好的性能表现。这一成果不仅为项目的进一步优化和完善奠定了坚实的基础,也为后续探索和验证其他方案提供了宝贵的经验和参考依据。

这个开源的三相直流无刷电机驱动器项目,无论是对于那些渴望深入学习电机驱动原理、提升自身技术水平的电子技术爱好者,还是对于致力于开发高性能、高效率电机驱动系统的专业工程师来说,都具有不可估量的参考价值和学习意义。它以开源的创新模式,打破了技术的壁垒,让更多的人能够深入接触和了解电机驱动技术的核心奥秘,为推动电机驱动领域的技术进步和创新发展注入了强大的活力。相信在广大技术爱好者和专业人士的共同关注、参与和努力下,该项目将不断地优化和完善,在未来的电机驱动应用领域绽放出更加绚烂的光彩,为各行业的发展贡献更多的智慧与力量。

关键词:三相无刷电机驱动器

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号