文章

基于STM32的数字移相器系统设计

2019-01-22张娇

3452阅
数字移相器是由移相变压器、数字式相位显示仪、电压电流数显表及电源等单元组成的新一代便携式电工仪器,既能满足三相移相的要求,又能满足单移相器的要求。

0 引言

    移相器是一种用于改变信号的相位的器件,用于产生与输入信号存在相位差的同频信号,是相位计量,测试中常用仪器之一,广泛应用于航空、电网、通讯和仪表测量等方向。不仅仅如此,在某些测量与控制电路中,也需要用到同频率而相位不一样的信号,以适应测量及控制的需要。本文提出了一种操作简单方便,可根据需要手动连续可变的数字移相器。采用了片上资源丰富的STM32F407作为主控单片机,可大大节省外部硬件连接,节约了成本,具有发展前景。

1 系统组成

    本系统组成主要分为3个部分,主控芯片STM32F407,4.3寸 LCD 显示屏,EC11 回转编码器。整个系统的工作流程是由STM32F407的ADC采集外部信号,然后将信号数据存储至数据缓冲区,其中数据存储的过程采用的是 ADC 触发 DMA 的方式,即用ADC 每次采集数据以后触发 DMA,直接将数据送至缓冲区,并没有经过 CPU 处理,通过这种方式直接提高了系统的工作效率。系统组成框图如图1所示。

2 工作原理

    在本设计中,首先由STM32F407内部ADC获取外部信号,然后将获取到的信号通过DMA送至数据缓冲区,在本次设计中,数据缓冲区的长度为4000,要发送的数据指针始终指向数据的原始序列的中位值,之后再将原始数据送至STM32F407内部DAC,由DAC输出移相信号。需要将信号左右移位的时候,只需要根据回转编码器的信号改变数据缓冲区的数据指针位置即可。这种移相方式的优点是实现简单,不需要过多的硬件。

数字移相器系统组成

图1 数字移相器系统组成

3 硬件设计

    移相的原理是对信号进行采样,把采样点存放在缓冲器中,当脉冲到来时,输出的采样点是当前时刻对应的前一个或者后一个采样点,从而达到移相的目的。移相器主要由EC11回转型编码器和STM32F407芯片组成。信号输入到移相器中,顺时针和逆时针转动EC11回转型编码器便可改变输入波形的相位来移相。硬件电路如图2所示。

系统的硬件电路

图2 系统的硬件电路

    EC11编码器的A和B引脚需要外接两个10K的电阻作为上拉电阻给这两个引脚提供高电平,它的C引脚和E引脚接低电平,那么在旋转旋钮的时候就会产生脉冲来保证信号可以实现的相位调节。

4 软件设计

    整个系统软件的执行过程为:首先,对整个系统进行初始化,包括ADC,DMA,DAC,定时器,LCD显示屏等。初始化完成之后再在LCD显示屏上设置ADC采样频率。之后由ADC把信号采样数据通过DMA存至缓冲队列,在ADC 的转换过程中,根据回转编码器的移相信号,DAC 输出数据队列中的值,完成数字移相器的实现。

    系统软件流程图3如图所示。

5 实验结果分析

    整个数字移相器的关键就在于EC11回转编码器。EC11回转编码器是由一个中心有轴的光电码盘,其上有环形通和暗的刻线,有光电发射和接纳器件读取,取得四组正弦波信号组合成 A、B、C、D,每个正弦波信号相差相位差,本设计只采样了A,B 两路信号,将C信号作为了参考信号,叠加在A、B两相上。由于A、B亮相相差,能够经过比拟A相在前还是B相在前,借此判别编码器的正转和反转。经过编码器的正转和反转不同可以得到不同的脉冲,如表1所示。

6 结束语

    本设计提出的基于STM32F407单片机可程控的数字移相器,采用回转编码器调整移相角度,数据采集和信号输出均利用STM32F407的片上A/D和D/A,可以节省成本。同时利用DMA存储数据,节省了CPU占用,提高了系统的工作效率。

软件流程图

图3 软件流程图

表 1 输出脉冲与旋转方向的关系

输出脉冲与旋转方向的关系

责任编辑:邓忠帅
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
读者评论 (1)
  • teamczyx7-15
    发帖软件 www.teamczyx.com
以上网友发言只代表个人观点,不代表本网站观点或立场。
请您登录/注册后再评论
相关阅读