【单片机】使用AD2S1210旋变芯片读取RVDT角位移及速度

这篇具有很好参考价值的文章主要介绍了【单片机】使用AD2S1210旋变芯片读取RVDT角位移及速度。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  最近在做单片机的子项目,经过近半个月的安装调试,第一阶段顺利完成了。只能说第一次做这种小工程确实缺乏经验,跟书本上学的还是有些出入。做下记录,方便后面来查看。

0. 实验要求

  基于STM32单片机,使用AD2S1210旋变芯片读取RVDT变压器电压。
  RVDT:旋转可变差分变压器(Rotary Variable Differential Transformer),角位移传感器,其原理与LVDT类似。由交流激励源驱动,输出一对与旋转角度成比例的电压信号。(这里用的是正余弦款,非差分款)
  RVDT具有无限分辨率、使用寿命长,精度高的特点,可实现360°转动测量,广泛应用于铁路、航天航空、机械、建筑等领域,实现阀门开度和精密位移的测量和反馈控制。
  硬件设施:STM32F103C8T6、TPS5430变压器、AD2S1210旋变转换器、RS422转换、Kingst Logic Analyzer逻辑分析仪、TDS220示波器、RVDT旋转变压器。

1. 硬件平台搭建

  AD2S1210旋变芯片5V供电,采用电平转换芯片28v转5v。串口传输用串口转422或者串口转USB均可。
ad2s1210读取电机速度角度,单片机,嵌入式硬件

实验环境

ad2s1210读取电机速度角度,单片机,嵌入式硬件

2. AD2S1210芯片

产品特性

  • AD2S1210是一款10位至16位分辨率旋变数字转换器,集成片上可编程正弦波振荡器,为旋变器提供正弦波激励。
  • 具备功能:绝对位置与速度输出,最大跟踪速率: 3125 rps(10位分辨率),系统故障检测,兼容DSP和SPI接口标准。
  • 应用场景:直流和交流伺服电机控制,编码器仿真,电动助力转向,电动汽车,集成的启动发电机/交流发电机,汽车运动检测与控制。

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

跟踪速率与分辨率关系
ad2s1210读取电机速度角度,单片机,嵌入式硬件
RESET复位

  初始时先低电平复位,随后恢复高电平。
ad2s1210读取电机速度角度,单片机,嵌入式硬件

串行接口时的说明

   CS接口保持低电平,数据上升沿移出,下降沿移入,SCK空闲时高电平。
ad2s1210读取电机速度角度,单片机,嵌入式硬件

串行接口时序图

   这种芯片的时序图比较奇怪,spi通信开始时,先SCK低电平再WR低电平,结束时,先WR高电平再SCK高电平,感觉是SPI模式2的变形,跟常规的时序图不太一样,还有就是读写数据要分开通信,如果是同时交换数据那种结果就不对(在这调试了很久)
ad2s1210读取电机速度角度,单片机,嵌入式硬件

激励频率输出与正余弦信号输入

  对应前面的,AD2S1210输出交流激励源驱动RVDT,RVDT的一对交流信号作为AD2S1210的输入。

ad2s1210读取电机速度角度,单片机,嵌入式硬件

3. keil编程

   采用软件SPI通讯,读写数据分开。

AD2S1210.c
ad2s1210读取电机速度角度,单片机,嵌入式硬件
main.c

   先配置寄存器,然后读一遍出来看写进去没有,最后读位置和速度寄存器。

ad2s1210读取电机速度角度,单片机,嵌入式硬件

4. 实验现象

1. 串口数据

   AD2S1210可以直接读取RVDT的旋转位置及速度,这里设置成:前十个是配置寄存器信息,第十一个是故障信息,最后四个是位置和速度数据。速度最高位为方向,0正转,1反转。
   经过测试,位置和速度数据正常,10位分辨率,忽略后6位。
ad2s1210读取电机速度角度,单片机,嵌入式硬件
   顺便说一下,故障信息显示的是0x10,对应错误是正弦/余弦输入超过DOS失配阈值,这我查了一下网站,据说是“造成这种故障一般是SIN/COS信号存在干扰,可以调整下滤波器参数或者提高系统抗干扰能力”。所以看来是外部干扰影响的,这种故障信息不会影响位置和速度读取,无伤大雅。

2. 示波器读激励频率

   我设置的激励频率是15KHz,但是示波器读出频率18.35KHz,感觉很疑惑,因为根据我设置的参数反推回去芯片CLK频率应该是9.830MHz,这跟芯片的8.192MHz有点出入,然后我又仔细看了一遍说明书,芯片时钟频率是在8.192±25%的范围之内,所以激励频率有出入是正常的。
ad2s1210读取电机速度角度,单片机,嵌入式硬件

