自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 资源 (5)
  • 收藏
  • 关注

原创 【MPU6050_DMP】dmp初始化校准设置,取消上电零度

【MPU6050_DMP】dmp初始化校准设置,取消上电零度相信很多移植过正点原子或者其他的mpu6050 dmp解算代码,都遇到过这个问题,即陀螺仪每次解算的姿态角都是上电零度。即每次你都需要将陀螺仪的位置摆的非常正。但是往往很多时候我们需要记住这个零初始值,以避免每次都需要摆正上电。== **这个问题其实是源于dmp代码初始化的时候,自检设备,启用基于DMP的陀螺仪校准,然后将这个上电产生的新的偏差,则覆盖写入此位置的偏差。偏置陀螺仪在q16中的偏置**==

2022-08-23 16:59:16 5588 3

原创 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(6)- foc速度闭环控制

【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(6)- foc速度闭环控制 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(6)- foc速度闭环控制 一、电机选择 二、电机参数初始化 三、FOC初始化 四、PID初始化 五、主函数调用 move(target); 六、主函数调用loopFOC(); 七、 主函数及完整代码 八、总结

2022-08-22 18:26:57 3094 8

原创 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(5)-磁编码器移植AS5600 软件IIC

【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(5)-磁编码器移植 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(5)-磁编码器移植 一、编码器选择 二、通讯方式 I²C接口 软件iic 三、TC264测试全部程序 3-1初始化定义 3-2初始化函数 3-3 as5600原始数据读取 3-5角度解算 速度解算,速度滤波,软件iic代码,磁铁选型

2022-08-22 16:08:26 3071 2

原创 英飞凌TC264无刷驱动方案simplefoc移植(4)-SimpleFOC矢量控制实现

上一篇文章主要讲解了,矢量控制的原理,变换以及逆变换,电流采样,闭环pid,以及svpwm换向。但是这些在simple中又是如何实现的呢 英飞凌TC264无刷驱动方案simplefoc移植(4)-SimpleFOC矢量控制实现 一、闭环方案 二、转矩控制 三、ua,ub ,uc三相电压计算 3-1 正弦调制SinePWM 3-2 空间矢量调制 SpaceVectorPWM 四、逆变方案选择 五、PID控制 六、低通速度

2022-08-20 19:54:24 1551

原创 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(3)-FOC控制原理矢量控制

英飞凌TC264无刷驱动方案simplefoc移植(3)-FOC控制原理矢量控制1 电流闭环控制方案2 Clark变换与Park变换 2_1 Clark变换 2_2 Park变换3 PID控制4 空间电压矢量5 SVPWM技术

2022-08-19 18:38:57 3297 1

原创 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(2)-SVPWM波实现

英飞凌TC264无刷驱动方案simplefoc移植(2)-SVPWM波实现 互补pwm输出

2022-08-18 18:24:16 3753 3

原创 【FOC控制】英飞凌TC264无刷驱动方案simplefoc移植(1)-霍尔编码器移植

一、 基于英飞凌MCU GTM模块的无刷电机驱动方二、 基于英飞凌AURIX的平衡单车组BLDC项目开源三、 逐飞科技TC264开源库四、 Arduino SimpleFOClibrary五、SimpleFOC移植

2022-08-16 22:38:47 6905 1

原创 【灵动MM32-DMA传输-GPS解算】 移植NMEA协议库解析GGA数据格式

灵动MM32单片机移植NMEA协议库解算GGA数据格式通过串口dma硬件传输今天使用一款常见的gps模块,goouuu果云GPS模块,这款产品可以说是便宜好用,但是这个原版本的例程我觉得不太行,解析库的时候太浪费资源,而且兼容性不好。**所以我就用灵动mm32在果云GPS模块上移植野火的开发的GPS库文件**用到的硬件和库文件:==①MM32F3277G9P单片机 ②goouuu果云GPS模块模块 ③智能车逐飞MM32开源库 ④野火开源库==

2022-05-28 18:15:20 3392 2

原创 【灵动MM32-姿态角解算】移植MPU6050-DMP库实现姿态角PRY解算

MM32使用DMP库处理MPU6050数据、姿态解算 一、mpu6050介绍 二、灵动MM32-DMP库移植 1、添加库文件 2、官方 DMP 驱动库移植 3、inv_mpu.c 文件移植 4、 inv_mpu_dmp_motion_driver.c移植 三、MM32程序编写

2022-05-27 21:34:31 2528 1

原创 【0.96OLED屏幕】原理图及SSD1306引脚功能

