历史上的今天
今天是:2025年02月09日(星期日)
2018年02月09日 | PSoC微控制器与LVDT在位置测量中的应用
2018-02-09 来源:eefocus
廉价的复合信号处理器消除了外部模拟电路。
将一个LVDT(线性可变差分变压器)连接到微控制器是有挑战性的工作,因为LVDT需要交流输入激励和交流输出的测量,以确定其可移动核的位置(参考文献1)。多数微控制器都缺乏专用交流信号生成与处理能力,因此需要外部电路产生任意谐波、波幅与稳定频率的正弦波信号。LVDT输出信号的波幅与相位转换成与微控制器内部ADC兼容的形式,一般需要添加外部电路。
与传统微控制器相比,Cypress半导体公司的PSoC微控制器含有用户可配置的逻辑和模拟模块,简化交流信号的生成与测量。PSoC器件具有无需连续CPU的干预就能生成模拟信号的独特功能。PSoC灵活的模拟与数字模块可以驱动一支LVDT,并无需外部电路就可以测量其输出。图1显示的是LVDT接口的完整电路,图2显示的是PSoC微控制器的内部电路框图。

图1 LVDT接口的完整电路

图2 PSoC微控制器的内部电路框图
PSoC采用多对用户可配置的开关电容器模块,实现带通和低通滤波器。通过生成方波,并通过建立在首个开关电容器模块中的稳压器,加在PSoC开关电容滤波器上,从而创建高质量正弦波。通过一个中心位于方波基频的窄带带通滤波器,方波可以去除绝大多数谐波。
为从PSoC开关电容带通滤波器产生最高保真度的正弦波,要使用尽可能高的过采样速率,因数约为33,即每个正弦波周期33阶。合成的正弦波足够平滑到足以驱动能衰减残余更高谐波的LVDT。用可编程增益放大器调整PSoC的内部电压基准,可以在滤波前对方波幅度作粗略的控制。为补偿波形直流偏置电压,放大器对2.6V内部模拟地基准进行缓冲,并驱动用作LVDT模拟地回路的输出管脚。
LVDT输出由幅度可变的正弦波电压组成,其相对于正弦波激励电压的相位角要经受一个相当大的可变移位,有时相移会超过180。LVDT的信号驱动PSoC的可编程增益放大器,其输出送至开关电容低通滤波器,跟随一个用于同步整流的稳压器。整流后的信号驱动一输出管脚,以及PSoC的开关电容ADC。
将LVDT输出加在同步稳压器上,跟随一个低通滤波器,产生直流电压送至ADC或直接驱动模拟反馈控制系统。在PSoC微控制器中,连接到ADC的低通开关电容滤波器需要相同的采样时钟驱动这两个电路,导致PsoC的11位Δ-S ADC的转换速率大约是低通滤波器角频率的一半。同步稳压产生两倍激励频率纹波频率,因此更容易被低通滤波器去除。将、重新设计低通滤波器的角频率为激励频率的三分之一,就可以在等于或低于1 LSB(最低有效位)标准差下,使LVDT输出的测量达到11位分辨率。
用配置为计数器链的逻辑电路块将PsoC的24MHz内部系统时钟分频,产生开关电容器模拟电路模块所需的数字时钟信号。在加电或复位后,PSoC的CPU配置所有可配置的模拟和数字电路模块,并开始运行。从那以后,硬件便能够激励LVDT,并无需CPU参与的情况下,以每秒500次采样速率测量其输出。当PSoC CPU运行在12MHz时,处理ADC内部动作和中断只消耗CPU不到3%的资源。
大量PSoC资源仍可用于计算LVDT位置,以及在LCD模块上以文本形式显示结果。四个模拟电路模块、五个逻辑电路模块和很多I/O管脚都可用于支持更高要求的应用。图3显示了可用于附加功能的可配置模块。
图3 可用于附加功能的可配置模块
上一篇:基于ARM处理器的嵌入式系统设计
史海拾趣
|
module decoder1(c,y,clk);output[6:0] c;input[6:0] y;input clk;reg[2:0] s;reg[6:0] e,c;always @(posedge clk) begins[0] = y[0] ^ y[3] ^ y[5] ^ y[6];s[1] = y[1] ^ y[3] ^ y[4] ^ y[5];s[2] = y[2] ^ y[4] ^ y[5] ^ y[6]; //s[0]~ s[2]为伴 ...… 查看全部问答> |
|
一般控制步进电机的程序里都有一个“转动表格”之类的东西,比如{0xf1,0xe9,0xe5,0xe3}等等。本来我一直以为步进电机是一次接收一个数字所代表的信号,从第一个接收到第四个就是走一步,周而复始。 现在我编写了这样一个程序: void main() { & ...… 查看全部问答> |
|
vxworks NAT的问题 .只要回复都给分...分不够再加... 版上的各位大侠,有人在vxworks5.4下做过NAT的东西没,能给小弟一点提示吗,现在这个东西已径把我折磨的半死了。 也可以把资料发到我的email中。zhouxiongjun@hotmail.com 谢谢啦。 … 查看全部问答> |
|
请教大虾们如何实现如下功能: 平台:wince6.0 假如现在已经有一个应用程序myap.exe运行了。当我插入sd卡时(sk卡上有新版的myap.exe),点击更新程序按钮时,把sd卡新版本的myap.exe程序拷贝到旧版本的myap.exe处(把旧版的覆盖掉),然后自动运 ...… 查看全部问答> |
|
用的是linux的内核,ARM的CPU 我用make zImage编译好2.6.13的内核文件后,把/arch/arm/boot/zImage 文件烧进板子后,linux解压出错.错误信息如下: VIVI version 0.1.4 (root@localhost.localdomain) (gcc version 2.95.2 20000516 (re ...… 查看全部问答> |
|
最近在用MSP430F149做一个谐波检测的功能,听说FFT能够实现,但是无从下手,希望高手们能够指教,或给出FFT程序,或给出学习的方法均可,谢谢大家能帮忙了~~~… 查看全部问答> |




