硬件工程师成长之路(7)——算法学习
系列文章目录
1.元件基础
2.电路设计
3.PCB设计
4.元件焊接
5.板子调试
6.程序设计
7.算法学习
8.编写exe
9.检测标准
10.项目举例
11.职业规划
文章目录
- 前言
- 算法大全
- 一、控制算法
- 1、PID算法
- ①、PID算法的解析
- ②、PID控制算法讲解
- ③、PID参数解析(一文读懂PID并会调试kp,ki,kd)(位置式+增量式PID)
- ④、STM32——PID恒温控制(含C语言程序)
- ⑤、PID参数调节口诀
- ⑥、PID温度控制参数整定方法
- ⑦、Matlab调试
- ⑧、个人经验
- ⑨、串口波形调试助手
- 二、滤波算法
- 三、其他算法
- 1、字符串模式匹配
- 2、排序算法
- ①、直接插入排序
- ②、希尔排序
- ③、直接选择排序
- ④、堆排序
- ⑤、冒泡排序
- ⑥、快速排序
- ⑦、归并排序
- ⑧、基数排序
- 四、可视化算法网站
- 1、VisuAlgo
- 2、algorithm-visualizer
- 五、数据校验
- 1、C语言版CRC-16系列校验算法
- 六、数据转换
- 1、十进制转16进制
前言
送给大学毕业后找不到奋斗方向的你(每周不定时更新)
【牛客网】构建从学习到职业的良性生态圈
中国计算机技术职业资格网
上海市工程系列计算机专业中级专业技术职务任职资格评审
算法大全
1、风仲达——算法笔记
2、坐在马桶上学算法
3、啊哈算法
一、控制算法
1、PID算法
①、PID算法的解析
PID算法的解析
②、PID控制算法讲解
通俗易懂的 PID 控制算法讲解
③、PID参数解析(一文读懂PID并会调试kp,ki,kd)(位置式+增量式PID)
PID参数解析(一文读懂PID并会调试kp,ki,kd)(位置式+增量式PID)
④、STM32——PID恒温控制(含C语言程序)
STM32——PID恒温控制
⑤、PID参数调节口诀
参数整定找最佳,从小到大顺序查
先是比例后积分,最后再把微分加
曲线振荡很频繁,比例度盘要放大
曲线漂浮绕大湾,比例度盘往小扳
曲线偏离回复慢,积分时间往下降
曲线波动周期长,积分时间再加长
曲线振荡频率快,先把微分降下来
动差大来波动慢。微分时间应加长
理想曲线两个波,前高后低4比1
一看二调多分析,调节质量不会低
若要反应增快,增大P减小I;
若要反应减慢,减小P增大I;
如果比例太大,会引起系统振荡
如果积分太大,会引起系统迟钝
⑥、PID温度控制参数整定方法
先多看两个,来点印象,再调
1、PID温度控制参数整定方法
2、PID控制参数整定(调节方法)原理+图示+MATLAB调试
3、PID原理的详细分析及调节过程
4、PID调节经验
5、控温设备的PID参数选定的个人方法(真实有效)
(1) 确定比例系数Kp
确定比例系数Kp时,首先去掉PID的积分项和微分项,可以令Ti=0、Td=0,使之成为
纯比例调节。输入设定为系统允许输出最大值的60%~70%,比例系数Kp由0开始逐渐增
大,直至系统出现振荡;再反过来,从此时的比例系数Kp逐渐减小,直至系统振荡消失。
记录此时的比例系数Kp,设定PID的比例系数Kp为当前值的60%~70%。
(2) 确定积分时间常数Ti
比例系数Kp确定之后,设定一个较大的积分时间常数Ti,然后逐渐减小Ti,直至系统出现
振荡,然后再反过来,逐渐增大Ti,直至系统振荡消失。记录此时的Ti,设定PID的积分
时间常数Ti为当前值的150%~180%。
(3) 确定微分时间常数Td
微分时间常数Td一般不用设定,为0即可,此时PID调节转换为PI调节。如果需要设定,
则与确定Kp的方法相同,取不振荡时其值的30%。
(4) 系统空载、带载联调
对PID参数进行微调,直到满足性能要求。
⑦、Matlab调试
(1)、2016 matlab 中文版软件和安装教程
2016 matlab 中文版软件和安装教程
(2)matlab实现pid仿真
matlab实现pid仿真
搜索,PID
⑧、个人经验
刚碰到这个东西的时候,也啥都不知道,跟着网上各种教程就瞎调,最终还真调出来了
(1)、首先先有程序,上面第四小节有,PID.c和PID.h可以直接用;讲的还是比较细的。
(2)、程序只是套用,调还得自己花时间调,主要调KP,Ti和Td;
(3)、先把KP设为1,其他为0;看输出波动情况
如果输出的实际值一直缓慢上升,超过设定值了还上升,上升了好久才下来,这时应该是
KP设小了
(4)、KP等于刚才的值不动,TI等于100000,TD还是0;
(5)、KP,TI等于刚才确定的值,TD等于1。
以上为正常情况,下面还有不正常情况
1、检测端有问题
当不管怎么调整,输出就是要么一直偏高,要么一直偏低,这时候就要看看是不是你的检测的这个信号有没有问题。
2、输出端有问题
当不管怎么调整,输出就是要么一直振荡着有缓慢上升趋势或下降趋势,这时候就要看看是不是你的输出端有问题;举个例子,假如控制到100,那么100就是保持信号,101就是当前还没达到设定值,加大输出信号,同理99就是减小输出信号。如果在线调试,99成了加,或者101成了减,那么就会出现上面的情况。
以上均为个人经验,欢迎指正。
⑨、串口波形调试助手
纸飞机调试助手
纸飞机串口调试助手观察mup6050数据波形
二、滤波算法
嵌入式开发中常见用的10种数字滤波算法
三、其他算法
1、字符串模式匹配
2、排序算法
算法中的排序问题总结,时间复杂度为O(n)的排序,计数排序,桶排序,基数排序
①、直接插入排序
②、希尔排序
③、直接选择排序
④、堆排序
⑤、冒泡排序
⑥、快速排序
⑦、归并排序
⑧、基数排序
四、可视化算法网站
1、VisuAlgo
VisuAlgo
该网站特点:
算法可视化
文字讲解
复杂度备注
图形可操控调整
2、algorithm-visualizer
algorithm-visualizer
该网站特点:
算法可视化
有代码
有控制台输出帮助理解
算法种类丰富
五、数据校验
1、C语言版CRC-16系列校验算法
CRC-16 CCITT
C语言版CRC-16系列校验算法
六、数据转换
1、十进制转16进制
硬件工程师成长之路(7)——算法学习相关推荐
- 硬件工程师成长之路(11)——职业规划
系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言 一.求学 ...
- 硬件工程师成长之路(6)——程序设计
系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言 如果发现 ...
- 硬件工程师成长之路(0)----认识元件
系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言 1.电阻 ...
- 硬件工程师成长之路(3)——PCB设计
系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言 一.PC ...
- 硬件工程师成长之路(5)——板子调试
系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言 Easy ...
- 硬件工程师成长之路(9)——检测标准
系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言 前言 一 ...
- 网络工程师----成长之路
网络工程师----成长之路 常用程序快捷键命令(网络工程师) 常用CMD命令(网络工程师) 常用Linux命令(网络工程师) 问题点宝库 第一章:一.網絡工程師–简介 第二章:二.网络工程师学习阶段– ...
- 精品课python_python工程师成长之路精品课程(全套)
python工程师成长之路精品课程(全套) 有需要联系我:QQ:1844912514 什么是Python? Python是一门面向对象的编程语言,它相对于其他语言,更加易学.易读,非常适合快速开发. ...
- 电系魔法师成长之路—仪器仪表学习(二)设计T型和Π型衰减器
电系魔法师成长之路-仪器仪表学习(二)设计T型和Π型衰减器 一.用途 衰减器是一种提供衰减的电子元器件, 广泛地应用于电子设备中,它的主要用途是:(1)调整电路中信号的大小:(2)在比较法测量电路 ...
最新文章
- C++ 之 string
- linux下安装和卸载vmware产品
- Python程序设计题解【蓝桥杯官网题库】 DAY5-基础练习
- 只显示小方格_木托盘拼成院子围栏,镂空方格里都种上菜,一物两用,收获满满...
- ROW_NUMBER、RANK、DENSE_RANK的用法
- MySQL_前缀索引_建立
- 安卓应用安全指南 4.3.2 创建/使用内容供应器 规则书
- 【Kafka】kafka 监控指标项
- 是什么计算机接入网络的接口设备,什么是计算机接入网络的接口设备
- Android中那些有你不知道的事
- matlab gaot工具箱安装详细说明
- 【android 高德地图出现定位失败key鉴权失败,获取 SHA1,对比是否正确】
- 股票什么时候买入什么时候卖出适合?
- 不断尝试,做更好的自己|Fabia,很高兴再认识你
- [Windows] 系统安装利器WinNTSetup4.2 x86/x64 Final单文件版
- 2014年放假安排时间表
- Mac下从安装Git到使用github进行版本控制(git命令/Xcode管理)
- maven项目模块开发
- 图的邻接矩阵存储及遍历
- java怎么跳出for循环循环_java如何跳出for循环?