OLED 屏幕原理图及SSD1306 一、SSD1306引脚功能 二、MCU总线接口引脚选择 三、MCU接口选择分配 四、MCU串行接口(3线SPI)模式 五、MCU串行接口(4线SPI)模式 六、MCU I2C模式 七、电源设置

2022-05-22 00:19:14 46710 6

原创 【电源芯片】TPS63020升降压芯片-电池放电

TSP6020芯片介绍一、芯片特性•输入电压:1.8V-5.5V•可调整的输出电压 1.2V-5.5V•输出电流:当输入电压大于2.5V时,输出电压为3.3V时,电流2A•转换效率高:工作静态电流:25µA ,带模式选择的节能模式•平均电流模式buck-boost转换:模式之间的自动转换•安全可靠的操作特性:具有过热、过压保护,停机期间断开负载回路TPS6302x设备为由双电池或三电池碱性、镍镉或镍氢电池、单电池锂离子或锂聚合物电池、超级电容器或其他供电轨供电的产品提供电源解决方案。支持高

2022-05-21 00:41:13 6201 6

原创 【LDO稳压器】SOT23-5封装-RT9193-RT9013-LP2992-LP5907设计

LDO线性稳压器下面介绍四款SOT23-5封装的ldo线性稳压器RT9193-RT9013-LP2992-LP5907一、RT9013-33GB SOT23-5 稳压器LDO芯片 3.3V/500mA输出宽输入电压范围:2.2V至5.5V低压差:输出电流500mA时为250mVRT9013命名规则:RT9013引脚功能典型电路图二、RT9193-33GB SOT23-5 稳压器LDO芯片 3.3V/300mA输出命名规则如上。引脚功能如同上。电路原理图如同上。二者的区别在于输

2022-05-19 20:12:39 18250 4

原创 【电源模块】TPS54331 DCDC降压芯片设计

TPS54331 3A输出,28V输入,带Eco模式的降压DC-DC转换器™一、特征•3.5至28伏输入电压范围•可调输出电压低至0.8支持高达3安培的连续输出电流•在轻负载下,采用脉冲跳跃Eco模式,效率高•固定570 kHz开关频•典型的1μA关机静态电二、 描述TPS54331器件是一个28-V、3-A非同步降压转换器,集成了一个低RDS(on)高压侧MOSFET。为提高轻载时的效率,将自动激活脉冲跳过Eco模式功能。此外,1μA的关断电源电流允许该设备用于电池供电应用。带内部斜

2022-05-19 00:00:22 14106 4

原创 【电源模块】ME3116 DCDC降压模块设计

