- 博客(31)
- 收藏
- 关注
原创 步进电机电流随频率变化原因分析
这种特性也解释了为什么步进电机在高速时需要更高的驱动电压或采用细分驱动技术,以补偿电流的下降,维持扭矩输出。步进电机的电流随步进频率增加而减小的现象,主要源于其线圈的电感特性与驱动电路的物理限制。:脉冲周期缩短,电流未达最大值就被切断(或切换到下一相位),导致平均电流降低。:高频切换相位时,线圈的续流过程(电流衰减)占用时间,进一步减少有效通电时间。(“自然降频区”):电流因电感无法及时建立,扭矩显著下降,导致有效电流降低。反电动势会抵消部分驱动电压,使得有效电压降低,导致电流减小。
2025-03-17 08:23:26
432
原创 扫码器USB键盘报告描述符数据格式解析
Byte0用于判断Shift是否按下,当按下时Byte0的Bit1会置1,即0x02,若未按下,Bit为0,即0x00。0x00 0x00 0x00 0x00 0x00 0x00 0x00--->>未按下Shift。0x00 0x00 0x00 0x00 0x00 0x00 0x00--->>按下Shift。0x00 0x04 0x00 0x00 0x00 0x00 0x00--->>输出A。0x00 0x04 0x00 0x00 0x00 0x00 0x00--->>输出a。
2025-02-06 15:53:34
508
原创 脉冲当量计算方法(一脉冲实际行走多少距离)
同步带机构脉冲当量 = (同步带齿数x同步齿轮间距)/(每转脉冲个数(360/步距角)x驱动细分数x减速比) 丝杆结构脉冲当量 = 丝杆螺距/一圈所需脉冲数 = 丝杆螺距/360/步距角/减速比/驱动细分数
2024-11-01 18:11:19
2697
原创 __has_include 报错
如果你在使用__has_include时遇到了报错,这通常是因为你的编译器不支持这个特性,或者你的编译器版本太旧不支持。__has_include是一个在较新版本的 Clang 和 GCC 中引入的特性,用于在预处理时检查是否可以包含某个头文件。在C或C++的预处理阶段,__has_include是一个编译器特定的宏,主要用于检查编译器是否能够包含指定的头文件。这个宏在Clang和GCC(从某个版本开始)等编译器中可用,但在所有编译器中可能并不都支持。它主要用于条件编译,使得代码可以根据编译环境的不
2024-09-26 08:24:04
852
原创 Agile Modbus STM32裸机移植 从机使用
初始化RTU/TCP环境 ( agile_modbus_rtu_init / agile_modbus_tcp_init )在本实验中只用到了agile_modbus.c、agile_modbus.h文件。Agile Modbus 是一个轻量级的 Modbus 协议栈,可以满足用户在任何场景下的需求。Agile Modbus时我们可以查看Agile Modbus帮助文档进行使用。需只要在回调函数中,根据功能码对应位置编写所需功能代码即可。根据帮助手册的指示进行移植Agile_modbus。
2024-09-18 20:11:32
1300
原创 Modbus 看这一篇就够了
Modbus是工业界常用的一种通讯协议,也就是通讯的约定。Modbus协议包括RTU、ASCII、TCP,其中Moudbus-RTU最常用。Modbus和OPC A、MQTT等通讯协议本质上都是为了实现多个设备相互通信的应用层协议。
2024-08-28 14:23:21
1240
原创 RT-Thread信号量、互斥量、事件集对比
信号量 互斥量 事件集 常量 二值信号 32 位无符号整型 实例数目、资源数目 线程持有时,互斥量闭锁状态,获得所有权。线程释放它时,互斥量开锁,失去所有权。 每一位代表一个事件 任何线程释放 只能由持有线程释放 只能由持有线程释放 防止线程优先级翻转 事件只与线程相关,事件间相互独立 在获得互斥量后,请尽快释放互斥量 事件仅用于同步,不提供数据传输功能 持有互斥量的过程中,不得更改持有互斥量线程的
2024-07-17 11:07:21
178
原创 UART、USART、RS232、RS485、IIC、SPI、CAN对比
UART、USART、RS232、RS485、IIC、SPI、CAN对比
2024-07-01 14:59:28
198
原创 FreeRTOS的任务通知
任务通知:用来通知任务的,任务控制块中的结构体成员变量 ulNotifiedValue就是这个通知值。任务通知API函数主要有两类:①发送通知②接收通知。注意:发送通知API函数可以用于任务和中断服务函数中;接收通知API函数只能用在任务中。
2024-06-24 09:34:41
733
原创 No module named ‘sympy‘
一开始我是在终端window终端(win键+R)使用“pip install sympy”下载的。在终端上显示已经安装成功,当时在python中使用这个库的时候显示未查找到。将‘sympy‘包安装在python对应环境中或者工程环境中(猜测)问题:无法识别到‘sympy’库。首先确保’sympy‘库是否下载。应该是环境变量的问题。
2024-06-18 09:43:27
1199
原创 CAN总线通信质量测试方案
CAN总线分为高速CAN和低速CAN,传输速率不同:高速CAN速率为125kbit/s~1Mbit/s,低速CAN速率为5~125kbit/s。
2024-06-04 17:22:56
3116
2
原创 FreeRTOS事件标志组
事件标志组是一组事件标志位的集合, 可以简单的理解事件标志组,就是一个整数。(在stm32中就是32位的无符号的数据类型)事件标志组的特点:它的每一个位表示一个事件(高8位不算,下有解释)。每一位事件的含义,由用户决定。位的值为1:表示事件发生了;值为0:表示事件未发生。如:bit0表示按键是否按下,bit1表示是否接受到消息 。任意任务或中断都可以读写这些位。可以等待某一位成立,或者等待多位同时成立。
2024-06-03 14:39:12
698
原创 波特率与比特率
若是二进制码元则该串二进制数有8个码元--8个码元*1(每个码元里面有1个比特)=8比特若是四进制码元则该串二进制数有4个码元--4个码元*2(每个码元里面有2个比特)=8比特
2024-05-31 14:28:36
511
原创 直流减速电机通过编码器计算车轮转速、车轮速度、路程计算。
变化量var*5*60/4(倍频数)/11(编码器线数) /30(减速比)变化量var*5*60/4(倍频数)/11(编码器线数)第二步:计算1min间隔的计数变化量(设N=200)第三步:计算1min间隔编码器的输出脉冲个数。第四步:计算1min间隔编码器转过的圈数。变化量var*5*60/4(倍频数)第一步:计算Nms间隔的计数变化量。变化量var=当前读数-前次读数。变化量var*5*60。第五步:计算电机的转速。
2023-07-01 15:10:46
2451
原创 keil5无法显示中文注释
进入Keil主界面,点击“Edit” 点击最后一个带有🔧的选项“Configuration” 进入配置页面后,找到“Editor”页中的“Encoding”--如图 点击 倒三角 下拉找到“Chinese GB2312(Simplified)”,这个就是简体中文 记得配置完后点击“OK”,随后打出中文验证 繁体字“Chinese BIG5(Trraditional)”
2023-05-20 16:45:58
6151
DOPSoft软件操作手册(内含安装指南)
2024-09-23
串口调试助手XCOM V2.6
2024-06-04
keil5.524 MDK524
2023-05-27
蓝桥杯嵌入式省赛-赛点资源包
2023-03-02
蓝桥杯嵌入式省赛-赛点资源包
2023-02-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人