Skip to content

xw-Soleil/ModelProbe-25G

Repository files navigation

ModelProbe-25G

Note

2025年全国大学生电子设计竞赛 G题 - 电路模型探究装置

项目简介

基于STM32F407微控制器的电路模型分析系统,具备已知电路控制和未知电路学习建模功能。

主要功能

已知模型控制

  • 根据目标输出频率(100Hz-3kHz)和电压(1-2V)反算输入电压
  • 通过传递函数H(s)精确控制DDS输出
  • 输出相对误差小于5%

未知模型学习

  • 自动扫频(1kHz-500kHz)获取电路幅频响应
  • 基于LM算法识别滤波器类型(低通/高通/带通/带阻)
  • 提取关键参数(k, f0, Q)
  • 数字IIR滤波器模拟电路响应,相对误差小于10%

系统组成

硬件

  • 主控: STM32F407ZGT6
  • 信号源: AD9910 DDS模块
  • 采样: STM32板载ADC (12位,最高2.4MSPS)
  • 输出: STM32板载DAC + 精密运放电路
  • 模拟电路: 已知模型二阶低通滤波器(Sallen-Key结构)

软件

  • 传递函数反算算法
  • Levenberg-Marquardt参数拟合
  • 数字IIR滤波器实现
  • 自动扫频控制

技术指标

参数 指标
频率范围 0.23Hz - 2MHz
频率分辨率 0.23Hz
输出电压 峰峰值≥3V
ADC精度 12位
学习时间 ≤40秒
控制精度 相对误差≤5%
模拟精度 相对误差≤10%

文件结构

ModelProbe-25G/
├── App/                     # 应用层代码
│   ├── Expert_fitter/      # 专家拟合系统
│   ├── lm_fitter/          # LM算法拟合
│   ├── IIRDesigner/        # IIR滤波器设计
│   ├── System_IDentify/    # 系统辨识
│   ├── RealTimeFilter/     # 实时滤波
│   ├── Sample/             # 采样控制
│   ├── DAC_Out_Decay/      # DAC输出衰减
│   ├── FFT/                # 频域分析
│   └── utils/              # 工具函数
├── Core/                   # STM32HAL核心文件
│   ├── Inc/                # 核心头文件
│   └── Src/                # 核心源文件
├── Lib/                    # 外设库
│   ├── AD9910/             # DDS模块驱动
│   └── Visual_TFT/         # 显示屏驱动
├── Drivers/                # STM32驱动库
│   ├── CMSIS/              # ARM CMSIS库
│   └── STM32F4xx_HAL_Driver/ # HAL驱动
├── Data/                   # 测试数据与分析脚本
│   ├── *.csv               # 采样数据文件
│   ├── *.m                 # MATLAB分析脚本
│   └── *.xlsx              # 测试记录
├── Middlewares/            # 中间件
├── build/                  # 编译输出目录
└── cmake/                  # CMake配置文件

编译环境

Important

  • 开发工具: VS Code + CMake
  • 编译器: STM32CubeCLT (包含ARM GCC工具链)
  • 调试器: OpenOCD + SEGGER Ozone
  • 库文件: STM32HAL库

使用说明

Warning

确保供电电压正确(±12V, ±5V),避免损坏器件

  1. 开发环境配置:

    • 安装VS Code及C/C++扩展
    • 安装STM32CubeCLT工具链
    • 配置OpenOCD/Ozone调试环境
  2. 编译项目:

    mkdir build && cd build
    cmake ..
    make -j4
  3. 下载调试: 使用OpenOCD或Ozone进行程序下载和调试

  4. 功能使用:

    • 已知模型模式: 设置目标频率和电压,系统自动计算并输出
    • 学习模式: 连接待测电路,启动学习,系统自动扫频建模
    • 模拟模式: 输入信号,系统输出对应的模拟响应

测试结果

已知模型测试

  • 频率范围: 100Hz-3kHz
  • 电压范围: 1V-2V,步进0.1V
  • 相对误差: ≤4.7%

未知模型测试

  • 学习时间: 40秒内完成
  • 模拟输出相对误差: ≤10%
  • 支持四种滤波器类型识别

开发团队

ZJAxxx - 浙江大学信息与电子工程学院信电16组

许可证

本项目仅用于学术和竞赛目的。

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages