
1024阶物理数字电位器/立创·ColorEasyDuino
简介
1024阶物理数字电位器/立创·ColorEasyDuino
简介:1024阶物理数字电位器/立创·ColorEasyDuino开源协议
:GPL 3.0
描述
1024阶物理数字电位器/立创·ColorEasyDuino
1.简介
使用立创·ColorEasyDuino开发板为核心,arduino作为开发平台,10个物理继电器做切换的1024阶物理电位器切换器(2^10=1024)

使用场景
关于这个,有些能用滑动变阻器电位器,旋转式的电位器代替的,甚至都有使用芯片控制内部抽头的,IIC控制就能调节的芯片级数字电位器为什么还需要物理继电器做成数字电位器?
最重要的是围绕继电器的隔离特性,物理特性和大功率特性。
大功率特性:
工业控制上PLC输出模块,继电器可以输出大功率驱动电机、阀门、加热器等大功率负载。
汽车电子的车身控制,车灯、雨刮器、电动车窗的驱动。
音频分频电路能够直接接物理数字电位器
物理隔离特性:
医疗仪器低压和高压电路隔离
音响的音量控制,纯物理的不是电子分频(太HIFI了)以前看过国外很发烧的功放机,控制音量是用一个步进电机控制内部的旋转电位器进行物理调声,就是为了还原声音的100%是纯模拟非电子音量控制
各种隔离测试,例如电池NTC测试,可以用这个模拟NTC温度来判断机器NTC是否起效。
除此之外还有些有趣应用。比如老式电话交换机的咔嗒声就是继电器工作的声音,现在有些音频设备故意保留这种“复古噪声”作为特效
最后补充个冷知识:阿波罗登月舱用了70多个继电器,部分至今仍在月球上工作。这种极端环境案例最能体现继电器的可靠性优势。不过现代航天已转向固态器件。
当然缺点也是有的,下面我让deepseek生成一下,我就不细说了
优点
-
强电气隔离
-
线圈与触点间绝缘电压可达 5kV以上,彻底隔离控制端(低压)与负载端(高压/大电流)。
-
-
负载兼容性强
-
可切换交流/直流、阻性/感性负载(如电机、变压器)。
-
耐受浪涌电流(如白炽灯启动电流)。
-
-
多触点配置
-
支持常开(NO)、常闭(NC) 及多组触点组合,灵活适应复杂逻辑。
-
-
故障可视性
-
机械结构便于目视检查触点状态(部分型号带透明外壳)。
-
-
成本低廉
-
简单应用场景下成本低于固态继电器(SSR)或功率半导体。
-
-
抗干扰性强
-
不受电压尖峰、EMI(电磁干扰)影响,适用于恶劣电气环境。
-
缺点
-
机械寿命有限
-
典型机械寿命 10⁶~10⁷次(高频操作易磨损)。
-
-
响应速度慢
-
吸合/释放时间 5~20ms,无法满足高速开关需求(如PWM控制)。
-
-
触点问题
-
电弧烧蚀:切换大电流时产生电弧,导致触点氧化、粘连。
-
接触电阻:长期使用后电阻增大(从 50mΩ 升至 数百mΩ)。
-
-
体积与噪音
-
比半导体器件体积大,吸合时产生“咔嗒”声。
-
-
功耗较高
-
线圈需持续通电维持状态(典型功耗 0.5~2W),SSR仅需触发瞬间电流。
-
-
振动敏感性
-
机械结构在强振动环境下可能误动作。
-
与固态继电器(SSR)对比
| 特性 | 物理继电器 | 固态继电器(SSR) |
|---|---|---|
| 开关速度 | 慢(ms级) | 快(μs级) |
| 寿命 | 机械寿命有限(约10⁶次) | 长(无触点,约10⁹次) |
| 抗振动 | 差 | 优 |
| 静音 | 有操作噪音 | 无声 |
| 负载类型 | AC/DC通用 | 通常AC/DC专用(需选型) |
| 散热需求 | 低 | 高(需加散热器) |
| 成本 | 低(小功率) | 高(大功率) |
选型建议
-
选物理继电器当:
-
需要强隔离、混合负载(AC/DC)、低成本解决方案。
-
-
选固态继电器当:
-
要求高速开关、长寿命、无噪音(如温控系统)。
-
示例场景:
工厂传送带电机控制(启停频率低)→ 物理继电器
实验室精密恒温箱(需高频通断)→ 固态继电器
deepseek最后想让我换成固态继电器,但是目前没找到合适的直流固态继电器
2.电路图
使用立创·ColorEasyDuino开发板为核心,接上外部的编码器EC11和OLED屏幕接口

组要是这个继电器网络,其实也很简单

其实这就是个二进制加权电阻网络
每个继电器对应一个二进制位(0或1),控制一个阻值为 2的n次方*R 的电阻(n为位序号,从0到9)。
第0位(LSB)对应 R
第1位对应 2R
第2位对应 4R
...
第9位(MSB)对应 512R
我这里R的基数为100欧姆,所以实际上范围就是0~1023kΩ

继电器控制逻辑也很简单
-
当继电器闭合时,对应的电阻被短路,不参与总阻值计算。
-
当继电器断开时,对应的电阻被串联接入总电路。
关键设计要点是要使用高精度电阻(如1%或0.1%误差),以确保二进制权重的准确性。
状态真值表如下(R基数=100Ω时)
| 继电器状态(K9~K0) | R值 | 阻值 |
| 0000000000 | 0R | 0Ω |
| 0000000001 | 1R | 100Ω |
| 0000000010 | 2R | 200Ω |
| 0000000011 | 3R | 300Ω |
| …… | …… | …… |
| 1111111110 | 1022R | 1022Ω |
| 1111111111 | 1023R | 1023Ω |
3.安装
安装好0.96寸OLED

焊接好排针直接插进去底下的开发板即可

4.代码

第三方库使用Adafruit_SSD1306作为OLED显示驱动

定义继电器

定义的全局变量,其中currentR当前阻值初始化建议设置为最大以防初始化0短路损坏被接的器件
实际上电路中继电器无电状态下也是最大的阻值1023

OLED内显示的内容,坐标字体等

主要的地方是这里,让当前电阻值currentR与0x01做&运算,然后再右移1~9次于0x01做运算,这样就得到了继电器的真值状态,写入继电器数组

然后根据数组去写GPIO口状态控制继电器开关状态

剩下就是编码器的中断,按键的快速切换作用


增加边界保护和消抖处理
总理来说是比较简单的代码
5.测试
见视频
6.总结
基于物理继电器的数字电位器和纯数字电位器以及旋转电位器相比还是有很多优点,当然缺点也有,主要是继电器的寿命问题,但是现阶段并没有合适的直流固态继电器
设计图
未生成预览图,请在编辑器重新保存一次BOM
暂无BOM
克隆工程

评论