
平衡小车
文章平均质量分 92
零基础制作第一个项目实战---平衡小车
D_SEngineer
这个作者很懒,什么都没留下…
展开
-
平衡小车控制板(开源PCB、源码、3d模型)
平衡小车项目最后一贴。至上次发帖有20多天的时间了,上一贴说的PCB,这一贴来了。不仅有PCB,还有3D图纸哦。自从上次发帖之后,大概用一周时间将地板画完调试好,画完PCB之后又花了一周多时间从零基础开始一点一点的画了一版3D图,中间熬了几个夜也算没有白熬。效果图一会放下面,自我感觉还行。项目结束了,送些福利给大家。该贴留言邮箱,全套开源资料都给你。别忘了一键三连哦。最后贴一句鸡汤:别让自己在该努力的年纪去享受,更不能让自己在该享受的年纪去努力。...原创 2020-11-19 13:45:59 · 4660 阅读 · 95 评论 -
零基础制作平衡小车【连载】14---平衡小车调参
调参过程一:前言二:调参过程三:总结一:前言发现少了一节调参,今天补上,关于这个项目先说两句吧。参数调节最好自己做个实物出来,慢慢调节。根据前面的PID理论部分的知识,慢慢体会一下各个参数在实际项目中的作用,这样才能真正学会PID。关于平衡小车这个项目到这应该是最后一节教程了,后面会更新加入蓝牙的代码,有时间会画一版PCB,直接引出引脚,模块即插即用,比较方便。关于PCB教程就不出了,网上很多软件学习的视频,跟着画个板子就行了。这也不涉及到高频信号,所以比较简单。另外下一个项目准备继续围绕平衡小车原创 2020-10-29 09:46:24 · 5962 阅读 · 1 评论 -
零基础制作平衡小车【连载】13---平衡小车代码讲解(附源码)
前言今天聊一聊代码,只有直立功能的代码。代码总体思路给定一个目标值,单片机通过IIC和mpu6050通信,得知数据后,根据角度环计算出一个PWM值给电机驱动器,从而控制单机转动。电机转动,编码器就会输出脉冲,单片机通过编码器模式检测脉冲值,并把该值代入速度环计算出一个角度值送给角度环,角度环在输出PWM给电机,以此循环。其实就是上节的框图,再贴一遍。程序程序部分为了减少篇幅,之前讲解的编码器模式及pwm等代码都不在讲解,原理都一样,只是引脚不同,我只把重点代码说一下。如果想看这部分代码的同学,后原创 2020-10-15 09:10:10 · 13472 阅读 · 9 评论 -
零基础制作平衡小车【连载】12---平衡小车控制原理
前言截止目前,初代小车已经调试完毕,功能上只能直立,后期还会加上更多功能。马上十一了,终于有时间可以更新教程了。前面关于pid的内容也已经更新完毕,如果你是跟着我的教程走的话,那么现在的你最起码对PID已经有所了解了,那么后面我就主要讲解一下平衡小车的控制原理。结合理论和实践,测地学会PID。一、平衡小车为什么会倒?说到这,那就不得不复习一下高中的物理知识-----受力分析。先看看下面一张图,来个受力分析:受力分析说明:如图所示,单摆摆长为L,摆球质量为m,从平衡位置О运动到某点A(不是最高点原创 2020-10-07 21:16:09 · 6844 阅读 · 5 评论 -
零基础制作平衡小车【连载】11---位置式PID调参(附源码)
之前章节已经把PID从理论到时间基本上讲完了,剩下一个位置式PID就能收尾了。赶紧更完,就开始平衡小车下一步制作了。最近也是比较忙,更贴慢了很多。不过,这个零基础教程我还是要坚持写完的。位置式PID部分主要代码/********************位置式 PID 控制设计************************************/unsigned int LocPIDCalc(int NextPoint){ int iError,dError; iError = SetPo原创 2020-09-03 23:03:50 · 3120 阅读 · 1 评论 -
零基础制作平衡小车【连载】10---PID调参
PID实战也已经结束了,基本上也算上是一个小项目了完成了,既然完成了,这篇就来做个总结一下吧。PID调参首先说说调参吧,关于PID调参,我用一句话总结一下:跟着感觉走。为啥要这样说呢,因为对于初学者来说,只是写个程序,然后用试凑法进行匹配PID三个系数,以此来达到较好的控制效果。试凑法是什么,不就是跟着感觉走嘛,这种感觉就跟写英语试卷一样。不过话又说过来,这个感觉可不是随心所欲,为所欲为的,这也是有一定理论基础支撑的。一般调节方法我做个总结,如下:1.先调节P项,其他项系数都设为0这个P项怎么调原创 2020-08-25 14:44:01 · 2626 阅读 · 0 评论 -
零基础制作平衡小车【连载】9---增量式PID实战(附源码)
终于到实战阶段了,前面学习的理论部分着实令人乏味呀。今天来看看增量式PID怎么在STM32中实现控制电机恒速运行的。代码实现的功能按键设定目标转速stm32通过pwm控制电机维持目标转速运转并且具备显示功能,把重要参数显示在屏幕上部分重要源码讲解pwmpwm的生成之前章节已经讲解过了,在这里就不复述了,直接上代码。编码器输入不懂的可以仔细看看代码注释,注释也看不懂的,可以翻翻我之前的帖子,代码如下:按键按键很简单,我注释的也很详细,这个也不用多说了吧,直接代码:增原创 2020-08-19 22:07:04 · 2424 阅读 · 3 评论 -
零基础制作平衡小车【连载】8---位置式PID和增量式PID
上一节说的PID公式属于位置式PID,位置式PID控制的输出与整个过去的状态有关,用到了误差的累加值,而增量式PID的输出只与当前拍和前两拍的误差有关。就温控系统来说,位置式PID输出的结果就是PWM占空比最终值,如果用增量式就是PWM占空比相比上次输出增加(减少)的值。比如用位置式控制,计算结果是100,那么占空比就是100%,如果用增量式控制,计算结果是20,那么占空比就是(上次输出值+20)%。增量式PID公式推导假设上一次输出是OUTk-1,这次输出的是OUTk,两个相减:△OUT=OUTk原创 2020-07-20 12:05:47 · 2724 阅读 · 4 评论 -
零基础制作平衡小车【连载】7---模拟PID到离散型PID的转换
上一节对PID三个参数进行了分析,知道了三个参数各自的优缺点,这节我们将三个参数整合到一起,通过他们之间优缺点互补,真正形成一个稳定的系统。模拟型PID公式这是模拟PID公式,对于这个公式,你要知道:Kp :放大系数e(t):误差(t代表第t时刻采样得到的误差)Ti :积分系数,可以理解为一个常数Td:微分系数,可以理解为一个常数另外一点就是,我们使用单片机进行PID运算,是不能采用模拟量PID的,因为单片机本身就是一个数字系统,里面只有0和1,因此不能处理模拟信号,只能将模拟信号转换成数原创 2020-07-20 10:54:44 · 1422 阅读 · 0 评论 -
零基础制作平衡小车【连载】6---PID参数的分析
上一节我们知道了什么是位式控制,这节就正式进入PID的学习。简单画了一个系统的控制流程图:系统说明:假设该系统是一个温控系统,用户可设定目标值Sv,单片机检测了用户输入的值之后,通过PID算法进行计算,得出一个值去输出PWM,PWM去控制加热丝的电源,加热丝就是被控对象。加热丝旁边有个温度传感器,可以实时监测加热丝的温度,并反馈给单片机一个当前的温度值Pv。之后单片机将Sv和Pv进行PID运算,根据计算结果再次改变PWM的值,就这样以此循环下去。第一个时间点采样值为X1,第二个时间点采样值为X2,原创 2020-07-11 15:39:39 · 1883 阅读 · 3 评论 -
零基础制作平衡小车【连载】5---位式控制理论
电机转速调节截止到上一章节已经完成了,从pwm的输出,到编码器的采集,代码的实现已全部完成。但是光有这些很明显不够呀,接下来就开始进入到PID的学习了。要想学会PID,不得不先学习一下简单的位式控制理论。什么是位式控制?位式控制又称通断式控制,是将测量值与设定值相比较之差值经放大处理后,对调节对象作开或关控制的调节。看定义不太好理解,下面我们就举个栗子。假设我们现在在开车,切记该车非彼车。我们想让车速维持在100,如果要是用位式控制理论的思想来开车,是这样开的:当我看到表盘车速表指针小于100时原创 2020-07-10 17:27:51 · 1716 阅读 · 7 评论 -
零基础制作平衡小车【连载】4---STM32定时器编码器模式(附源码)
回顾上一章节学习了PWM生成,刚好买的元器件也都到了。测试下代码,完美运行。这不又趁着周末,进行下一个环节—定时器编码器模式。目的是为下一步PID控制做准备。遇到的问题周末学习编码器模式也是一波三折呀,没人指点真的是寸步难行呀。气的直咬牙。说说啥情况:我用上节的PWM输出控制电机旋转,用编码器采集脉冲,想把这个脉冲显示在LCD上,就这个显示功能捣鼓了一天多,最后还是没成功,最后没办法了,只能串口打印出来。就在昨天晚上准备更新博客的时候想想不能就这么算了,又去调试了几下,奇迹出现了,LCD竟然可以原创 2020-07-07 09:52:26 · 4734 阅读 · 11 评论 -
零基础制作平衡小车【连载】3---STM32生成PWM控制电机旋转
平衡小车制作过程3—电机篇【1】制作平衡小车肯定会用到电机,那么怎么控制呢?最简单的就是直接加电压,这样电机就能转动,但是至于转多少圈,转的快慢是不能控制的。这就不符合我们平衡小车的控制要求。这就需要用到PWM模式来控制电压的大小,从而控制转的快慢。至于转了多少圈,就要用到编码器了。今天先来看看怎么控制小车转的快慢吧,一步一步来。直流有刷电机的原理简单说下有刷电机的工作原理,其实很简单,稍微懂点物理的就能看懂吧。上面这张图应该都见过吧(因为你现在就在看着它呢,手动滑稽)。小时候四驱赛车的那种黄色小原创 2020-07-02 15:47:44 · 5666 阅读 · 0 评论 -
零基础制作平衡小车【连载】2---元器件购买
平衡小车制作过程2---元器件购买元器件元器件1.单片机 :stm32f103ZET6,第一版先用自己的开发板吧,后面做成了在集成2.电机:带编码器的减速电机,我买的带轮胎的电机3.稳压模块:LM2596稳压模块4.洞洞板若干,第一版决定用洞洞板搭建小车,后面在定做亚克力吧。5.杜邦线若干6.MPU6050传感器7.电机驱动器TB66128.电源—12V锂电池具体链接就不发了。基本上差不多了,等待到货。...原创 2020-06-30 16:24:49 · 3099 阅读 · 0 评论 -
零基础制作平衡小车【连载】1---大纲
平衡小车制作过程1---大纲前言大致流程前言 发个连载,记录自己的成长,本次连载项目是制作一个平衡小车,几乎零基础吧。大致流程 平衡小车嘛,从我现在的认知,主要学习的知识应该是以下几点: 1.单片机 2.电机控制 3.PID算法 4.传感器(MPU6050) 主要是以上4点吧,细分的话就很多了。比如单片机,控制电机的话就要PWM输出了,输出之后还要检测呀,怎么检测呢,输入捕获呗。电机怎么控制,通过单片机向驱动器发送PWM,控制电压,电压大小决定速度,速度快慢通过编码器采集,采集完转原创 2020-06-30 16:04:30 · 3005 阅读 · 2 评论