楼主的版图有点让人摸不着头脑,网络名称只有"GND"和"GGND",而且还有一堆飞线在。
那是不是要给每个引脚都附上网络名?飞线是指哪种类型的布线?
问题概述:在tb上看到一款以esc32为原型的开源无刷电调(以下是原理和实物图),就买了个样品仿制着玩。在参考了tb原设计后,自己把稳压元件替换为rt9193以驱动stm32,并重新画了块板子。其余元件未作更改,结果stm32输出波形出现偏差导致无法正确驱动mos管。由于经过大量debug(各种尝试和结果已经写在下面)没有得出解决方案,恳请各位大佬能帮忙康康。
然后是正常输出波形和我所得到的波形
正常波形
我所得到的波形
这是我的pcb设计(debug中切掉了一块)
(0欧磁珠在几次debug后被拆了
几种失败的debug尝试:
*tb的样品板子和我的板子刷的是一套程序
一开始猜测是电源问题,就把板子自带3.3v供电断开,转从tb的样品板上飞一根3.3v线来取电,结果波形仍未解决。
stm32的4个vcc引脚都有退耦电容,1、48脚取了10uf,其余100nf,理论上不会破坏输出波形 (更换过每颗电容但未能解决问题)。
尝试过把tb样品版的32拆焊下来然后把自己板子上的32替换上去,样品版输出没问题。
通过飞线给样品板只使用自己板子上的3.3v供电,波形没问题。
给两款板子都只用usb转3.3v电源,样品板输出正常,我的板子问题任然存在。
晶振加焊过,也换过,没有改变输出。
这输出的是启动波形,只取决于电源电压和反馈到第14脚的电压,我的板子和样品板都为12v和0.6v。其他是写死在程序里的。
---------------------------------------------------------------------------------------------------------------------------------
目前我猜测是布线问题导致32无法正常输出,两块板子都是一套程序。在使用同一个电源还出现问题的情况下,只有布线是目前我能想到的唯一变量。希望各位大佬能帮着看看板子上是不是有什么不合理的地方,没有太多画板子经验,还需要多加学习。
这是ad文件:
ps:有点时差,可能无法及时回复
试了下把样板上的sense a - c 电阻全卸了,然后在程序里强制把一个检测平均电压的函数设为测得电压值,终于出现了差不多的波形。但应该还有一些采样函数可以改变下试试,不过这么来看主要就是采样网络的问题了?
我的stm32输出
样板的stm32输出
目前为止,在接入反馈网络的情况下测出来的波形还是有偏差,导致mos输出不完全对。但是,下面的波形是我又刷回了一样 的程序,波形的偏差仍然与强制改变几个取决于采样点的函数后一样,这么说就是mcu最小系统的问题了?我准备重新打块板子,然后参考下样板上stm32周围的板子环境试试。
感谢几位的帮助,问题已经解决了
是我大意了,犯了严重低级错误——U项低端驱动和W项低端驱动画反了
就是图上这个用白圈框起来的部分,要相互调换一下。
然后是电机能正常跑起来的视频:
3.mp4 点击下载