使用一个微控制器输入引脚读取多个开关和电位器设置

时间:2023-03-25

     本设计理念中的电路提供了一种使用一个输入引脚将混合模拟和数字输入传送到微控制器的方法。电路的输出连接到微控制器的 ADC 输入引脚。该电路包括一个可变电阻器和多个 SPST(单刀/单掷)开关(图 1)。按钮允许用户选择模式、状态或选项,而模拟输入提供了一种传送可调参数的方法。该实施要求您分析并联电阻电路和分压器。如果仔细选择电阻值,电路会提供可识别的模拟输入以及许多离散的按钮输入状态。

     要计算合适的高侧和低侧偏置电阻值,可使用以下等式 将此电路求解为一个简单的分压器:选择电阻值是一个多步骤过程,电子表格有助于执行计算。例如,您希望 5 kΩ 电位器 R ADJ 向微控制器产生 0 到 100% 的值。通常,您会将 0 到 255 的采样值映射到 0 到 100 的值以表示百分比。然而,通过选择偏置电阻 R BIAS的值,您可以得到一个以 ADC 的 0 到 255 范围为中心的直接模拟输入——例如,78 到 178。

     代入并求解 R BIAS 并假设电压值为 255,低压值为 78,的高压值为 178,R ADJ 值为 5 kΩ ,得出以下等式:

   R BIAS的计算值为 3875Ω。使用 3.3 kΩ 的标准值,电位器的输入范围为 73 到 182。此范围产生比您需要的更大的动态范围,但允许电位器值和按钮值之间的保护范围。由于 R ADJ的位置 会影响电路在您按下任一开关时看到的总电阻,因此微控制器必须解释每个开关的值范围。要确定S 1 或 S 2的开关电阻 R SW,您可以在电位器位置的两个极端使用并联电阻网络。

     当您按下 S 1 且 R ADJ 处于位置时,分压器底部支路的有效电阻为 R SW 并联于 R ADJ 和 R BIAS的串联组合。在位置,有效电阻为与 R BIAS 并联的R SW:

    您可以通过评估 R BIAS 和 R RFFMAX形成 的分压器来确定按下 S 1时的值 :

      观察一下,当R ADJ 为值时,你按下S 1 ,它产生的值必须小于R ADJ 自身产生的值,才能确定你按下了开关。因此,有效电阻 R EFFMAX产生的值必须小于低电压,如下式所示 :

    代入并求解此等式以得到开关电阻:

     使用电子表格计算开关电阻为 1558Ω,您可以选择标称 1.5kΩ 的电阻器。此选择会导致 S 1 在您按下它时产生 28 到 71 的范围,具体取决于电位计的位置。同样,为 S 2选择相同的值 产生 184 到 227 的范围。这些范围是值带,无论电位计的位置如何,您都可以使用它们来确定您按下了哪个开关。尽管选择对称电阻值不是必需的,但它可以地减少您需要执行的计算次数并简化设计。此外,选择较小的串联开关电阻器会打开它们与电位计之间的保护范围,如果结果值太接近,则可能需要这样做。微控制器使用清单 1 中的一个小子程序来确定开关位置和电位计的设置。

     这种技术的局限性在于您不能在任何时候按下多个按钮。此外,只有当您没有按下任何其他按钮时,微控制器才能读取电位器的位置。此示例显示如何使用两个按钮,但按钮的数量可以变化。输入范围可用于多达 10 个按钮和一个电位器,所有这些都共享相同的输入引脚(图 2)。尽管计算的范围不重叠并且是的,但您的 ADC 硬件能否在所有情况下可靠地区分这些波段值得怀疑。选择较小的电阻值可使这些频段相距较远,从而产生更大的保护范围。

     将这种技术与四个按钮和一个电位计一起使用是合理的。使用电子表格进行试验有助于快速确定每个开关及其输出范围的正确串联电阻值。

上一篇:检测带电的交流电源线
下一篇:微型微控制器托管双直流/直流升压转换器

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料