矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 14763|回复: 44

自制32768Hz时钟信号感应器

[复制链接]
     
发表于 2018-2-18 22:41:33 | 显示全部楼层 |阅读模式
32768Hz时钟信号感应器
xjw01 莆田第十中学
    这两天,做一个小项目,用到了时钟芯片DS1302,发现校准时钟有困难。买个成品校钟仪,觉得太贵了,于是自制一个简易的校准装置,现分享给大家。
校钟仪.PNG
1、原理:
    用探针感应32768Hz附近的电场信号,经过两级选频放大,然后接入数字示波器(分辨到0.1Hz),这样就可以读出频率,方便比对各个钟的频率,只要已知一个钟的实际误差,那么其它钟的误差也就很容易确定。
2、关键设计:
    两个LC谐振器:使用Q值高的电感。图中L1,本人使用废弃小节能灯的5mH电感,Q值约为80。谐振电容采用涤纶电容。这里的电感与电容是正温度元件,经测量,从10摄氏度升到温热(约40度),电感温漂1%左右。所以,LC配对时要考虑温漂,如果在冬天制作,谐振频率设计为偏高0.5%比较合适。
    L1、C1、C2、C3组成第1个LC谐振器,3个电容串并联组合后,使得谐振频率正好是32768Hz。多买一些3.3nF电容,容易筛选出合适的。
    L2、C4组成第2个LC谐振器,谐振频率也是32768Hz。C4采用2个10nF电容串联得到,同样,C4也是筛选得到的。
3、电路放大倍数:400倍左右
4、探针衰减:1/700左右,假定探针的绝缘皮碰到晶振脚时的耦合电容是0.1pF
5、输出噪声:峰值5mV左右,实际与电磁环境有关。信噪比大于2时,可准确读出频率,即输出信号达到10mV才能有效测量频率。测量DS1302时钟时,距离1cm左右就可以感应到10mV信号了。
6、谐振器制作
    涤纶电容的测量:
    使用数字电桥测量,频率选择为30kHz左右。如果电桥没有30kHz频点测量,也可以用10kHz左右的频点,但测值结果偏大1%,应修正。30kHz频率下,涤纶电容的Q值按80估计就可以了。
    电感测量:
    5mH高Q铁氧体电感在中低频段电感量随频率变化不大,可以使用10kH频点测量。低于10kHz,Q值与频率成正比。如1kHz测量Q=3.5,那么10kHz时Q约为35。高于10kHz以后,Q值增加速度变慢,30kHz时,相对10kHz Q值增加不是3倍,而是2.5倍左右,即Q=35*2.5=87。
谐振器的总Q值:电感Q值与电容Q值的并联值,即Q总=QL*QC/(QL+QC)=40
L2选用Q值大于50的普通电感即可。
通过数字电桥,把LC参数测好了,装上去就可以了,无需调整参数。再者,误差一点也没关系,谐振点误差1%甚至3%也能正常工作。
7、为什么要使用“共射—共基”电路:
    三极管的bc结电容对本电路有影响很大。本电路输入端接收高阻信号,且采用共射电路,这时,bc结电容反馈的信号无法有效旁路,如果仅使用“共射”电路实现放大,电路Q值会下降很多,Q总可降到5。
如果觉得电路复杂,想简单的使用“共射”电路,请把s8050更换为9018这类超高频管,这样理论上仍可保持电路高Q。
    注:晶体管的结电容参数可以使用数字电桥测得,但要加一点辅助小电路,这里不介绍了。


     
 楼主| 发表于 2018-2-25 13:49:48 | 显示全部楼层
上面计算Vm及fs使用近似估算法,所得Vm精度差一点,所以r值计算不够准确。完全计算又过于复杂,所以写成代码计算。把下面代码保存为htm即可
<htm>
<head>
<title>晶振扫频计算器</title>
</head>
<body style="font-face:宋体">
<b>晶振扫频计算器</b><br>

