13254|41

7953

帖子

54

资源

裸片初长成(中级)

51DIY第一波之LC测量小工具 收官了(完整资料上传)

LC测量小工具文档总汇 目录
LM311测量电路分析文档                           1
我和JAYCH完成的。电路分析主要是我完成,JAYCH主要负责在MULTISIM上仿真
压缩包:anqi90
anqi90完成的51单片机频率计部分,附带了1602显示子程序。有一点要说明的是:
他的程序是以一个100K标准信号做对比的。如果没有这个信号,要稍作改动
另外,压缩包里附带了他的文档说明,写的较为详细,红色字体和批注是我加上的
建议。

压缩包:鑫海宝贝
鑫海宝贝完成的51单片机频率计部分,但是他还没完成调试,由于我当时条件不成熟,
我也没有给他调试,验证。
同样的,压缩包里有他的文档说明,同样有我的建议。

压缩包:2011.4.24 LC-meter
这是我改动过的程序,也是我们最终成品上跑动的程序。
在anqi90的基础上改动,改动很大,主程序几乎都改过了。

2004年捷克人原作者资料
这是这个DIY的最早资料,被认为是原作者。英文文档。
但个人认为写得不很完整,但上面有一些资料的链接,应该可以下到源程序

文件夹:LM311部分波形图片
这是LM311部分电路上示波器的实际效果图。

1602显示部分zzjone023
这是zzjone1023的学习笔记和进展汇报。由于他比较忙,加上是真正的初学者,所以
他完成的进度还比较慢,我们期待他为我们补完最后一份1602的使用简介。

疑问
这个文档里简单提了对于LM311电路部分的疑问,以及对于频率计的测量效果的分析。


此帖出自51单片机论坛
目录截图.jpg

LC测量小工具文档总汇.rar

1.41 MB, 下载次数: 1098

个人签名

八年一梦,洗尽铅华,重头再来


回复

7953

帖子

54

资源

裸片初长成(中级)

还剩的疑问

LM311电路
整个电路的重点和难点都在正相端。
曾经我分析的基本依据是
“两个分压电阻是分压,所以忽略。然后由比较器的虚短虚断,得出LC网络的电流也是恒值电流”。
但是,后来发现这其实很值得商榷。
首先,如果对正相端这个节点运用KCL是不合适的,因为事实上没人证明这个点的电压就是2.5V。
(我们之前分析的逻辑是,两个分压电阻,可是别忘了还有反馈电阻和LC网络。)
当然了,实测时,的确是中点电压——只可惜,如果这个点是交流点,那这个值是没有意义的。

有一个曾经被忽略的元件这个时候慢慢浮上来。
那个10uF的电容,但是我不确定它到底是隔直电容还是耦合电容。不过后来我意识到无论是这两种的哪一种,其实功能是类似的,应该就是隔开LC网络的交流信号和分压电阻的直流点。
(如果从这个角度去看,那其实我前面 忽略 分压电阻 的做法也是对的,类似的。)

频率计部分
频率计主要是程序,目前有三个版本。
原任务接收者 anqi90和鑫海宝贝,以及我整合时在anqi90基础上修改的一个。
程序的东西没什么特别的可说。
本来希望能给出完整流程,但目前这一步也没做好,这个是我的责任,因为第一次组织多人协作,我没有安排任务,导致最后我们有了三份几乎完全独立的版本。
所以,只希望我们的代码对你有参考意义。

关于频率计的效果,我简单说一下。
我在示波器上看到的结果是506K和362K
而单片机测量显示的是525K和375K。
如果我们计算一下比例,我们会发现,这两者的比例基本一致,因而我认为,频率测量的误差来自系统误差。
考察程序设计思想,无论是anqi90用的IO口测试,还是我用的定时器+计数器,都是一样的结果。
并且我调整了累积个数,从100到300到1000,这个数值仍然一样,这说明,实际上,并不是我之前设想的因为程序指令带来的附加误差。
但这个误差到底来自于那里,目前仍然没想到。
因为没有示波器,我也没办法确认是否接上单片机以后,频率就自个给变化了。

但是所幸,在这个电路里,我们不需要绝对准确的频率,只要相对比例正确即可。

这份文档还缺一份1602的简明使用介绍手册。
当初我们的目标是:
完全不会用1602的你(当然包括我,我至今没理解,我用的头文件)
看了这份简明的手册,可以理解1602的驱动方法,并且写出你自己的驱动函数,供调用。
因为最近zzjione很忙,他稍迟会给我们提交上来的。

[ 本帖最后由 辛昕 于 2011-5-8 21:33 编辑 ]
图2.jpg
个人签名

八年一梦,洗尽铅华,重头再来


回复

7093

帖子

193

资源

五彩晶圆(高级)

支持下 支持

回复

1571

帖子

0

资源

五彩晶圆(中级)

先顶一下,我再想想误差那一块,按理说不应该这么大,之前在示波器上看的误差也就几k…另外我的主程序只是为了测频率,改动大也是应该的

回复

2万

帖子

74

资源

管理员

