录入设备(3)——51单片机原理图及PCB设计

2019-07-14 07:46发布

❤2018.3.25 关于录入系统的原理图和PCB其实之前设计出一个版本了,是下面这个,但是因为好多功能还不明确,所以一直搁着,现在要准备做实物了,这下要好好做。 大概就是这样的 这个是控制板,还有一个驱动板,没弄好,就不放上去了。 这次要改的内容主要是把之前用的uln2803驱动芯片换成AQV201,朱总说这个在PLC上面应用很广,不过反正我在淘宝上搜了一下没几家有卖的感觉不怎么热门。 这个芯片的资料大概是这样的: 大概意思就是这是个光耦,里面有一个或者两个场效应管,同时起到隔离和驱动的效果(听起来还不错),而且驱动电流够大,里面自带续流二极管(是么?),不需要复杂的外围电路。   除了更改驱动芯片之外,还要做的的是把USB转串口功能集成到板子上,用的是CH340芯片。之前我觉得CH340的外围电路太复杂,自己做比较困难,可是前几天查了查相关资料感觉还挺简单的,没有我想象的那么复杂,而且作为一个完整的产品还是集成度高一点显得专业(汗。。),CH340的电路大概是这样的: 有一些需要注意的地方这篇文章讲的很详细: CH340电路设计注意事项 https://blog.csdn.net/jazzsoldier/article/details/70158874 前辈们的文章在下拜读了。 另外我在查TXD和RXD数据线中用不用串电阻的问题的时候,在知道里查到了这样一句话: 其实还不太明白,另外对于到底需不需要串电阻这一点我依然不太了解,在arduino的原理图里我看到是有串的。   除此之外,我还借鉴了arduino和扩展板对插的连接方式,打算把排线连接改为对插。       ♣啊对,还有一点,朱总说最好有个板载5v供电,不要只用USB口供电,怕电流不够,其实我觉得还好吧。。。不过朱总既然这样说了,我还是弄个降压模块吧。用7805直接把24v降到5v据说发热会很严重,查了很多资料还是没找到什么好的解决办法,我打算先用一个7812降到12v再用7805降到5v,然后再装散热片,尽量让热量更分散而且更容易散发出去。   ❤2017.3.27 今天无意中查到51单片机最小系统有个31引脚需要注意的,当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行.这一点我以前都没注意过,虽然影响不大,但是还是要注意细节哈。 参见:  

单片机最小系统