Vd<input type=text size=5 id=Cvd value=1330>mV,单位下同 fe<input type=text size=5 id=Cfe value=0.6 >Hz 频率计误差修正量<br>
V1<input type=text size=5 id=Cv1 value=150 > fs-1时电压<br>
V2<input type=text size=5 id=Cv2 value=202 > fs+0时电压 fs<input type=text size=5 id=Cfs value=32762 >Hz<br>
V3<input type=text size=5 id=Cv3 value=90  > fs+1时电压<br>
Vp<input type=text size=5 id=Cvp value=2.8 > fp+0时电压 fp<input type=text size=5 id=Cfp value=32801 >Hz<br>
<input type=button value="确定" onclick="calc()"><br>

<br>
<div id=Cout>
</div>

<script type="text/javascript">
function calc(){
var v1 = document.getElementById("Cv1").value-0;
var v2 = document.getElementById("Cv2").value-0;
var v3 = document.getElementById("Cv3").value-0;
var vd = document.getElementById("Cvd").value-0;
var vp = document.getElementById("Cvp").value-0;
var fs = document.getElementById("Cfs").value-0;
var fp = document.getElementById("Cfp").value-0;
var fe = document.getElementById("Cfe").value-0;

var y1=1/v1/v1, y2=1/v2/v2, y3=1/v3/v3;
var a=y2-y1, b=y3-y2, c=b-a;
var xm = -(a+b)/(2*c);
var ym = y2-(a+b)*(a+b)/(8*c);
var Co,CL,bz,r,A,Q;
A = Math.sqrt(1/ym);
r = 10*(vd-A)/A;
fs += xm+fe;
Q = Math.sqrt(c/8)*A*fs;
bz = fs/(fp-fs)/2; //Co/Cs的值
Co = 5000/(10*vd/vp);
CL = Co*(fp-fs)/(32768-fs);

document.getElementById("Cout").innerHTML =  '结果<br>'
  +'xm='+xm.toFixed(2)+'Hz 峰值点频偏<br>'
  +'fs='+fs.toFixed(2)+'Hz (改正后的fs,加上xm+fe)<br>'
  +'fp='+fp.toFixed(0)+'Hz<br>'
  +'A=' +A.toFixed(0)+'mV<br>'
  +'r=' +r.toFixed(0)+'千欧<br>'
  +'Co='+Co.toFixed(2)+'pF<br>'
  +'CL='+CL.toFixed(2)+'pF 含Co<br>'
  +'Co/Cs='+bz.toFixed(0)+'<br>'
  +'3dbQ='+Q.toFixed(0)+'<br>';
}

</script>
</body>
</html>
回复 支持 1 反对 0

使用道具 举报

     
发表于 2018-2-23 23:03:09 | 显示全部楼层
xjw01 发表于 2018-2-23 22:22
总结:
时钟不准,主要两个原因:
1、负载电容不匹配。

为什么用 1302?特别是自己的私人项目,成本并非非常重要的情况下,为毛不用 8025 之类内置晶振的时钟芯片,不仅不需要考虑负载电容匹配问题,还有专门的 32768 输出专用脚可以直接用频率计测量误差,误差还能写入芯片寄存器予以纠正。

cr10676.jpg
回复 支持 1 反对 0

使用道具 举报

     
 楼主| 发表于 2018-2-18 22:48:58 | 显示全部楼层
d2.jpg
d1.jpg
回复 支持 反对

使用道具 举报

     
发表于 2018-2-18 22:57:50 | 显示全部楼层
有创意,以前没想到过。
回复 支持 反对

使用道具 举报

     
发表于 2018-2-18 23:12:11 | 显示全部楼层
个人水平有限,看不明白,许老师出品,帮顶。
回复 支持 反对

使用道具 举报

     
发表于 2018-2-23 15:04:10 | 显示全部楼层
不错,有创意,
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-2-23 22:02:12 | 显示全部楼层
本帖最后由 xjw01 于 2018-2-23 22:30 编辑

做了一些改进,加两级放大,实现3倍频,其中倒数第二级工作于丙类放大状态。3倍频后的好处是:提高一些的频率测量精度,这时,0.1Hz对应误差0.1s左右。
电路中使用了6个晶振体管(6管机),跟做收音机差不多。

校钟仪.PNG
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-2-23 22:07:19 | 显示全部楼层
本帖最后由 xjw01 于 2018-2-23 22:26 编辑

