那是不是要给每个引脚都附上网络名?飞线是指哪种类型的布线?
问题概述:在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:有点时差,可能无法及时回复
您是不是没有画原理图,而是直接在pcb上连线的?飞线指的是没有连接完成的线。
嗯,ad里面一开始没画原理图,所以网格命名出了问题。没有完成的我是想直接用过孔和地平面连起来。
程序显然是跑起来了,IO输出信号不对应该查软件,软件用的是一样的emmm复位信号是否有问题?比如啥干...
可能是复位信号被干扰了,我pcb上复位走线是直接从晶振两脚中间穿过去的,但在样品版是直接绕开晶振的。
输入信号是低频的航模接收器的pwm应该不会太受干扰?
这个波形是给mos驱动器的信号, 还没有接入mos。
没有接入mos的话工作未必会如预期因为预期是有mos输出作为反馈信号的需要检查的只有驱动信号是否有导...
强制启动的pwm貌似不需要mos的反馈,我把样板上的比较器拆下来试过,stm仍然可以在没有反馈的情况下输出正常波形
程序显然是跑起来了,IO输出信号不对应该查软件,软件用的是一样的emmm复位信号是否有问题?比如啥干...
试了下把复位电路的输入从晶振下移开,还是没有解决问题
试了下把样板上的sense a - c 电阻全卸了,然后在程序里强制把一个检测平均电压的函数设为测得电压值,终于出现了差不多的波形。但应该还有一些采样函数可以改变下试试,不过这么来看主要就是采样网络的问题了?
我的stm32输出
样板的stm32输出
目前为止,在接入反馈网络的情况下测出来的波形还是有偏差,导致mos输出不完全对。但是,下面的波形是我又刷回了一样 的程序,波形的偏差仍然与强制改变几个取决于采样点的函数后一样,这么说就是mcu最小系统的问题了?我准备重新打块板子,然后参考下样板上stm32周围的板子环境试试。
感谢几位的帮助,问题已经解决了
是我大意了,犯了严重低级错误——U项低端驱动和W项低端驱动画反了
就是图上这个用白圈框起来的部分,要相互调换一下。
然后是电机能正常跑起来的视频:
3.mp4 点击下载
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。