4928|10

1万

帖子

16

TA的资源

版主

楼主
 

对LC测量小工具的疑问???? [复制链接]

 前些日子出差办事,为了生活四处奔波哈,回来我看了LC小工具,我也搭了个,频率顺利测出,也用了整理的程序,但我的电容值显示不了,对电容的计算,我的问题是要那个F2,做什么呢?我只测电容只要F1和F3不就行了
 
        {
         X = Key_Div(F1,F3);  //这个明白
           X /= Key_Div(F1,F2);//这个不明白
           X *= C0;
           show_float(Cx,X);
           Lcd_Clear_Line(2);
           Lcd_Write_String(2,1,Cx);
        }

 

请大侠们指点一两,

 

这是我的原理图那个L1我的用100UH道理很简单,木有82UH地,

我测是不并电容是F1,焊上测F2

f1:2075675HZ

f2:15889655HZ

 

 

 

[ 本帖最后由 ddllxxrr 于 2011-6-1 06:48 编辑 ]
此帖出自单片机论坛

最新回复

那就再仔细检查计算电容的地方 还有就是,在哪里传入虚假的一组变化的数据,看看它的输出有没效果。  详情 回复 发表于 2011-6-3 17:53
点赞 关注
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 

回复
举报

30

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
回大侠,我只了解一点点,还不知对不对:
Cx/c=(f1/f3)2-1…①;//平方不会输入
C0/c=(f1/f2)2-1…②;
Cx/C0=①/②
这样误差就只跟C0有关了

C语言好难啊,不知道浮点运算是咋回事
此帖出自单片机论坛
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

板凳
 

回复 沙发 jcl6967069 的帖子

是的,就是这样子。
多测了一次,就可以拿标准电容的测量值来作对比测量,而不是绝对测量,绝对测量的话对频率测量的精度要求很高,同时对LC测量网络要求很高。
试问,把精度寄望于一个电容好呢?还是寄望于一个好的频率计和一个电感呢?
此帖出自单片机论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

1万

帖子

16

TA的资源

版主

4
 

现在问题是我的电容显示不出来,频率正常

void show_float(UCHAR Dis[],float a)
{
    long value = 0;
    UCHAR i = 0;
   
    for(i = 3;i < 13;i++)
                Dis = 32;

    value = a * 10000;

    Dis[9] = 46;
    for(i = 2; ;i++)          //从数组末开始存储
      {   
            if(i == 6)
                continue;
  
                          Dis[15 - i] = value % 10 + 0x30;   //从末位开始取
                      value /= 10;                     //截取末位
            if(!value)
                            break;
          }
}
此帖出自单片机论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

5
 
嗯,把你计算电容的部分和显示电容那一部分的语句以及相应的子函数发出来看看?
另外就是,显示不出电容,是怎么个显示不出法?
是显示0啊,还是空的?

如果是后者,如果你用的是我写的那个程序,有两种可能
1 就是你贴的代码那一部分,子函数中没正常完成数字向数组转换
2 就是压根没成功掉用过子函数。
此帖出自单片机论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

1万

帖子

16

TA的资源

版主

6
 

我用的是11.0594所以改了下

我把相应地改成LONG了,这样显示了,但显示总是1000PF 我把程序上传,也没整理版主先看先

 

我现在频率正常,电容显了但值不变,频率到是变

 

1602.zip (2.16 KB, 下载次数: 3)

 

只改主程序别的未动

[ 本帖最后由 ddllxxrr 于 2011-6-2 19:37 编辑 ]
此帖出自单片机论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

7
 

时间久了,忘得可以了。

while(1)
    {
                X = 0.0000;
        Delay_s(1);
            F3 = Get_Frequency();
        transfer(char1,F3);
        Lcd_Clear_Line(1);
        Lcd_Write_String(1,1,char1);
        /*
                if(project == L)
        {
           X = Key_Div(F1,F2);
           X *= Key_Div(F1,F3);
           X *= L0;
           X *= 1000000.0000/4.0/(float)F1/(float)F1/(float)PI/(float)PI;
         
           show_float(Lx,X);
               Lcd_Clear_Line(2);
           Lcd_Write_String(2,1,Lx);

        }
        else
                */
        {
                X = Key_Div(F1,F3);
           X /= Key_Div(F1,F2);
           X *= C0;
           show_float(Cx,X);
           //Lcd_Clear_Line(2);
           Lcd_Write_String(2,1,Cx);
        }
    }

看了好一会主程序,没看出什么名堂。
不过既然你只要测量电容,为什么不把这个括号去掉?
就是原来ELSE下面那个。

另外,建议你在程序中的几个位置,植入一句LCD显示特殊字样指令,这样你就可以清楚的知道,程序跑到了什么地方,死在哪里?
此帖出自单片机论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

8
 

你懂的...

我想你首先要确定,程序有没正常跑到这里,计算电容这个位置

 

在  else
  */
        {
         X = Key_Div(F1,F3);
           X /= Key_Div(F1,F2);
           X *= C0;
           show_float(Cx,X);
           //Lcd_Clear_Line(2);
           Lcd_Write_String(2,1,Cx);
        }

这个位置,插入一句 显示 什么字样 的指令,看看能不能看到这句话。

功能性的东西我还没仔细看

 

[ 本帖最后由 辛昕 于 2011-6-3 09:43 编辑 ]
此帖出自单片机论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

9
 

原帖由 ddllxxrr 于 2011-6-2 19:35 发表 我把相应地改成LONG了,这样显示了,但显示总是1000PF 我把程序上传,也没整理版主先看先   我现在频率正常,电容显了但值不变,频率到是变   65594   只改主程序别的未动

 

频率在变,电容值不变,这句话太经典了。

但愿就是我猜测的那个问题。

此帖出自单片机论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

回复

1万

帖子

16

TA的资源

版主

10
 

那个括号多了少了不影响的

我现在跑全程了,否则,电容不会显的
此帖出自单片机论坛
 
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 

回复

7815

帖子

56

TA的资源

裸片初长成(中级)

11
 
那就再仔细检查计算电容的地方

还有就是,在哪里传入虚假的一组变化的数据,看看它的输出有没效果。
此帖出自单片机论坛
 
个人签名

强者为尊,弱者,死无葬身之地

 
 

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

开源项目 更多>>
    随便看看
    查找数据手册?

    EEWorld Datasheet 技术支持

    相关文章 更多>>
    关闭
    站长推荐上一条 1/8 下一条

     
    EEWorld订阅号

     
    EEWorld服务号

     
    汽车开发圈

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

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

    北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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