文章目录
- 1. 简介
- 2. 功能实现
- 3. 测试
- 4. 开源地址
1. 简介
结合以前发的文章,我们知道,模拟量输出有两种,一种是共地型,一种是共源型。
今天开源一款rs485隔离的转0-20ma输出模块的设计。
我设计模块的原因是为了测试公司的一款模拟量检测模块的性能,因此需要一个可控的0-20ma输出模拟器,来模拟0-20ma输出。
同时想测试一下GP8212S性能。话不多说,直接上。
2. 功能实现
mcu采用小华半导体的hc32f005,模拟量输出使用的是GP8212S,485隔离芯片使用的是CA-IS2092W,国产化设计,具体的参数如下:
- rs485使用的是带电源隔离的CA-IS2092W,做到485完全隔离。
- 宽电压供电,内部集成升降压模块,使系统工作在24v状态下。
- 此模块用来模拟模拟量输出。
3. 测试
我已经编写了一个简单的mcu程序,通过上位机发送指令控制模拟量输出。
使用一个usb转485模块来通过上位机向测试模块发送数据,usb转485模块使用的是我设计的usb转4路422+4路485模块,如下:
上位机的数值为实际值乘以100,并用#号结束,如下是分别设置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的附件中。
公众号 | FunIO
微信搜一搜 “funio”,发现更多精彩内容。
个人博客 | blog.boringhex.top