啊对 10K是防止浮空的 栅压是哪个参数 我用的一个开关模块,工作电压DC5-36V,触发信号源DCV3.3-20V,频率0-20KHZ,开关速度我试过直接点亮和PWM,都是3个IO同时触发就不会亮,我用导线同时将3个IO口短接然后分别输入到3个MOS信号触发口证明了这个问题。
PWM的速度是10MS
- void SoftPWM(unsigned char volatile *io_port, unsigned char io_bit,
- unsigned char duty, unsigned char period)
- {
- unsigned char i;
- unsigned char mask = (1 << io_bit);
-
- for (i = 0; i < period; i++)
- {
- if (i < duty)
- *io_port |= mask; // 高电平(MOS 管导通)
- else
- *io_port &= ~mask; // 低电平(MOS 管关断)
- Delay100us();
- }
- }
- for (led_index = 1; led_index <= 6; led_index++)
- {
- for (duty = 0; duty <= 100; duty++)
- {
- P2 = kept;
- SoftPWM(&P2, led_index, duty, 100); /* period 与 duty 上限匹配 */
- delay_ms(2);
- }
- kept |= (1 << led_index);
- P2 = kept;
- delay_ms(100); /* 点亮下一颗的间隔 */
- }
复制代码
其他我是参照AI来修改的
措施 说明 优先级
栅极串联电阻 I/O 口到 MOS 管栅极串 100Ω~1kΩ ⭐⭐⭐ 必须
栅极下拉电阻 栅极对地接 10kΩ,防止浮空 ⭐⭐⭐ 必须
电源去耦电容 MCU 端 47μF+0.1μF,LED 电源端 100μF ⭐⭐⭐ 必须
I/O 口设推挽 控制 MOS 管的 I/O 口设为推挽输出 ⭐⭐⭐ 必须
电源分开走线 LED 大电流回路与 MCU 电源回路分开 ⭐⭐ 建议
切换间加延时 每次切换 LED 之间加 50ms 以上延时 ⭐⭐ 建议
PWM 软启动 渐亮渐灭,避免电流突变 ⭐⭐ 建议
LED 电源加 LC 滤波 大电流时加 10μH+100μF π 型滤波 ⭐ 可选 |