AO输出线性转换,0至100转换为4至20mA问题

2020-01-26 13:04发布

手机发帖有些无力

大概描述一下:
用户在界面上配置AO输出的值的范围是0至100,我在下面需要需要转换为4至20mA。

单片机使用PWM模拟输出电流信号。

上面给0下来的时候,单片机的PWM占空比寄存器填入10955,这时输出电流为4mA。

当上面给100下来的时候,单片机的占空比寄存器填入65535,这时输出电流为20mA。

想了半天,发现我想实现的还真不是线性的,
需要上面的0的对应当下面的10955,上面的100对应下面的65535,同时对于中间点50,需要对应下面的32767,保证输出电流是12mA。

就这些了,大概想了想,没找到比较简单直接的算法。

请教一下各位,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
max-men
1楼-- · 2020-01-27 06:43
如果线性度不是很好可以多测几个点然后用线性插值法
ksn13
2楼-- · 2020-01-27 08:03
kevin_me 发表于 2013-9-21 03:30
软件算法做不到吗

其实这里主要问题是零点被抬高,中间点和顶点又是正常,所以还不太容易想出简单的办法 ...

除了零点被抬高了,其它点都是线性的?要是这样,你把零点当特殊点处理一下就行了。

一周热门 更多>