suntongxue

个性签名:

天行健,君子以自强不息;

  • 2024-12-22
  • 发表了主题帖: 【L99H92直流电机驱动评估板】防夹手原理电机转动解析

         汽车玻璃防夹手功能是一项重要的安全设计,其背后的核心技术在于防夹手芯片及其工作原理。汽车玻璃防夹手功能主要依赖于电流传感器(如霍尔传感器)或先进的无传感器方案(如基于电机电流检测的方案)来监测车窗电机的运行状态。当车窗在上升过程中遇到障碍物时,电机会因阻力增大而表现出转速减慢或电流增大的现象。防夹手芯片通过检测这些变化来判断是否有障碍物存在,并据此发出指令使车窗停止或反转,从而避免夹伤乘客。AEK-MOT-WINH92无传感器方案通过检测直流电机电流的变化来判断是否有障碍物存在。当车窗遇到障碍物时,电机会因阻力增大而输出更大的转矩,从而导致电流增大。防夹手芯片会实时监测电机电流,并将其与预设的阈值进行比较。如果电流超过阈值,芯片会判断为遇到障碍物,并向ECU发送警报。ECU随后会采取相应的措施使车窗停止或反转。无传感器方案降低了成本,简化了安装过程,并且具有更高的可靠性。它不需要额外的传感器元件,因此减少了故障点。       AEK-MOT-WINH92开发板电路设计:               L99H92芯片框架:L99H92是一款符合AEC-Q100标准的器件,具有可配置的电流检测功能的灵活门极驱动器,以及用于直流电机控制的先进诊断和保护功能。L99H92评估板(AEK-MOT-WINH92)。作为AutoDevkit生态系统的一部分,它包含了有关如何配置L99H92以驱动全H桥配置或双单向半桥配置(用于通过可变PWM占空比信号驱动直流电机)的有用开发者资源。           L99H92具有一个异步、逻辑独立的故障安全输入引脚,该引脚作为所有MOSFET的冗余关断路径。故障安全输入非引脚(FSINB),低电平有效,具有内部下拉电阻RFSINB。一旦FSINB引脚低于VFSINBLTH阈值的时间超过tFSINB_filt,FSINLL状态位和FSIN状态位将被设置,并且设备将进入故障安全模式。在故障安全模式下,OUTE控制位被复位,门极驱动器被强制进入吸收开关模式,以最大可用电流主动关断所有MOSFET,无论编程的门极放电电流(SLEWDx控制位)如何。只要FSINB输入引脚保持低电平,门极驱动器就被强制进入吸收开关模式,并且OUTE控制位被强制置零。出于功能安全的原因,FSINHS1,2和FSINLS1,2状态位指示由于FSINB引脚被拉低,HS1,2和LS1,2门极驱动器是否已成功进入吸收开关模式。一旦FSINB引脚被拉低,为了重新激活被强制进入吸收开关模式的门极驱动器,FSINB引脚必须高于VFSINHTH阈值的时间超过滤波时间。所有FSINHSx和FSINLSx状态位必须回到零(指示所有门极驱动器已退出强制吸收开关模式,并使设备退出故障安全模式),然后通过SPI将OUTE控制位重新设置为1。如果FSINHSx或FSINLSx中的至少一个状态位保持设置,表明至少一个门极驱动器没有退出强制吸收开关模式,则设备将保持在故障安全模式下。当FSINB引脚为高电平且OUTE控制位被复位时,门极驱动器被禁用,每个MOSFET的门极和源极之间仅留下电阻连接。 FSINB输入引脚的状态可以通过FSINLL状态位读取,但不能清除。与全局状态字节故障安全位(FS)相关联的FSIN状态位是以下状态位的逻辑或:FSINLL、FSINHS1、FSINLS1、FSINHS2和FSINLS2。故障安全输入引脚仅作用于门极驱动器和OUTE控制位。     电流检测放大器(CSA1和CSA2)专为汽车应用中的电流检测而设计。它们是独立的、双向的、单电源差分放大器,具有宽输入共模电压范围(VICM)。它们通过两个检测电阻支持高边电流检测、低边电流检测和在线电流检测。每个CSA的增益可独立通过SPI编程设置为100、50、20或10。由于CSA具有跨导输入级,输入串联电阻(用于滤波等)不应超过50Ω,以保持附加增益误差低于1%。CSO输出与VDD电源轨兼容,并具有可通过CSA1OO和CSA2OO控制位设置的可编程偏移量。如果这些位被复位,则输出偏移量设置为VO0,否则设置为VO1。电流检测放大器的输入级由电荷泵供电。当电荷泵被禁用时,CSA也会被禁用。默认情况下,两个电流检测放大器均处于启用状态。为了降低电流消耗,可以通过控制位DCSA1和DCSA2独立禁用它们。       上一篇能进行PWM生成,根于图示进行电路连接:         通过PWM EN DIR可以控制电机转动,下一步关键SPI采集,驱动板是G473:CubeMX配置工程:       SPI关键代码: SPI_HandleTypeDef hspi4; /* SPI4 init function */ void MX_SPI4_Init(void) { /* USER CODE BEGIN SPI4_Init 0 */ /* USER CODE END SPI4_Init 0 */ /* USER CODE BEGIN SPI4_Init 1 */ /* USER CODE END SPI4_Init 1 */ hspi4.Instance = SPI4; hspi4.Init.Mode = SPI_MODE_MASTER; hspi4.Init.Direction = SPI_DIRECTION_2LINES; hspi4.Init.DataSize = SPI_DATASIZE_8BIT; hspi4.Init.CLKPolarity = SPI_POLARITY_HIGH; hspi4.Init.CLKPhase = SPI_PHASE_2EDGE; hspi4.Init.NSS = SPI_NSS_SOFT; hspi4.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4; hspi4.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi4.Init.TIMode = SPI_TIMODE_DISABLE; hspi4.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi4.Init.CRCPolynomial = 7; hspi4.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; hspi4.Init.NSSPMode = SPI_NSS_PULSE_DISABLE; if (HAL_SPI_Init(&hspi4) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN SPI4_Init 2 */ /* USER CODE END SPI4_Init 2 */ } void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle) { GPIO_InitTypeDef GPIO_InitStruct = {0}; if(spiHandle->Instance==SPI4) { /* USER CODE BEGIN SPI4_MspInit 0 */ /* USER CODE END SPI4_MspInit 0 */ /* SPI4 clock enable */ __HAL_RCC_SPI4_CLK_ENABLE(); __HAL_RCC_GPIOE_CLK_ENABLE(); /**SPI4 GPIO Configuration PE2 ------> SPI4_SCK PE5 ------> SPI4_MISO PE6 ------> SPI4_MOSI */ GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_5|GPIO_PIN_6; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF5_SPI4; HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); /* USER CODE BEGIN SPI4_MspInit 1 */ /* USER CODE END SPI4_MspInit 1 */ } } void HAL_SPI_MspDeInit(SPI_HandleTypeDef* spiHandle) { if(spiHandle->Instance==SPI4) { /* USER CODE BEGIN SPI4_MspDeInit 0 */ /* USER CODE END SPI4_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_SPI4_CLK_DISABLE(); /**SPI4 GPIO Configuration PE2 ------> SPI4_SCK PE5 ------> SPI4_MISO PE6 ------> SPI4_MOSI */ HAL_GPIO_DeInit(GPIOE, GPIO_PIN_2|GPIO_PIN_5|GPIO_PIN_6); /* USER CODE BEGIN SPI4_MspDeInit 1 */ /* USER CODE END SPI4_MspDeInit 1 */ } } /* USER CODE BEGIN 1 */ /* USER CODE END 1 */    SPI 读取寄存器参数:L99H92是一款直流电机驱动芯片,其寄存器配置对于实现电机的精确控制至关重要。可以通过SPI(串行外设接口)或其他通信接口来访问和控制这些寄存器。 #include "stm32g4xx_hal.h" SPI_HandleTypeDef hspi4; // 读取寄存器的函数 uint8_t SPI_ReadRegister(SPI_HandleTypeDef *hspi, uint8_t regAddr, uint8_t *data, uint16_t size) { // 发送寄存器地址(如果需要) uint8_t txBuffer[1] = {regAddr}; HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET); // 拉低CS引脚(假设CS引脚是GPIOA的PIN4) HAL_SPI_Transmit(hspi, txBuffer, 1, HAL_MAX_DELAY); // 接收寄存器数据 HAL_SPI_Receive(hspi, data, size, HAL_MAX_DELAY); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET); // 拉高CS引脚 // 检查传输是否成功 if (HAL_OK == HAL_SPI_GetError(hspi)) { return HAL_OK; } else { return HAL_ERROR; } } int main(void) { // HAL库初始化 HAL_Init(); // 配置系统时钟(这通常是通过STM32CubeMX生成的代码完成的) SystemClock_Config(); // 初始化所有配置的外设(这也通常是通过STM32CubeMX生成的代码完成的) MX_GPIO_Init(); MX_SPI4_Init(); // 读取寄存器的示例 uint8_t registerData; uint8_t result = SPI_ReadRegister(&hspi4, 0x01, &registerData, 1); // 读取地址为0x01的寄存器 if (result == HAL_OK) { // 成功读取数据,可以在这里处理registerData } else { // 处理错误 } // 主循环 while (1) { } }       Global Status Byte(GSB)是一个字节(8位)的数据,每一位都代表设备或系统的特定状态信息。通过读取GSB,用户可以了解设备或系统的当前状态,如是否处于正常工作状态、是否有错误发生等。 控制寄存器:用于控制L99H92的工作模式、方向、使能状态等。例如,可能有一个寄存器用于控制电机的启动和停止,另一个寄存器用于设置电机的旋转方向。 状态寄存器:用于反映L99H92的当前状态,如故障状态、诊断信息等。这些寄存器通常可以被读取以了解驱动器的状态,从而进行相应的处理。 PWM(脉冲宽度调制)寄存器:用于设置PWM信号的占空比,从而控制电机的速度和功率。PWM寄存器通常允许用户根据需要调整电机的运行速度。 配置寄存器:用于配置L99H92的某些特定功能或参数,如SPI通信速率、地址选择等。这些寄存器允许用户根据实际应用需求对驱动器进行定制。                单片机软件SPI配置正常,现在读取数据还是不知道啥意思,寄存器太多,缺少中文说明,需要一个逻辑分析仪。还是需要官方出具一个详细代码参考。期待ST官方更进一步说明。    

  • 2024-12-04
  • 发表了主题帖: 【L99H92直流电机驱动评估板】STM32G474 PWM生成

      L99H92直流电机驱动评估板配套的驱动板为:NUCLEO-G474RE,主控为STM32G474是一款高性能、低功耗的32位微控制器,集成了浮点运算单元(FPU)、数字信号处理(DSP)指令和内存保护单元(MPU)。STM32G474微控制器凭借其强大的性能、丰富的功能和灵活的配置选项,在电机控制、电源管理、工业传感器和消费类电子产品等领域有着广泛的应用前景。 一、核心性能 CPU架构:基于Arm Cortex-M4 32位RISC内核,集成了浮点运算单元(FPU)、数字信号处理(DSP)指令和内存保护单元(MPU),提供强大的数据处理能力。 工作频率:最高可达170MHz,执行性能优异,DMIPS(Dhrystone MIPS)为213。 二、存储器配置 Flash存储器:提供多种容量的Flash存储器选项,如512KB或1MB,支持ECC(错误检测和纠正),具有读保护、写保护、安全存储区域和专有代码禁止读取保护(PCROP)等特性。 SRAM:内置128KB SRAM,部分型号可能提供不同容量的SRAM,如256KB。此外,还有指令和数据总线上的高速SRAM(CCM SRAM)用于执行加速。 三、外设和接口 高精度定时器:集成高分辨率和复杂波形生成器(HRTIM),具有184ps的分辨率,适用于精确的时间控制和波形生成。 模拟外设:多达5个12位ADC(模数转换器),转换速率可达4MSPS,支持硬件过采样和高达16位的分辨率。同时,还有7个12位DAC(数模转换器)通道,提供灵活的模拟信号输出。 通信接口:包括多个USART/UART、I2C、SPI等通信接口,支持灵活的数据速率和多种通信协议。此外,还集成有 FDCAN 控制器、SAI(串行音频接口)、USB 2.0 全速接口等高级通信接口。 四、节能和电源管理 低功耗模式:支持睡眠、停止、待机和关闭等多种低功耗模式,有助于延长设备的电池寿命。 电源管理:提供上电/下电复位(POR/PDR/BOR)、可编程电压检测器(PVD)等电源管理功能,确保设备的稳定运行。 五、安全特性 硬件加密:集成真随机数生成器(RNG)和CRC计算单元,提供硬件级别的加密和校验功能。 存储保护:通过内存保护单元(MPU)和专有代码禁止读取保护(PCROP)等特性,保护代码和数据的安全。 六、开发和调试支持 开发环境:支持STM32CubeMX工具进行图形化配置和代码生成,简化开发过程。 调试接口:提供串行线调试(SWD)和JTAG调试接口,方便进行代码调试和性能分析。   STM32CubeMX 配置 TIM1产生1Khz,占空比为50%的方波,输出引脚PC0         核心代码: TIM_HandleTypeDef htim1; /* TIM1 init function */ void MX_TIM1_Init(void) { /* USER CODE BEGIN TIM1_Init 0 */ /* USER CODE END TIM1_Init 0 */ TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; TIM_OC_InitTypeDef sConfigOC = {0}; TIM_BreakDeadTimeConfigTypeDef sBreakDeadTimeConfig = {0}; /* USER CODE BEGIN TIM1_Init 1 */ /* USER CODE END TIM1_Init 1 */ htim1.Instance = TIM1; htim1.Init.Prescaler = 169; htim1.Init.CounterMode = TIM_COUNTERMODE_UP; htim1.Init.Period = 999; htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim1.Init.RepetitionCounter = 0; htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; if (HAL_TIM_Base_Init(&htim1) != HAL_OK) { Error_Handler(); } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; if (HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) { Error_Handler(); } if (HAL_TIM_PWM_Init(&htim1) != HAL_OK) { Error_Handler(); } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) { Error_Handler(); } sConfigOC.OCMode = TIM_OCMODE_PWM1; sConfigOC.Pulse = 499; sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; sConfigOC.OCNPolarity = TIM_OCNPOLARITY_HIGH; sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; sConfigOC.OCIdleState = TIM_OCIDLESTATE_RESET; sConfigOC.OCNIdleState = TIM_OCNIDLESTATE_RESET; if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1) != HAL_OK) { Error_Handler(); } sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE; sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE; sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF; sBreakDeadTimeConfig.DeadTime = 0; sBreakDeadTimeConfig.BreakState = TIM_BREAK_DISABLE; sBreakDeadTimeConfig.BreakPolarity = TIM_BREAKPOLARITY_HIGH; sBreakDeadTimeConfig.BreakFilter = 0; sBreakDeadTimeConfig.BreakAFMode = TIM_BREAK_AFMODE_INPUT; sBreakDeadTimeConfig.Break2State = TIM_BREAK2_DISABLE; sBreakDeadTimeConfig.Break2Polarity = TIM_BREAK2POLARITY_HIGH; sBreakDeadTimeConfig.Break2Filter = 0; sBreakDeadTimeConfig.Break2AFMode = TIM_BREAK_AFMODE_INPUT; sBreakDeadTimeConfig.AutomaticOutput = TIM_AUTOMATICOUTPUT_DISABLE; if (HAL_TIMEx_ConfigBreakDeadTime(&htim1, &sBreakDeadTimeConfig) != HAL_OK) { Error_Handler(); } /* USER CODE BEGIN TIM1_Init 2 */ /* USER CODE END TIM1_Init 2 */ HAL_TIM_MspPostInit(&htim1); } void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) { if(tim_baseHandle->Instance==TIM1) { /* USER CODE BEGIN TIM1_MspInit 0 */ /* USER CODE END TIM1_MspInit 0 */ /* TIM1 clock enable */ __HAL_RCC_TIM1_CLK_ENABLE(); /* USER CODE BEGIN TIM1_MspInit 1 */ /* USER CODE END TIM1_MspInit 1 */ } } void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle) { GPIO_InitTypeDef GPIO_InitStruct = {0}; if(timHandle->Instance==TIM1) { /* USER CODE BEGIN TIM1_MspPostInit 0 */ /* USER CODE END TIM1_MspPostInit 0 */ __HAL_RCC_GPIOC_CLK_ENABLE(); /**TIM1 GPIO Configuration PC0 ------> TIM1_CH1 */ GPIO_InitStruct.Pin = GPIO_PIN_0; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; GPIO_InitStruct.Alternate = GPIO_AF2_TIM1; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* USER CODE BEGIN TIM1_MspPostInit 1 */ /* USER CODE END TIM1_MspPostInit 1 */ } } void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle) { if(tim_baseHandle->Instance==TIM1) { /* USER CODE BEGIN TIM1_MspDeInit 0 */ /* USER CODE END TIM1_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_TIM1_CLK_DISABLE(); /* USER CODE BEGIN TIM1_MspDeInit 1 */ /* USER CODE END TIM1_MspDeInit 1 */ } }      [localvideo]83bc6ed661d2868f5c8c7f41436bdafa[/localvideo]

  • 2024-11-12
  • 发表了主题帖: 【L99H92直流电机驱动评估板】AEK-MOT-WINH92开发板电路分析

          AEK-MOT-WINH92开发板:该电路板设计基于用于汽车应用的L99H92 H桥栅极驱动器,其特点是灵活电流传感为先进的防夹算法开发提供了不同的工具。开发板新特性: 新的防夹机制: 不利用电机编码器,而是利用电路板的三种不同类型的电流感应(串联、低侧和高侧)来实现防夹功能。 配置灵活: 可配置为与双向直流马达的单一H桥配合使用,或与两个单向直流马达的两个独立半桥配合使用。 连接便捷: 尺寸紧凑,可以轻松连接到任何微控制器。 利用单独的专用连接器进行SPI通讯、电流感应和具有故障检测功能的基本马达命令界面。 可调节增益: 用于防夹和满足任何车窗操作条件(如恶劣天气条件下打开窗户时,电流范围水平可能会发生变化)。 诊断功能: 提供三种诊断功能,用于检测设备在关闭状态时潜在的接地短路、电池短路和负载开路情况。 如果发生故障,DIAG接脚会向外部MCU发出警报。 故障安全按钮: 在电路板布局中新增了一个故障安全按钮,用于在开发阶段进行系统调试。 反极性保护: 给电路板提供强大的保护,防止因电源极性反转而造成的损坏。 高电流能力: 四个外部MOSFET允许电流高达50A,符合电路板功耗能力。 通过可编程增益电流传感实现防夹检测 •在线、低压侧和高压侧电流传感选项 •诊断引脚在发生故障时提醒微控制器,避免通过SPI进行循环按需故障检查,从而确保及时干预 •反向电池保护专用电路 •故障检测能力:    –开路负载、对地短路和对蓄电池短路情况    –热警告和超温停机     –欠压/过压保护     –过电流保护 •组件数量少 •为直流汽车应用提供L99H92 H桥栅极驱动器 •紧凑型尺寸:103毫米x80毫米 •包含在AutoDevkit生态系统中           左侧为AEK-MOT-WINH92开发板核心IC:L99H92是意法半导体(STMicroelectronics)推出的一款车规闸极驱动器,是符合AEC-Q100标准的器件。它集成了SPI端口、电荷泵及安全功能,并支持全桥与双半桥控制,适用于汽车电动系统如天窗、车窗等的直流电机控制。具有灵活的栅极驱动器,可配置电流传感,先进直流电机控制的诊断和保护功能。L99H92设计用于在单个H桥或双独立半桥配置中驱动4个外部N沟道MOSFET晶体管,用于汽车应用的直流电机控制。集成了两个可自由配置的电流感测放大器。设备具有低功耗(待机功耗),当前功耗小于5ua。可编程栅极驱动电流可以最大限度地减少EM1。每个栅极驱动器独立监测其外部MOSFET漏源电压以应对故障情况。可编程的交叉电流保护时间可以避免每个半桥的高侧和低侧激活的并发性。两个非工作状态诊断比较器检测接地短路、电池短路或开负载条件。集成标准串行外围设备接口(SPI)控制设备并提供诊断信息。额外的DIAGN输出引脚比SPI通信更快地提醒微控制设备发生故障。L99H92设备实现了诊断和保护功能,如供电电压监测、充电泵电压监测、过电流保护、温度报警和过温停机。这些器件装在TQFP32和QFN32封装中,两者都带有外露焊盘。QFN32具有可湿润的侧面,便于对焊点进行目视检查。   内部逻辑图: 工作原理:       开发板的原理图:       开发板背面有个运放:TSC103IYPT,是一款由意法生产的运算放大器及比较器,具有高共模电压范围、高共模抑制比和低输入偏置电压等特性,它通常被用于需要精确电流检测的应用中,如汽车电子、工业自动化、电源管理等。 资格:AEC-Q100 准确性:2.5% 放大器类型:High-Side Current Sense Amplifier(高边电流检测放大器) 描述/功能:High side current sense amplifier(高边电流检测放大器) 输入类型:Common Mode(共模输入) 3dB带宽:700 kHz 双重电源电压:-2.1 V to +65 V 增益V/V:20 V/V、25 V/V、50 V/V、100 V/V 转换速率(SR):0.6 V/us         AEK-MOT-WINH92是一款功能强大、配置灵活且安全可靠的车窗升降解决方案评估板。充分展示了L99H92闸极驱动器的灵活电流感应功能,其工作原理基于H桥MOSFET控制,内置了电荷泵,用于为高边驱动器供电。在车辆电池电压波动时,电荷泵能够确保驱动器运行正常,甚至在电压低至5.41V时仍能正常输出。此外,L99H92还提供了电池反接保护功能,以保护电路免受电池极性反转造成的损坏。为高级防夹算法开发提供了不同的工具。同时,其紧凑的尺寸和便捷的连接方式使得它易于集成到任何微控制器系统中。L99H92是一款功能强大、安全可靠的车规栅极驱动器,通过灵活的配置和多种安全保护功能,实现了对高电流电机的精确控制。使其在汽车系统中具有广泛的应用前景。    

  • 发表了主题帖: 【L99H92直流电机驱动评估板】开箱图

           感谢eeworld社区和得捷给的这次测评机会,先发个开箱图:从太平洋对岸飘扬过海来的。得捷电子(Digi-Key Electronics)总部位于美国明尼苏达州锡夫里弗福尔斯市,是全球电子元器件和自动化产品高质量分销服务商。 Digi-Key 创立于 1972 年,由目录分销的开始,也是为设计工程师提供丰富资源的主要平台。     这是NUCLEO-G474RE开发板,主控STM32G4RET       这是主角:AEK-MOT-WINH92评估板的主要目标是驱动汽车直流电机车窗升降器,确保高安全水平。该板完全符合汽车市场的趋势,即车窗升降应用的演变,提供了一种新的防夹机制,无需利用电机编码器,但利用电路板三种不同类型的电流传感(在线、低压侧和高压侧)。该板可以配置为与单个H桥一起工作,以实现双向直流电机或两个独立的半桥,用于两个单向直流电机。由于其紧凑的尺寸,利用单独和专用的连接器进行SPI通信,电流传感器、感测和基本电机命令与故障检测能力接口。另一个关键特征是可调增益,用于防夹和实现任何车窗操作条件(当前范围水平可能会在以下情况下发生变化在恶劣天气条件下打开窗户(例如在结冰的情况下)。该板还提供三个诊断功能来检测潜在的对地短路,当设备处于关闭状态时。如果发生故障,DIAG引脚会向外部MCU发出警报,确保提示在开路负载、对地短路、对电池短路、热短路的情况下进行干预警告和超温停机、欠压/过压和过流保护。对于开发阶段的系统调试,有一个故障安全按钮已添加到电路板布局中。为了使电路板得到强有力的保护,并防止因电路板倒置而造成的损坏实现了电源极性、反极性保护。四个外部MOSFET允许电流高达50A,与电路板电源一致耗散帽。              

  • 2024-10-29
  • 回复了主题帖: 测评入围名单:ST应用于车窗升降的L99H92直流电机驱动评估板,配套 NUCLEO-G474RE

    可以完成任务

统计信息

已有90人来访过

  • 芯积分:56
  • 好友:1
  • 主题:10
  • 回复:4

留言

你需要登录后才可以留言 登录 | 注册


DavidZH 2024-12-1
L99H92 讨论下.
查看全部