硬件原因 1.单片机供电电压不稳定,有些单片机有最低输入电压要求,低于这个电压就会自动复位。 2.电机驱动出问题,不小心出现了100%满占空比,电池的电压被拉低,间接导致给单片机供电的稳压芯片输入电压不足而引起复位。 3.裸露的线路之间靠的太近,特别是高频电路之间,干扰引起复位。最好做一些绝缘处理。 4.赛道上存在的静电。尤其是北方的干燥天气,特别多静电,我们可以想到金属才可以导电的对吧?那么车上面离地比较近,又是金属的是什么呢?没错,就是电机,可以考虑在电机外面包裹一层绝缘层,绝缘胶布或者锡箔纸,还有建议在电机的2个引脚之间并联一个102pf~104pf的普通电容,用于吸收静电。 5.大多数硬件复位的原因可能都跟电机有关,因为电机自身转动也会产生反向的电动势,建议在PWM信号输入到电机驱动的信号支路上,加一个光耦隔离或者二极管,截止反向的电流。
软件原因 1.数组的数据溢出。输入数组的变量个数超过数组的最大个数。 2.DLL超频过高。有些同学为了追求极致的单片机处理速度,把超频系数超得太高,使得单片机复位。
以上只是举出了大多数的情况,不全面的地方还请楼下的同学补充
|