01
方案概述
本方案采用CW32F030C8T6作为主控芯片,采用无感方波控制算法控制无刷直流空心杯电机。CW32F030C8T6是一款高性能、低功耗的32位微控制器,具有丰富的片上外设资源,可以适合用于电机控制。无感方波控制算法是一种简单有效的电机控制算法,不需要使用霍尔传感器,可以降低硬件成本。本次采用的电机驱动板仍然为CW32_BLDC_EVA V5开发板,具体开发板的信息可以翻看上一节《基于CW32的无刷空心杯电机有感控制驱动方案》,采用的空心杯电机与上一节有所不同,这次使用的空心杯电机的额定电压为 24 V。由于本次采用无感方案,所以只需要将 U、V、W三相电源接上即可,并且三相的顺序并无强制要求,下面我们重心将放在对于无感方波控制的原理部分。02
无感方波控制原理
无感方波控制(Sensorless Square Wave Control)是一种用于无刷直流电机(BLDC)驱动的控制方法。与传统的有感控制方法相比,无感方波控制不需要使用位置或速度传感器来反馈电机状态,而是通过检测电机自身的悬空相反电动势变化(Back Electromotive Force,简称BEMF)来实现控制。在无感方波控制中,通过检测电机的悬空相电压的过零点,可以推断出电机转子的位置,根据转子位置进行步状态的切换即可控制电机转动。
2.1 梯形波
无感方波的驱动电路采用三相全桥逆变电路,在理想的情况下,三相全桥逆变电路的电压波形如下图2-1所示,每相导通角度为120°,相与相之间相隔120°。无刷直流电机驱动所需的电流波形也是上图里的方波,因为电机存在漏感 L ,定子电流会有一定的上升和下降时间,所以使得理想的方波变成了梯形波。
从图2-2中可以看出,无刷直流电机实际运行时的三相电压波形并不是图2-1里的方波,而是梯形波。由于采用了脉宽调制计数(PWM),所以波形看上去由一道道脉冲组成。
2.2 确定换相信号
无感方波驱动与有感最大的区别就在于获取换相信号的方式不同,有感方波通过检测三相霍尔信号的电平,再根据三相电平确定电机此时应该运行在的步状态;无感方波是检测梯形波“斜线”上的反电动势电压来确定换相时刻。霍尔信号对应的相是确定的,所以电机的供电相也要根据霍尔相的顺序来连接,而无感方波驱动只需要检测“斜线”上的“过零点”确定换相时刻后自动换相到下一步状态,而每一个步状态对应事先已经安排好的开关管通断,所以电机的供电相可以随意连接。PA0、PA1、PA5分别对应CW32F030 ADC的0、1、5通道,我们使用ADC采集三相的电压,但在“过零点”比较中我们实际使用的是未导通相,即悬空相的电压。
03
软件设计
3.1MCU资源分配
本次使用到的CW32内部资源如下:
ATIM :CH1、CH2、CH3 三个通道比较产生 PWM 波用于驱动电机,CH4为芯片内部通道,无外部引脚,只有一路比较捕获寄存器 (ATIM_CH4CCR),且只能用于比较,不能用来捕获。我们使用 CH4 的比较功能触发 DMA 传输。
DMA :使用4路 DMA 通道:CH1、CH2、CH3、 CH4:
CH1 将 ADC 单次单通道的采样结果传入 RAM
CH2 将 ADC 的 CR1 寄存器的配置值从 RAM 传入寄存器
CH3 将 ADC 的 START 寄存器的配置值从 RAM 传入寄存器
CH1、CH2、CH3由 ADC 硬件触发,CH4 由 ATIM 硬件触发,启动 ADC
ADC :ADC 采样的时钟设置需要与 PWM 载波频率结合,计算采样时间;采用单通道单次采样,首次采样由 ATIM 硬件触发,ADC 转换完毕后触发 DMA 传输,通过 DMA 传输自动改变采样通道。这样设置可以实现 ATIM 触发一次就采样五个数据(U、V、W 相电压、母线电压、外部电位器调速电压)
BTIM1 :BTIM1 设置 1ms 进入一次中断,在中断里改变标志位实现主程序的控制
BTIM2 :BTIM2 作为换相时间间隔的记录定时器,决定延迟多长时间后换相
BTIM3 :BTIM3 设置中断,在中断里完成退磁和换相
3.2 部分重要程序介绍
操作 ATIM CH4 的 CCR 寄存器,可以选择 ADC 在一个 PWM 周期内不同位置的采样:
首先是核心函数:调制换相
接着是第二个核心:换相。
过零点比较函数如下,此函数在 ADC 完成五次采样后调用。
最后是电机的启动部分:
04
调试心得
在调试电机的过程中要做好限流保护,电机换相失败会导致其停在某一相,对应的MOS 管持续导通。
退磁延迟时间和延迟换相时间的设置会影响电机的性能,过早地换相会降低电机转矩,过晚地换相会使电机电流过大,效率较低发热严重。
电压比较值的设置同样会造成上一条的影响,在低电平时采样比较的值如果设置过小,会造成上升沿处换相过早、下降沿处换相过晚的后果。
电机的启动需要缓慢进行,不可以将 PWM 的占空比增加过快,否则电机容易换相失败。
BTIM3中断服务程序里的方向检测设置要与数组 TAB_RisingFalling 里的 Rising 和 Falling 顺序对应,否则会启动失败。
由于空心杯电机的内部为三角形接线,在 PWM 低电平时仍保有较多的能量,所以在 MOS 管关断期间的反电动势较高,并且随着转速的增加此电压的大小呈上升态势。对于 “过零点” 电压数据的设置也需要适应这种变化,下图展示了空心杯电机运行在 35000 rpm 时的一相电压波形。
#空心杯电机#
因篇幅有限部分代码为写全,如需完整代码、产品规格书、样片测试、采购、BOM配单等需求,请加客服微信:13310830171。
还没有评论,来说两句吧...