完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
前言:
继电器模块工作电压5V,吸合电流约70mA每路,带继电器状态指示灯;I/O信号输入直接与单片机IO口或数字电路连接,输入高电平继电器吸合,输入低电平继电器释放; 全贴片元件,最合理驱动电路设计,采用8050三极管驱动继电器动作。 背景: 鉴于项目的需求,用正点原子-精英板(STM32F103)去驱动一个5v的继电器模块控制USB加湿器。本以为就是单片机直接I/O口直接输出高低电平就能实现开关切换了(控制原理跟点LED灯差不多,而且通常就是这么控制的),可实际情况我实验失败了。。。 我买的继电器模块是5V工作电压、低电平触发的,而且是支持单片机I/O直接驱动控制,然而我发现控制不了。用开漏输出才能正常控制继电器的工作状态,而使用通用推挽输出模式继电器都是不工作没反应的(正常来说继电器都是用推挽输出驱动I/O的),想问一下,为什么精英板不能用推挽输出模式驱动5V继电器模块? 百度了下什么都没有,说什么单片机I/O驱动能力不够,需要做个三极管放大驱动,都TM子虚乌有,其实现在淘宝的继电器模块都是考虑这些的都做好了的,单刀直入就行的。度娘救不了,这可咋办? 解决方法: 更改I/O口(GPIO)的输出模式。一般我们常用的都是推挽输出模式(GPIO_Mode_Out_PP ),我们就改为开漏输出模式(GPIO_Mode_Out_OD ),改完重新编译烧录,即可解决这个问题。 原GPIO初始化配置(推挽输出): 改成开漏输出模式之后: (1)推挽输出 推挽输出(push-pull out),就是有推push有拉pull,任何时候I/O口的电平都是确定的,而且不需要我们外接上拉或者下拉电阻。 (2)开漏输出 开漏输出,就等于输出口接了个NPN三极管,且只接了e,b。 c极是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了。但是不接电阻上拉的时候,这个输出高就不能实现了。只可以输出强低电平,高电平得靠外部电阻拉高。输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内) |
|
|
|
只有小组成员才能发言,加入小组>>
3316 浏览 9 评论
2995 浏览 16 评论
3494 浏览 1 评论
9060 浏览 16 评论
4088 浏览 18 评论
1180浏览 3评论
605浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
600浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2335浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1896浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 08:40 , Processed in 1.424385 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号