热度 10
2023-3-23 16:39
2104 次阅读|
1 个评论
这个想法来源于一个组合使用的机器,机器可以插到组合箱,得到供电,同时要读取组合箱上的 EEPROM 内的数据,确认处于组合箱的位置。实际工作时组合箱上的 EEPROM 需要供电。拔插接口需要有保护电路。否则烧了组合箱中的 EEPROM 不算什么,烧了机器主板就亏大了(确实发生过不止一次)。 EEPROM 单独编程生产起来也很麻烦,且无法在现场修改。 如果在组合箱中配置合适的电阻,用 AD 来读取电压,识别位置,效果应该会更好。 常规的办法是使用电阻分压,在组合箱中配置不同的电阻,如果使用 3.3V 供电, 1K Ω电阻上拉,为产生均匀分布的输出电压,所需的配置电阻为: 可以发现需要的电阻近似成指数变化。找齐这些电阻有难度,并且需要 16 位的开关来选择每个电阻。成本也比较高。 考虑使用一个恒流源作为激励,选择线性增加的电阻使输出电压线性变化。这里使用一个线性稳压器 LM317 。将 Vout 与 ADJ 之间连接一个电阻用于设置电流, 317 的工作特性是改变输出电压,使 Vout 和 ADJ 之间的电压保持稳定的 1.25V ,这样,图中的输出电流为 1.25/620 约为 2mA 。后面接的是配置用电阻,分别为 100 Ω 200 Ω 400 Ω 800 Ω,其中 400 Ω、 800 Ω不是标准阻值,可以用多个 200 Ω串联实现。设置用的开关连接在电阻中,可以短路或开路让相应的电阻接入或跳过电路。图中可以实现 0~1500 Ω 按 100 Ω步进的 16 种电阻值。这样 4 位的开关,产生 16 种编码,输出对应的电压,且不同编码的电压差是相同间隔的。 在这个应用中不建议用 TL431 构成的恒流源,因为需要的电流很小, 431 的 Iak 有点大,合并到一起后,误差大了。 使用时注意。 恒流源供电电压至少应大于( 3.3+1.25+3 ) V , 3.3V 为 AD 参考电压, 1.25V 为稳压器的参考电压, 3V 为稳压器需要的压差。按图中的配置,输出的最高电压约为 3V 。因无法避免因故障输出更高的电压,电路输出应该做电压限制,再输入到 AD 进行采集,确保安全。