SAST daily 只谈技术不谈情怀

 

电设经验的一点点总结...



SAST daily出现在无限之声的专栏中啦! 

点击无限之声菜单栏左侧“无限精彩”,即可查看SAST daily往期的精彩内容!
是的,一年一度的电子设计大赛在上个周末终于结束了,身为一个参赛选手,自然是感慨万千,但是,这里只谈技术,不谈情怀。

我只是想讲一点点人生经验。
好好学习,天天向上
那么,如何优雅的控制一辆小车呢


首先我们得熟悉PWM的那套理论
0x00

所谓PWM,就是Pulse Width Modulation,这里洋文好的人多得很呐,我就不翻译了,据说外行人都把这东西叫做脉冲宽度调制。(什么?你问我内行人,内行人当然叫它PWM啦。。。)

0x01

PWM的一大作用,就是用一个个宽度不同的脉冲,来模拟一个连续变化的信号,学过电电的娃娃都知道,对于一个时不变的电气系统,只要知道他的冲激响应函数(只考虑积分收敛的情况。。),就可以用卷积算出任意激励下的响应了。


0x02

这种方法,就是把一段很小的时间内的激励,看成是一个冲击激励,当然,这只是一个极端抽象的情况,现实中当然不可能出现冲激激励,只能是一定程度上的近似,那么,我们不妨可以把一个持续时间很短(相对与观测尺度来说),强度有限的激励看成是一个冲激激励,也就是说,用脉冲是可以模拟一个变化不那么剧烈的激励信号的。

0x00

唔。。似乎很啰嗦。还是来看张图吧
0x01

大概就是。。根据函数值的大小,来调整脉冲的宽度,使得响应尽量相近,如果出现负值的话,则需要改变脉冲的正负。

0x02

当然,实际用在小车的控制上的,并不需要这么复杂的调制,只需要简单的调整占空比就可以了哇~(当然如果你想像决赛场上那两辆无聊的小车一样用电机发声,还希望音色比较棒的话,就需要学习一个了)


除了调速,当然还需要知道方向啦
0x00

一辆车的控制,当然是需要速度的控制的,但是也要考虑到角度的把握。你当然可以假设小车短时间内做匀加速运动,靠上位机提供的坐标来计算角度,但是如果你想更精确的控制的话,就不能满足于此了,我们需要用上传说中的陀螺仪~
0x01

对的,就是这个可爱的小板子,世人称之为MPU6050,它相当于一个姿态传感器,随时传给你角速度的信息,你可以在自己的程序中进行积分和卡尔曼滤波,也可以利用模块中带的算法直接得到的四元数通过简单的计算转换成欧拉角获得小车的姿态。


0x02

当然,这其实是很玄学的一部分,角度会随着时间慢慢的不准,需要在程序中加入在合适的时候校正角度的算法。不然会出现不可言说的情况。
有了上面两个东西,就可以开始优雅的控制小车啦~~
0x00

不过,个别参赛的同志们是不是想说虽然调通了以上两个东西,可还是不能优雅的运动?


0x01

那当然啦。哪能那么简单
0x02

不过有了以上的基础,就可以开始进行比较精确的控制啦~一个常用的控制方法叫做PID控制,全名叫做比例积分微分控制。


0x00

PID的话毕竟是个需要调节参数的东西。。参数调的好,神仙都吓跑

0x01

其中的P指的是比例系数,相当于强行给一个线性驱动力来维持稳定,D指的是微分系数,防止速度太快冲过平衡点用的,相当于人为引入的阻尼系数。这两个都比较显然,容易想到。至于I的话,指的是积分项的系数,为什么要引入积分项呢。。。反正我无法直观的理解。据说你只要把运动方程写出来,就会发现积分项的引入使得相图上多了个零点,把I型系统变成II型系统,使得控制更加稳定啥的。
讲真,到这里就可以优雅的控制一辆小车了(我指的是调好PID参数之后),至少我们决赛代码中对于电机的控制只到这里了。

当然如果你要继续深究,引入多变量系统,解耦各个参数,利用遗传算法调参,或者定义一个模糊集,考虑模糊逻辑,机器学习控制,那么我也不拦着你,祝您跑得比西方记者还快
这些都只是硬件的一点点东西,当然软件也是很重要的,优雅的代码结构可以让维护变得出奇的简单
0x02

所谓优雅的代码,就像这样:
0x00

哦漏。。放错图了,整体结构大概是这样:
0x01

每个文件大概长这样:
0x02

带main的文件长这样:
0x00

总之。。说实话,很大一部分代码最终并没有用上,写这些代码主要出于审美的享受(误),但是这么做真的使得各种改动都很方便,不至于牵一发而动全身。

以及,优雅的代码最重要的一点是你会想给他们起一个优雅的名字。可以很好的促进英语学习。
当然,(严肃脸)个人觉得最重要的还是队友之间的分工合作,每个人负责一个部分,只要大家都认真靠谱,就可以省去很多麻烦,而且,到了赛前需要熬夜的时候,有人互相鼓励互相支持才会有坚持下去的动力。


0x02

顺便,这是我们的PCB设计图
0x01

这是机械结构图
???
0x01

随便扯了一点东西,相信对大家没有什么帮助。。


0x02

最后,祝大家在国林gg的陪伴下度过一个轻松愉快的周末。




最最后

还是想挂一下这辆披着黑色铠甲,闪烁异样光辉的小车。

撰稿、排版:黄铭涛

审核:温拓朴


    关注 无限之声


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册