4~20mA模拟量转换公式为:
(输入信号-最小值)/(最大值-最小值)×16mA+4mA。
输入信号指当前工程量,比如当前温度,当前压力。
最小值,表示工程量的最小值。
最大值,表示工程量的最大值。
通用公式
(工程量当前值-工程量最小值)/(工程量最大值-工程量最小值)×(模拟量最大值-模拟量最小值)+模拟量最小值。
1
|
\frac{工程量当前值-工程量最小值}{工程量最大值-工程量最小值}×(模拟量最大值-模拟量最小值)+模拟量最小值
|
例题
有一个比例阀,2-10V 表示开度0-100%,但是通过一个单片机输出的模拟量控制,单片机某个引脚输出0-10V。通过改变单片机内部寄存器A的值来控制该引脚的输出。
A的取值范围是0-1023。那麽请问,该怎么计算?如果控制比例阀开度为50%。单片机寄存器A的值是多少?
1, 单片机输出 0-10V 对应内部寄存器A的值为 0-1023
1
|
\frac{0}{10} = \frac{0}{1023}
|
2, 单片机要输出 2-10V控制比例阀,对应内部寄存器A的值为 204.6-1023
1
|
\frac{2}{10} = \frac{204.6}{1023}
|
3, 单片机内部寄存器A的值为 204.6-1023,对应 比例阀开度0-100%
1
|
\frac{204.6}{1023} =>? \frac{0}{100}
|
4, 根据公式可得,当比例阀开度为50时,需要设置单片机内部寄存器A的值为613.8
1
|
\frac{n}{100}×(1023-204.6)+204.6
|
1
|
\frac{50}{100}×818.4+204.6=613.8
|
5, 验证一下,当单片机内部寄存器A的值为613.8时,输出的电压为6V.
1
|
\frac{613.8}{1023} = \frac{V}{10}
|
6, 验证一下,当比例阀开度0-100%,对应模拟量2-10V。
1
|
\frac{0}{100} =>? \frac{2}{10}
|
7,当比例阀开度50%,对应模拟量为6V,与第5步一致。