扫频法测量32768晶振参数
XJW01 莆田第十中学
一、晶振等效电路:
晶振等效为电感Ls与电容Cs串联,再与Co并联。
Co为晶振两个管脚之间的寄生电容,32768晶振一般为0.8pF至2pF不等。
Cs非常小,Co/Cs可达400以上。
Co较小,用数字电桥测量时需要使用测试座进行测量,也可将测试夹夹在排针上,然后用摄子夹住晶振外壳,再将晶振的两个管脚压在排针上测得。
abc.PNG
从晶振两端看进去,存在两个谐振频率。Ls与Cs串联谐振,频率为fs;LsCs与Co并联谐振,频率为fp;通过扫频,可以找到这两个频率。
扫频电路:晶振串联10千欧电阻,然后接入DDS,用示波器测量10k电阻上的信号。图中,DDS信号峰峰值是Vd=1.33V=1330mV
二、测量与计算(2*6mm,5ppm):
1、找fs,以1Hz间隔扫频找到信号最大值,此时Ls、Cs谐振,测得频率与峰峰电压如下:
f1=32761Hz,V1=150mV
f2=32762Hz,V2=202mV
f3=32763Hz,V3=90mV
阻抗最底点频率fs及Vm计算:
a=V2-V1=52mV
b=V2-V3=112mV
如果b>a,则d=(a-b)/b/2,d=-0.27Hz
如果a>b,则d=(a-b)/a/2,d=无
fs=f2+d=32761.73Hz
Bo=2*d*V2/(V1+V2)=0.27*1.68=0.45
Vm=V2*sqrt(  (1-d*d)/(1-Bo*Bo)  )=218mV
损耗电阻r=10*(Vp-Vm)/Vm=51千欧
2、找fp,按1Hz间隔扫频找到信号最小值,此时Ls、Cs、Co谐振,频率fp=32801Hz
频率偏移量与CL成反比:f-fs=fs*(Cs/CL/2)
当CL降到Co时得: Co/Cs=fs/(fp-fs)/2=417
3、测量Co,频率置为32000Hz,测得有效值是Vp=2.8mV(从示波器波形上读出,不要直读示波器自动测量出来的显示值,因为显示值含有噪声电压)
Co=5000/(10*Vd/Vp)=5000/(10*1330/2.8)=1.05pF
测得的Co是晶体两个管脚之间的寄生电容及电路中连线的寄生电容两者之和。如果用电桥测量,少了后者,只测到Co=0.9pF
4、负载电容CL计算:
CL与频偏成反比,所以CL/Co=(fp-fs)/(f-fs),当f=32768时,所需的负载电容CL就是我们所需要的,即得CL=Co*(fp-fs)/(32768-fs)
因DDS频率误差0.6Hz,所以fs修正后是32762.3Hz,计算得:
CL=1.05*(32801-32762.3)/(32768-32762.3)=7.1pF
  这里的CL包含Co,所以实际需要在晶振两端并联7.1-1.05=6.1pF电容
  晶振手册中的CL是不含Co的。
5、等效外接串联损耗电阻ESR
  ESR=r*(CL/(CL-Co))^2,约等于r
三、测量与计算(3*8mm,电脑主板上拆的):
1、找fs,以1Hz间隔扫频找到信号最大值,此时Ls、Cs谐振,测得频率与峰峰电压如下:
f1=32763Hz,V1=240mV
f2=32764Hz,V2=350mV
f3=32765Hz,V3=123mV
阻抗最底点频率fs及Vm计算:
a=V2-V1=110mV
b=V2-V3=227mV
如果b>a,则d=(a-b)/b/2,d=-0.26Hz
如果a>b,则d=(a-b)/a/2,d=无
fs=f2+d=32763.74Hz
Bo=2*d*V2/(V1+V2)=0.50
Vm=V2*sqrt(  (1-d*d)/(1-Bo*Bo)  )=390mV
损耗电阻r=10*(Vp-Vm)/Vm=24千欧
2、找fp,按1Hz间隔扫频找到信号最小值,此时Ls、Cs、Co谐振,频率fp=32801Hz
频率偏移量与CL成反比:f-fs=fs*(Cs/CL/2)
当CL降到Co时得: Co/Cs=fs/(fp-fs)/2=525
3、测量Co,频率置为32000Hz,测得有效值是Vp=5.4mV(从示波器波形上读出,不要直读示波器自动测量出来的显示值,因为显示值含有噪声电压)
Co=5000/(10*Vd/Vp)=5000/(10*1330/5.4)=2.03pF
4、负载电容CL计算:
CL与频偏成反比,所以CL/Co=(fp-fs)/(f-fs),当f=32768时,所需的负载电容CL就是我们所需要的,即得CL=Co*(fp-fs)/(32768-fs)
因DDS频率误差0.6Hz,所以fs修正后是32764.3Hz,计算得:
CL=2.03*(32795-32764.3)/(32768-32764.3)=16.8pF
  这里的CL包含Co,所以实际需要在晶振两端并联16.8-2.03=14.8pF电容
