故事:今天买了5V继电器,商家说可以用STM32驱动,准备使用STM32引脚直接驱动。后来早上试了2个小时,引脚一直电平变化(配置为推拉输出),但继电器没有反应,直接上5。V正负电源会有反应,之后,询问群友和网上搜索,是控制器引脚带负载能力不好,输出电流太小,这种大功率大功率器件。这时,有网友建议我选择带拉电阻的引脚,所以,探索者PB8,因为PB8外接了4.7K上拉电阻,引脚为,泄漏输出模式,然后试图成功驱动继电器。
总结:之前网上看了很多资料,听说过单片机引脚的模式,很少关注。今天的实验收货很多。 一、上拉电阻和下拉电阻 一些引脚默认输出只是低电平和高组态。当引脚外部设置上拉电阻时,引脚电平可以提高到外部VCC上拉电阻的选择一般为1-10k,电阻越小,功耗越大。 用途:1。上拉电阻串联电阻接收电压,增加IO驱动能力。下拉是电阻接地,以确保IO电平为低电平。 2.上拉电阻用于解决总线驱动能力不足时提供的电流,称为拉电流;下拉电阻用于吸收电流,称为灌电流。I2C总有一个10K的电阻。 3.上拉电阻用于检测低电平,下拉电阻用于检测高电平。
上下拉电阻
,通过上下拉相应的开关配置,可以控制引脚的默认电压。上拉时,引脚电压为高电平,下拉时,引脚电压为低电平,消除引脚不确定状态的影响。如果引脚外部没有外部设备,或者外部设备不干扰引脚电压, STM32 引脚会有这种默认状态。 也可以设置既不上拉也不下拉模式。我们也称这种状态为浮动模式。当配置到此模式时,用电压表直接测量引脚电压 1 这是一个不确定值。因此,一般来说,我们会选择为引脚设置上拉模式或下拉模式,使其处于默认状态。 STM32 内部上拉是弱上拉,即上拉输出的电流很弱,如果需要大电流或需要外部上拉。
二、解决方案 由于需要控制多路继电器的导通和关闭,每个引脚都无法配置外部上拉电阻,因此选择了功率放大驱动器。因此,选择了多路ULN2003和ULN2803。两者都是七重达林顿阵列,输入电压范围相同,输出电压范围相同,电流相同,后者多用于控制电机和继电器。IC到货测试一波。
更新:测试结果。早上使用ULN2003AN测试面包板,效果好。ULN2003AN的GND引脚电源负极,COM端口连接到电源正极,使用探索者5V电压芯片供电,可以正常使用。控制引脚,PE1接LN1,OUT控制引脚1继电器。连接继电器输出端口的小灯测试开关状态。结果表明,使用普通引脚ULN在2003年的放大作用下,可驱动继电器等大功率设备。 效果图如下: