Project document · 2026年5月17日
ECE445复盘(2)个人技术能力
关于需求简化、低成本验证、硬件调试与资料验证的项目复盘。
返回 ECE445: Senior Design Lab个人技术能力不只是找到一个方案并实现它,而是在需求简化、低成本验证、调试路径选择、资料来源判断之间形成一套可靠的问题解决方法。
在个人技术部分,我主要负责控制信号的生成。这个任务表面上并不复杂:系统需要一个用于控制比例方向阀的 ±10V 区间信号,具体形式可以先简化为频率可调的周期性 PWM / 方波信号。最初想到的方案是直接使用函数发生器,因为它可以快速产生稳定、可调的模拟信号,适合验证阀和液压系统是否能对控制输入作出响应。但函数发生器更像实验室测试工具,难以作为最终系统的一部分集成进去,所以我后来尝试使用 Arduino 控制 DAC 模块,由 DAC 输出 ±10V 电压信号。
这一步背后有一点需要补充:在项目早期,不应一开始就追求复杂的工业控制方案。最初我们也考虑过 PLC 等更正式的工业控制路径,但我当时认为,可以先测试一个低成本、可快速验证的方案。如果一个简单的 Arduino + DAC 方案已经能够产生阀所需的控制信号,就可以先用于验证系统整体可行性;如果效果不够,再进一步升级控制方案。现在回看,这个判断是正确的。原型阶段的关键不是马上搭建最完整、最工业化的系统,而是先用最低成本确认核心链路是否成立。
实际调试过程并不顺利。我首先测试 Arduino 端是否能够通过 I2C 控制外部模块;接上 DAC 模块后,又用示波器检查输出信号。但一开始输出很不稳定,甚至会因为导线轻微移动而发生变化。因此我先怀疑是连接问题,专门购买了更合适的杜邦线,让输出端能够更牢固地接到示波器上。然而改善接线后,模块仍然不能输出预期信号。随后我又怀疑 DAC 模块本身可能损坏,于是重新购买了一个模块,但问题依旧存在。
后来真正解决问题的关键,来自两个方向。第一,我在 YouTube 和 Bilibili 上搜索了同类 DAC 模块的使用视频,发现确实有人成功用它输出目标电压,这说明我此前对模块本身失效的判断很可能是错误的。第二,我向比较熟悉电子元件的同学请教后才知道,这个模块其实有官方示例代码。改用官方代码后,模块终于能够正常工作。这个过程让我意识到,硬件调试不能只依靠主观猜测,也不能过早把问题归因于模块损坏;更可靠的路径是确认物理连接、查找官方文档、寻找官方示例、参考他人复现实验,并在此基础上逐层排查——以及向别人请教,和别人交流也非常重要!
另外,这次经历也改变了我对 AI 辅助工程开发的理解。一开始,我把产品说明或网上找到的资料交给 LLM,希望它直接生成 Arduino 控制代码。但事实证明,在具体硬件模块上,这种做法存在风险。LLM 可以解释原理、辅助理解代码、提供调试思路,但如果缺少官方文档、准确型号和可靠示例,它生成的代码很可能只是“看起来合理”,却无法真正驱动硬件。尤其在 DAC、I2C、寄存器配置、库函数调用这类问题上,细节错误会直接导致模块没有输出。
总结来说,我从这部分经历中得到的主要收获,并不只是学会了用 Arduino 控制 DAC 输出 ±10V 信号,而是建立了一种更可靠的技术问题解决路径:在面对硬件模块时,应该先确认需求是否可以简化,再用低成本方案验证核心链路;调试时则优先查找官方文档、官方示例代码和他人的成功实验,再让 AI 基于这些可靠资料进行辅助。AI 不是调试路径的替代品,而应当被放在一个更完整的信息验证流程之中。