- 博客(157)
- 资源 (9)
- 收藏
- 关注

原创 自动整定PID参数
②强行震荡:再暂时禁用PID调节,使控制器将一个矩形波状的控制作用力作用于系统,当被调量低于设定值时,控制输出产生一个正的阶跃信号,迫使被调量向高处转变,当被调量高于设定值时,控制输出产生一个负的阶跃信号,迫使被调量向低处转变,由此强行使系统产生震荡。完成波形分析后,仅需将得到的峰峰值和周期带到PID前辈们推导出的公式中,计算得到相应的PID参数,再将PID参数更新投入使用,PID自整定便大功告成!③分析波形:分析以上过程产生的波形的特征,根据需要计算出相应的PID参数。
2023-04-23 08:30:00
9425
9

原创 PID恒温控制(位置式+增量式)
这就是说,在控制器中仅引入“比例”项往往是不够的,比例项的作用仅是放大误差的幅值,而目前需要增加的是“微分项”,它能预测误差变化的趋势。积分项对误差取决于时间的积分,随着时间的增加,积分项会增大。反映偏差信号的变化趋势,并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。从下面可以看出,由于位置式PID里面存在积分信号,容易产生累积偏差,在达到设定值时会存在震荡,这里的小人运动到墙面处就需要停止,就不能有震荡,所以需要使用增量式的PID控制。
2023-03-18 10:45:59
17811

原创 STM32_HAL库—ADC采集数据
STM32 的ADC精度为 12 位,且每个 ADC 最多有 16 个外部通道。各通道的A/D转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。ADC 的转换时间跟 ADC 的输入时钟和采样时间有关,公式为:Tconv = ( 采样时间 + 12.5 个周期 ) / 预分频一般我们设置 PCLK2=72M,经过 ADC 预分频器能分频到最大的时钟只能是12M,然后设置 “ 采样时间 ” 为 1.5 个周期。
2022-12-09 10:14:08
11646
2

原创 CRC_16---ModBus 计算方法及代码实现
1、 CRC寄存器初始值为 0xFFFF;即16个字节全为1;2、 CRC-16 / ModBus的多项式0xA001H (1010 0000 0000 0001B) ; ‘H’表示16进制数,‘B’表示二进制数。计算步骤为:(1).预置 16 位寄存器为十六进制 0xFFFF(即全为 1) ,称此寄存器为 CRC 寄存器;(2).把第一个 8 位数据与 16 位 CRC 寄存器的低位相异或,把结果放于 CRC 寄存器;(3).检测相异或后的CRC寄存器的最低位,若最低位为1,CRC寄存器
2022-03-18 10:29:17
18256
4