https://blog.csdn.net/mini92/article/details/71191718   ❤2017.3.29 altium designer使用技巧: 1、通过工程→显示差异 实现一个原理图对应一个PCB 2、布线过程中按 * 键能实现切换布线层及放置过孔 3、环路自动消除能防止多余的布线,如下图 但在Vcc及GND是需要冗余布线的,大概过程是这样的。。   ❤2018.4.4     前两天在老板多次催促之下,通了个宵终于把pcb弄完了,时间原因还是有很多不完美的地方,这两天比较颓废,没有记笔记,今天把笔记补上哈。       ♣之前问了朱总个问题,光耦是在单片机输出高电平的时候触发好,还是低电平触发好,朱总说从原理上来说没什么区别,但是有一点,当输出高电平时触发的话要考虑单片机复位或开机时,所有引脚都是输出高电平这样的情况,也就是说当所有引脚输出都是高电平时,不能对整个系统造成不利的影响,所以如果会有影响的话,那就还是用输出低电平触发的方式比较好。get√       然后还有个特别需要注意的地方,手动布线的时候一定要一面走横线一面走竖线,然后最后再把影响不到的线优化,如果一开始就随意走那到最后会很抓狂。。。另外手动布线的顺序一定要把握好,最好不要一块一块的布线,这样后面有线需要穿过去的时候就很难受。。。最好是把连接多的线先布好,比如数据总线。       然后就是这个版本的PCB图上一下哈,为了清晰点我先把敷铜去掉了。 控制板: 驱动板:     还是要吐槽一下一根一根的布线真的很辛苦的! 第一版PCB实物图奉上:   ❤ 2018.5.14 其实早就应该补充了,上次的板子焊好之后是这样的: 基本能满足功能,但是确定还是很大的,供电模块体积太大了,为了控制发热选择了用7812和7805级联的方式,还加装了散热片,其实从测试情况来看发热量其实并不严重。 另外一个很大的问题就是通讯不稳定。 这个就很严重了,经过压力测试,串口连接会不定期的断开,我把所有的芯片和元件都换过一遍还是会出现,所以怀疑是布线的问题,表现就是晶振不起振。我查了很多资料,好像这个问题还不是很罕见,有很多自己设计通选模块电路的同学都遇到过这种情况,也有人提供了各种解决方法,但是这些方法我经过测试并没有显著效果。其中提到最多的问题就是差分线的布线方式问题,里面强调了要用差分布线的方法,但是我查了很多资料都没有能够确切地了解什么是差分布线,还有比如说在数据线上加上拉,在晶振上并联电阻等等方法我试过都没能够解决问题。 这个网址讨论了一些处理方法可以参考: 点击打开链接 我最后的决定是不用自己设计的电路,买现成的模块,这个在现在看来是最能够解决问题并且成本最低最有效的方法,但是实际上对于我来说依然不知道该怎么去处理。所以如果将来有大神指点我再回来更新吧。 大概第一代PCB就是这样了,我以为朱总换方案之后我的工作差不多就结束了,但是没想到朱总又心血来潮搞了一个新的设计,然后我又脑洞大开的提了很多“建议”所谓自己挖的坑跪着也要填上,所以就有了下面这版设计。 这版本来朱总就是打算把之前的电磁铁部分换成圆形的,然后接我上次那个控制器,但是我就很厉害了,我说这个完全可以把控制和驱动都集成在上面嘛!于是又挖了个坑,为了在这么小的板子上放上所有的东西,我更改了不少封装,更改了电源模块,用了10mil的布线和8mil的间隔,还好勉强放下了,不过稳定性怎么样就不知道了,毕竟24v驱动电压和5v控制电压混合在一起,想想就不靠谱。。。(摊手) 不过从理论上毕竟实现了,下面就是等着到货然后装上测试了。   ❤ 2018.6.19 我又偷懒了,漏了好多内容。 板子到了之后经过测试又发现很多问题,比较严重的是电源模块,DCDC的封装画反了,虽然勉强可以焊得上,但是不知道是什么问题,一通上24v就冒烟,吓得我赶紧把他掰下来。。。。     然后还有个问题就是贴片真TM难焊。。。。     刚焊好测试的时候一切正常,在长时间工作测试的时候出现了一个诡异的问题:工作一段时间之后就会出现两个电磁铁同步动作。     在排除了是电路板布线的问题之后,经过观察,发现同步动作的都是对应单片机固定某几个管脚的电磁铁,经过逐步排除发现居然是P0口的上拉排阻短接,使用电烙铁轻点之后排除了部分故障。但是还有一部分电磁铁出现了更诡异的问题:只有在运行一段时间之后会出问题,放一段时间问题消失,这TMD什么鬼。     后来在经过耐心排查之后发现是单片机管脚之间出现短接,而且只有在工作一段时间之后才会出现,我去。。。     看来手残真的不能焊贴片。     电源部分的问题依然没有解决,24v转5v要同时兼顾体积和散热,确实有点困难,不过还好经过讨论,5v供电打算使用外部输入,所以现在不用费力解决冒烟的问题了。   ❤ 2018.6.19     是这样的,上一个日期是为了把之前欠的内容补上,我现在面临的问题是,之前的东西都要作废了!!!       因为本人能力有限,无法同时兼顾扫描和录入的问题,所以老师找来了欣师兄帮忙,欣师兄果然见多识广,针对IO口不足的问题选用了针脚更多的STM32单片机,从而节省了很大的铺设译码器和锁存器的空间。     不过针对第一款设备来说,这个并不是那么需要,因为空间足够,所以我就继续做了。但是现在有两款体积更小的设备,于是我原来的方案就放不下了,于是就要改成欣师兄的方案,于是我之前做的所有工作就全白干了。。。。     不过话说回来,既然有更先进的方案,确实没必要在旧方案上费脑筋改进,我也算是学到了不少东西吧。       但是但是,现在的问题是欣师兄的方案在这两款新设备上依然空间有限(主要是布线的问题),所以可能需要使用4层板,关于四层板我查了下相关的东西: ○ 四层板的布局:     一般top和bottom是信号,里面两层是vcc和gnd ○ 四层板的设置:     参考这个: 百度知道:AD设置四层板 ○ 四层板的设计流程     包括不同电压Vcc的分割,模拟地和数字地的分割等等。     参考这个: 四层板的设计流程简介       好了先这样,剩下的后面补,我先画着。   ❤ 2018.9.14     是这样的,其实我觉得这版51单片机的版本已经做的很完善了,但是鉴于整体改为了stm32的版本,所以第一款保留51的设计就没有必要了,于是。。。。 。。。 。。。     算了从新来吧,新开一篇文章记stm32版本的。     over