我正在使用 Arduino 代码测试由 ESP32 控制的定制电机驱动器(小型 6V 直流电机)。A 和 B 方向由 GPIO 引脚 16 和 17 上的高/低数字写入控制。使用 NPN 晶体管(NPN 晶体管 - BC847 - 数据表)和(双 n/p mosfet IRF7105 - 数据表)。
速度由引脚 26 上的 PWM (ledc) 控制,带有一个 mosfet:(IRLML2502 n 通道 mosfet 数据表)
但结果并不一致,当我将 A 或 B 设置为高电平并将 PWM 设置为 100% 时,我预计电机引脚(1 和 2)上的电压接近 6V。有时确实如此,但有时我只测量3.7V。当测试点 T6 对地短路时,达到 6V。我什至不确定不同的电压在哪里“丢失”,我用我的 DMM 测量了以下电压(不幸的是没有可用的示波器)。
- M1 - M2:3.7V
- M1到GND:0V
- M2转6V:6V
我在原理图中或我用 ESP32 驱动它的方式中是否遗漏了什么?