原创 STM32_HAL库—TIM定时器输入捕获中断
(一)CubeMX设置:1. 晶振配置(72M)2. 输入捕获引脚配置3. 触发模式配置4. 引脚触发配置5. 主函数调用函数开启输入捕获中断__HAL_TIM_SET_CAPTUREPOLARITY(&htim3, TIM_CHANNEL_2, TIM_INPUTCHANNELPOLARITY_FALLING); //开启输入捕获中断,设置下降沿触发中断HAL_TIM_IC_Start_IT(&htim3, TIM_CHANNEL_2); //启动输入捕获6.
2022-01-18 10:44:45
12444
2
原创 STM32使用EXTI触发进行软件消抖
在STM32的HAL库中,为了实现按键的软件消抖,通常需要在按键中断处理程序中加入一定的状态检测逻辑。以下是一个简单的示例,展示了如何使用HAL库来实现按键的软件消抖。假设你有一个按键连接到GPIO引脚,并且已经配置好了相应的GPIO初始化代码。在按键中断服务程序(ISR)函数中,实现按键检测和软件消抖逻辑。存储按键的当前按下时间,下一次触发按下的时间则需要大于。
2025-03-12 11:45:11
384
原创 STM32步进电机S型与T型加减速算法
加减速算法是一种用于控制电机速度变化的算法。它的主要目的是使电机在启动和停止时能够平稳过渡,避免产生过大的冲击和振动,同时确保电机在加速和减速过程中能够达到预期的速度和加速度。
2025-03-12 11:34:08
178
原创 STM32使用NRF2401进行数据传送
NRF2401适用于多种无线通信的场合,如无线数据传输系统、无线鼠标、遥控开锁、遥控玩具等。其低功耗、高数据速率和多频道通信的特点使其成为物联网、智能家居和穿戴式设备等领域中备受推崇的无线解决方案之一。NRF2401具有多种工作模式,包括收发模式、配置模式、空闲模式和关机模式。这些模式由PWR_UP、CE和CS三个引脚控制。
2025-02-21 15:21:04
1280
原创 基于STM32平衡车_V2.0版(更新中)
基于STM32的平衡车项目是一个结合了嵌入式系统、传感器技术和控制理论的综合性项目。该项目通过使用STM32微控制器作为核心处理单元,结合陀螺仪、编码器、电机驱动等模块,实现平衡车的自主平衡和速度控制。
2025-02-18 10:17:44
381
原创 Python使用Pygeme实现小球自由落体
Pygame 是一个功能强大且易于上手的 2D 游戏开发库,适合初学者和中级开发者。虽然它在性能上可能不如一些专业的游戏引擎(如 Unity 或 Godot),但它仍然是学习游戏开发和快速原型设计的绝佳工具。如果你对游戏开发感兴趣,Pygame 是一个非常好的起点!
2025-02-17 12:12:42
889
原创 Python基于PyQt6制作时钟显示
PyQt6是Qt库的Python绑定,Qt是一个跨平台的C++图形用户界面应用程序开发框架。PyQt6继承了Qt的所有功能,并提供了Python语言的接口,使得开发者可以使用Python语言来编写Qt应用程序。PyQt6支持Windows、Linux和macOS等多个操作系统,具有高度的可移植性和可扩展性。PyQt6提供了丰富的控件和组件,如按钮、文本框、标签、对话框等,以及强大的布局管理器,使得开发者能够轻松创建复杂的用户界面。此外,PyQt6还支持信号和槽机制,用于处理用户交互和事件响应。
2025-01-24 11:19:37
292
原创 微信小程序——创建滑动颜色条
在微信小程序中,你可以使用slider组件来创建一个颜色滑动条。以下是一个简单的示例,展示了如何实现一个颜色滑动条,该滑动条会根据滑动位置改变背景颜色。
2025-01-06 16:14:57
1528
原创 基于STM32可调电源带电流保护_V1.0版
输出电压可调功能则允许用户根据实际需求,灵活调整输出电压的大小,满足不同负载的供电需求。负载电流检测功能能够实时监测通过电源的电流大小,为用户提供准确的负载状态信息。通过TFT1.44寸彩色显示屏,用户可以直观地查看当前输入电压、输出电压、负载电流等关键参数,以及进行输出电压的调节和最大电流限制的设置。通过算法运算,我们可以将数字信号转换为实际的电流值,实现了从模拟信号到数字信号的精确转换。显示屏能够实时显示输入的电流、电压值以及负载电流的大小,让用户一目了然地了解电路的工作状态。
2024-12-30 16:31:34
772
1
原创 STM32通过8位并口驱动TFT-1.8寸屏(ST7735)显示器
屏幕尺寸:1.8英寸分辨率:128x128像素色彩:支持16位色彩深度(5位红、6位绿、5位蓝各通道),能够提供相对丰富的颜色表现。接口类型:MCU接口,可通过SPI协议与微控制器进行通信。驱动型号:ST7735功能:ST7735是一款低功耗的彩色TFT液晶屏驱动芯片,广泛应用于各种嵌入式系统和电子设备中。它集成了RGB RAMDAC(随机存取的数字模拟转换器)、控制器和GPIO接口,支持硬件加速图形绘制功能,如画点、线、矩形、填充以及文本显示等。
2024-11-19 09:50:22
1625
原创 基于STM32智能电流表
一旦检测到实际电流超过预设的最大值,系统将迅速切断负载的电源供应,以确保电路的安全运行。以及配备了1.44寸的TFT显示屏,能够实时显示输入的电流、电压值以及负载电流的大小。该电流表通过精确采集采样电阻上的分压信号,并进行信号放大处理,随后利用ADC(模数转换器)高效地捕获放大后的电压信号。通过算法运算,我们可以将数字信号转换为实际的电流值,实现了从模拟信号到数字信号的精确转换。显示屏能够实时显示输入的电流、电压值以及负载电流的大小,让用户一目了然地了解电路的工作状态。
2024-11-12 17:04:51
1665
原创 STM32获取SHT3X温湿度芯片数据
SHT3X是Sensirion公司推出的一款高精度、完全校准的温湿度传感器,基于CMOSens技术。它提供了线性化、温度补偿的数字输出,具有宽电源电压范围、高速I2C接口以及可选的地址设置等特点。高精度:SHT3X提供了高精度的温湿度测量,湿度误差在±3%(SHT30)或±2%(SHT31)以内,温度误差在±0.3℃(SHT30)或±0.2℃(SHT31)以内。宽电源电压范围:SHT3X的供电电压范围宽达2.4V至5.5V,确保了与各种组装情况的兼容性。高速I2C接口。
2024-11-11 16:19:33
1139
原创 STM32移植LVGL(版本:lvgl-8.3.10)
还是在 lv_port_disp_template.c 中,向下滚动,找到disp_flush( )函数。要是你的LCD驱动文件中,有区域填充颜色的函数,就能大量地减少指令、坐标值的发送次数。双击打开 lv_conf_template.h,对以下内容进行修改,以启用此文件。第86行到101行,LVGL 提供了创建显示缓冲区的3种方式,这里,必须3选1。还是在 lv_port_disp_template.c 中,向下滚动,如果没有区域填充函数,不用强求,直接使用画点函数吧,先完成,再完善。
2024-10-31 15:12:25
2880
原创 STM32通过SPI驱动TFT-1.44寸屏(ST7735)显示器
ST7735作为一款集成度高的驱动芯片,不仅支持多种分辨率(在1.44寸屏上通常为128x128像素),还具备RGB RAMDAC、控制器和GPIO接口等功能,并通过SPI接口与微控制器进行通信。通过编写相应的驱动程序,可以方便地初始化ST7735驱动芯片,配置SPI接口,并发送显示数据,使TFT1.44寸屏正常工作。基于STM32 HAL库编写的,使用下面这些函数通过SPI接口与TFT进行通信,并执行各种控制操作,如写入寄存器、写入数据、显示开启/关闭等。
2024-10-30 14:08:40
2675
原创 微信小程序使用MQTT连接阿里云
② 发送 LED 灯状态的 Topic 云流转到 订阅 LED 灯状态的 Topic。① 微信小程序端( 1 个发送控制数据的 Topic 、1 个订阅 LED 灯状态的 Topic )② LED台灯端(1 个发送 LED 灯状态的 Topic 、1个订阅命令数据的 Topic )所以,需要创建对应的2个Topic数据的云流转,如下所示(具体操作自己百度)。微信小程序开发平台点击刷新则会显示一样的域名,如下所示。文件,复制下面的代码,然后拷贝到项目的。文件中,代码如下所示。
2024-10-14 17:27:50
1135
原创 基于ESP8266—AT指令连接阿里云+MQTT透传数据(3)
MQTT_RX设备为接收(订阅)数据的Topic,使用ESP8266通过AT指令实现。首先需要串口通信软件,如等串口调试工具,功能丰富,支持常见的串口调试功能,用于发送AT指令。
2024-09-29 17:14:03
752
原创 基于ESP8266—AT指令连接阿里云+MQTT透传数据(1)
在点击产品后,选择查看产品,选择到 “ Topic类列表 ” ,然后在里面创建 “ 自定义的Topic类 ” ,然后删除默认的 “ Topic类 ”,具体操作如下所示。
2024-09-29 11:30:05
490
原创 基于STM32智能控制灯带_V2.2版
智能水晶球灯项目以STM32F103C8T6微控制器为核心,通过其强大的处理能力和丰富的外设接口,实现了对灯光的智能控制。而ESP8266 WiFi模块则作为桥梁,连接了物理世界与云端,使得用户可以通过网络远程操控水晶球灯。此外,项目还采用了WS2812 RGB LED灯带,为水晶球灯增添了绚丽多彩的视觉效果。设计了两种样式的PCB,如下所示。样式1:样式2:智能水晶球灯项目不仅是一次技术探索的尝试,更是对智能家居未来发展方向的一次展望。
2024-09-23 13:58:53
861
原创 基于STM32智能控制水晶球_V2.2版
智能水晶球灯项目以STM32F103C8T6微控制器为核心,通过其强大的处理能力和丰富的外设接口,实现了对灯光的智能控制。在当今智能家居日益普及的时代,我们设计并实现了一个集创意、科技与美学于一体的项目——基于STM32F103C8T6微控制器的智能水晶球灯。这个项目不仅融合了硬件编程的精髓,还巧妙地将物联网技术(IoT)应用于日常生活之中,让传统的水晶球灯焕发出智能的光芒。我们相信,随着物联网技术的不断发展和普及,越来越多的传统设备将被赋予智能属性,为我们的生活带来更多的便利和乐趣。
2024-09-13 17:25:41
277
原创 Python使用Tesseract OCR识别文字
Tesseract-OCR是一款由Google维护的开源光学字符识别(OCR)引擎,它能够从图像中识别出文本,并将其转换为可编辑的文本格式。
2024-08-27 10:44:22
1279
原创 Excel表格添加趋势线_数据拟合
一个曲线通过补偿算法拟合为另一个曲线,通常可以通过多种数学和计算技术实现。这里也可以通过Excel表格添加趋势线,然后对趋势线进行拟合,得到趋势预测公式来达到数据补偿。当获取到 x = 1.8 ,通过上方补偿公式 y = 0.2631x5 - 1.8401x4 + 4.7681x3 - 5.6122x2 + 3.5165x + 0.0012 进行计算。通过 “ 插入 ” --> “ 添加离散点 ” --> “ 添加趋势线 ”。然后调整趋势线的拟合度即可得到想要的补偿算法公式。
2024-08-22 14:53:02
864
原创 基于Arduino平台通过ESP8266进行MQTT通信
ESP8266 是一款流行的低成本 WiFi 微控制器,广泛用于物联网(IoT)项目。使用 Arduino IDE,你可以很容易地编写代码,使 ESP8266 连接到 MQTT 服务器,从而实现设备间的通信和数据交换。以下是一个基本的步骤指南,展示如何使用 Arduino IDE 和 ESP8266 连接到 MQTT 服务器。
2024-08-21 16:12:46
1174
原创 基于Arduino平台开启ESP8266的SmartConfig(一键配网)
将ESP8266连接到Arduino IDE,并上传你的代码。通常,这涉及到在手机端打开一个特定的网页或使用一个特定的APP,并输入你的Wi-Fi网络的SSID和密码。如果没有,你需要在Arduino IDE的“文件”菜单下选择“首选项”,然后在“附加开发板管理器URLs”中添加ESP8266的URL,之后就可以在“工具”->“开发板”->“开发板管理器”中搜索并安装ESP8266了。通过合理利用ESP8266的WiFi库和Arduino IDE的强大功能,你可以轻松地为你的项目添加一键配网的功能。
2024-08-21 15:49:32
997
原创 控制WS2812B实例代码(新_PWM方式)
WS2812B数据协议采用单线归零码的通讯方式,像素点在上电复位以后,DIN端接受从控制器传输过来的数据,首先送过来的24bit数据被第一个像素点提取后,送到像素点内部的数据锁存器,剩余的数据经过内部整形处理电路整形放大后通过DO端口开始转发输出给下一个级联的像素点,每经过一个像素点的传输,信号减少24bit。
2024-08-21 13:58:24
1531
原创 最小二乘法_曲线拟合
一个曲线通过补偿算法拟合为另一个曲线,通常可以通过多种数学和计算技术实现。最小二乘法:这是一种广泛使用的曲线拟合技术,通过最小化误差的平方和来找到数据的最佳函数匹配。在Matlab中,可以使用polyfit函数来实现多项式曲线拟合,而在Java中,可以通过类似的最小二乘算法库或自定义实现来完成。最小二乘法是一种常用的数学优化技术,用于拟合一组数据点到一个模型(如线性方程、多项式等)。以下是一个基于C语言的简单示例,展示了如何使用最小二乘法来拟合一组数据点到一条直线(即找到最佳拟合直线的斜率和截距)。
2024-08-16 16:33:50
387
原创 基于巴法云+MQTT+微信小程序控制esp8266点灯(3)
然后点击下方导入即可。(导入时需注意,在选择导入的文件夹时,要选择含有app.json文件的文件夹导入,不然会报错。处 ,分别添加域名:https://api.bemfa.com 和wss://bemfa.com 保存提交即可。打开微信开发者工具,小程序项目,导入项目。这里有两个主题,一个主题用于传输温度和湿度和反馈LED状态,另一个主题用于控制LED。里面可以看到,长的大概是这样:wx34a2063de5yyc04b,下面导入项目的时候会用到。信息为自己的即可,这里的。的后面,点击修改,在。
2024-08-01 11:19:29
694
原创 基于巴法云+MQTT+微信小程序控制esp8266点灯(2)
查询/设置 Wi-Fi 模式 (Station/SoftAP/Station+SoftAP):连接 AP:查询/设置 Wi-Fi 重连配置:设置命令扫描结果的属性:扫描当前可用的 AP:断开与 AP 的连接:配置 ESP32 SoftAP 参数:查询连接到 ESP SoftAP 的 station 信息:断开 station 与 ESP SoftAP 的连接:启用/禁用 DHCP:查询/设置 ESP SoftAP DHCP 分配的 IP 地址范围:上电是否自动连接 AP。
2024-08-01 09:22:05
664
1
原创 基于巴法云+MQTT+微信小程序控制esp8266点灯(1)
ESP-AT 是乐鑫开发的可直接用于量产的物联网应用固件,旨在降低客户开发成本,快速形成产品。通过 ESP-AT 指令,您可以快速加入无线网络、连接云平台、实现数据通信以及远程控制等功能,真正的通过无线通讯实现万物互联。ESP-AT 是基于 ESP-IDF 或 ESP8266_RTOS_SDK 实现的软件工程。它使 ESP 模组作为从机,MCU 作为主机。MCU 发送 AT 命令给 ESP 模组,控制 ESP 模组执行不同的操作,并接收 ESP 模组返回的 AT 响应。
2024-07-31 16:59:10
467
原创 一阶卡尔曼_数据平滑滤波
卡尔曼滤波器(Kalman Filter)确实是一种非常有效的递归滤波器,它能够在存在测量噪声和系统噪声的情况下,通过结合上一状态的估计和当前状态的观测值,来估计系统的真实状态。这种方法特别适用于那些需要连续估计系统状态,并且测量值包含不确定性的场景。卡尔曼滤波器结合了上一状态的结果和当前状态的测量值预估出真正状态的测量值。很多人可能会想:我直接那测量值作为真实值不可以吗?可以,但测量仪器总有误差,人们总想通过一些状态取获取真正的状态,这样就可以提高系统的稳定性。
2024-07-23 13:14:03
941
STM32驱动NRF2401.rar
2025-02-21
Python基于PyQt6制作时钟显示.rar
2025-01-24
基于STM32可调电源带电流保护-V1.0版
2025-01-08
微信小程序-创建滑动颜色条
2025-01-06
#界面开发使用LVGL源码包(版本:lvgl-8.3.10)
2024-11-26
STM32通过8位并口驱动TFT-1.8寸屏(ST7735)显示器
2024-11-19
#树莓派通过IIC获取24C02存储芯片的数据.py
2024-11-14
#微信小程序识别二维码并提取二维码中的文本数据代码
2024-11-14
基于STM32智能电流表代码及硬件原理图
2024-11-12
STM32获取SHT3X温湿度芯片数据完整驱动代码
2024-11-11
STM32F103驱动TFT-1.44寸屏(ST7735)显示代码及取模软件及教程
2024-10-30
嵌入式开发之esp8266烧录AT指令固件.zip
2024-09-29
基于STM32智能控制灯带-代码V2.2版
2024-09-23
基于STM32智能水晶球台灯-3D模型底座及硬件PCB原理图V2.0版(带温湿度采集)
2024-09-23
基于STM32智能水晶球台灯-3D模型底座及硬件PCB原理图V1.0版(不带温湿度采集)
2024-09-14
基于STM32F103C8T6制作的T12洛铁(定制版).zip
2024-08-29
STM32F103控制WS2812B实例代码(新-PWM方式)
2024-08-21
基于python做的简单的图书管理系统.py
2024-08-19
基于巴法云+MQTT+微信小程序控制esp8266点灯
2024-08-01
图像识别yolov5使用示例
2024-06-13
中科院自动化所RLIS标注工具
2024-06-13
OpenCV图像处理kNN近邻算法-识别摄像头数字
2024-05-29
OpenCV图像处理kNN近邻算法识别数字
2024-05-29
特征匹配(Brute-Force匹配器).zip
2024-05-29
STM32单片机控制旋转编码开关
2024-05-18
STM32单片机控制扩展IO芯片PCA9555的使用实例
2024-05-14
对keil生成的HEX文件自动进行复制重命名《自动获取代码版本,及获取最新编译时间》
2024-05-10
Python编译软件pycharm-community-2022.2.3.zip
2024-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人