[A-电流信号检测装置] 天津市一等奖_A题_

  [复制链接]

1

主题

12

帖子

154

积分

二氧化硅

Rank: 2

积分
154
楼主
查看: 15422回复: 11 发表于 2018-9-29 17:05:26   只看该作者
摘要:

本套电流信号检测装置,可将任意波形信号发生器产生的信号,利用 LM1875功率放大器对其进行放大,从而实现在 10Ω 的电阻获得 10V 的电压峰峰值。电流传感器使用锰芯磁环和漆包线绕制而成,利用电流互感的原理来获取电流信号,通过接入电阻的方式将电流信号转换成电压信号。之后使用前级放大器对其放大,接着使用程控放大器再次进行放大,MCU 根据前级电路的电压峰值动态调整程控放大器的增益,从而实现了大量程的电流测量,比较器将任意波形信号转换成方波信号,输入给 MCU 进行频率的测量,ADC 实时采集电压波形并进行 FFT 运算,得到波形的频谱信息。最后使用 LCD 显示屏将电流信号的频率和峰峰值等信息显示出来。



关键词电流检测、FFT、功率放大、自动量程

作品图片(忽略我花(feng)哨(sao)的连线):

1 .1  方案比较与选择

1.1.1 功率放大器

方案一:使用分立电子元件自行搭建,优点是频率特性比较好,输出功率可以做得很大,但缺点是电路比较复杂,设计起来比较麻烦,有可能会产生波形的失真。

方案二:使用集成功率放大芯片 LM1875,LM1875 是 TI 公司生产的 20W 功率放大器,可以单电源供电,而且供电范围较宽。外围电路比较简单,输出功率完全满足题目的要求。

故采用方案二。

1.1.2 电流检测电路方案

方案一:使用线圈获取电流信号,转换成电压信号后,进行初级放大,之后使用继电器切换接入的后级放大器,来实现量程的转换,使得小信号和大信号都能被放大到一个合适的范围。但是继电器产生的电磁效应会干扰感应线圈中的信号,导致测量出现问题。

方案二:获得电压信号并初级放大之后,使用峰值检测电路检测信号大小,同时将信号输入至程控放大器中,由 MCU 获得的峰值来确定程控放大器的放大倍数,实现了量程的自动选择。缺点是程序有些复杂,量程切换的阈值不好确定。
综合考虑,选用方案二。


1.1.3 MCU 选择

方案一:目前最流行的 MCU 是 STM32F1 系列的芯片,网上的资料也比较丰富。F103ZET6 具有的片内资源比较多,3 个独立 ADC,每个都有 16 个通道,工作频率为 72MHz,有充足的 GPIO 端口。

方案二:使用 STM32F767ZIT6,属于 Cortex M7 架构。最高工作主频 216MHz,同样集成了 3 个独立的 12 位 ADC 等功能,带有双精度浮点运算单元,可以通过硬件浮点运算单元进行数学运算,速度更快。

由于题目要求对任意波形做频谱分析,F767 做主控芯片,工作频率更高、运算速度快,可以大大降低单片机做 FFT 变换的时间,提高了系统的实时性与精确度,所以选择方案二。

1.2 系统整体结构

本系统首先使用 LM1875 功率放大器对输入信号进行 1:1 功率放大,将连接 10Ω电阻的导线穿过自行绕制的电流互感线圈,在互感器的次级线圈两端便产生了感应电流,接入一个电阻获取电压信号。此时得到的信号峰峰值在 2mV~200mV 之间,范围比较大,所以使用前级放大器将信号放大十几倍,之后测量此处信号的峰值,用作判断信号大小的依据。若信号的幅度较小,MCU 就控制程控放大器调高增益,否则就降低增益。然后就再将程控放大器输出的信号一路送给加法器,整体抬高后让 MCU 采集,一路送给比较器,得到同频方波测量频率,另一路送入峰值检测电路,得到波形的峰值。

系统整体方案框图:


2.1 数学分析

为了提高系统的精度,程控放大器部分使用了 3 种不同的增益对信号进行放大,将其放大到合适幅度。为了便于对测量得到的数据进行处理,采用线性拟合的方法,得到采集的信号幅度与实际的电流信号幅度的函数关系。频率使用定时器测周期时长的方式进行测量,周期 T 的倒数就是频率ƒ。


2.2 测量与校验

2.3 采样分析

题目要求测量频率最大为 1KHz,最低频率为 50Hz。根据奈奎斯特采样定理可知:采样频率至少应为被采样信号最高频率的 2 倍,即 2KHz。这里使用 4096Hz的采样率进行采样,方便后续的计算处理。


2.4 FFT 谐波分析

波形信号的采样率为 4096Hz,对其进行 4096 点的 FFT 变换。此处题目要求的频率最大为 200Hz,理论可以测量到出的谐波分量最大可以达到 20 次,远超题目要求。此时得到的频谱最小可以分辨 1Hz 的频率。


2.5 频率测量分析

MCU 最高工作主频 216MHz,定时器最高可以以 108MHz 的频率计数,题目要求的频率范围为 50Hz-1KHz,可以满足要求,故采用定时器测量周期长度的方式进行测量。


软件设计:
3.2 软件设计方案
在软件设计的过程中,频率测量、程控放大和频谱计算是核心的内容。
3.2.1  频率测量

使用定时器的输入捕获功能,在引脚捕获到一个上升沿的时候,打开定时器,以一定频率开始计数,计到下一个上升沿来到,将计数器里的值读出,同时恢复到初始设置,准备下一次的频率测量

3.2.2  程控放大

程控放大器的控制比较简单,使用 IO 口发送特定的脉冲信号就可以控制,但是实际测试时发现当电压信号位于两个放大倍数中间的时候,会出现放大倍数来回跳变的现象。对此,借鉴模拟电压比较器中设置滞回阈值的方案,在软件中,加入滞回效果,消除了这种现象。


3 .2.3  频谱计算

采集到 4096 点的数据之后,需要对其进行 FFT 运算,由于此运算的算法要求高,而且自己写出的 FFT 算法执行效率低。所以采用 ARM 提供的 DSP 库中的现有 FFT 算法进行计算,算法的接口简单,二阶执行效率较高,经过测试,进行一次 FFT 变换同时将结果转化为幅度谱所需时间约为 3.7ms。

功率放大电路:


电压放大电路:


峰值检测电路:

比较器电路


以上是关于作品功能实现相关的内容,关于电赛备赛期间和比赛时已经测试时的内容,可以看下我的另一篇博客2018年TI杯电子设计竞赛感悟

作品报告 2018年天津市TI杯电子设计竞赛A题设计报告.pdf (760.73 KB, 下载次数: 284)
F767程序 F767-HAL-Code.zip (126.33 KB, 下载次数: 122)


0

主题

5

帖子

16

积分

一粒轻沙

Rank: 1

积分
16
沙发
发表于 2018-10-1 08:11:23   只看该作者
感谢分享,获益匪浅

1

主题

12

帖子

154

积分

二氧化硅

Rank: 2

积分
154
板凳
发表于 2018-10-1 08:23:22   只看该作者
靖节先生 发表于 2018-10-1 08:11
感谢分享,获益匪浅

:handshake:victory:

0

主题

10

帖子

132

积分

二氧化硅

Rank: 2

积分
132
4#
发表于 2019-1-7 15:30:15   只看该作者
首先谢谢楼主的倾情奉献!我也是今年参赛的学生,来这里看看你们的作品。看了有几个方案,感觉楼主的最有调理了,细节方面值得我们学习。
谢谢!

0

主题

14

帖子

81

积分

一粒轻沙

Rank: 1

积分
81
5#
发表于 2019-3-24 22:51:48   只看该作者
感谢分享,收获很多

0

主题

10

帖子

15

积分

一粒轻沙

Rank: 1

积分
15
6#
发表于 2019-5-20 12:28:06   只看该作者
谢谢大佬哈哈

0

主题

10

帖子

15

积分

一粒轻沙

Rank: 1

积分
15
7#
发表于 2019-5-20 12:30:22   只看该作者
谢谢大佬哈哈

0

主题

1

帖子

9

积分

一粒轻沙

Rank: 1

积分
9
8#
发表于 2020-6-30 16:12:42   只看该作者
学习,感谢分享

0

主题

3

帖子

89

积分

一粒轻沙

Rank: 1

积分
89
9#
发表于 2020-7-16 21:09:48   只看该作者

谢谢大佬,值得参考

0

主题

1

帖子

1

积分

一粒轻沙

Rank: 1

积分
1
10#
发表于 2020-10-11 10:44:17   只看该作者
谢谢大佬分享,

0

主题

3

帖子

5

积分

一粒轻沙

Rank: 1

积分
5
11#
发表于 2022-3-31 10:47:25   只看该作者
大佬,准备复刻,学习

0

主题

1

帖子

20

积分

一粒轻沙

Rank: 1

积分
20
12#
发表于 2024-4-1 11:02:23   只看该作者
很厉害,学习学习,很有帮助
快速回复 返回顶部 返回列表