返回第17章 实现功能与产品级的差距(2 / 2)三胖首页

关灯 护眼     字体:

上一页 目录 下一章

章涵抬头看了一眼,又看回电脑屏幕,从电脑包里拿出一个小盒子,推了出去,说:“实际调参一个项目,成功了再说吧。”

电机连接着角速度传感器,角速度传感器的轴上挂着一个如时针的大箭头,大箭头上有几块不规则的配重;另外一侧,则是红外距离传感器。

输入信号是距离,转化为电压,作为目标值。

控制量则是角度传感器的位置。

控制器是小巧的Arduino Micro。

章涵把小设备通电,然后手掌放在红外测距传感器前面,随着他手掌与测距传感器的距离变化,角度传感器轴上的指针就稳稳停在对应的位置。

响应快速,且无抖动。

由于指针的不同位置设置了不规则配重块,也就是说指针的任何角度受力都差异很大。

这无疑是极为优越的自控算法程序。

刷掉了程序,留下一句话:“后天上午电赛选题了,想做自控题,先在明天晚上之前把参数和代码调试出来再说。”

说完,章涵抱着电脑,潇洒而去。

金榜心说,章师兄强是强的,就是爱装B。

六名本科生有些发憷。

短短一周半的接触,对章博士产生PTSD。

周峰说道:“刘牧,你带他们六个调试一下,金榜,你还是当助教。”

“好的,周老师。”

金榜很愉快地答应下来。

这一段程序代码其实很复杂。

刘牧思索片刻,就开始动手尝试。

先写一个完整的PID控制程序,很简单,AI端口采集距离传感器的电压作为目标;拿出三个DO端口作为电机驱动模块TB6612的控制信号。

这是常规操作。

在控制器Arduino Micro与电机之间,必须增加电机驱动模块。

因为控制器的端口输出电流很弱,只有20mA。

而电机在刚通电的一瞬间相当于短路,瞬时电流会非常大。

那么,电机驱动模块就相当于一个电流放大器。

写代码花了20分钟,调试PID参数大概30分钟。

指针总算能够随着手掌距离变化而转动起来。

只是不够顺滑,且指针有很明显的抖动现象。

章涵夹着电脑又走了进来,看了一会儿刘牧的调试过程。

他哼了一声,嗤之以鼻道:“我之前的代码是花了一周时间,反复修改优化,达到了产品级的动态性和稳定性,你这代码仅仅是实现功能,你要知道实现功能和产品级之间,有条巨大的鸿沟;不过,你一个高二学生做到功能实现,也比他们七个废柴强很多了。”

七个?金榜很不爽,为什么要带上我。

六名本科生顿时脸色一黑。

章涵不管别人看法,继续问:“你们知道这其中的难点在哪儿吗?难在哪儿都不知道,会让你们坐井观天,幼稚而不自知。”

『加入书签,方便阅读』

上一页 目录 下一章