DC/DC 降压型稳压器 ME3116 DC/DC 降压型稳压器 ME3116一、ME3116 功能介绍二、ME3116 引脚功能三、ME3116 典型应用图3-1输出电压设置3-2使能操作一、ME3116 功能介绍● 输入电压范围 4.75V to 40V● 输出电流高达 1A● 工作频率 550KH● 最大效率 90%ME3116 是内部集成了 MOSFET 的异步整流降压稳压器。宽输入电压范围内(4.75V-40V1A 的负载能力。ME3116 系统采用 PWM 控制模式,具有很好的

2022-05-17 18:27:48 8525 3

原创 【电源模块】LM2596 DCDC降压模块设计

LM2596 150kHz 3A DCDC降压稳压器AD工程如下,可以直接使用 链接: https://pan.baidu.com/s/1tr3qr7cCzLLNm2voIA-WvA 提取码:3eks一、特性• 3.3V、 5V、 12V 和可调输出版本• 可调输出电压范围: 1.2V 至 37V, 在各种线路和负载条件下的最高电压容差为 ±4%• 采用 TO-220 和 TO-263 封装• 输出负载电流为 3A• 输入电压范围高达 40V• 只需要四个外部元件,出色的线路和负载调

2022-05-16 17:18:15 9596 1

原创 【ESP32 Arduino平衡小车制作】(四) 直流电机PID控制

一、PID算法1-1 积分分离pid算法1-2 带有死区的pid算法1-3 微分先行pid算法二、程序编写三、硬件设计一、PID算法PID 是 结合Proportional(比例)、 Integral(积分)、Differential(微分)三种环节于一体的闭环控制算法,它是目前为止在连续控制系统中计数最为成熟的一种控制算法;PID 控制的实质是对目标值和实际值误差进行比例、积分、微分运算后的结果用来作用在输出上。连续控制的理想 PID 控制规律u(t)u(t)u(t) = K p&.

2022-05-15 18:43:12 6133 3

原创 【ESP32 Arduino平衡小车制作】(三) 直流电机pwm控制

基于ESP32的直流电机PWM控制直流电机驱动器驱动器使用 H桥电路进行驱动,核心电路 H 桥加上一些必要的外围电路,共同组成直流有刷电机的驱动器。H 桥本身可作为集成电路使用,也可由分立元件构成。集成电路形式的 H 桥一般用于中小功率需求的应用,或者是对电路面积有要求的场合。分立元件形式的 H 桥通常用于大功率或者超大功率需求的应用,主要由 MOSFET 或 IGBT 晶体管组成。这里我使用的是TB6612这款直流驱动芯片可利用IN1和IN2这两个输入信号,选择正转,反转,短路制动器、和停机等

2022-05-12 17:54:16 8881 2

原创 【ESP32 Arduino平衡小车制作】(二) mpu6050 dmp欧拉角解算 PlatformIO

mpu6050 dmp6 欧拉角解算MPU6050一款常用的集成加速度计的陀螺仪。今天就来介绍ESP32 Arduino如何使用mpu6050做dmp ,四元数姿态解算,从而获得欧拉角和xyz角。最后的效果:可以看到很好的实验效果,eular和ypr角。此外我使用的是esp32 PICO4芯片,PlatformIO开发环境 mpu6050接PIN32,PIN 33引脚一、库安装:用过PlatformIO的朋友们肯定知道,PlatformIO具有丰富的库文件,使用来那是十分的方便。在库中搜素mpu

2022-05-11 19:52:56 5631 4

原创 【ESP32-Arduino-IIC2通道2】-用IIC的通道2显示OLED-SSD1306库-U8G2库

ESP32 -IIC2显示OLED 屏幕 ESP32 -IIC2显示OLED 屏幕一、ESP32 IIC介绍:二、I2C 简介三、SSD1306-I2C-通道2 显示OLED 屏幕四、U8G2-I2C-通道2 显示OLED 屏幕五、总结一、ESP32 IIC介绍:ESP32 有 2 个 I2C 总线接口,根据用户的配置,总线接口可以用作 I2C 主机或从机模式。 I2C 接口支持:• 标准模式 (100 Kbit/s)• 高速模式 (400 Kbit/s)• 速度最高可达 5 MHz,但受制于

2022-05-10 20:45:35 5206

原创 【STM32多级界面】-LCD结构体多级图形界面框架

STM32多级界面搭建在实际的项目之中,需要用单片机在LCD/OLED中搭建一个3级的图形界面。本文的工程文件我将上次传到百度网盘,链接在最后的部分。 STM32多级界面搭建一、方案选择二、实现效果三、程序设计3-1宏定义变量设计3-2控制函数设计3-3主函数调用设计四、总结一、方案选择方案一:使用if条件语句写一个界面,但是这种方法在两级界面的时候还可以,在多级界面的时候代码的逻辑上的复杂度会大幅增加,不太使用。方案二:使用嵌入式图形库lvgl等,但是这个对新手不太友好。方案三:使用结构体变量

2022-05-09 18:52:50 5324 1

原创 【STM32G431RBT6】蓝桥杯嵌入式 ADC采样DMA传输配置

一、介绍蓝桥杯嵌入式开发板使用的是STM32G431RBT6,这个G系列的mcu使用STM32cubemax配置的时候和普通的F系列不太一样。二、原理图同时开发板预留了两个adc采样通道,分别是PB15和PB12,如果需要adc采样的话,这里我们这里使用两种方式,一种是adc直接采样CPU处理数据,另外一种是采用ADC采样加DMA传输。三、STM32CUBEMAX配置时钟配置 :输入外部高速时钟为24MHZ,这里可以将主频调至170MHZ。ADC配置 :PB15和PB12位ADC输入3-

2022-05-08 20:22:25 4126 4

原创 【ESP32 Arduino平衡小车制作】(一)霍尔编码器解码

esp32 arduino平衡小车制作(一)编码器正交解码增量式编码器绝对式编码器常用测速方法esp32编码测量如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入增量式编码器增量式旋转编码器是将设备运动时的位移信息变成连续的脉冲信号,脉冲个数表示位移量的大小。只有当设备

2022-05-07 00:31:42 7339 1

原创 【机器人学】-位姿描述和旋转变换(2)

机器人学基础-旋转变换空间旋转矩阵中有九个元素,但是这九个元素满足六个约束方程,只有三个独立变量ABX = [ AXB AYB AYB ] = [R11R12R13R21R22R23R31R32R33]\begin{bmatrix}R11 & R12 & R13 \\ R21 & R22&R23\\R31&R32&R33\\ \end{bmatrix}⎣⎡​R11R21R31​R12R22R32​R13

2022-05-07 00:17:44 1497 1

原创 【MDK】- STM32内部 SRAM 调试详细配置

STM32 Keil 内部 SRAM 中在线调试配置七步配置就可以实现在内部SRAM中调试代码。 STM32 Keil 内部 SRAM 中在线调试配置一、创建工程的调试版本二、 配置分散加载文件三、配置中断向量表四、修改 FLASH 下载配置五、仿真器配置六、BOOT启动设置6-1 软件BOOT设置6-1 硬件BOOT设置七、下载调试一、创建工程的调试版本SRAM 中运行的代码只是用于调试,调试完毕后,实际仍然使用在内部 FLASH 中运行的代码,因此在调试版和发布版代码之间切换。MDK的“Man

2022-05-05 22:30:59 3897

原创 【机器人学】-位姿描述和齐次变换

位姿描述和齐次变换物体之间的关系是用齐次坐标变换来描述的。机器人学中采用齐次坐标变换来描述机械手各关节坐标之间、各物体之间以及各物体与机械手之间的关系。首先介绍刚体位姿描述方法,然后引出齐次坐标和齐次变换这些变换基本上是由平移和旋转组成,因此可以用坐标系来描述各种物体和机械手的空间位置和姿态。最后介绍变换方程、欧拉角以及旋转变换通式等内容。 位姿描述和齐次变换一、刚体位姿描述1-1 点的位置描述1-2 方位(姿态)描述1-3 刚体的位置与姿态描述1-4 末端执行器坐标系二、坐标变换2-1 坐标平移2-

2022-05-04 19:00:21 5531

原创 keil STM32中sct 分散加载文件学习

sct 分散加载文件简介MDK 生成一个以工程名命名的后缀为 *.sct 的分散加载文件 (Linker Control File,scatter loading),链接器根据该文件的配置分配各个节区地址,生成分散加载代码,因此我们通过修改该文件可以定制具体节区的存储位置。一、芯片选型工程构建时, MDK 会根据我们选择的芯片型号,获知芯片的内部 FLASH 及内部SRAM 存储器概况。这里我选择的是STM32F407VET6型号, 这款单片机有高达 192+4 KB 的 SRAM,包括 64 KB

2022-05-03 22:58:18 5434 2

原创 Keil STM32中map使用文件说明

map 文件说明map 文件是由链接器生成的,它主要包含交叉链接信息,查看该文件可以了解工程中各种符号之间的引用以及整个工程的 Code、 RO-data、 RW-data 以及 ZI-data 的详细及汇总信息。编译成功之后,双击工程名可以打开map文件。如果是使用STM32cubemax生成的代码,默认情况下是无法双击打开的,需要更改Option设置下的listing目录设置,改到工程目录下编译生成的map文件处,一般在工程文件所在目录下,有一个和工程名字一样的文件夹,里边有很多.o .crf文件。

2022-05-02 18:15:44 2718

原创 Keil STM32查看堆栈使用量及调用链.htm文件

htm 静态调用图文件Keil编译成功之后在Output 目录下。**有一个以工程文件命名的后缀为 .bulid_log.htm 及 .htm 文件 如”Template_F4VE.bulid_log.htm”及”Template_F4VE.htm”,使用浏览器打开。其中 *.build_log.htm 是工程的构建过程日志,而 *.htm 是链接器生成的静态调用图文件。在静态调用图文件中包含了整个工程各种函数之间互相调用的关系图,而且它还给出了静态占用最深的栈空间数量以及它对应的调用关系链。

2022-05-02 16:26:29 7411

原创 MDK Keil编译中CODE-RO-RW-ZI Data -堆栈(全网最全解析)

程序的组成、存储与运行1、CODE、RO、 RW、 ZI Data 域及堆栈空间相信大家使用keil做单片机开发的时候,编译成功之后,会出现program size,像我这里就是Program Size: Code=10294 RO-data=8178 RW-data=60 ZI-data=3676 那这些变量的含义都是一些什么呢,他们在程序运行的时候都起什么作用呢?这里我使用的是muc为STM32F407VET6。这里说明一点这些值的大小都是字节。以字节为单位。1-1、Code:这个工程所需要的

2022-04-30 21:33:15 2255

原创 DAP_LINK下载器固件编译下载过程

DAP_LINK下载器固件编译下载过程目录DAP_LINK下载器固件编译下载过程1、daplink的介绍2、程序编译-环境配置2-1 stm32f103xb_bl工程2-2 stm32f103xb_stm32f103rb_if工程3、固件下载3-1 脱机下载stm32f103xb_bl.hex3-2 rst重启得到U盘3-3 拖动下载固件4、keil 实践5、总结1、daplink的介绍可以参考下面这篇博文链接: 打造属于你自己的STM32下载器调试器-DAPLink官方源码可以从 githu

2022-04-23 16:03:21 10717 2

原创 STM32F4控制步进电机(单稳态加重复计数)

基于STM32F4控制步进电机(定时器单稳态加重复计数)可以实现步进电机的绝对定位和相对定位,高伺服控制 *42步进电机42BYGH34驱动器 TB6600步进电机驱动器**两相步进电机驱动,可实现正反转控制。通 过S1 S2 S3 3位拨码开关选择8 档细分控制(1、2、4、8、16 ),通过S4 S5 S6 3位拨码开关选择6档电流控制(0.5A,1A,1.5A,2.0A,2.5A,3.0A, 3.5A, 4.0A)。适合驱动86,57,42,39 型两相、四相混合式

2021-08-25 17:41:57 2864 3

原创 基于群智能算法的函数最值优化问题

基于群智能算法的函数最值优化问题摘要针对求解函数的极值问题的群智能算法,大部分函数在定义域内都可以通过微分的方式求得极值点和找到最值。但是存在一些测试函数,他们的最值用求解的微分的方式只能使得计算量大大增加。随着计算机技术的发展,可以通过matble编写基于群智能算法的随机搜索算法,不断去逼近极值,不断地优化,改变控制参数,来找到全局最优解。关键词:遗传算法;粒子群优化算法;全局最优解;控制参数选择;一、遗传算法(genetic algorithms,GA)遗传算法一类借鉴生物界自然选择和自然遗传

2021-08-25 16:38:44 3652

原创 STM32F407串口乱码(正点原子与野火开发版兼容性问题)

设备信息我使用的开发板是正点原子的stm32f407探索者开发板 ,使用的固件库以及程序是从野火资料下载中心下载的,使用串口查看数据的时候,上位机接收到的数据显示总是乱码,具体如下图所示。解决方案每一款单片机都有自己的时钟源,存在外部高速时钟(HSE)和外部低速时钟(LSE),而单片机中的系统时钟最大值为168Mhz,一般都是由外部高速时钟提供,然后经过内部锁相环吧频率升上去。外部高速晶振如图,正点原子探索者为8M,而野火的霸天虎为25Mhz,两款时钟源不同,因此直接复制的话,会使得,内部时钟混乱

2021-08-25 16:07:22 3637 12

原创 stm32f4硬件IIC读取MPU6050数据

stm32f4硬件IIC读取MPU6050数据** JY901B 串口10轴加速度计 MK695**stm32f4“硬件协议”方式,STM32 的I2C 片上外设专门负责实现I2C 通讯协议,只要置好该外设,它就会自动根据协议要求产生通讯信号,收发数据并缓存起来,CPU 只要检测该外设的状态和访问数据寄存器,就能完成数据收发。这种由硬件外设处理I2C 协议的方式减轻了CPU 的工作,且使软件设计更加简单。不需要关心底层的设计。I2C 通讯协议I2C 通讯协议(Inter - Inte

2021-08-25 11:52:10 3938 3

原创 IIC总线AT24C02芯片应用

第八章 IIC总线AT24C02芯片应用 例8.3.1 write_add(uchar address, uchar date) read_add(uchar address)实参选取** *************** 只需注意一处即可************************* 来自新概念51单片机C语言教程(郭天祥老师)- --从入门,提高,开发,拓展全攻略***实验现象:C语言编写程序,在51开发版上出现00-99秒,时间变换。关闭电

2021-01-21 21:05:09 286

原创 pycharm中可以使用可变类型作为函数的默认值

# BEGIN TWILIGHT_BUS_CLASSclass TwilightBus: """A bus model that makes passengers vanish""" def __init__(self, passengers=None): if passengers is None: self.passengers = [] # <1> else: self.passenge.

2020-09-10 15:17:56 171

DAP-link固件代码,基于stm32f103c8t6muc,可以直接下载烧录

DAP-link固件代码,基于stm32f103c8t6muc,可以直接下载烧录

2022-04-23

STM32F4使用2MD4850步进电机驱动器.zip

STM32F4使用定时器单稳态加重复脉冲计数模式驱动步进电机

2021-08-25

STM32-MPU6050_DMP测试例程.zip

STM32-MPU6050_DMP 硬件iic

2021-08-25

实验24 硬件IIC-mpu10轴.zip

stm32f4硬件IIC读取十轴MPU6050数据

2021-08-25

stm32f4硬件iic程序

stm32f4硬件iic程序,已封装成库,直接调用库函数即可,不需要关心底层开发 亲测有效

2021-08-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除