一旦你有了一个项目的想法,就很有可能直接进入并将Arduinos和micro:bit设备连接到电路和设备,如LED,继电器和扬声器。但是,如果没有适当的电路,这样做对您的微控制器来说是致命的。许多I / O设备消耗大量电流(> 100mA),大多数微控制器无法安全供电,当他们试图提供这么大的电流时,它们经常会损坏。这就是称为“驱动器”的特殊电路进入的地方。驱动器是可以从微控制器接收微弱信号然后使用该信号控制某些耗电设备的电路。
为了使微控制器能够正确地与外部设备一起工作,有时需要特殊的电路。这些外部设备包括:
驱动电路
输入保护电路
输出保护电路
隔离电路
那么,让我们来看看其中的一些电路,看看它们是如何工作的!
简单的LED驱动器这个简单的电路便于微控制器控制高功率LED,微控制器输出连接到“IN”。
当微控制器输出0时,晶体管Q1关断,LED D1也关闭。当微控制器输出1时,晶体管导通,因此D1也导通。R1的值取决于微控制器的输出电压,但1KΩ~10KΩ之间的值通常很有效。R2的值取决于您所供电的负载大小,该电路适用于最多1A的设备供电。
简单的中继驱动程序需要消耗超过1A电流并且每隔几秒才能打开和关闭一次的设备可能会更好地使用继电器。
虽然继电器设计相当简单(一个吸引金属臂完成电路的小型电磁铁),但它们不能由微控制器直接驱动。
常见继电器需要大约60mA~100mA的电流,这对于大多数微控制器来说太过分了,因此继电器需要使用晶体管驱动电路驱动(如上所示)。但是,不需要使用电阻来限制电流,而是需要反向保护二极管(D1)。
当微控制器(连接到“IN”)时,输出1然后晶体管Q1导通。这将打开继电器RL1,结果是灯(R2)打开。如果微控制器IC输出0,则晶体管Q1关闭,从而禁用继电器,因此灯熄灭。
继电器在需要切换交流电源电路的电路中很常见,继电器可用于230V 13A设备切换(适用于烤箱,水壶,计算机和真空吸尘器)。
按钮输入将按钮连接到微控制器应该是简单的问题,有时可能会出现问题。第一个(也是最令人烦恼的问题)是以去抖的形式出现的,当按下按钮时,按钮会发出许多信号。
按钮通常是一块金属,在按下时会与其他金属接触但是当按钮接触时它们经常会反弹(虽然很小)。弹跳意味着按钮在建立之前连接和断开多次,结果是短暂看起来随机的输出。由于微控制器速度非常快,因此半导体可以多次拾取此弹跳并执行按钮按下事件。为了摆脱反弹,可以使用去抖电路。这里显示的电路是一个非常简单的去抖电路,运行良好,构造简单。
输入保护:电压并非所有输入设备都对您的微控制器友好,某些信号源甚至可能造成损坏。如果您有来自环境的输入源(例如电压探头,雨量计,人体触摸)或输出电压可以输出大于微控制器可以处理的电压(例如电感电路),那么您将需要包括一些电压输入保护。下面所示的电路使用5V齐纳二极管钳位输入电压,使输入电压不能高于5V且低于0V。当齐纳二极管钳位输入电压时,100R电阻用于防止过多的电流流动。
输入/输出保护:电流有时需要保护微控制器的输入和输出免受过多电流的影响。如果诸如LED之类的设备消耗的电流小于微控制器输出的最大电流,那么LED可以直接连接到微控制器。但是,仍然需要一个串联电阻,如下所示,LED串联电阻的常用值包括470Ω,1kΩ甚至2.2kΩ。串联电阻对输入引脚也很有用,因为微控制器引脚发生故障或输入设备出现输出电流浪涌的情况极为罕见。
电平转换器在过去,电路中的大多数信号将在相同的电压下工作,并且该电压通常为5V。然而,随着现代电子技术的日益增长的技术能力,新设备的电压供应正在减少。因此,许多电路都包含混合信号,其中较旧的部件可以在5V下工作,而较新的部件在3.3V下工作。
虽然许多设计人员更愿意使用一个单独的电压电平,但事实是旧的5V器件可能无法在3.3V下工作,而较新的3.3V器件无法在较高的5V电压下工作。如果5V器件和3.3V器件希望通信,则需要电平转换,将一个电压信号转换为另一个电压信号。一些3.3V器件具有5V容限,这意味着5V信号可以直接连接到3.3V信号,但大多数5V器件不能容忍3.3V。为了覆盖这两种情况,下面的电路显示转换为5V至3.3V,反之亦然。
隔离:光隔离器有时,微控制器需要与之交互的电路可能会产生太多问题,例如静电放电(ESD),宽电压摆幅和不可预测性。在这种情况下,我们可以使用一种称为光隔离器的设备,它允许两个电路进行通信,而无需使用电线进行物理连接。
光隔离器使用光进行通信,其中一个电路发光,然后由另一个电路检测。这意味着光隔离器不用于模拟通信(例如电压电平),而是用于输出打开或关闭的数字通信。光隔离器可用于微控制器的输入和输出,其中输入或输出可能对微控制器有潜在危险。有趣的是,光隔离器也可以用于电平转换!