# SPWM控制代码 **Repository Path**: ucas-sem-work-2/spwm-control-code ## Basic Information - **Project Name**: SPWM控制代码 - **Description**: 基于NodeMCU。网页控制SPWM。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-11-24 - **Last Updated**: 2022-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SPWM测试 UCAS-SEM 电路软件组 ## 背景 为了测试电路,需要一个以sin函数变化的模拟信号。可以基于NodeMCU编写相关软件。 ## 总体设计 通过网页控制测试软件。网页通过WiFi发送参数到NodeMCU,NodeMCU再将获得的参数发送回上位机。 ## 上位机设计 应该包含几个输入框,包括频率、最小电压、最大电压、电压控制时间间隔,和一个发送的按钮。 给单片机上电。打开电脑或者手机,在WiFi中选择`UCAS-SEM-Power`,输入密码`12345678`连接后,进入浏览器,输入`192.168.4.1`,在界面中输入参数控制单片机引脚。 ![](doc_img/webpage.jpg) 注意,发送一次数据后,单片机进入工作模式,不再响应参数设置请求。如果需要重新设置参数,需要复位单片机。 ## 下位机设计 接收到数据后,在数组中计算sin函数的取值,然后循环进行控制。 ## 通信格式 f:v_min:v_max:interval ## 端口说明 D2引脚作为模拟输出 ## 可能存在的问题 网络通信耗费时间比较长,可能会导致电压控制不够连续。 ## 改进方案 ### 简单版本 NodeMCU的网络通信只进行一次,在设置完成之后,进入循环控制模式,不再进行网络通信。 ### 复杂版本 NodeMCU只是作为网络通信的主控。通过串口控制STM32单片机,STM32单片机再进一步控制SPWM电压。