Giter VIP home page Giter VIP logo

dspf28335_fft-'s Introduction

DSP-Based Measurement System

📐 项目描述: 该设计参考2023年全国大学生电子设计大赛C题,采用 TMS320F28335 制作。普通的 MCU 单片机计算效率低下,因此采用 DSP 完成。显示器件为 LCD1602。

![测量显示图]image 由图片可见,所测结果分别为: VIN2幅值:1.28 VIN1幅值:0.49 相位差:91.53 电容C:9.223nf D值:0.0268 电桥测量103钽电容实际值为: C:9.42nf D值:0.017 综合以上测量结果可见: 所测量的幅值、相位差都很精准,所得电容C的值精确度也较高,但所得D值误差稍大,结合示波器测量结果可以判断,DSP所得数据无误,故误差应由外围测量电路造成,由于所用运放SN10501的非理想特性,会有极小的偏置电流,同时反馈电阻Rf的非理想特性也会导致所测电流大小偏差。故若想提升精度,需要改进测量外围电路,增加补偿电容或者通过大量的测量数据拟合曲线以修正偏差。

总体方案

根据电路基础的知识,一个阻抗两端的电压除以流过其中的电流,就是阻抗值。阻抗包括电阻和电抗。电阻是阻抗的实部,电抗是阻抗的虚部。在交流电压情况下,电抗会使电流波形和电压波形产生相位差。根据阻抗的电学定义,测试到电压和电流,相位差,就可以计算出阻抗。

运放电路中有一个基础单元电路,IV转换电路(电流转电压)。使用这个电路,就可以进行阻抗测量。 image

具体步骤

  1. 经过外围电路处理,电流以电压形式体现,再通过DSP的ADC模块分别对待测元件两端的电压 VIN1 和通过待测元件的电流(以电压形式体现) VIN2 进行采样 1024 个点,存至数组后对其进行 FFT 运算,对得到的 VIN1、VIN2 的幅值进行运算:

    • 相位差 α = VIN1 相位 - VIN2 相位
    • 阻抗 Zx = VIN1 / VIN2 * Rf (Rf 为反馈电阻)
  2. 电容计算:

    • Zc = Zx * sin(α)
    • C = 1 / (2 * π * Zc)
  3. 电感计算:

    • Zl = Zx * sin(α)
    • L = 1 / (2 * π * Zl)

FFT 运算参数

  • 采样点数 N:512
  • 采样率 fs:100KHz
  • 待测频率固定为 25kHz,因此 25k / 100k * 512 = 128,所以所测信号对应频率点应该为第 128 点,只需关注第 128 点的幅值。
  • 第 0 点为直流分量。

显示部分

在完成以上计算后,将计算结果显示在 LCD1602 上。

核心设计

  • 核心芯片: TMS320F28335
  • 显示器件: LCD1602
  • 运算放大器: LF347(4个)

设计说明

🔧 电路设计: 借鉴 TIDA-060029 文档中的电路设计,核心**是 IV 分离电路,但采用了自主平衡阻抗和更优良的补偿机制。

📄 参考文档: TIDA-060029 文档

由于现有器件限制,使用的运放为 LF347,刚好4个够用。运放电路较为简单,并未采用补偿机制,但测量精度尚可。由于电路的非理想特性,若不采用补偿机制,只能通过后期 FFT 所得参数进行拟合调教。

硬件组件

  • TMS320F28335: 高性能 DSP
  • LCD1602: 显示模块
  • LF347: 四运放芯片

功能介绍

  • 🌐 高效计算: 采用 DSP 提高计算效率
  • 📊 精确测量: 通过自定义电路实现高精度测量
  • 🖥️ 实时显示: 使用 LCD1602 实时显示测量数据

连接示例

TMS320F28335    LCD1602   LF347
VCC             VCC       VCC
GND             GND       GND
SDA             SDA       -
SCL             SCL       -
...

dspf28335_fft-'s People

Contributors

pieceofapple avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.