ad2s1210读取电机速度角度,单片机,嵌入式硬件
3. 逻辑分析仪读时序

   根据时序仪显示,时序图和芯片说明书的时序图一致,满足要求,所以读写数据是正确的。

ad2s1210读取电机速度角度,单片机,嵌入式硬件

5. 总结

  • 配置好寄存器之后,读一遍配置寄存器数据即可,不能重复读配置寄存器数据,重复读会数据不一致
  • SPI读写分开,先写再读
  • 芯片说明书要认真阅读,尤其是时序图,还有就是注意上升沿和下降沿的时间延时。
  • 延时纳秒 delay(0x01): 500ns,delay(0x0f): 2.84us,delay(0xff): 10.84us,>>=1: 100ns。

6. 后续

   用AD698芯片读转子位置和速度,加强验证。

  更新 ⇒ \Rightarrow 【单片机】使用AD7606+AD698芯片读取RVDT角位移。文章来源地址https://www.toymoban.com/news/detail-850984.html

到了这里,关于【单片机】使用AD2S1210旋变芯片读取RVDT角位移及速度的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 51单片机(十六)AD/DA

    ❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋

    2024年02月05日
    浏览(49)
  • 十四、51单片机之AD转换

    (1)A是指analog、模拟的;D是指digital、数字的。 (2)现实世界是模拟的,连续分布的,无法被分成有限份;计算机世界是数字的,离散分布的,是可以被分成有限份的; (3)AD转换就是把一个物理量从模拟的转换成数字的。 自然界多数是模拟量,为了方便计算机处理,人为的数字

    2024年02月06日
    浏览(42)
  • 【【51单片机AD/DA的分析】】

    模数转换 与 数模转换 运算放大器 DA的转换就是利用运算放大器实现的 输出电压v0=-(D7~D0)/256 x (VrefxRfb)/R D7~D0 就是我们控制的按键看输入多少 然后再划分256份 Vref是我们设置的一个基准电压 PWM 这种类型的方波 完全可以看成是一个交流和直流叠加而成的 回忆一下数电的东西

    2024年02月15日
    浏览(45)
  • 【单片机】15-AD和DA转换

    1.什么是AD转换? A(A,analog,模拟的,D,digital,数字的) 现实世界是模拟的,连续分布的,无法被分成有限份; 计算机世界是数字的,离散分布的,可以被分成有限份的 AD转换就是把一个物理量从模拟的转换成数字的。 2.AD转换的意义 想要计算机来实现现实世界 3.什么情

    2024年02月07日
    浏览(52)
  • 51单片机学习笔记AD/DA

    AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号。比如单片机只能识别0与5V数字信号,当输入为2.5V——模拟信号时,就需要转化为单片机所能读取的数字信号。 DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号。

    2024年02月09日
    浏览(51)
  • PIC单片机之AD转换学习记录

            首先,简单介绍一下AD原理。ADC是指将模拟信号转换成数字信号的过程。通俗理解ADC采样就是采集电路中的电压,通过数值的方式表现出来。         以PIC16F877芯片为例,它是10位ADC,供电电压是5V,它能检测的电压也是0~5V(参考电压可以自己修改)。这就好理解了,

    2024年02月04日
    浏览(47)
  • 单片机学习笔记---AD模数转换&DA数模转换

    目录 AD模数转换 XPT2046.c XPT2046.h main.c DA数模转换 main.c 上一篇博客讲了AD/DA转换的工作原理,也介绍了运算放大器的工作原理,这节开始代码演示! 新创建一个工程:AD模数转换 第一个工程将用到LCD1602和Delay函数,所以首先将我们之前讲过的代码模块添加进来 然后创建主程序

    2024年02月19日
    浏览(46)
  • 【51单片机】AD模数转换&DA数模转换(江科大)

    · AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号 · DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号 · AD/DA转换打开了计算机与模拟信号的大门,极大的提高了计算机系统的应用范围,也为模拟信号数字化处理提供了可能 ·

    2024年02月19日
    浏览(47)
  • 单片机第一季:零基础13——AD和DA转换

    51 单片机系统内部运算时用的全部是数字量,即0 和1,因此对单片机系统而言,无法直接操作模拟量,必须将模拟量转换成数字量。所谓数字量,就是用一系列0 和1 组成的二进制代码表示某个信号大小的量。用数字量表示同一个模拟量时,数字位数可以多也可以少,位数越多

    2024年02月13日
    浏览(44)
  • MCU-51:单片机之AD模数转换与DA数模转换

    AD(Analog to Digital):模拟-数字转换,将模拟信号转换为计算机可操作的数字信号 DA(Digital to Analog):数字-模拟转换,将计算机输出的数字信号转换为模拟信号 AD/DA转换打开了计算机与模拟信号的大门,极大的提高了计算机系统的应用范围,也为模拟信号数字化处理提供了

    2023年04月24日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包