【单片机】使用AD7606+AD698芯片读取RVDT角位移

2024-02-23 11:20

本文主要是介绍【单片机】使用AD7606+AD698芯片读取RVDT角位移,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  接上文,经过第一阶段的AD2S1210测量旋转变压器的角位移之后,现在用AD698来进一步的加强验证,目前网上有关于这方面的研究资料还是挺少的。
  AD698是美国ADI公司生产的单片式线性位移差分变压器信号调节系统。将AD698与RVDT/LVDT配合,能够高精确性、可重复性的将RVDT/LVDT的旋转/机械位移转换成单极性或双极性的直流电压,消除原边驱动的幅度漂移所导致的比例系数误差,改善测量的温度性能和稳定性。

0. 实验要求

  基于STM32单片机,使用AD7606+AD698芯片读取RVDT角位移及速度。
  RVDT:角位移传感器。由交流激励源驱动,产生一对交流电压,该电压根据磁芯的旋转位移进行相应变化。(这里用的是正余弦款,非差分款)
  RVDT广泛应用于铁路、航天航空、机械、建筑等领域,实现阀门开度、油门杆角度和精密位移的测量和反馈控制。
  硬件设施:STM32F103C8T6、TPS5430变压器、AD7606采样芯片、AD698信号调节器、CH340串口、TDS220示波器、RVDT及其他电容电阻元器件。

1. 硬件平台搭建

  AD7606采样芯片5V单电源供电,AD698芯片±15V供电。
  整体思路:AD698输出与RVDT角位移有关的直流电压,传给ADC采样芯片7606,随后通过串口发送到计算机显示电压值及对应的旋转角度。

2. 实验环境

3. AD7606采样芯片

产品特性

  • 高分辨率、双极性输入、同步采样、逐次逼近型模数转换器。
  • 8路同步采样,16位分辨率,SPI/DSP接口,双极性模拟输入范围:±10V或±5V,吞吐速率最高200kSPS。
  • 应用场景:电力线监控和保护系统、多相电机控制、仪表和控制系统、多轴定位系统、数据采集系统(DAS)。

根据芯片说明书要求,有几点需要注意:

转换时间

  这里采用16倍过采样,转换时间不得低于66us,转换完成后同时等待busy位再开始读取转换数据。

串行接口时序图

   方便起见,采用转换完成之后统一读取的方式,其中SPI通讯时序根据下图来编写。

串行接口时的说明

   CS接口保持低电平,SCK上升沿移出,下降沿移入,SCK空闲时高电平。
   所有模拟输入通道同步采样,串行接口读取,这里仅用一路DoutA线逐个输出数据,由于是16位分辨率,8个通道,所以完整的读取一次数据需要128个SCK周期。

其他的注意事项根据芯片数据手册看着弄就行了。

4. AD7606实验现象

   硬件和软件里都设置好之后,由于AD7606通道悬空时,默认输入电压是2V左右,这里通过串口发送8个通道值进行查看。

   可见,串口显示8个通道值均在2.07V左右,满足条件,说明功能良好,AD7606设置完成。

5. AD698信号调节器

产品特性

  • 通用LVDT/RVDT信号调节器,与LVDT/RVDT一起使用,将传感器的机械/位移位置转换为单极或双极直流电压,具有高度的准确性和可重复性。
  • 通过添加一些外部无源元件来设置激励频率和幅值,输出直流信号,可与四线制或半桥式LVDT/RVDT使用。
  • 技术指标:激励频率:20~20KHz、输出角度范围:±40°、输出电压:±11V,线性误差:0.05%。

根据芯片说明书要求,有几点需要注意:

外部元器件选型

  AD698是通过添加一些外部无源元件来设置激励频率和幅值。这里使用激励频率为3KHz,激励幅值3V,系统带宽250Hz。所以选择C1=12nF,C2=C3=C4=470nF,R1=10.3KΩ,R2=14KΩ。然后接线方式按照四线制方式接线,B接cos端,A接sin端。By the way,注意-BIN端和-AIN端不要短接到地,要分开接。

Vout引脚输出电压公式

根据公式可得,旋转角度 α \alpha α A / B = sin ⁡ / cos ⁡ = tan ⁡ α = V o u t / I r e f / R 2 = V o u t / 7 ⇕ α = a r c tan ⁡ ( V o u t / 7 ) \mathrm{A}/\mathrm{B}=\sin /\cos =\tan\mathrm{\alpha}=\mathrm{Vout}/\mathrm{Iref}/\mathrm{R}2=\mathrm{Vout}/7 \\ \Updownarrow \\ \alpha =\mathrm{arc}\tan \left( \mathrm{Vout}/7 \right) A/B=sin/cos=tanα=Vout/Iref/R2=Vout/7α=arctan(Vout/7)

6. AD7606+AD698实验现象

1. 示波器读激励频率

   我设置的激励频率是3KHz,示波器读出来是3.062KHz,在允许误差范围内。幅值约在3v左右,满足条件。

2. 串口数据

  AD698的Vout接在AD7606的第一通道,由于直接输出16进制的直流电压信号不方便看,所以转化为输出旋转角度 α \alpha α 和对应的 A/B 的变量值。
  另外,由于AD7606采样是双极性输入,所以采样到的电压值有正有负,因此解算出来的 α \alpha α 也是有正有负的,而且当旋转角度在±40°范围内,采样值应该是跟随变化的。当旋转角度在范围以外时,采样值不变化。
  串口现象如下所示:

  可以看出,角度范围在[-36°~36°]之间,满足AD698的技术指标±40°,且角度的变化精确跟随手动旋转变压器的变化,成功的输出了对应变化的直流信号,达到了本次实验的最终目的。

7. 总结

  本次实验采用AD7606采样电压值,通过集成芯片AD698实现RVDT传感器的测量,可根据传感器特性灵活设置RVDT传感器激励信号的频率和幅值,改变输出信号范围和偏置,实现了RVDT信号的精确测量,为后续RVDT信号的反馈控制应用提供支持。

这篇关于【单片机】使用AD7606+AD698芯片读取RVDT角位移的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/738452

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min

使用Python绘制可爱的招财猫

《使用Python绘制可爱的招财猫》招财猫,也被称为“幸运猫”,是一种象征财富和好运的吉祥物,经常出现在亚洲文化的商店、餐厅和家庭中,今天,我将带你用Python和matplotlib库从零开始绘制一... 目录1. 为什么选择用 python 绘制?2. 绘图的基本概念3. 实现代码解析3.1 设置绘图画