【开源】RS485 转 0-20mA 输出模块设计

三奇 关注

收藏于 : 2023-09-17 08:22   被转藏 : 1   



  • 1. 简介

  • 2. 功能实现

  • 3. 测试

  • 4. 开源地址


1. 简介

结合以前发的文章,我们知道,模拟量输出有两种,一种是共地型,一种是共源型。

今天开源一款 rs485 隔离的转 0-20ma 输出模块的设计。

我设计模块的原因是为了测试公司的一款模拟量检测模块的性能,因此需要一个可控的 0-20ma 输出模拟器,来模拟 0-20ma 输出。

同时想测试一下 GP8212S 性能。话不多说,直接上。

RS485转0_20mA输出模块

2. 功能实现

mcu 采用小华半导体的 hc32f005,模拟量输出使用的是 GP8212S,485 隔离芯片使用的是 CA-IS2092W,国产化设计,具体的参数如下:

  1. rs485 使用的是带电源隔离的 CA-IS2092W,做到 485 完全隔离。
  2. 宽电压供电,内部集成升降压模块,使系统工作在 24v 状态下。
  3. 此模块用来模拟模拟量输出。

3. 测试

我已经编写了一个简单的 mcu 程序,通过上位机发送指令控制模拟量输出。

使用一个 usb 转 485 模块来通过上位机向测试模块发送数据,usb 转 485 模块使用的是我设计的 usb 转 4 路 422+4 路 485 模块,如下:

usb转4路422+4路485模块

上位机的数值为实际值乘以 100,并用#号结束,如下是分别设置 1ma、10.5ma、16.39ma、20ma、10ma 的过程,测得结果如下:

上位机设置值
设置1ma输出实际值
设置10.5ma输出实际值
设置16.39ma输出实际值
设置20ma输出实际值
设置10ma输出实际值

这里只是简单的测量一下,通过上面我们发现最大误差已经达到了 0.05ma,可是也发现了一些规律,那就是在 10ma 以下,输出值比实际值偏大,当 10ma 以上,输出值比实际值偏小,且设置值与 10ma 差值越大,误差越大,因此可以通过补偿的方法,减小误差,通过合理的补偿其实可以做到 0.02ma 的误差。

4. 开源地址

开源包括 pcb 设计和 mcu 的程序。

pcb 工程:https://oshwhub.com/zhang0819/rs485-zhuan-0-20ma

程序:整理好后我会放到 pcb 的附件中。


 阅读文章全部内容  
点击查看
文章点评
相关文章
三奇 关注

文章收藏:2289

TA的最新收藏