• 正文
  • 相关推荐
申请入驻 产业图谱

不写一行代码,电机居然也能转起来?还有技术大神的位置的吗?

08/04 09:28
234
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

AI发展日新月异,从Chat GPT的横空出世,引发人工智能热潮,到Gemini,Claude,Deepseek,Kimi等各路豪杰并起,科技的发展不再是以年计算,而是每月每日都在进化,并不停涌现出新的巨兽,让人应接不暇,手忙脚乱,头晕目眩!

这次科技浪潮对嵌入式人员将产生什么影响?程序员会沦为工业革命时的马车夫吗?还是催生更多的机会?现在还真的很难说。就拿Claude来说,他的编程能力确实已经到了让人震惊的程度。

电机控制一直是嵌入式领域里比较难的方向,搞不好经常有烧管子,烧电机的情况。那我们用它来测试以下AI的能力。下面是淘宝购买的一个电机驱动的套件,核心是STM32F103RCT6,通过6路PWM接至IR2101S与驱动,功率级通过IRF540N驱动,接至电机的UVW三相线。

开始我们把原理图直接上传给Claude,然后输入电机的主要参数,让它直接写一个开环控制电机跑起来的程序。可似乎不太理想,Claude试着调用Python,在本机没找到,然后用PowerShell直接解压PDF内容提取文字,每页的文本连同坐标抽出来,结果文本被拆成了碎片。有点儿失望啊!

看来大模型电路图的理解能力不太行啊。等等,是不是可以曲线救国?我们把电路图用Gemini解读一下。结果非常好,比如它对PWM驱动三相MOS管的描述非常清晰:

PWM 驱动信号流向 (连接至高级定时器 TIM1)系统采用 TIM1 的 3对互补 PWM 信号控制逆变桥: U相:High-Side 连接至 PA8 (TIM1_CH1) -> U相驱动IC (HIN) -> Q1;Low-Side 连接至 PB13 (TIM1_CH1N) -> U相驱动IC (LIN) -> Q2。 V相:High-Side 连接至 PA9 (TIM1_CH2) -> V相驱动IC (HIN) -> Q3;Low-Side 连接至 PB14 (TIM1_CH2N) -> V相驱动IC (LIN) -> Q4。 W相:High-Side 连接至 PA10 (TIM1_CH3) -> W相驱动IC (HIN) -> Q5;Low-Side 连接至 PB15 (TIM1_CH3N) -> W相驱动IC (LIN) -> Q6。

现在好了,我们把连接关系重新给到Claude。没多久,一个工程从零创建好了,直接编译通过,下载...

电机没反应?!

还好,工程提供了一个命令行的操作界面,还很贴心地给出了说明文件,如串口波特率,启动停止,加减速等命令。通过把串口连接超级终端,我们可以控制运行,并得到一些调试信息:

Over current trip

过流了,反馈给AI后,它开始查找自己写的代码,发现ADC代码有些问题,修正后电机能转起来了,但是速度很慢。AI再次查找问题的原因,这次是因为死区时间设置的过长了,吃掉了几乎全部的输出电压,所以速度上不去。

这个问题解决后速度可以到450rpm,但是超过这个速度电机就会抖动起来。这次AI也根据反馈的信息很快地推测出问题,就是线圈的阻抗在低速下可以认为是电阻,但是阻抗会随着施加在线圈上的电压频率上升而增加,前面就是忽略了此问题,把线圈当纯电阻对待了。

终于,电机可以开环转到3000rpm了,而且可以加减速,正反转,运行丝滑,噪声非常小。这真大大超出了预期。原来以为能生成个六步换向代码就不错了,结果直接上来就是SVPWM。总之过程就像有一个特别专业的电机工程师,你只要告诉它要什么结果就行了。如果开始就能细致地告诉它完备的参数,调试过程可能会更短一些。以后有机会再加一下难度,试试它的边界,不过谁知道呢,AI的进步太神速了,今天还不行,明天没准就实现了。

回顾过去几十年,也是不断有新的技术出现,代替老的技术。比如最开始开发单片机,都是用ASM汇编语言,用汇编的好处就是编程人员可以掌控一切,所有的寄存器级操作,入栈出栈,存储器的分配等,可以达到极致的效率。后来C的出现一度引发巨大的争议,很多老家伙都嗤之以鼻,认为效率太低,而且很多细节不能控制。然而如今,也就是多年以后,很难再看到ASM的身影了。

这两年AI能力的突飞猛进,显然会带来比C代替ASM更猛烈的变化。我们能做的就是不要停下脚步,不断学习,拥抱新事物,别被浩浩荡荡的大潮抛在身后,你说呢?

 

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录