littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于C语言的STM32F103 USBWIFI供电系统

项目简介

本项目是基于STM32F103微控制器的USB/WIFI供电系统。借助ESP8266模块提供网络接口,通过STM32F103的USB接口和UART接口实现与主机的通信和控制。同时集成MCP41010数字电位器控制输出电压,利用光耦继电器控制电源开关。用户可通过Web界面、TCP、CDC - USB和UART接口远程控制电源的输出电压和开关状态。

项目的主要特性和功能

  1. 多接口控制:支持Web界面、TCP、CDC - USB和UART接口控制电源输出电压和开关状态。
  2. 网络接口:利用ESP8266模块提供WIFI接口,实现远程控制与数据传输。
  3. 电压控制:通过MCP41010数字电位器精确控制输出电压,支持微调和预设电压值。
  4. 电源开关控制:使用光耦继电器控制电源开关状态。
  5. 校准功能:支持通过Web界面或命令行进行电压校准,保证输出电压准确性。
  6. LED状态指示:通过LED不同闪烁模式指示系统运行状态,如连接WIFI、硬故障等。

安装使用步骤

硬件准备

  • 确保STM32F103、ESP8266、MCP41010数字电位器和光耦继电器等硬件正确连接。
  • 替换LM2596模块上的10K电位器为MCP41010数字电位器。

软件准备

  • 安装CMake工具链,配置TOOLCHAIN_arm_none_eabi_cortex_m3.cmake文件中的TOOLCHAIN_DIR路径。
  • 在Windows上运行build.cmd,在Linux上运行./build.sh,生成.bin.hex文件。

烧录程序

  • Windows:使用ST - Link工具烧录生成的.hex文件: sh "C:\Program Files (x86)\STMicroelectronics\STM32 ST - LINK Utility\ST - LINK Utility\ST - LINK_CLI.exe" -c SWD -p build - stm32\src\stm32f103_wifi_usb_psu.hex -Rst
  • Linux:使用st - flash工具烧录生成的.bin文件: sh st - flash --reset write build - stm32/src/stm32f103_wifi_usb_psu.bin 0x8000000

配置网络

  • inc/http_server.h文件中设置ESP8266的IP地址。
  • 确保路由器为ESP8266分配固定的IP地址,或手动修改http_server.h中的IP配置。

使用Web界面

  • 通过浏览器访问ESP8266的IP地址,利用Web界面控制电源的输出电压和开关状态。
  • 可修改http_server.c中的按钮定义和电压值来定制界面。

命令行控制

通过TCP、CDC - USB或UART接口发送ASCII命令控制电源,支持设置电压、保存配置、重新连接WIFI等命令。

校准

使用万用表测量输出电压,通过Web界面或命令行进行电压校准,确保输出电压的准确性。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】