问题:STM32控制低电平触发的5V继电器无论设置GPIO高电平还是低电平始终闭合
通过简单的学习研究,分析了原因,找到了解决办法。
原因:GPIO的输出模式为推挽输出,推挽输出的高电平为3.3V,IO的驱动能力不够,无法使继电器断开。
解决方法:将GPIO的输出改为开漏输出,可以正常闭合断开继电器。可尝试将继电器的IN引脚分别接到3.3V电源和5V电源,可以发现3.3V下继电器是闭合的,5V电源下继电器是断开的。在开漏输出模式下将GPIO设置为高电平,用万用表测继电器IN端口的电压为4.3V,可以断开继电器。
原理:开漏输出模式GPIO输出高电平需要配合外部电路,外部电路提供了足够的电压,才能够断开继电器;而推挽输出模式下高电平仅3.3V,不足以是继电器断开。
仅个人学习研究结果,有问题的地方欢迎指出!
参考链接: