历史上的今天
返回首页

历史上的今天

今天是:2025年02月18日(星期二)

正在发生

2020年02月18日 | 基于ATmega16的数字旋转变压器设计

2020-02-18 来源:eefocus

0 引言
在工业自动化领域中,经常要对被控对象的角位移进行测量并加以控制。这些领域中使用的传感器件主要是旋转变压器(简称旋变)。在自动化测试中,对旋变解码器的测试往往需要用到复杂而昂贵的测试设备。这些设备往往体积大,成本高。设计了一种以ATmega16为核心的数字旋变,既能满足旋变解码器测试的需要,又具备体积小,成本低的优点。实现对旋转变压器的仿真。

1 旋转变压器工作原理
旋转变压器也是一种变压器。和普通变压器不同,旋变的原边与副边的比例不是固定的,因此输出的电压比也不是常数。旋变是一种输出电压随转子转角变化的信号元件。当励磁绕组以一定频率的交流电压励磁时,输出绕组的电压幅值与转子转角成正余弦函数关系,或保持某一比例关系,或在一定转角范围内与转角成线性关系。旋转变压器的电气示意图如图1所示。

b.JPG


旋变的输入输出电压之间的有一定的函数关系。设旋变的激励频率为fsourse,激励的幅度为E。则激励信号电压随时间变化可以表示为:
a.JPG
通过检测这两组输出信号,解码器可以计算出旋变的位置信息。

2 系统硬件设计
系统主要由电源、单片机控制电路、数字可变电阻、调理电路、通信电路和反相电路构成。数字旋变原理如图2所示。当数字可变电阻在0~20 kΩ之间变化时,经过反相电路和调理电路,数字旋变输出与激励频率相同的正弦信号和余弦信号,进而把产生的信号提供给旋变解算单元。

c.JPG


当通信电路收到上位机数据时,单片机通过解析上位机的数据,分别设定两组数字可变电阻。激励信号经过数字可变电阻的分压后,得到了初步的处理,幅值产生了变化。单片机ATmega16通过判断要设定的角度是在哪个象限,决定是否对正弦信号或余弦信号进行反相。最后经过信号调理电路输出到解算系统。调理电路用于提高数字旋变的输出阻抗。


2.1 数字可变电阻的控制
AD5293是一种单通道,分辨率可达10 b的数字可变电阻。也就是说其电阻精度R0可达到:
R0=Rmax/1024
式中Rmax为AD5293的可调范围。AD5293的功能框图如图3所示。

d.JPG


其中VLOGIC连接控制电路的逻辑电平“1”,SCLK,SYNC,DIN,SDO和RDY为通信接口,本系统用ATmega16的SPI接口与之通信,对AD5293进行初始化和设置。ATmega16与AD5293的通信采用DAISY-CHAIN控制方式。采用这种方式可同时设置两个AD5293。DAISY-CHAIN连接方式如图4所示。


当采用DAISY-GHAIN控制方式时,串联起来的AD5293连到ATmega16的SPI总线。ATmega16通过SPI总线设置32位的移位寄存器,前16位用来设定U2,后16位用来设定U1,从而达到同时控制两个数字可变电阻的目的。在移位寄存器中的数据完全移出ATmega16前,必须保持f.jpg?imageView2/2/w/550信号为低电平,移出后需要把该信号再拉高,以完成一次数据的传输。


数字可变电阻AD5293的A端和B端为数字电阻的固定端,W端为滑动端。在A端和B端加激励电压后,B端和W端就能输出与激励频率相同的正余弦信号。控制W端从而调节输出信号的幅值。AD5293外围电路如图5所示。

e.JPG


旋变一般都有变压比。系统模拟的旋变的变压比Q=0.5。为提高数字旋变的设定精度,在数字可变电阻前端串联一个20 kΩ的高精度电阻R29,从而使数字可变电阻的设定范围为0.20 kΩ,而不是可变范围的一半。根据实际模拟的旋变的变压比不同,可以串联其他阻值的高精度电阻,从而使数字可变电阻的可调范围为0~20 kΩ,以提高输出精度。


假设数字可变电阻的可调范围为Rmax,则串联的高精度电阻Rcon与变压比Q的关系为:
Rcon=Rmax/Q-Rmax


2.2 反相电路的设计
反相电路的设计采用模拟开关ADG1213,通过不同的开关组合,可以输出4种不同象限的正余弦信号。从而使数字旋变的仿真范围不局限于某个象限。正弦反相电路的原理图如图6所示。

h.JPG

其中XB_SIN1,SGND是经过数字可变电阻分压得到的模拟信号。1_Uisin1,1_Uisin2反相电路输出到调理电路的信号。AD1213的VSS接到数字旋变的-9 V电源,VDD接+9 V电源,从而保证只要通过的信号在-9~9 V范围之间,就不会被模拟开关“截断”。


当信号1_CTRL1为逻辑高电平时,D1,S1导通,D4,S4导通;当信号1_CTRL1为逻辑低电平时,D3,S3导通,D2,S2导通。


反相电路的输入输出如表1所示。

i.JPG


因此通过控制1_CTRL1信号的高低电平,即可达到输出信号反相的目的,余弦信号的反相与正弦类似。

3 系统软件设计
本系统所用的单片为ATmega16,该款单片机是一款高性能、低功耗的8位AVR徽处理器,性能优越。采用C语言编写单片机的控制程序,程序流程图如图7所示。

j.JPG

4 结语
根据旋转变压器的原理,从硬件和软件两个方面介绍了基于ATmega16单片机和AD5293数字可变电阻的数字旋变的设计方案。为了提高输出精度,在可变电阻硬件电路中,加入了高精度电阻,解决了因变压比引起的数字可变电阻不能使用全量程的问题。通过实际试验验证,该系统适用于旋变的仿真和解码器的自动化测试。

推荐阅读

史海拾趣

CWIND公司的发展小趣事

在国内市场取得一定成绩后,CWIND公司开始将目光投向国际市场。公司高层制定了一系列国际化战略,包括加强与国际知名企业的合作、参加国际电子展会等。通过与国外企业的技术交流与合作,CWIND不仅提升了自身的技术水平,还成功打入了国际市场。在国际市场上,CWIND凭借其优质的产品和服务,逐渐赢得了消费者的信任和认可。

Analytic Instruments Corp公司的发展小趣事

随着电子行业的快速发展和技术的不断进步,Analytic Instruments Corp面临着日益激烈的市场竞争。为了保持领先地位,公司不断调整产品结构和市场策略,积极应对行业变革。公司加大了研发投入,推出了一系列具有创新性和竞争力的新产品。同时,公司还加强了与客户的沟通和合作,深入了解客户需求,为客户提供更加个性化的解决方案。

Global Components & Controls公司的发展小趣事
在保证性能和质量的前提下,合理控制元件成本,以提高产品的市场竞争力。
Analog Microelectronics GmbH公司的发展小趣事
如果R4受照后亮度仍不稳定,可以考虑增加R3的阻值来进行微调。
Accetek公司的发展小趣事

随着电子技术的飞速发展,Accetek公司意识到只有不断创新才能在市场中立于不败之地。因此,公司加大了对技术研发的投入,建立了一支高素质的研发团队。经过无数次的试验和失败,团队终于取得了重大突破,成功开发出了一种新型的数控雕刻机,具有更高的精度和更稳定的性能。这一创新成果不仅为公司赢得了更多的客户和市场份额,也为公司的长远发展奠定了坚实的基础。

Hasco Relays and Electronics International Corp公司的发展小趣事

作为L3Harris Technologies的一部分,Harris(原Harris Corporation)在太空和航空领域也取得了重大突破。公司参与了多个太空任务和航空项目,为这些项目提供了先进的航天器和航空电子系统。这些系统不仅支持了复杂的航天任务,还提升了航空器的性能和安全性。L3Harris在太空和航空领域的持续投入和创新,为其在电子行业中的发展注入了新的动力。

问答坊 | AI 解惑

逻辑综合器的故事

FPGA设计流程中,逻辑综合的过程非常重要。 由于HDL代码的多样性,逻辑综合的质量对最终设计性能的影响非常大。       在.18微米到.15微米的时代,FPGA的性能很大程度上取决于门延迟。根据我的经验,微米时代,FPGA内部延迟 ...…

查看全部问答>

到底掌握多少单片机才算懂?

单片机种类繁多,作为一个开发者。到底需要掌握多少种呢? 掌握多少种才算懂?…

查看全部问答>

炉温检测

单片机  pid算法 温度检测原理图…

查看全部问答>

请教:如何控制2.4G射频识别角度??

在做2.4G射频识别时,发现有源射频识别系统的角度很难控制,尤其当标签距离识别设备小于10米时,角度基本上都是360。 在网上看到有些高人说,射频角度可以控制在15°...有谁有这方面的经验没有?如何有效控制有源射频的识别角度。 我的想法是这样 ...…

查看全部问答>

如何调整核心内存的大小

向大家请教个问题:默认情况下,4G的内存,核心内存和用户态内存分别是2G,现在我写了一个驱动,需要更多的核心内存,因此想把核心内存调整的大些,应该如何做到呢?   另外,我还有个机器是8G内存,跑wxp64位系统,也想调整核心内存更 ...…

查看全部问答>

手机开发USB口问题

将手机和PC机用USB相连: 当先将未开机的手机用USB线连到PC上,再打开手机时,从PC上向手机发送AT指令,手机能向PC返回OK;可是当先将手机开机,再将手机用USB线连接到PC机时,从PC上向手机发送AT指令,手机却不能向PC返回任何东西。不知以上是什么 ...…

查看全部问答>

ioctl返回的地址问题?初学者,高人指点。

请问ioctl返回的地址是虚拟地址还是物理地址? 小弟在做dm6446上的resize,用ioctl返回的resize驱动中申请的buffer的地址是在用户空间是不能用的? 大家指教。 ioctl返回的地址问题?初学者,高人指点。…

查看全部问答>

字符串操作的问题

我需要拆分一个字符串,没有找到好的方法。 比如: cstring FullName = \"Storage Card\\\\media\\\\test.mp3\"; cstring strDir = \"\"; cstring strName = \"\"; 我的最终目的是 strDir = \"Storage Card\\\\media\\\\\"; strName = \"tes ...…

查看全部问答>

在platform Builder 5.0 下怎么用activesync和PDA相连

  请教各位,我现在用platform builder 5.0编程,之后想在PDA上面运行。 PDA是用usb直接联在pc上面。 可是不知道怎么在 platform builder 修改环境,让它通过activesync之后 在pda上面运行。   请大家帮帮我 …

查看全部问答>

data verification failed at address 0x0 ?

本帖最后由 dontium 于 2015-1-23 12:45 编辑 仿真器连接正常,我用了光盘里的一个例子,编译好后下载.out程序时出现 data verification failed at address 0x0, please verify target memoty and memory map 以上错误,请问这是什么原因,我用的 ...…

查看全部问答>