本帖最后由 lyyinhe_xi 于 2021-12-26 21:59 编辑

      有幸获得这次灵动电机专用MM32开发板的测试活动。
       gfdfdbgn.jpg       
       电机专用MM32 Motor-DK (MM32SPIN160C )基本性能:        入电压范围 : 12V~28V
       使用60V/40A N-MOS管*6
       使用外挂(SPIN0x) GBW 6MHz 高速运放*4
       MCU 电源使用 5V
       支持有/无霍, 方波/弦波驱动
        支持1/2 Shunt R 三相电流采样
       BEMF 电压回授使用ADC 采样
       DC Bus 电压, 总电流量测
       使用MCU 内建比较器做为过电流保护
       具VR, LED等功能

      访问灵动微官网,可以看到系列的的专用微处理器芯片还有多个,MM32SPIN160C是 Cortex®-M0 内核的 32 位微控制器,最高工作频率可达72MHz,32KB Flash,4KB SRAM,外设丰富。
       xuanxing01.jpg
      芯片内含包含 12 位的 ADC、 5 个通用定时器、1 个针对电机控制的 PWM 高级定时器、1 个 I2C 接口、2 个 SPI 接口和 2 个 UART 接口、 针对电机应用内置 1 个比较器。
       xinpianpeizhi.jpg
      简单看一下直流无刷电动机原理:
       file.elecfans.jpg
      相较于简单的直流电动机,机械电刷式的换向器改变成了由六个电子开关组成的电子波形换向方式,避免了电火花和磨损。
       gss0.baidu.jpg
      开发板上使用了六个60V/40A N-MOS管。
       TT截图未命名05.jpg
      通过一系列的开关动作和电流反馈检测,实现无刷电机的连续转动。
       1631881135699.gif
       回到开发板,做工很精致。
       微信图片_20211226213120.jpg
       微信图片_20211226213115.jpg
      用Keil可以打开例程,编译程序需要安装MindMotion.MM32SPIN0x_DFP.1.0.8.pack,板上集成了J-Link调试接口,用J-Link V2可以烧录程序,使用坛友提供的程序可以驱动手上的无刷电机。电机不同,参数需要调整:
      #define PWM_FREQUENCY                    16000           //unit:HZ
      #define POLE_NUMBER                      12//8
      #define MOTOR_DIR_CW                     1               //1:CW, 0:CCW rotation direction define before power on
      #define TARGET_MAX_SPEED    TARGET_SPEED_7  //unit:RPM, max. speed limitation
      #define TARGET_MIN_SPEED    TARGET_SPEED_1  //unit:RPM, min. speed limitation
      //-----Close loop parameters------------------------------------------------------------------------------------------------
      #define TARGET_SPEED_1                1000 //unit: RPM, define the user's lowest  target speed
      #define TARGET_SPEED_2                2000 //unit: RPM, define the user's second  target speed
      #define TARGET_SPEED_3                3000 //unit: RPM, define the user's Third   target speed
      #define TARGET_SPEED_4                4000 //unit: RPM, define the user's 4th     target speed
      #define TARGET_SPEED_5                5000 //unit: RPM, define the user's 5th     target speed
      #define TARGET_SPEED_6                6000 //unit: RPM, define the user's 6th     target speed
      #define TARGET_SPEED_7                7000 //unit: RPM, define the user's highest target speed


      #define USE_MEASURED_DC_BUS_VOLTAGE_TO_GET_POWER //if enable,it will use measured dc bus voltage to calculate power consumption. if not, it will use fixed DC_BUS_VOLTAGE parameter
      #define DC_BUS_VOLTAGE                      120     //unit: 0.1V, define the dc bus voltage, 100 means 10V. it will be used if not define "USE_MEASURED_DC_BUS_VOLTAGE_TO_GET_POWER"
       微信图片_20211226213109.jpg
       微信图片_20211226213102.jpg
      关于电机参数和程序参数的对应、匹配、运算还要学习,希望厂家及技术大拿能在这方面提供简明易懂的说明,如果需要对电机反馈参数进行检测,可否编写检测程序,或者让程序能直接万能适应不同的直流无刷电机?
       微信图片_20211226213020.jpg