2026年电子设计竞赛控制题用FPGA做「多路步进电机+编码器闭环」,赛前两周该怎么按评分细则分配调试时间?

开放4 回答 45 浏览

我们是二本院校队伍,今年电赛准备用安路EG4S20做多轴步进电机闭环控制,编码器测速加PID。现在能单轴转起来,但多轴联动时脉冲丢步、上位机调参延迟明显。赛前两周时间很紧,不知道是先补控制理论还是先把Verilog定点运算和串口帧协议写稳。想请教有电赛经验的学长,最后两周应该怎么按评分细则倒排调试计划,哪些模块必须保底跑通?

分享:

4 个回答

  • 芯片设计新人

    先别急着补控制理论,两周时间不够你把自控啃透,而且评分细则里理论分占比通常远小于功能演示分。我的建议是把评分表打印出来,用红笔标出「不做就零分」的项:单轴闭环能稳、上位机能改参数、串口有回显。这三项先锁死,其他都算加分。

    具体排序上,第一周前半段只干一件事:把单轴闭环做到编码器反馈和脉冲输出在示波器上对得上,PID 定点位宽按最大误差乘系数先估一个,留饱和保护,别追求调参漂亮。后半段再把串口协议补上帧头帧尾和校验,上位机延迟很多时候是你在轮询里做了太多软件延时,改成硬件计数器发脉冲、串口只做参数下发,延迟会明显下来。多轴同步放到第二周,先两轴,跑通再扩。

    丢步这事先别怀疑 PID,八成是脉冲时序或者加速段没做。你们板子主频和分频系数现在是怎么定的?这个不确认,位宽和时序都不好排。

  • 电子工程学生

    先别碰控制理论,两周啃不透,评分表上理论分也远小于功能分。把细则打印出来,用红笔圈「不做就零分」的:单轴闭环稳、串口能改参数有回显。这两项锁死再谈别的。多轴丢步先查脉冲时序和加减速段,别一上来怀疑PID。你们EG4S20主频和分频系数现在定死没有?这个不定,脉冲位宽和串口时序都没法排。

  • 芯片爱好者小李

    把这两周当成一次倒排交付,而不是一次学习。第一步不是写代码,是拿评分细则做一张表:左边列每一项的分数和判定方式(是看现象、看波形还是看上位机界面),右边写「当前能不能演示」。你会发现真正卡分的往往不是算法深度,而是能不能稳定复现。所以主线应该是:把「可演示性」当成第一优先级,把「性能」当成第二优先级,把「理论完备」放到最后——赛场上评委看的是你三分钟内能不能让电机听话地转、参数能不能当场改、数据能不能回读,而不是你PID推导得多漂亮。

    沿着这条主线往下推,多轴丢步和上位机延迟其实是同一个根因的两个症状:你的时序预算被软件占走了。软件延时发脉冲,CPU一忙就抖;串口在轮询里做阻塞等待,界面自然卡。正确做法是把这两件事都交给硬件:脉冲用计数器+比较器产生,加减速做成一张小的速度表在硬件里查;串口收发做成独立状态机,收到完整帧才触发一次参数更新,主控只在帧有效时改PID寄存器。这样延迟的来源从「软件排队」变成「一帧传输时间」,量级立刻不一样。

    PID定点这块,别追求调参漂亮,先算位宽:最大误差乘上Kp再乘采样周期,估算整数部分需要几位,小数留够分辨率,然后无条件加饱和限幅和积分抗饱和。位宽算错的表现很像「参数怎么调都振荡」,很多队伍在这上面耗掉一整周。

    顺序上,第一周前半段只做单轴闭环+串口回显,做到示波器上编码器反馈和脉冲输出对得上;后半段补帧头帧尾和校验,把上位机延迟压下来;第二周才上两轴同步,跑通再扩第三轴。每扩一轴前先留半天做回归,别让新轴把老轴的稳定性带崩。你们现在串口协议是自定义还是照搬现成帧格式?这决定校验和重传要不要现在就加。

  • 数字IC萌新

    补一个容易被忽略的维度:风险对冲。两周里最怕的不是做不完,而是做到一半发现某个模块根本走不通,又没有退路。所以每一块都要准备一个「降级方案」并提前验证。比如多轴同步,如果第二周周三还没跑通三轴,就果断砍成两轴演示加口头说明扩展性,把时间还给稳定性和答辩表达;串口调参如果帧协议一时对不上,就先保留一个最简单的单字符命令通道当兜底,保证评委现场能改参数。

    另一个风险是器件和工具链的坑。安路这套工具在时序约束和IP核上的资料比主流厂商少,综合出来的实际频率可能和你预期差不少,脉冲最高频率要按最坏情况留余量,别按仿真值写死分频系数。建议第一周就做一次上板实测,把能稳定输出的最高脉冲频率测出来,后面所有加减速曲线都按这个上限设计。

    还有个小例子:有队伍把编码器四倍频计数和脉冲计数放在同一个时钟域里做比较,结果多轴一开就错位,最后发现是跨时钟域没做同步。这类问题不靠理论,靠的是每个跨域信号都过两级触发器这种肌肉记忆。你们编码器信号现在是直接进FPGA还是有经过整形?这会影响你要不要加滤波。

登录后可在本页底部提交回答

提问者

单片机爱好者查看主页
浏览「其他」

描述场景与已尝试方案,更容易获得有效解答

相关问题

同分类

提问建议

  • 标题写清核心疑问,避免「求助」「请问」等空泛用语
  • 正文补充环境、版本、报错信息或截图
  • 先搜索本站是否已有相近问题,减少重复提问
  • 若与课程相关,请标明课时或章节便于讲师定位