正如您从我之前的博客中看到的,我的灵感源及所学知识多数源于我父亲对我的影响。有一个建议一直萦绕在我脑海:“两次测量,一次剪裁。”然而,作为工程师,每当我们为步进电机、LED和其他外设设计一个控制或电源电路遇到挑战时,我们期望让系统适应具体的规则和条件。我们基本上是进行两次测量,但只针对一组特定条件。事后的任何变化只意味着额外成本和评估时间,这可能是任何项目的一个痛点。或正如我的父亲所说:“您已将其剪裁,不可能再将其回复原貌!
那么,当您需要多个系统或配置的解决方案时会发生什么?如何确保您在拥有可为电机供电的系统,和在设计完成后灵活添加其它高压设备之间保持平衡?我建议使用系统的一个模块或子集来启动稍后可进行缩放的设计。
接口灵活性
您要做的首要事情是确保您可随意连接您的电源驱动器。虽然选择具有足够通用输入/输出(GPIO)的主机控制器来驱动输出是一个好主意,但实现控制方案或程序变得越来越困难,因为每个GPIO引脚都具有自己的调用和执行操作。串行接口可方便应对这一问题。大多数处理器都有如图1所示的一系列内部接口。这些接口模块可控制内存或外部传感器,甚至与其它处理器通信。
图1:MSP430™内部框图
但对于我们的系统来讲,选择很简单。正如我在介绍中提到的,我们正让此系统驱动包括步进电机在内的多个外设。对于步进电机,我们需要确保从主机提供顺序输出和同步输出。
图2:SPI主从连接
诸如串行外设接口(SPI)和I2C之类的接口可让您拥有来自主机或主设备的时钟信号(如图2所示)的优势,能够通过共享串行数据和时钟线进行扩展。然而,出于设计考虑,您希望维持低成本,因为具有大量电机和LED的解决方案需要多次迭代。
一些电机、LED和其它设备可能不会从作为处理器的内部串行接口中受益。这些情况下,可以使用如图3所示的SN74HC595这一串行到并行转换器。该设备有助于将数据顺序传送到输出。我选择这部分用于设计,因为它易于使用、成本低,并使设计人员能够堆叠或菊花链类似设备。任何诸如SN74HC164或TCA9539在内的其它串行到并行设备也可以帮助完成任务。
图3:SN74HC595
驱动高电压和高电流
不幸的是,您不能简单地从主机微控制器驱动高功率负载。但您可应用FET降低处理器的总电流需求。这实际上是设计论坛中更受欢迎的线程之一,也是为何“连接3-V MSP430到5-V电路”应用笔记非常受欢迎的主要原因。若您查看此应用笔记,您将了解到ULN2003A是一个简单的解决方案。
Figure 4 showcases how the MSP430 microcontroller and ULN2003A can drive a 12V logic rail along with some motors and LEDs. This works out great because the ULN2003A can handle voltages up to 50V and currents up to 500mA/channel, which gives you ample range for motors and LEDs.
图4所示为MSP430微控制器和ULN2003A如何驱动12V逻辑轨及一些电机和LED。结果非常好,因为ULN2003A可处理高达50V的电压和高达500mA /通道的电流,这为您的电机和LED提供了足够范围。
图4:将MSP30连接到高电压和高电流负载
汇总
既然现在条件已成熟,您可连接MSP430 MCU、SN74HC595、ULN2003A和CSD17571Q2,创建一个灵活的电源结构,可在8通道的倍数中进行扩展,如图5所示。
图5:我们的动态驱动系统
您可使用此架构创建复杂系统,如空调、LED显示矩阵或甚至具有多个灯和电机的机器人。您还可创建具有添加功能或功能性的同一设计的多个版本,如图6所示的额外的显示器或电机。
图6:缩放我们的功率驱动器,以适应更多外设
由于您想让设计保持在一个合适规模,您现在可根据您的应用需求扩展或减少应用功能,或循环相同的结构,以提出需要高电压、高电流或两者兼具的其它应用程序。由于您只选择低成本替代方案,您可确保您的电路板仍具有成本效益,即使是多次迭代也是如此。
这是一个易于使用和灵活的设计,我们采取了这一理念,并制作了一个BoosterPack。但这只是其中一种您可驱动大功率外设(如步进电机和LED)的方法。您能想到其它架构吗?请在下方做出评论。