因此这个晶振,两端得对地接入近14.8*2=29.6pF电容(含PBC引线电容等),谐振频率才是32768Hz
如果接入6.1pF的,那么CL=6.1+2.03=8.1pF,f-32768=fs+(fp-fs)/(CL/Co)-32768=4.2Hz
5、等效外接串联损耗电阻ESR
  ESR=r*(CL/(CL-Co))^2,约等于r
四、测量计算(淘宝买的1.6元的DS1302模块上的晶振3*8mm)
f1=32762Hz,V1=160mV
f2=32763Hz,V2=510mV=Vm
f3=32764Hz,V3=160mV
fs=32763.6Hz(加0.6Hz误差)
fp=32799Hz
ESR=10*(Vp-Vm)/Vm=16千欧
Co=5000/(10*1330/4.4)=1.63pF
CL=1.63*(32799-32763.6)/(32768-32763.6)=13.1pF(含Co)
此晶振接在DS1302中,时钟就会跑快。因为,DS1302电容是6pF,加上本晶振1.63pF,还不够13.1-(6+1.63)=大约还不够5.5pF。可以在晶振两端并联一个5pF电容解决问题。不过,这时ESR发生了变化:电路相当于Co增加了5pF,变成6.6pF,ESR=16*(13.1/(13.1-6.6))^2=65千欧。并联电容还会使谐波增加。

回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-2-23 22:22:22 | 显示全部楼层
总结:
时钟不准,主要两个原因:
1、负载电容不匹配。
淘上卖的DS1302小模块,一个1元多,产品说明写着5ppm晶振6pF,买了3个。用这个电路测量,快了10秒。拆下晶振扫频测量,发现负载电容是12.5pF的。并联一个5pF,误差降到每晶0.1秒,气温15度。
最近,我自己的一个小项目,用到了时钟,在淘宝上买了0.45元/个的KSD晶振,标称12.5pF的,设计电路时发现,DS1302要求6pF的。没办法,只得先用用再说。不过,用这个电路测量了一下,居然很准。拆下来扫频测量,发现这个晶振是6pF的,卖家标称12.5pF,给我6pF的,正好使用。
2、把晶振放在变压器旁,太热了。我家的小台钟就这样。

总之,时钟不准了,多半是卖家标错了参数,或厂家没有考虑温度问题,或者晶振型号错了。反正,不准确的钟很多。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-2-23 22:35:43 | 显示全部楼层
微信图片_20180223223424.jpg
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-2-24 10:32:45 | 显示全部楼层
washu 发表于 2018-2-23 23:03
为什么用 1302?特别是自己的私人项目,成本并非非常重要的情况下,为毛不用 8025 之类内置晶振的时钟芯 ...

用 DS1302+5ppm晶振可以做到误差小于1秒/天,一般应用足够的。

顺便说一下,上次淘宝上买DS1302,未必是买贵的好。我买了2元的DS1302,还不如几毛钱的,接5V电源后,频率变大0.16Hz,温漂也不见得优秀。所以说,钟是否准确,还是要实测一下比较放心。

此外,3倍频后,测量可以降低对示波器的要求,否则,分辨到0.1Hz,精度有点不够。


回复 支持 反对

使用道具 举报

     
发表于 2018-2-24 16:35:49 | 显示全部楼层
本帖最后由 washu 于 2018-2-24 16:40 编辑
xjw01 发表于 2018-2-24 10:32
用 DS1302+5ppm晶振可以做到误差小于1秒/天,一般应用足够的。

