扩展单片机的GPIO实现多个继电器的控制

大约在2016年的时候,我接了一个私活,做快递柜的开锁控制方案,柜锁的数量没有明确要求,但是要求可扩展可配置。正巧,这两天又有网友咨询单片机控制多个继电器的控制方案。顺带着再介绍一下我常用的扩展方案以及信号继电器(小功率)的控制方法。

如果单片机的引脚比较多,GPIO数量足够用的情况下,那么可以直接用单片机的GPIO口来驱动。但是如果单片机的GPIO口比较少,那么就需要考虑采用扩展芯片来扩展GPIO了。

1 单片机驱动继电器

单片机GPIO口的驱动能力有限,无法直接驱动继电器,需要用三极管或者MOS管来驱动,以NPN三极管为例设计的继电器驱动电路如下图所示。

三极管的基极通过电阻和单片机的GPIO口来连接,继电器接在三极管的集电极上,并在线圈的两端连接了一个反向的续流二极管。当GPIO输出高电平时,NPN三极管导通,继电器动作;当GPIO口输出低电平时,NPN截止,继电器复位。由此即可实现单片机控制继电器的作用。如果单片机的GPIO口足够,重复设计以上电路即可。如果GPIO口不够的话就要设计扩展电路了。
继电器的控制最常用的方案就是用三极管或者MOS管来驱动,如果控制数量较多的话可以考虑芯片,如用做电机驱动的ULN2003、L298N等,这个需要根据被控继电器的控制电压、功率来选型。
2 单片机GPIO口的扩展
我比较喜欢用74HC595来扩展单片机的GPIO,用在数码管驱动、继电器驱动电路中。该芯片是传入并处带有所存功能的移位寄存器,具有级联引脚,可以实现多片芯片的级联,只需要用到单片机的3个GPIO口。即三个GPIO口就能扩展出8/16/32等GPIO口。
如果是32位的单片机可以将4片74HC595作为一组,用三个GPIO口扩展出32个GPIO,那么只需要3组9个单片机引脚就能扩出96个GPIO。下图是595部分的C语言程序。
点阵显示屏比较常见,并且可以扩展,这其中比较常用的方案就是74HC164和74HC595用来进行行、列的控制。74HC495最好用的地方就是带有锁存功能。
除了使用这类移位寄存器外,还可以使用IIC扩展器件,单片机与扩展器件通过IIC来通讯,但是这类芯片的价格要比74HC595贵很多,如果成本预算比较松的话,可以参考一下这类芯片。比如PCF8574。
这类芯片和单片机是通过IIC接口连接的,具有8个扩展口、3个地址输入端,使用单片机的6个GPIO口就能实现8片PCF8574的控制,能扩展出64个GPIO口。但是这类芯片的价格稍贵。
最后需要注意的是:要控制多路继电器,就需要考虑功耗问题。好在快递柜设置了柜门的输入检测功能,在使用时不允许多个柜门同时打开。如果网友所咨询的多个继电器存在同时动作的情况,则需要考虑功耗问题。
(0)

相关推荐

  • 浅谈单片机的GPIO外部驱动电路(三极管驱动电路)

    序 一般而言,我们在开发各种单片机外围电路的时候,总会遇到两个问题: 单片机供电电压普遍3.3V,虽然STM32的管脚可以容忍5V电压,但如果是超过5V的电压,单片机就无能为力了. 就以典型的STM3 ...

  • 单片机科普:单片机的IO口不够用了怎么办?如何扩展单片机的IO口

    单片机是一种可编程器件,在各种消费类电子.工业电子.汽车电子等行业应用广泛,目前开发产品的构架就是以单片机为核心,根据不同的功能搭建不同的外设电路.同样的功能,每个人.每个团队所做的技术方案都不会相同 ...

  • 单片机提高GPIO驱动能力的机中方法

    单片机的GPIO口驱动能力有限,不能直接驱动较大功率的负载,如果负载的功率较大必须要考虑采用驱动功率器件的方式,比如说三极管.MOS管以及其他的专用驱动芯片.下面结合几个典型的例子来介绍以下如何提高单 ...

  • 怎样将继电器电气控制的原理图转换为PLC梯形图

    继电器电路图与梯形图在表示方法和分析方法方面相似之处很多.因此就可以利用继电器电路图来设计梯形图,把继电器电路图转换为同样功能的PLC梯形图及PLC外部硬件接线图. 三相异步电动机正反转控制电路的电气 ...

  • 增强型51单片机扩展方式

    文/Edward 大家是否思考过一个问题,为什么现在的51单片机在做宣传的时候,不外乎都是称作为"增强型51单片机"?与传统的51单片机相比,究竟哪些地方得到了扩展? 在回答这个问 ...

  • 单片机扩展WiFi通信模块和5种主流PLC实现Modbus TCP以太网通信

    单片机扩展WiFi通信模块和5种主流PLC实现Modbus TCP以太网通信 一.通信演示视频: 二.通信硬件配置: 1.客户端:单片机+WiFi通信模块,实物如下图所示: 2.服务器1:三菱FX5U ...

  • 单片机扩展Ethernet通信模块和8种主流PLC实现Modbus TCP以太网通信

    一.通信演示视频: 二.通信硬件配置: 1.客户端:单片机扩展Ethernet通信模块,实物如下图所示: 2.服务器1:三菱FX5U系列PLC,实物如下图所示: 3.服务器2:西门子S7-200 Sm ...

  • 【电路“芯”说】单片机ADC扩展

    早在几天前,我写了一篇关于单片机IO口扩展的文章,接着有网友和我来讨论关于ADC扩展的问题了,关于这个问题,这篇文章有详细的讨论.单片机ADC为何要扩展现在的主流MCU都内置了不止一个多通道的ADC, ...

  • 【电路“芯”说】单片机IO扩展

    世界上最尴尬的事情是什么?这个我真不知道.但是做电子系统时最尴尬的事莫过于想要增加一个新的功能却发现单片机的引脚不够. 在我们日常的电路设计时,除了最基本的产品需求要满足之外,还需要考虑的就是整个电路 ...