调试总结:
1、LM选择317反馈电阻,当输出较小时,不能忽视IAdj,反馈电阻的精度也对输出电压有影响。
由于许多模块能有电源过孔,因为许多模块的底面是地面,主要是为了避免短路。
3、LM317手册可以说是36v到3.3v但在实际使用中,由于核心板消耗的电流相对较大,根据0.1A来计算,LM317上的功耗为(36-3.3)X0.1=3.27W,LM317发热很快,然后进入保护状态,根本不能使用。
4.基于以上第三点,使用DC-DC芯片mc3063A来进行36V到5V降压,然后用5V通过LM将317转换为系统所需的电压。建下面的电路DCDC转换电路设计测试遇到两个问题:最初是3.3V没有输出,因为地线没有连接;接地回路后3.3v有输出但负载能力弱,测试5v输出不成功,设计5v输出总是只有2点几伏左右,输出电压上升缓慢,最后发现是芯片输入总线Rsc电阻推荐的0.因此,33欧误用了30欧元的电阻,限制了电流DC-DC要么输出错误,要么带载能力弱。
5、Mbus总线采样电路发生了很大变化,通过41欧元电阻对原上行电流调制电路产生电压变化,然后通过比较器对数据进行比较,修改为:通过tl6106芯片将调制电流转换为电压,然后通过比较器对数据进行比较。这样做的好处是,当负责电流较大时,总线上的电压不会下降太大;在使用电阻之前,负载电流在41欧元电阻上会有很大的压降,导致总线电压下降。因此,模块表的水量可能无法复制。
6、Mbus电压调制波形下降沿延迟,导致表端波特率识别错误,导致通信异常。在以前的设计中,电压调制时使用串口TX引脚控制PMOS管道电压调制,PMOS管型号为BSP250,当时没有发现任何问题,通信也比较顺畅;后来PMOS管换为IRFR5305,发现有些手表可以通信,有些手表不能通信,当然,手表端的实现是不同的,一种是通过通信芯片通过查询来识别波特率,另一种是由分离元件构建的通信电路,通过中断来识别波特率。通过示波器抓取TX引脚输出的波形和PMOS管道输出的波形如下:
可以看到PMOS沿着管道输出波形下降TX管脚输出波形下降沿90us波形上升沿的误差基本相同;这表明PMOS管道输出容抗大,导致波形变化,通信失败。通过换输出容抗小PMOS管,调节gs端电阻(增加s端到地的电流,从而快速消耗输出容抗存储的电压,但需要注意gs端电阻的功率满足电流要求要求)PMOS管道的输出容抗影响最小化。下面的波形是经过调整的,所以复制两个表是正常的:
可以看到将PMOS沿着管道输出波形下降TX管脚输出波形下降沿误差小于19us,如果从下降边缘的中间计算,则只有几个微秒的误差,因此与标准串口的波特率相比偏差很小。以下是两种PMOS可以看到管道的输出容抗IRFR5305为5305BSP250的好几倍。
7、在进行RS485调试发现只能接收数据,不能发送数据,但通过调试串口的打印输出发现数据已发送;后来通过示波器发现波形RS485的发送使能被禁用了。由于RS485通信是半双工的。当发送数据尚未完成时,发送使能端被另一个任务设置为接收使能,导致数据发送不完整。在程序上,发送使能端应在两个任务之间进行信号保护。
8.调试通信子板时,发现核心板通过cp2102下发的at通信子板没有回应指令,但通信子板有信息报告;通信子板单独通过usb调试串口线发现通信子板可以正常通信;通过示波器分析,发现主板提供给通信子板的4V在通信过程中,电压降至3v以下导致通信板工作异常,暂时用一个1.5F的电容可以解决这个问题,后面设计中会单独用一个DCDC为通信子板提供电源。
也是因为DCDC输出不足导致核心板重启;cp2102电源电路后(下图)发现核心板上电时不断重启,通过抓取VD20的波形和R461上端的波形在上电过程中发现脉冲电压BSP250误打开;通过R104电容并联在461旁边,可以防止bsp250的误打开,因此,可节省电流。
上图是没有滤波电容和滤波电容的波形。
S3CDV4.0调试
1、分为母版、核心板、人机接口板、电源板、通信板、Mbus总线板。
2.调试问题:
1.人机接口板DB9串口pcb放返了。
2.用在电源板上DC-DC降压芯片采用外部连接NPN三级管增强电路输出电流大于1.由于选择,5安NPN三级管功率小,三极管烧坏,三极管后面去掉。如果输出电流大于1,.5安要选择功率型三极管。后端核心板是在烧毁过程中造成的usb0接口烧坏、cp2102芯片烧坏,与cp2102 RX/TX相连接的Sim7600CE的RX引脚烧坏(7600不能接收at命令,但可以输出信息)
3.在调试过程中,读取水量导致核心板复位。起初,人们怀疑电源适配器的输出电流不足导致复位,然后36v1.5A的输出换为36v3A输出,还在mbus从理论上讲,总线一上电就导致核心板复位PMOS开关打开时是对的C6电容器有充电电流,根据公式I=Cdu/dt可以看出,电容器在很短的时间内充电电流很大,比如选择dt=0.01秒即10毫秒,C=100uf,u=36V,则充电电流I=100X10ˉ?X36/0.01=360ma电流;如果dt=1毫秒,则I=3.6A;所以将C6电容器被移除,以便正常工作。
也可以设计一个电路C6电容充电瞬间限流充电等C6满电时,切换到正常充电电路,类似于我们阀控表的开关阀电路。 如下图,FM_power1和FM_power2组合控制。
4、LDO有点热
目前核心板电源是通过5v到3.3v的LDO提供的,由于核心板功耗比较大,因此LDO有明显发热,这需要做好散热设计;除此之外还可以在5v和3.3vLDO之间增加一个功率型二极管,可以减小LDO输入输出间的压差,用来分担LDO的发热,具体使用效果需要进一步测试。
LDO并联二极管的作用:这个功能主要是输入端电压跌落欠落或掉电后确保输出残余电压泄放回路, 其次是输出端遇有高压电涌可以通过反向二极管回路利用输入滤波电容增大滤波效果,抑制瞬态冲击。
LDO的输入和输出电压都是相对于本芯片的地引脚来说的,如果将本芯片的地引脚连接两个稳压二极管,类似于下面的图3-8发送电路,则地电压升高,输入电压相对于芯片来说是降低的,这样可以减小LDO的功率损耗,减小LDO的发热,有利于电路设计。比如,L7808 LDO输入为36v,将LDO地引脚通过输出引脚连接一个反馈限流电阻后,再通过两个13v稳压二极管(稳压二级管的最小稳压电流可以查询二极管数据手册的反向漏电流,反向漏电流就是最小稳压电流)接到pcb板公共地,这样对于L7808来说就相对于输入为36-23=13v,输出为8v,压损为13-8=5v,这样就极大的降低了L7808的功率损耗,有利于电路的散热设计。
5、关于接收电路的设计问题
各个厂家对于接收电路的设计各有不同,但总体上来说都差别不大,都是将电流的变化转化为电压的变化,然后通过比较器来识别出信号。其中关键点是比较器负端RC电路的参数选择,如果选择不合理识别出来的数据就会出错,下面电路从理论上对参数的选择进行详细的说明:
我的电路仿真:
假设:U=2.4v,UL=0.2v,UH=1.4v
本电路电容直接连接到总线,再接收数据前电容已经充满电,初始充电时间基本为0;而充电电阻很小,下面计算假设为100k,实际电阻基本为0,可以认为瞬间充满电。
T充电=T*㏑((U-UL)/(U-UH))=100*1000*11*10-6*ln(2.2/1.0)= 0.867s
T放电=T*ln(UH/(UH-UL))=5000*1000*11*10-6*ln(1.4/1.2)=8.478s 此放电时间是假设放电到最低电压,如果按照2400的波特率,一个周期约为417us,假如一个帧的数据全为0,也就是11bit,最长放电时间为4.17ms,比较器负端电压基本没有多数损失。