arduino 只要输出占空比不为0或100的PWM就重启

如下原理图所示,arduino D3输出6Khz或者31Khzpwm控制一个mos管,mos管驱动led灯,上位机通过usb给ch340发指令,ch340转给arduino,我只要让pwm的占空比不是0或者100,arduino重启(刚启动时我会把PWM占空比设成100%,LED最亮,所以只要上位机设置1-99%占空比就会先暗一下,然后变亮),ch340偶尔也重启(上位机提示COM口连接断了),如果不连接led,就一切正常。占空比100%时,Led电流大概0.5A左右,电源是电脑usb口提供的,单片机也公用同一个.。应该不是供电不足的问题,因为调到占空比100%时一切正常

我怀疑有三种可能:1.RESET引脚相关电路不对 2.布线哪里不对 3.晶振受到PWM干扰
请指点

img


PCB图

img

电源功率不够,可以外加个5v/1A的电源试试。
原理图不全,PCB图上没看见大的电容,可能是 5V瞬间电流过大使板子供电不足。可以在5v 与地之间并一个几百微法的电解电容。

刚才示波器测了一下重启时RESET的电压,PWM占空比60%时如下图,有40%的时间LED不工作,压降为0,整个电源电压就恢复成5V,所以可以排除RESET被干扰后电压掉到低电平区间导致RESET误触发

img

你反映的问题是什么,是CH340偶尔断开的问题吗?
还是说你的实验没有达到你要的效果。没有读懂你究竟要解决什么问题。