- 博客(19)
- 收藏
- 关注
转载 PID算法原理及基本实现
在自动控制中,PID及其衍生出来的算法是应用最广的算法之一。各个做自动控制的厂家基本都有会实现这一经典算法。我们在做项目的过程中,也时常会遇到类似的需求,所以就想实现这一算法以适用于更多的应用场景。1、PID算法基本原理PID算法是控制行业最经典、最简单、而又最能体现反馈控制思想的算法。对于一般的研发人员来说,设计和实现PID算法是完成自动控制系统的基本要求。这一算法虽然简单,但真正...
2019-11-08 10:23:43 1034
转载 【VScode的坑及解决】安装VScode搭配c/c++环境出现“#include errors detected. Please update your includePath...”问题的解决
【问题描述】:高高兴兴如下一顿操作猛如虎后:1、vscode安装及c/c++插件的安装2、MinGW64安装及环境变量的添加3、配置文件的编写4、正准备高高兴兴的helloworld的时候:如下:就是没法引入头文件嘛,我想这简单,修改一通下面的includePath加上mingw64的include地址(下图是之前的):结果没用没有,然后网上各种找解决方案,都不行,花了两三个小时,内...
2019-10-25 11:14:48 1094
转载 c++大牛
Bjarne Stroustrup的博客: Bjarne Stroustrup’s HomepageBjarne Stroustrup,不认识的可以去面壁了,没有他,就没有我们现在的饭碗。Bjarne Stroustrup是丹麦人,目前任教于TAMU。他的Homepage和他的书籍The C++ Programming Language一样,都是百科全书级的,如果你认真研究,你也...
2019-10-22 09:45:39 514
转载 BLDC电机控制算法——FOC简述(偏公式)
最近做完了一个直流无刷电机的电机调速项目,查阅了各种大神所写的博客和论文,在这里我只做一下小小的总结; FOC(Filed Oriented Control)是采用数学方法实现三相马达的力矩与励磁的解耦控制。 主要是对电机的控制电流进行矢量分解,变成励磁电流IdId 。之后我将详细介绍一下这个算法的数学原理和一些自己的理解。FOC矢量控制总体算法简述输入:位置信息,两相采样电流值,(3相...
2019-10-22 09:17:43 7417
转载 无刷电机FOC控制笔记
矢量控制的核心思想是为了简化无刷电机的控制模型,将一个需要换相的无刷电机通过各种算法变换,抽象为一个直流电机的控制模型,只需要控制简单的两个直流分量来控制无刷电机,其中Vq抽象为直流电机的两端电压,Vd可调节电机力矩,但这个模型需要一个实时的电机轴角度θ参与计算。为了实现这个直流电机的控制模型,需要用到两个数学变换,即clarke变换和park变换。需要用到最原始的PID控制器等内容。&nbs...
2019-10-22 09:13:08 8282 1
转载 C++使用lambda表达式(一)
lambda表达式配合容器、迭代器使用最佳。对于C++这门语言来说来说,“Lambda表达式”或“匿名函数”这些概念听起来好像很深奥,但很多高级语言在很早以前就已经提供了Lambda表达式的功能,如C#,Python等。声明Lambda表达式Lambda表达式完整的声明格式如下: [capture list] (params list) mutable exception-> ...
2019-10-21 17:30:04 148
转载 编译器、Make和CMake之间的关系
之前在Linux下开发,太过于依赖IDE了,结果导致出现了某些编译依赖问题的时候,解决的效率太低,因此特别写了这一系列的笔记,作为学习的参考,也希望帮助有需要的孩砸。编译器和编译过程计算机最终只能识别机器码, 所以编译的最终目的是把C、C++源代码转换到机器码,实现这个过程的最核心的工具是编译器,Linux平台下最主流的编译器无非就是GCC和Clang这两个;当然也有调试过程和调试工具GDB,...
2019-10-16 17:06:48 250
转载 C++ Struct 也可以继承
最开始,就让我们来讨论一下一个最最基本,也最最容易被人忽视掉的问题——C++中的struct和class有什么区别?如果谈到C中的struct和C++中的class的区别,你应该会告诉我很多。但我现在说的是C++中的struct,你还会依然那样告诉我吗?你会认为C中的struct和C++中的struct是一样的吗?被我这样问道,或许你会吱吱呜呜的说:不一样吧。的确,是不一样,那么区别在哪里?其实...
2019-10-11 09:34:52 204
转载 STM32定时器---正交编码器模式详解
编码器分类: 按工作原理:光电式、磁电式和触点电刷式 按码盘的刻孔方式:增量式和绝对式两类 由于博主接触面还不是很广,一共就用过两个种类的编码器,都是属于光电的 差分编码器:一般由8根线连接 信号线分别为 A+ A- B+ B- Z+ Z- 以及VCC和GND 这里有一种不需要Z信号的,6线差分A+ A- B+ B- ...
2019-09-30 15:41:33 487
转载 TIM的输入捕获
输入捕获原理及配置步骤 一、输入捕获概念 STM32的输入捕获,简单的说就是通过检测TIMx_CHx (定时器X的通道X)上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA等。 二、输入捕获流...
2019-09-30 15:18:58 2176
转载 STM32定时器映射及其通道
TIMx,通道x,无映射,部分映射,完全映射定时器—通道引脚TIM1_CH1PA8,PE9TIM1_CH1PA8,PE9TIM1_CH3PA10, PE13TIM1_CH4PA11, PE14––TIM2_CH1PA15TIM2_CH2PA1, PB3TIM2_CH3PA2, PB10...
2019-09-30 10:50:25 2772
转载 STM32学习笔记之定时器(2)
文章结构:——> 一、定时器基本介绍——> 二、普通定时器详细介绍TIM2-TIM5——> 三、定时器代码实例 一、定时器基本介绍 之前有用过野火的学习板上面讲解很详细,所以直接上野火官方的资料吧,作为学习...
2019-09-29 16:53:58 436
转载 STM32的USART
实验目的:接收串口调试助手中的数据,然后将接收到的数据发送到串口调试助手上实验步骤:1.串口时钟使能,GPIO时钟使能2.引脚复用映射3.GPIO端口模式设置:GPIO_Init(); 模式设置为GPIO_Mode_AF4.串口参数初始化:USART_Init();5.开启中断并且初始化NVIC(如果需要开启中断才需要这个步骤)6.使能串口7.编写中断处理函数(如果需要中断,并且你开启了中...
2019-09-29 16:15:34 272
转载 STM32的输入捕获
实验目的:在串口调试助手上打印出按键按下的时间实验步骤:实验程序:/*******************************timer.c********************************/#include "sys.h"#include "stm32f4xx.h" extern u8 TIM5CHA1_CAPTURE_STA;extern u16 TI...
2019-09-29 16:14:17 249
转载 STM32的LED灯实验
实验目的:让我的开发板的LED灯亮灭闪烁实验程序:/*******************************led.c*********************************/#include "stm32f4xx.h" //在SYSTEM目录下可以找到,把ST官方的部分库抽取出来,组成了一个SYSTEM目录#include "sys.h" void LED_Init...
2019-09-29 16:12:48 635
转载 STM32学习笔记之定时器
实验目的:让蜂鸣器每隔一秒响一次;实验步骤:实验程序:[cpp] view plain copy/************************led.c***********************/ #include "stm32f4xx.h" //在S...
2019-09-29 15:51:43 996
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人