在日常实验和工作中,常常需要使用电阻箱来测试不同类型的电阻值,手动调整电阻箱阻值的过程比较繁琐,为了解决这个问题,做了一个程控电阻箱。
可以通过CAN总线和RS232控制,也可以用USB连接电脑,用上位机控制,同时做了个上位机:
这个电阻箱主要由单片机、继电器、继电器驱动、电阻组成,原理并不复杂,上位机给单片机发指令,单片机收到之后控制的继电器动作,进而实现阻值切换。
如下图,SW1-SW4为继电器,R1-R4为电阻,阻值分别为1、2、4、8欧姆,AB是输出端子。单片机控制这4个继电器便可以实现不同的阻值输出。比如当四个继电器都为0(切换到下面为0,上面为1)时,四个电阻都没有接入,AB之间阻值为0;当SW1为1,SW2、SW3、SW4为时0,AB之间阻值为1欧姆;当SW2为1,SW1、SW3、SW4为时0,AB之间阻值为2欧姆.
完整的阻值表如下:
SW1 | SW2 | SW3 | SW4 | RAB |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 2 |
1 | 1 | 0 | 0 | 3 |
0 | 0 | 1 | 0 | 4 |
1 | 0 | 1 | 0 | 5 |
0 | 1 | 1 | 0 | 6 |
1 | 1 | 1 | 0 | 7 |
0 | 0 | 0 | 1 | 8 |
1 | 0 | 0 | 1 | 9 |
0 | 1 | 0 | 1 | 10 |
1 | 1 | 0 | 1 | 11 |
0 | 0 | 1 | 1 | 12 |
1 | 0 | 1 | 1 | 13 |
0 | 1 | 1 | 1 | 14 |
1 | 1 | 1 | 1 | 15 |
如果需要扩大可设置阻值的范围,则可以增加继电器和电阻的组数。
另外,精度要求比较高时需要考虑继电器的内阻,这时可以串入一个补偿电阻,不过这样就没法设置成0欧姆了。
实际可能买不到阻值刚好是2的n次方的电阻,可以用几个串并组合一下。