电调设计调试过程中遇到的问题总结
1. 上电电机能正常发声,但不能启动,具体表现的状态是转子晃动下就停止
① 首先要判断硬件是否正常,写了一段强制换相的程序烧录进去,能正常运转,说明硬件是没问题的,至少驱动电路部分没问题。
② 初步假设是软件启动部分问题,检查启动部分代码,因为启动是检测过零点来决定下步换相时间,而过零点检测是通过比较器实现,问题定位到比较器部分。
③ 检查比较器的初始化,查看相关寄存器配置,没发现问题,重新去看datasheet,怀疑是不是有没注意到的细节问题。
④ 还是没有结果,把比较器部分代码拷贝出来单独建了个工程,软件模拟比较器触发,正常,说明比较器配置是没问题的,怀疑是原工程其他涉及到比较器的地方导致了问题。
⑤ 逐一检查原工程涉及比较器的地方,发现在其中一个换相检查比较器电平的地方检测状态不对,更正后重新烧录运行,终于正常启动了,至此,这个问题终于解决,却也耗费了不少时间。
总结: 保证逻辑正确的情况下,要注意细节,某个没考虑周全的细节问题可能会导致大bug。
2. 电机空载能正常运转,带载状态下,慢慢加速,但加速到一半就停止了
① 空载能正常运转,带载就不行,必定是带载改变了某些运行条件。从理论分析,影响电机运转的主要因素就是换相,决定先从换相入手。
② 用示波器观察带载状态下的相电压波形,发现波形对称完好,理论上应该没问题,和空载状态下的波形对比,也没发现什么异常。
③ 在网上搜集相关问题,发现有人提到过零检测滤波电容会引起相移,查阅相关的分析文档,按分析结果更换多种规格的电容,问题还是没解决,但发现加速时间有了变化,说明确实是有影响。
④ 滤波电容究竟影响了什么?带着这个问题重新去查阅了电容相关资料,在查阅资料的过程中想到滤波电容的本来作用就是滤波,会不会是过零信号噪声太大?
⑤ 用示波器在带载状态下观测过零检测相分压电压,发现确实比空载下毛刺大,但过零点是通过比较器检测的,有毛刺也不该影响检测结果呀,难道是比较器基准电压有波动?
⑥ 比较器是用的IC内部比较器,比较器的基准电压来源于供电电压,难道供电电压不稳定?用示波器观察带载下的供电电压纹波,发现果然很大,于是对供电电压进行稳压处理,问题解决!
总结:电源可靠很重要,尤其是对那些对电源噪声敏感的IC,问题往往出在源头。
3. 进行硬件改版,贴完片回来发现有3/4不能完全正常工作,具体表现为某一路启动就卡顿或者加速到一定速度就卡顿
① 可以确定是硬件问题,初步怀疑问题出在驱动电路部分,重新焊接驱动部分电路,问题依然如故。
② 烧录强制驱动测试程序,一部分能转起来,一部分还是卡顿,怀疑是主控贴片问题,重新焊接主控,一部分恢复正常,一部分还是有问题。
③ 对依然有问题的那部分更换主控,重新烧录程序,问题依旧。怀疑是主控IC的封装边角焊盘画得太小,导致焊接不良问题,但用示波器观察这些边角,却是有信号的。
④ 怀疑是某些元件贴错,找来完全正常的板子做对比,测试相关点的电阻电压,发现检测分压部分的电阻测试值不一样,将电阻从板子上拆下来测量,又是正常的,说明有问题的板子引入了某些不应该存在的并联阻抗。
⑤ 检查相关部分电路,发现该部分电路一端接到主控,另一端接到输出端,主控之前更换过,输出端也没接负载,难道是该部分连接有问题?
⑥ 用万用表检查相关部分电路通断,发现接到输出端的某一路是断开的,难道是该部分走线断了?飞线连接该部分,通电居然能正常运转了,说明确实是走线断了,逐一测试有问题的板子,发现都有走线不通的问题。
⑦ 检查完毕,发现不通的走线走的都是PCB内层,PCB板有问题这个情况,以前还没遇到过,重新进行优化布线,慎重选择PCB打板厂家。
总结:没遇到过出问题不代表完全可靠,在思考问题的时候,要敢于怀疑,不该有白名单,还是那句话:大胆假设,小心求证