1. 基于STM32G4的FOC电机驱动学习板
1.1 防反接电路
- 电源正确接入时
电流从 VIN 端流向负载,经由 Q3(NMOS) 通向地(GND)。在上电瞬间,由于 MOS 管的体二极管效应,地回路通过体二极管接通。接下来,由于 Vgs(门源电压)大于 Vgsth(门限电压),MOS管导通。 - 电源反向接入时
电流从 GND 源端流向负载体二极管不导通,且 Vgs 电压不符合要求,因此NMOS管不导通,电路中不存在电流回路,导致负载断路,实现了保护机制。在正常电源接入情况下,电流从源(S)端流向漏(D)端。
注意:Vgs不能超过NMOS管的Vgs最大额定值。所以在电路中引入了一个稳压管 D1,稳压到12V,以避免损坏MOS管。
1.2 防过压电路
- 正常电压输入时
当 VIN 正常输入电压时,稳压管没有反向击穿,R1,R2 电流基本为0。Q1(PNP三极管) 的 Vbe=0,即 Q1 不导通。Q2(PMOS) 的 Vgs 由 D2(稳压二极管) 决定,若 VIN 输入超过 D2 的稳压值则击穿为 12V,所以 Q2 导通,即电源正常工作。 - 过电压输入时
当 VIN 输入大于正常输入电压,此时 Vin>Vbr,D1(稳压管) 被击穿,其上电压为 Vbr。Q1(PNP三极管) 导通,VCE≈0,即 Q2(PMOS) 的Vgs≈0,Q2 不导通,电路断路,即实现了过压保护。
1.3 缓启动电路
在防过压的基础上加一个 RC 电路对 C1 电容进行充电来延迟三极管的导通时间实现缓启动的功能。
1.4 防反接&防过压&缓启动电路一体
将上述三种保护电路结合到一起,并添加一个TVS二极管,和RC吸收电路,同时将功率地、数字地和模拟地分开,通过一个0Ω电阻进行单点连接。
1.5 电源电路设计
根据系统设计要求,AxDrive-L 需要将输入电压转换为系统所需的多个直流电压(12V、5V、3.3V和模拟3.3V),并且在电源电路中增加滤波电容来保证电源稳定和减小电磁干扰。
1.5.1 VIN转12V
- 为满足半桥驱动的 12V 电压需求,在该设计中采用了 LM5164 降压芯片,其支持最大输入电压为100V,输出电流为1A。
- LM5164 为同步降压转换器,专门用于在宽输入电压范围内进行调节,从而最大限度地减少对外部浪涌抑制组件的需 求。50ns 的最短可控导通时间有助于实现较大的降压比,支持从 48V 标称输入到低电压轨的直接降压转换,从而降低系统的复杂性并减少解决方案成本,其电压计算公式在上面的电路图中。
1.5.2 12V转5V
- 为满足系统的 5V 电压需求,在该设计中采用了 RY8411 降压芯片,其支持最大输入电压为 42V,输出电流为 1.2A。
- RY8411 降压芯片是一款高效、紧凑、易于使用的同步降压DC-DC转换器,支持PSM模式,工作频率固定在800kHz,允许使用小型外部组件,同时仍然能够低输出电压纹波,其电压计算公式在下面的电路图中。
1.5.3 5V转3.3V
- 为满足系统的 3.3V 电压需求,在该设计中采用了 XC6210 LDO降压芯片,其支持最大输入电压为 5V,输出电流为 0.9A。
- XC6210 系列是精密、低噪声、高电流、正电压的低压差稳压器。
1.5.4 5V转模拟3.3V
- 为满足系统的模拟 3.3V 电压需求,在该设计中采用了 LP5907 LDO降压芯片,其支持最大输入电压为 5V,输出电流为 0.25A。
- LP5907 是一款能提供高达 250mA 输出电流的低噪声 LDO。此器件专门针对射频和模拟电路而设计,可满足其低噪声、高 PSRR、低静态电流以及低线路或负载瞬态响应系数等诸多要求。LP5907 采用创新的设计 技术,无需噪声旁路电容便可提供出色的噪声性能,并且支持远距离安置输出电容。
1.6 STM32 最小系统设计
- AxDrive-L FOC电机驱动学习板可以采用 STM32G431RBT6,STM32G473RBT6,STM32G474RET6 芯片,STM32G4 高性能微控制器是新一代 ST 独特打造的数模混合微控制器,性能优异,适用于电机控制、工业设备、数字电源、高端控制应用等众多领域;170MHz Cortex-M4内核,集成浮点运算、单指令乘加单元、Cordic(硬核计算三角函数),内部集成高速比较器、高速运放、高速ADC、高速DAC,支持CAN FD,支持在线升级,支持AES&信息安全,集成USB Type C PD3.0,高性能同时具备低功耗特性。
1.7 LED 电路
- 对于单色LED,它与1k欧姆电阻串联,电路设置为低电平时点亮。这意味着当电路中施加低电平信号时,单色LED将亮起。
- 对于RGB LED,其控制采用PWM通道。这意味着我们可以通过改变PWM信号的占空比来调整RGB LED的颜色和亮度。通过适当的PWM信号生成和控制,可以实现多种颜色和光效的产生。
1.8 按键与电位器旋钮电路设计
1.8.1 按键电路
- 该按键电路由 5 个按键组成,其中包括一个用于单片机复位的按键,以及四个用户按键。所有的这些按键均采用了10k电阻进行上拉,以确保按键 IO 都处于低阻态,未按下时表现为高电平,按下时表现为低电平。这样可以避免 IO 状态悬空为高阻态,提高了电路的可靠性。此外,为了在硬件层面实现按键去抖动和提高抗干扰能力,还添加了一个滤波电容去消除按键的瞬时干扰信号,确保按键信号的稳定性和可靠性。
1.8.2 电位器旋钮电路
- 电位器旋钮可以通过旋转来调整电阻的阻值,根据这个特性,在电路上施加 3.3V 电压来使电位器旋钮的操作可以在 0-3.3V 的电压范围内进行。而ADC采集电路用于监测电位器旋钮上的电压,并进行阈值判断。这样的设计使得电位器旋钮的操作在特定电压范围内可控,并能够满足特定阈值条件。
1.9 USB与CAN通信电路设计
1.9.1 USB 电路
- USB通信通常需要提供5V的电源供应,并且在数据线上需要串联一个22Ω的电阻,这个电阻有助于维持USB数据线的信号完整性和稳定性。它可以减小信号的回波和反射,降低数据传输中的干扰和失真。
1.9.2 CAN 电路
- 在此 CAN 通信电路设计中,为了确保与CAN和G4的FDCAN兼容性,在该设计中选择了TJA1051TK芯片作为通信解决方案。该芯片具备对FDCAN通信标准的支持,同时也保持了向下兼容CAN通信标准的能力。
- TJA1051是一款高速CAN收发器,可在控制器局域网(CAN)协议控制器和物理双线CAN总线。该收发器是为汽车工业中的高速CAN应用而设计的,为(具有CAN的微控制器)提供差分发送和接收能力协议控制器。数据传输速率高达5 Mbit/s。
1.10 LCD显示电路设计
- LCD显示屏的驱动芯片为 ST7789,其主要功能在于将控制器发送的数据转换成液晶屏上的像素点,以在屏幕上显示相应的图像和文字。该芯片通过SPI串行通信接口与MCU进行通信,以传递显示数据、控制信号等。所以SPI接口需要连接片选信号、时钟信号、数据输入/输出信号等,以实现与MCU之间的高效通信,并且还有一个背光控制引脚,通过三极管来控制,低电平关闭背光,高电平开启背光,默认也可以不接。
1.11 电机驱动电路设计
1.11.1 三相半桥驱动电路
- 为了控制三相逆变电路的 MOS 管的开通和关断,在该设计中选择了 FD6288 三相栅极驱动器,并且为了控制上管的开通和关断,还为其搭建了自举电路。
- FD6288 是一款集成了三个独立的半桥栅 极驱动集成电路芯片,专为高压、高速驱动 MOSFET 和 IGBT 设计,可在高达+250V 电压下工作。 FD6288 内置VCC/VBS 欠压(UVLO)保护功能,防止功率管在过低的电压下工作。 FD6288 内置直通防止和死区时间,防止被驱动的高低侧MOSFET或IGBT直通, 有效保护功率器件。并且 FD6288内置输入信号滤波,防止输噪 声干扰。
1.11.2 三相逆变电路
- 三相逆变电路是电机控制系统的重要组成部分,其主要功能是将直流电源输入转换为适用于三相电机的交流电源。这种电路的设计基于功率半导体器件,如晶闸管(IGBT)或金属氧化物半导体场效应管(MOSFET),以实现高效的电能转换。
- 三相逆变电路通常由六个功率开关器件构成,这些开关器件按照电机的相位排列成对。每对开关器件负责控制一个电机相位,通过适时地打开和关闭这些开关器件,可以调整电机相位的电压和频率,从而实现电机的旋转。
1.12 1.65V偏置电压跟随器设计
- 1.65V偏置电压跟随器的设计旨在稳定产生1.65V电压,其主要用途是在模拟电路中作为参考电压或偏置电压使用。1.65V偏置电压在电机控制系统等应用中具有重要作用,特别是在采集无刷电机的正弦电流时,能够提供稳定的电流零点。
- 此设计提供了两种1.65V偏置电压的选择方式:一种是使用电阻分压,另一种是通过数字模拟转换器(DAC)生成。用户可以通过将0Ω电阻进行跳线连接来选择其中一种方式。然后,通过使用跟随器来增强偏置电压的驱动能力,以确保在电路中的稳定性和可靠性。
1.13 电流采样电路设计
1.13.1 三电阻采样
三电阻采样是一种电流采样技术,它在每相桥臂的下端放置一个采样电阻,以在下桥臂开通时进行电流测量。这种方法的主要目的是实时监测电机的电流,以便控制系统可以调整电机的工作状态和性能。在进行三电阻采样时,考虑到采样的准确性和稳定性,需要采取一些措施,如下所述:
采样原理:
- 每个电阻位于电机的相桥臂下端,允许在相桥臂开通时测量电流。
- 由于存在三个电阻,理论上可以同时测量三相电流。然而,为了避免某一相下桥臂开通时间太短,导致采样窗口变得太窄而使电流采样不准确,可以采取一种策略,即在每次采样时避开某一相,同时测量其他两相的电流。
- 根据不同扇区的波形特征,可以进行分扇区采样,以确保电流采样的精确性和实时性。
电压处理: - 三电阻采样电压在地电平为中心正负摆动。因此,需要使用相移电路对采样电压进行处理,将其转化为正常的电压信号。
- 处理后的电压信号送至运算放大器,以放大电流测量的精度。
- 每一相都需要一路运算放大器,以处理和放大相应的电流测量信号。
1.13.2 采样电流运放设计
- 电流采样电路的关键组成部分之一是采样电阻。为满足设计中的最大电流需求,需要选择精密采样电阻。采样电阻的额定功率应足够高,以确保其能够承受电机可能达到的最大电流水平。这一步骤对于电流测量的精度至关重要,同时也可以防止电阻受损或过热。
- 由于三电阻采样导致采样电压相对于地电平上下摆动,因此在将信号送至ADC模块之前,需要经过相移电路进行处理,以将电压信号转化为正常的电压波形。这个过程确保了电流测量信号的合适范围和格式。所以在运算放大器的同相输入端添加1.65V的偏置电压是电流采样电路中的关键步骤。这1.65V的偏置电压的设计可参考之前提到的跟随器电路设计。引入偏置电压的目的是确保电流测量的基准点准确,以提高测量精度和可靠性。
- 并且运算放大器的放大倍数应根据特定应用的要求和运放计算公式来选择,公式在下面的图中。
- 在电路的运算放大器输出端,通常需要加入一级RC滤波电路。这个滤波电路的目的是确保送入单片机ADC模块的信号更加平滑,消除噪声和干扰,以提高电流测量信号的质量。滤波电路的设计应考虑截止频率和滤波特性,以满足具体应用的需求。
1.14 电压采样电路设计
- 在电路中,必须精确选择合适的分压比例,以确保采样点电压的分辨率满足设计要求。分压比例的选择将影响到ADC的输入电压范围,过小的分压比例可能导致精度不足,而过大的分压比例可能导致信号丧失细节。
- 为了保护单片机的ADC引脚,应在电路中引入一个钳位二极管。这样的设计可以防止电压超出单片机所能接受的范围,减少潜在的损坏风险。通过引入钳位二极管,可以确保采样点的最高电压不会超过3.3V(或其他指定电压)加上二极管的管压降。
- 为了提高采样点信号的稳定性和准确性,建议在采样点之前添加C滤波电路。这种滤波电路可以消除噪声和干扰,使送入单片机ADC模块的信号更加平滑和可靠。
1.15 温度采样电路设计
- 热敏电阻是一种特殊的电阻器件,其电阻值随温度的升降而发生变化。通常情况下,随着温度的上升,热敏电阻的电阻值减小,而随着温度的下降,电阻值增加。这个特性使得热敏电阻在温度测量和控制领域中有着广泛的应用。
- 在温度采样电路中,热敏电阻通常与电阻分压电路串联,形成一个电阻分压网络。这个电阻分压网络的原理是,随着温度的变化,热敏电阻的电阻值会发生相应的变化,从而导致电压分压比例的改变。通过测量这一电压信号的变化,可以准确地获取温度的变化情况。
1.16 测速编码器接口
- 霍尔测速电路是一种常用的电机位置传感器,。在三相电机中,通常使用三组霍尔元件来测量转子位置。每个霍尔元件都将电机电极的电压转换为数字电平,通过将这些数字电平与先前设定的转子位置表进行比较,可以确定电机转子的位置并且用于计算电机的转速。
- 磁编码器的测速原理是当转子旋转时,磁性刻度盘会在每个磁极位置处产生一个磁场变化,这些磁场变化会被多通道霍尔传感器检测到并转换成电信号。每个磁性刻度盘上的磁极数不同,因此通过计数这些脉冲信号,可以确定电机的位置和转速,并且常用的磁编码器接口多为 SPI 通信。
1.17 调试波形接口
- 这几个PWM通道的调试接口可以通过短接帽连接 RC 滤波,当进行 SPWM/SVPWM 调制时,可以进行连接,通过示波器观察调制出来的波形,验证算法的合理性。
- 注:MA MB MC 电机相线接口并没有连接出来,可以根据自行是否需要来进行搭建,原理同上。
1.18 电源滤波电路设计
2. 立创开源:柠檬FOC开源板
2.1 电源电路设计
2.1.1 40V转5V电路
2.1.2 5V转3.3V电路
2.1.3 5V转12V电路
2.2 通信电路设计
2.2.1 USB转串口模块
2.2.2 CAN通信
2.2.3 USART串口通信
2.2.4 复用Type C通信接口
2.2.5 SWD接口
2.2.6 SPI编码器接口
2.3 电机驱动电路设计
2.3.1 半桥
2.3.2 驱动
2.4 采样电路
电流采样
电压采样
温度采样