使用 STM32F407ZET6 TIME1 CHI、CH1N和TIME8 CH2 CH2N,产生四路驱动,提供给全桥逆变,PWM频率为85kHz,死区时间为300ns。 在应用中出现如下问题:1)PWM频率存在周期性微小跳变,如正常PWM波形,周期为11.76us,高电平时间为5.88us,系统长期运行时,在某些时刻呈周期性或偶发性,高电平时间从5.88us增加约300sn,变成了6.2us,或减小为5.5us,从而诱发系统异常;2)在特殊工况下,PWM存在漏波的情况,如高电平持续时间达到了19us。上述两种情况出现后,在几个周期内又恢复正常,正常工作一段时间后复发。 在反复测试中,可以明确以下几点:1)该异常受AD采样口影响,当断开所有采样后,该异常不会出现;2)在AD采样口增加使用隔离放大器或增加EMI滤波器时,情况有所改善,但不会根除;3)使用系统其它IO口固定频率如1kHz的波形,在出现漏波时,如高电平从5.88us持续到19us,该IO口高电平也会从500us持续到1500us左右,同步异常。 晶振从无源晶振改为有源晶振,无改善,晶振频率为25MHz。 该问题至今未彻底解决,大家看下可能的原因?或者是ARM系列在大功率电源上应用时,抗干扰能力不足,需要做特殊处理,提高抗干扰能力? (20230314 波形补充,如下:负压持续时间增大了约3倍,正压持续时间约2倍,几个周期后恢复正常。 ) |
如何利用timer对一个频率变化范围比较广的中低频脉冲信号进行精确脉冲长度/周期/频率测定
Cubemax 生成的文件夹选项包含Core文件夹
1.STMCWB 最新版本是否支持绝对值编码器?只能通过MCLIB库手动增加吗?2.基于ST FOC库的磁编码器(SPI出绝对角度信息)只跑速度环和电流环最简单
STM32是否支持CCP协议,能否用INCA/ CANape 进行调试和标定
为什么我的stm32cubemx里高级定时器只能配置输出比较的互补输出,而不能直接配置PWM互补输出?
高主频情况下进入会硬件错误
NUCLEO-F411RE板串口通讯问题
高主频情况下程序运行进入HardFault_Handler
stm32的fsmc总线上同时挂载LCD屏和SRAM需要怎么设置
STM32F407 USB的IN端点只能是0x81么?
不妨你只对内部某些信号进行ADC采样,看看是否还会发生ADC采样影响PWM输出的情形?
建议测试一下PWM,固定占空比(比较寄存器的值)试试,看看是不是波形会变化。
楼主您好,关闭AD采样是断开外部的输入还是关闭AD的中断。AD是DMA采集还是普通的中断采集?考虑一下AD中断后,是不是中断时间处理太长,导致PWM中断延时,可以考虑采用抢占式中断,把AD中断级别调到比PWM低一些试试。
AD采样的是电压信号,电压在0.3~3V之间。
CT电流传感器(绝缘电压5000V)输出经整流滤波电路变成直流电压,经过隔离运放器后,差分放大,进入控制板AD口。
407所在控制板的地、功率地是隔离的。
如果从差分输入那里断开,407不受干扰的。实际输入加共模电路、或采样隔离运放,可以改善,但不能完全消除,在某些工况下还是会发生。
现在的PWM是固定占空比的,程序没有进行调节,也没有外部事件触发。
[md]关闭AD采样 是把差分运放输入处断开,硬件断开,程序还是正常运行。现在的采样都是用的DMA,没有用到中断。
还是建议用最简单的独立单纯的固定周期PWM和ADC功能的软件去试一下。
应用软件中如果不小心配置了刹车等额外功能,不用单纯软件去实验是没法高效排除这类因素的。
如果是硬件问题,具体可能是哪些方面呢?噪声随着采样进入AD口,经过时间累积后,导致407内部驱动异常?
软件因素基本可以排除。有其他产品用的是同一套代码,功率小一些,几年了都没出这个问题。
1. 采用内部HSI 验证一下稳定性,看看是不是外部时钟线路吸收到的干扰,
2. AD通道口增加阻抗,同时软件增大采样时间。
外部的干扰信号不好测量,最方便的方式就是反向验证一下了。
打脉冲干扰群测试,发现干扰加在芯片的模拟地,或者AD输入口,问题就会复现。具体是怎么影响到PWM频率还不清楚,现在就是采样加隔离+共模,有一定改善。