顺便说一下,上次淘宝上买DS1302,未必是买贵的好。我买了2元的DS1302,还不如几毛钱的,接5V电源后,频率变大0.16Hz,温漂也不见得优秀。所以说,钟是否准确,还是要实测一下比较放心。
...


DS1302 正品价格不低,官价 1.5 刀以上,目录商要二十来软妹,8025 真没贵上多少。

当然,假货宝也一样,我买的 8025 也不到 1 块钱 你的几毛钱的 1302 还得再买个几毛钱还不知道靠不靠谱的晶振吧

cr10727.jpg


光是买(还得是适合 1302 的) 5ppm 晶振就够业余爱好者喝上好几壶的,你 7 楼不就是一壶么   你楼主位是另一壶,你自己都说假货宝上的晶振负载电容都乱标了。RX8025 并非精度更高,其实也就是 5ppm 而已,只是晶振和负载电容都是内置的,无需任何外围器件,简单好用而已;特别是如果有条件测量的话,8025 可以从 FOut 直接测量,1302 就需要你的那个另一壶了

btw. 示波器时基精度一般来说不高吧,我看了下我那台屁眼示波器,才 25ppm
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-2-24 18:50:06 | 显示全部楼层
本帖最后由 xjw01 于 2018-2-24 18:52 编辑
washu 发表于 2018-2-24 16:35
DS1302 正品价格不低,官价 1.5 刀以上,目录商要二十来软妹,8025 真没贵上多少。

当然,假货宝也 ...


没说8025不好啊。
而DS1302就看你怎么用了。
晶振使用也有很多细节的,值得研究。
如果你认为,我只是想做一个准确一点的钟,那很容易啊,做完后,放在那里比对几天自然就知结果的。我的钟,未经任何调试,5天时间,累计误差小于1秒,两个元件焊上去就完事了,事情就是这么简单。DS1302,我买了几十个,晶振型号,也买了不知多少,不少于400个,你认为我是为了省那几毛钱吗?只是想研究一下能买到的32768晶振的情况。
为什么整了这么一圈,研究一下这些晶振的特性。看那32768Hz晶振的那些参数,如果不亲手调一次,难有准确感知的。网络上讲的那些,半真半假的,不骗你。不过,有几篇文章讲得很真。

另外说一下,示波器对钟是可以的,可以读出6位,手上也有频率计,但没有示波器好用。至于绝对精度,我是用铷振比对的,足够精确的。手上还有2个恒温晶振,顺便用铷振比对,发现有一个误差2个字,所以我另外标了频率在上面。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2018-2-24 19:13:53 | 显示全部楼层
washu 发表于 2018-2-24 16:35
DS1302 正品价格不低,官价 1.5 刀以上,目录商要二十来软妹,8025 真没贵上多少。

当然,假货宝也 ...

要说工程项目上的事,我不喜欢自己开发。我也喜欢使用现成的产品,省事多了。自己设计,太耗时,而且元件采购成本很高。
我上面说的小项目,就是冲侧所用的定时器。本来是叫电工去做,建议用PLC来做就可以了。不过,电工不肯做,他说不熟悉PLC。事情就这样拖了1年。校长多次叫我去设计一个方案来解决问题。实在不好拒绝,所以利用寒假来做一个定时器。
当时没认真计算成本,随口说1.2万元,没想到这事就赖我身上了。实际做的时候,元件费花了3500元,设计制作电路花了15天以上,相当于7000元,日后组织施工,还要2500元成本,税费还要1000元,已超1200元预算。所以说,自己设计,工资都挣不到。即然做了,就认真研究一下元件特性,也对得起这次设计,要是钱没挣到,东西也没学到,那就亏大了。
回复 支持 反对

使用道具 举报

     
发表于 2018-2-24 20:50:22 | 显示全部楼层
xjw01 发表于 2018-2-24 18:50
没说8025不好啊。
而DS1302就看你怎么用了。
晶振使用也有很多细节的,值得研究。

如果是研究另当别论,我当年也掉进 1302 和晶振的大坑 搞得我后来烧频率计,烧铷振,烧 GPSDO

要是当年一开始就有人给我推荐 8025,也许就没那么多事了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-4-20 02:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表