Skip to content

项目总览

Lao·Zhu edited this page Sep 2, 2021 · 9 revisions

前言

    本项目是由作者在大二参加Robomaster机甲大师赛期间研发的FOC驱动器的开源衍生版本,具有原驱动器的低成本、高性能特征。本项目使用立创EDA进行原理图和PCB的绘制,使用gcc-arm-none-eabi编译工具链实现固件编译,这些工具均采用了免费或开源许可证且可以跨平台作业。

资料介绍

    本项目会提供以下文档/文件供大家学习使用。

  1. miniFOC的示范电路原理图及PCB源文件、制造文件。
  2. miniFOC电机传感器板(基于作者测试平台2808 BLDC电机)的原理图及PCB源文件、制造文件。
  3. miniFOC示范电路的所有程序源文件(基于GD32F130G6U6单片机)。
  4. 适配miniFOC示范电路的已编译好的程序固件(hex格式)。
  5. miniFOC示范电路及传感器板电路及程序说明文档。
  6. miniFOC的电路及程序移植文档。
  7. FOC相关理论的视频讲解(待出)。

    利用上面我们提供的这些资料,你可以制造出一个与我们提供的样品一致的FOC驱动器。但是需要注意,你所使用的无刷电机的极对数需要与我们提供的样品一致,即7对。另外,由于不同电机的KV值、极对数、永磁体磁场强度、永磁体形状的不同,我们无法保证每种电机的控制效果都能达到与我们样品一致的水平。如果控制效果不佳,则需要由开发者自行调整配置文件中的各项参数以找到最合适你所选择电机的数值。请勿在示范电路的开发板上使用超过我们给出的电压、电流限制的电源,这会导致开发板直接损坏。在学习完我们提供的文档后,你可以自己移植到你的平台以实现更好的性能。

主要技术

    下面给出了在miniFOC中涉及到的主要技术并摘抄该技术在Wikipedia中的解释。

  1. FOC:是一种控制三相交流电机的技术,利用调整变频器的输出频率、输出电压的大小及角度,来控制电机的输出。其特性是可以个别控制电机的的磁场及转矩,类似他激式直流电机的特性。由于处理时会将三相输出电流及电压以矢量来表示,因此称为矢量控制。矢量控制可以适用在交流感应电机及直流无刷电机,早期开发的目的为了高性能的电机应用,可以在整个频率范围内运转、电机零速时可以输出额定转矩、且可以快速的加减速。不过相较于直流电机,矢量控制可配合交流电机使用,电机体积小,成本及能耗都较低,因此开始受到产业界的关注。矢量控制除了用在高性能的电机应用场合外,也已用在一些家电的应用中。
  2. SVPWM:是一种控制脉冲宽度调变(PWM)的算法,用来产生交流波形,多半是有直流电压输入,利用多组D级放大器输出电压,驱动三相交流电机。空间向量调变有许多的变体,其输出品质及计算需求也随之不同。目前一个热门的领域是利用算法来减少快速切换时产生的总谐波失真。
  3. 交叉编译:是指一个在某个系统平台下可以产生另一个系统平台的可执行文件的编译器。交叉编译器在目标系统平台(开发出来的应用程序序所运行的平台)难以或不容易编译时非常有用。交叉编译器的存在对于从一个开发主机为多个平台编译代码是非常有必要的。直接在平台上编译有时行不通,例如在一个嵌入式系统的单片机 ,因为它们没有完整的现代操作系统环境,无法直接编译。交叉编译器和源代码至源代码编译器不同,交叉编译器用于二进制代码的跨平台软件开发,而源到源编译器是将某种编程语言的程序源代码作为输入,生成以另一种编程语言构成的等效源代码的编译器,但两者都是编程工具。
  4. 持续集成:是一种软件工程流程,是将所有软件工程师对于软件的工作副本持续集成到共享主线(mainline)的一种举措。该名称最早由葛来迪·布区(Grady Booch)在他的布区方法中提出,在测试驱动开发(TDD)的作法中,通常还会搭配自动单元测试。持续集成的提出主要是为解决软件进行系统集成时面临的各项问题,极限编程称这些问题为集成地狱(integration hell)。