- 2、相电压施加在电感上产生相电流,电压和电流有相位差且并不恒定,低速运行时相位差对电机的影响不明显,但是当速度快了或者速度变化率高了以后,相位差的影响就会非常明显。
1.1.2、电流采样方式
电流采样主要有三种方式:
- 低侧电流采样
- 高侧电流采样
- 内置电流采样
1.1.2.1、低侧电流采样
低侧电流检测可能是最常见的电流检测技术,主要是因为它既不需要高性能的PWM抑制运放(如内置),也不需要支持高压的运放(如高侧),采样电阻在低侧MOS和GND之间,确保了运放输入端的电压非常低。这种方法的缺点是,必须在下桥臂MOS打开时检测电流,PWM频率通常为20k~50khz,这意味着低侧MOS的开关频率为每秒20k~50k次,因此PWM设置与ADC采集之间的同步非常重要。
1.1.2.2、高侧电流采样
高侧电流检测可能是最不常见的电流检测技术,因为它需要支持高压的运放,采样电阻在高侧MOS和直流电源电压之间,使放大器的输入端始终有高电压。 这种方法的另一个缺点和低侧电流采样一样,需要同步PWM和ADC。
1.1.2.3、内置电流采样
内置电流检测(InlineCurrentSense)是使用起来最简单但是最精准的技术。 采样电阻串联在电机相线上,检测的电流始终都是电机相电流,因为电感中的电流不会突变,所以无论PWM占空比的状态如何,采样到的电流都是连续稳定的。
这种方法非常适合Arduino,采样程序变得简单了,这应该是考虑到了MEGA328P微弱的性能以及跨平台时程序的适配。内置电流检测的缺点主要在于芯片,需要比常规放大器更好的PWM抑制功能的高精度双向运放,简单的说就是硬件成本高。
1.2、电流变换
本节增加电流环,主要增加了以下功能,
- 1、AD转换获取电流值Ia和Ib,
- 2、通过Clark变换得到Iα和Iβ ,
- 3、获取电机角度,通过Park变换得到Id和Iq,
- 4、Id、Iq不能突变,同时为减少干扰,做平滑滤波,
- 5、Id、Iq与设定值比较,通过PID运算得到Vd 和Vq,
1.2.1、AD转换
为了与官方代码保持一致,AD转换采用简单的单通道转换模式,主程序循环一次获取一次A/B相的电流。
1.2.2、clark变换
1.2.3、Park变换
Park变换中的“θ”是电角度,由读出的编码器角度转变而来