RS485转0_20mA输出模块设计

文章目录

    • 1. 简介
    • 2. 功能实现
    • 3. 测试
    • 4. 开源地址

1. 简介

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

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

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

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

RS485转0_20mA输出模块设计_第1张图片

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模块,如下:

RS485转0_20mA输出模块设计_第2张图片

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

RS485转0_20mA输出模块设计_第3张图片

RS485转0_20mA输出模块设计_第4张图片

RS485转0_20mA输出模块设计_第5张图片

RS485转0_20mA输出模块设计_第6张图片

RS485转0_20mA输出模块设计_第7张图片

RS485转0_20mA输出模块设计_第8张图片

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

4. 开源地址

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

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

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

公众号 | FunIO
微信搜一搜 “funio”,发现更多精彩内容。
个人博客 | blog.boringhex.top

你可能感兴趣的:(开源,MCU,单片机,嵌入式硬件)