原帖由 辛昕 于 2011-5-6 00:10 发表 LM311电路 整个电路的重点和难点都在正相端。 曾经我分析的基本依据是 “两个分压电阻是分压,所以忽略。然后由比较器的虚短虚断,得出LC网络的电流也是恒值电流”。 但是,后来发现这其实很值得商榷。 首先,如 ...


大家可以围绕辛昕提出的疑问  帮忙给给建议 改进改进咱这个LC测试仪
个人签名

不管是哪年,都要加油!继续为中国电子行业做出小小的贡献吧! 扣扣 1206973913


回复

34

帖子

0

资源

禁止发言

不但学习知识,还做了一个实用工具。

回复

526

帖子

0

资源

纯净的硅(高级)

版主还强大

回复

21

帖子

0

资源

一粒金砂(中级)

关注中,目前正在做这个小东西,可把我难坏了。一开始用393,用的是两个510p的云母电容,分别作振荡和校验,都比较正常,测1000p电容也正常,测100p 频率就不成比例了。后来网购了311 还是遇到同样的问题,急死了

回复

7953

帖子

54

资源

裸片初长成(中级)

回复 8楼 卫星狂 的帖子

怎么个不成比例法。

个人建议:别慌了,既然1000P是正常的,那说明已经能动了。恭喜恭喜。
建议你说多一些细节。我们再讨论讨论。
个人签名

八年一梦,洗尽铅华,重头再来


回复

4458

帖子

0

资源

五彩晶圆(中级)

回家了才回来,妈妈病了,回来就过来顶顶

回复

21

帖子

0

资源

一粒金砂(中级)

版主好人!!

具体情况:启动后频率在486.5K左右,用510P作校验 频率在348K左右;测1000P云母,频率在292K左右;测100P云母电容,在381.5K左右,明显频率不对;而用两个100P云母并联成200P,频率在410.5K左右。好像是对的,用两个100P串联成50P,频率在465K左右,这个好像也对,晕了,就单测100P不对。

 用的是STC89C52+LM311+74LS244

[ 本帖最后由 卫星狂 于 2011-5-9 11:14 编辑 ]

回复

7953

帖子

54

资源

裸片初长成(中级)

估计是频率测量撞到那个点了

 

贴上你测频率的那段代码或者子函数

 

另外试一下能否找到接近100P的电容,测一下,看是不是发现只有到100P才出事

[ 本帖最后由 辛昕 于 2011-5-9 12:07 编辑 ]
个人签名

八年一梦,洗尽铅华,重头再来


回复

21

帖子

0

资源

一粒金砂(中级)

感谢版主提醒,确实是程序的问题,现在已经解决了

 

以后就在这里混了,跟着版主好好学习,天天向上

赞赏

1

查看全部赞赏


回复

7953

帖子

54

资源

裸片初长成(中级)

回复 13楼 卫星狂 的帖子

牛!!一天就搞定了,,哥必须给你评分

话说具体什么问题啊.....

 

[ 本帖最后由 辛昕 于 2011-5-10 11:36 编辑 ]
个人签名

八年一梦,洗尽铅华,重头再来


回复

21

帖子

0

资源

一粒金砂(中级)

原来程序里 计算频率的代码是:F1=cout*65536+TL0+(TH0<<8);

 

后来发现不行,改成:F1=cout*65536+TH0*256+TL0; 就好了

 

哈哈!!本来想用位移操作代替乘法,结果把TH0给移成 零 了

[ 本帖最后由 卫星狂 于 2011-5-10 18:33 编辑 ]

回复

7953

帖子

54

资源

裸片初长成(中级)

回复 15楼 卫星狂 的帖子

哦,哥们,顺便打听个事
除了A移位,对别的寄存器变量移位也可以吗?
我的KEIL报错我就没用了,当时好像也没试过效果。
个人签名

八年一梦,洗尽铅华,重头再来


回复

21

帖子

0

资源

一粒金砂(中级)

回复 16楼 辛昕 的帖子

对别的寄存器变量移位 还真没试过

回复

7953

帖子

54

资源

裸片初长成(中级)

原帖由 卫星狂 于 2011-5-10 12:42 发表 原来程序里 计算频率的代码是:F1=cout*65536+TL0+(TH0<<8);

 

那你这句 TH0<<8是干嘛的?

个人签名

八年一梦,洗尽铅华,重头再来


回复

1571

帖子

0

资源

五彩晶圆(中级)

TH0<<8确实是左移8位,C编译的时候会把TH0读到A,再对A移位,但是A只有8位,所以左移8位以后A就全为0了....
而TH0*256是作为一个int型计算的,16位

感觉应该是这样,有时间试一下

回复

21

帖子

0

资源

一粒金砂(中级)

回复 19楼 anqi90 的帖子

我已经以身试法了,哈哈

 

单独 TH0<<8 肯定不行了,估计先定义个 int 变量X ,X=TH0 ;再 X<<8 应该没问题。

 

TH0 是8位 寄存器变量,再左移8位 肯定=0

[ 本帖最后由 卫星狂 于 2011-5-11 20:57 编辑 ]

回复
您需要登录后才可以回帖 登录 | 注册

关闭
站长推荐上一条 1/5 下一条

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表