目录前言:小车效果展示:5路数字灰度传感器:巡线思路:加入PID调节的代码:前言: 之前买了一批5路灰度传感器,想用这传感器进行循迹,无奈网上和官方的资料提供的还是比较少,这里还是做一下当初的学习记录。小车效果展示:STM32RCT6主控,5路灰度寻迹,超声波HC_SR04中断式测距,蓝牙模块HC_08通信,AS4950电机驱动芯片,减缓了MPU6050零漂问题,PID丝滑_哔哩哔哩_bilibili5路数字灰度传感器: 这是某宝上买的5路灰度传感器,价格稍微有点贵,50多块一个。当然,一分钱一分货,这个模块可以用小螺丝刀来调节传感器上面的旋钮,通过这个旋钮来调节灵敏度,这个灵敏
目录前言:小车效果展示:5路数字灰度传感器:巡线思路:加入PID调节的代码:前言: 之前买了一批5路灰度传感器,想用这传感器进行循迹,无奈网上和官方的资料提供的还是比较少,这里还是做一下当初的学习记录。小车效果展示:STM32RCT6主控,5路灰度寻迹,超声波HC_SR04中断式测距,蓝牙模块HC_08通信,AS4950电机驱动芯片,减缓了MPU6050零漂问题,PID丝滑_哔哩哔哩_bilibili5路数字灰度传感器: 这是某宝上买的5路灰度传感器,价格稍微有点贵,50多块一个。当然,一分钱一分货,这个模块可以用小螺丝刀来调节传感器上面的旋钮,通过这个旋钮来调节灵敏度,这个灵敏
PID算法介绍PID是Proportional(比例)、Integral(积分)、Differential(微分)的首字母缩写;是一种结合比例、积分和微分三种环节于一体的闭环控制算法。PID控制的实质是对目标值和实际值误差进行比例、积分、微分运算后的结果用来作用在输出上。比例(P)比例控制是最简单的一种控制方式,成比例的反应控制系统中输入与输出的偏差信号,只要偏差一旦产生,就立即产生控制的作用来减小产生的误差。比例控制器的输出与输入成正比关系,能够迅速的反应偏差,偏差减小的速度取决于比例系数Kp,Kp越大偏差减小的就越快,但是极易引起震荡;Kp减小发生震荡的可能性减小,但是调节的速度变慢,单纯
PID算法介绍PID是Proportional(比例)、Integral(积分)、Differential(微分)的首字母缩写;是一种结合比例、积分和微分三种环节于一体的闭环控制算法。PID控制的实质是对目标值和实际值误差进行比例、积分、微分运算后的结果用来作用在输出上。比例(P)比例控制是最简单的一种控制方式,成比例的反应控制系统中输入与输出的偏差信号,只要偏差一旦产生,就立即产生控制的作用来减小产生的误差。比例控制器的输出与输入成正比关系,能够迅速的反应偏差,偏差减小的速度取决于比例系数Kp,Kp越大偏差减小的就越快,但是极易引起震荡;Kp减小发生震荡的可能性减小,但是调节的速度变慢,单纯
目录一.简介二.电机通信协议三.电机PID控制原理四.官方代码移植-中断接收五.官方代码移植-查询接收一.简介之前写过一篇文章STM32实现四驱小车(五)电机控制任务——电机速度PID控制算法,其中是以大疆的M3508电机为例进行讲解的(没错,就是RoboMaster机器人同款电机,不过Robomaster上的电机好像是小一号的M2006)。不少小伙伴私信问我要代码,我都回复说不是有官方demo么。后来问的人多了我大概明白了,看来官方的Demo还是有点门槛。可能是带FreeRTOS操作系统看不懂,或者对CAN通信一知半解,或者电机PID控制理解不了,或者代码框架不太能跟上。于是决定单独写一篇专
目录一.简介二.电机通信协议三.电机PID控制原理四.官方代码移植-中断接收五.官方代码移植-查询接收一.简介之前写过一篇文章STM32实现四驱小车(五)电机控制任务——电机速度PID控制算法,其中是以大疆的M3508电机为例进行讲解的(没错,就是RoboMaster机器人同款电机,不过Robomaster上的电机好像是小一号的M2006)。不少小伙伴私信问我要代码,我都回复说不是有官方demo么。后来问的人多了我大概明白了,看来官方的Demo还是有点门槛。可能是带FreeRTOS操作系统看不懂,或者对CAN通信一知半解,或者电机PID控制理解不了,或者代码框架不太能跟上。于是决定单独写一篇专
今天在学习mysql二进制日志的时候需要在编辑my.cnf的文件,产生的一系列报错,个人的排错思路和方法,仅供参考。重启damon、重启mysql发现报错StartingMySQL.ERROR!TheserverquitwithoutupdatingPIDfile(/usr/local/mysql/data/mysqld.pid).发现注释这三行配置之后发现可以正常启动,那么问题就出现在这三行代码上log-bin=mysql-bin #binlog_expire_logs_seconds=600#max_binlog_size=200M 查询日志发现报错:Youhaveenabledtheb
今天在学习mysql二进制日志的时候需要在编辑my.cnf的文件,产生的一系列报错,个人的排错思路和方法,仅供参考。重启damon、重启mysql发现报错StartingMySQL.ERROR!TheserverquitwithoutupdatingPIDfile(/usr/local/mysql/data/mysqld.pid).发现注释这三行配置之后发现可以正常启动,那么问题就出现在这三行代码上log-bin=mysql-bin #binlog_expire_logs_seconds=600#max_binlog_size=200M 查询日志发现报错:Youhaveenabledtheb
今天看野火的直流有刷电机pid控制的教程视频,整个代码实现过程看了好几遍后还是感觉云里雾里,尤其是速度环、位置环、位置速度双环这样看下来,虽然老师视频里该说的都说了,自己也能明确感受到位置环与位置速度双环是有区别的,但不好好捋一下还真没一下领略到位置环与双环的核心区别所在。关于pid算法的具体公式在此就不做说明了,网上能轻易搜索到。本篇主要从思路层面进行阐述。一、位置环的本质了解位置环之前必须要先了解速度环,因为位置环的本质是根据位置关系输出速度,控制速度环(这点视频里没明确说,感受了老半天才理解透了这点)二、速度环工作流程①设定一个目标速度值②读取当前电机速度数据值③对所读到的速度数据进行p
今天看野火的直流有刷电机pid控制的教程视频,整个代码实现过程看了好几遍后还是感觉云里雾里,尤其是速度环、位置环、位置速度双环这样看下来,虽然老师视频里该说的都说了,自己也能明确感受到位置环与位置速度双环是有区别的,但不好好捋一下还真没一下领略到位置环与双环的核心区别所在。关于pid算法的具体公式在此就不做说明了,网上能轻易搜索到。本篇主要从思路层面进行阐述。一、位置环的本质了解位置环之前必须要先了解速度环,因为位置环的本质是根据位置关系输出速度,控制速度环(这点视频里没明确说,感受了老半天才理解透了这点)二、速度环工作流程①设定一个目标速度值②读取当前电机速度数据值③对所读到的速度数据进行p