找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 23377|回复: 46
收起左侧

自己做的电容电感表 含单片机程序与原理图等资料

  [复制链接]
ID:68429 发表于 2017-10-3 11:09 | 显示全部楼层 |阅读模式
新人第一次发帖 ,大家不要见笑 程序是在51hei电子论坛下的 再次感谢这位楼主!费时三天。第一次调试1602没有显示!检查半天查看电路没有错,按照楼主说的加上拉电阻也没有字符!原来是调电位器终于显示了,幸福激动!哪个测大电容的电位器是校准的。没有合适的电感 电感档误差大 随后在做调整。借用别人的程序(本帖附件中可下载)

原理图:
0.png

实物制作图:

测试电容105的

测试电容105的

没有按键开关只有用这了

没有按键开关只有用这了

电感

电感

5v 电源供电

5v 电源供电

这是外壳

这是外壳

网购的1602屏

网购的1602屏

背部飞线严重就不拍了

背部飞线严重就不拍了


51单片机源程序:
  1. //*****************************************************************
  2. //                        大道必成  原创作品                     //
  3. //*****************************************************************
  4. #include "reg52.h"
  5. #include "intrins.h"
  6. //-------宏定义---------
  7. #define u8 unsigned char
  8. #define u16 unsigned int
  9. #define u32 unsigned long
  10. #define Cref 2200      //基准电容值(单位pF)
  11. #define LCD_DATA P0    //LCD数据口(8位)
  12. //-------I/O定义--------
  13. sbit LCD_BUSY = P0^7; //LCD忙信号
  14. sbit LCD_RS   = P1^0; //数据/命令选择(数据=1,命令=0)
  15. sbit LCD_RW   = P1^1; //读/写选择(写=0,读=1)
  16. sbit LCD_EN   = P1^2; //使能信号
  17. sbit K1_F_LC   = P1^3; //F/LC测量选择按钮(自锁),([抬起]=0测LC,[按下]=1测F)
  18. sbit K2_L_C    = P1^4; //L/C测量选择按钮(自锁)([抬起]=0测C,[按下]=1测L)
  19. sbit K3_Eb_Es  = P1^6; //电解量程选择按钮(自锁),([抬起]=0低量程,[按下]=1高量程)
  20. sbit K4_FLC_EC = P3^6; //FLC或EC(电解电容)测量选择按钮(无锁)(每按一次,翻转一次)
  21. sbit K5_Calib  = P3^7; //手工校正(清零)按钮(无锁)(消除寄生电容值)
  22. sbit Dischg    = P1^5; //测量电解电容时的充放电控制端口(=0放电,=1充电)
  23. //-------全局变量定义--------
  24. bit  FLC_EC_Flag;  //测量标志(=0测FLC,=1测电解电容)
  25. u8   Measure_Flag; //测量标志(=1测电容,=2测电感,=3测频率,=4测小电解,=5测大电解)
  26. u8   Lref;         //基准电感值(单位uH)(原作没有)
  27. u16  T0_times;     //T0中断计数预设值(每50ms一次),测F=20次(1s),测LC=10次(0.5s)
  28. u16  Timer0_Num;   //T0计数
  29. u16  Timer1_Num;   //T1计数
  30. u32  Frequency0;   //频率0(未接被测元件时的频率)
  31. u32  Frequency1;   //频率1(接入被测元件时的频率)
  32. u32  Cx;           //被测电容
  33. u32  Lx;           //被测电感
  34. u32  ECx_H;        //被测电解电容(大)
  35. u32  ECx_L;        //被测电解电容(小)
  36. //------x的n次方------------
  37. u32 power(u8 x,u8 n)
  38. {
  39.     u8 i;
  40.     u32 j = 1;
  41.     if(n == 0)
  42.     {
  43.         return 1;
  44.     }
  45.     else
  46.     {
  47.         for(i=0; i<n; i++)
  48.         {
  49.             j *= x;
  50.         }
  51.         return j;
  52.     }
  53. }
  54. //----延时n毫秒(12M晶振,12T模式,一个指令周期=1us)---
  55. //----1ms=(跳转等3个指令周期+两个空指令)*200----
  56. void Delay_ms(u8 n)
  57. {
  58.     u8 i,j;
  59.     for(i=0; i<n; i++)
  60.     {
  61.         for(j=0; j<200; j++)
  62.         {
  63.             _nop_();
  64.             _nop_();
  65.         }
  66.     }
  67. }
  68. //------LCD1602读忙标志位------
  69. void Check_busy(void)
  70. {
  71.     do
  72.     {
  73.         LCD_EN=0;
  74.         LCD_RS=0;
  75.         LCD_RW=1;
  76.         LCD_DATA=0xFF;
  77.         LCD_EN=1;
  78.     }
  79.     while(LCD_BUSY==1);
  80.     LCD_EN=0;
  81. }
  82. //------LCD1602写指令------
  83. void Write_Command(u8 cmd)
  84. {
  85.     Check_busy();
  86.     LCD_RS=0;
  87.     LCD_RW=0;
  88.     LCD_DATA=cmd;
  89.     LCD_EN=0;
  90.     LCD_EN=1;
  91.     LCD_EN=0;
  92. }
  93. //------LCD1602写数据------
  94. void Write_Data(u8 dat)
  95. {
  96.     Check_busy();
  97.     LCD_RS=1;
  98.     LCD_RW=0;
  99.     LCD_DATA=dat;
  100.     LCD_EN=0;  //机器周期小于1us时,须加延时
  101.     LCD_EN=1;
  102.     LCD_EN=0;
  103. }
  104. //-----LCD1602写字符串------
  105. //---x=列(0~15); y=行(0,1)
  106. //---从指定的位置开始写,直到超出屏幕显示
  107. void LCD_Write_String(u8 y,u8 x,u8 *Data)
  108. {
  109.     if(y==0)      //第一行
  110.     {
  111.         if(x<16)
  112.         {
  113.             Write_Command(0x80+x);  //0x80 + 第一行起始地址
  114.             for(; x<16&&*Data!='\0'; x++)   //'\0'字符串结束标志
  115.             {
  116.                 Write_Data(*(Data++));
  117.             }
  118.         }
  119.     }
  120.     if(y==1)      //第二行
  121.     {
  122.         if(x<16)
  123.         {
  124.             Write_Command(0xc0+x);          //0xc0 + 第二行起始地址
  125.             for(; x<16&&*Data!='\0'; x++)   //'\0'字符串结束标志
  126.             {
  127.                 Write_Data(*(Data++));
  128.             }
  129.         }
  130.     }
  131. }
  132. //------LCD1602写长整型数据------
  133. //x=列(0~15); y=行(0,1);截取长整型后length个数字显示在指定位置(全显示length=10)
  134. //注意此函数不支持换行,起始列+length>15时后面的显示不出来,仅能单行显示
  135. void LCD_Write_Long(u8 y,u8 x,u8 length,u32 Data)
  136. {
  137.     u8 i,k;
  138.     if(length>10)
  139.     {
  140.         length = 10;
  141.     }
  142.     if(length<10)
  143.     {
  144.         Data = Data%power(10,length);
  145.     }
  146.     if(y==0)     //第一行
  147.     {
  148.         Write_Command(0x80+x);      //0x80 + 第一行起始地址
  149.         for(i=0; i<length; i++)
  150.         {
  151.             k = (u8)(Data/power(10,length-1-i));
  152.             Data = Data%power(10,length-1-i);
  153.             Write_Data(k+0x30);
  154.         }
  155.     }
  156.     if(y==1)     //第二行
  157.     {
  158.         Write_Command(0xc0+x);      //0xc0 + 第二行起始地址
  159.         for(i=0; i<length; i++)
  160.         {
  161.             k = (u8)(Data/power(10,length-1-i));
  162.             Data = Data%power(10,length-1-i);
  163.             Write_Data(k+0x30);
  164.         }
  165.     }
  166. }
  167. //------LCD1602写长整型数据,可以指定小数点后位数-------
  168. //x=列(0~15); y=行(0,1);截取长整型后length个数字显示在指定位置(全显示length=10)
  169. //注意此函数不支持换行,起始列+length>15时后面的显示不出来,仅能单行显示
  170. //pot:小数点后显示几个数字 例:1234567 pot=2时显示为12345.67
  171. void LCD_Write_LongPoint(u8 y,u8 x,u8 length,u8 pot,u32 Data)
  172. {
  173.     u8 i,j,k;
  174.     if(length>10)
  175.     {
  176.         length = 10;
  177.     }
  178.     if(length<10)
  179.     {
  180.         Data = Data%power(10,length);
  181.     }
  182.     if(y==0)    //第一行
  183.     {
  184.         j=0;
  185.         Write_Command(0x80+x);      //0x80 + 第一行起始地址
  186.         for(i=0; i<=length; i++)
  187.         {
  188.             if(i==(length-pot))
  189.             {
  190.                 Write_Data(0x2e);   //小数点
  191.                 Write_Command(0x80+x+i+1);
  192.             }
  193.             else
  194.             {
  195.                 k = (u8)(Data/power(10,length-1-j));
  196.                 Data = Data%power(10,length-1-j);
  197.                 Write_Data(k+0x30);
  198.                 j++;
  199.             }
  200.         }
  201.     }
  202.     if(y==1)    //第二行
  203.     {
  204.         j=0;
  205.         Write_Command(0xc0+x);      //0xc0 + 第二行起始地址
  206.         for(i=0; i<=length; i++)
  207.         {
  208.             if(i==(length-pot))
  209.             {
  210.                 Write_Data(0x2e);   //小数点
  211.                 Write_Command(0xc0+x+i+1);
  212.             }
  213.             else
  214.             {
  215.                 k = (u8)(Data/power(10,length-1-j));
  216.                 Data = Data%power(10,length-1-j);
  217.                 Write_Data(k+0x30);
  218.                 j++;
  219.             }
  220.         }
  221.     }
  222. }
  223. //------LCD1602清屏---------
  224. void LCD_Clear(void)
  225. {
  226.     Write_Command(0x01);
  227. }
  228. //------LCD1602初始化-----
  229. void LCD1602_Init(void)
  230. {
  231.     Delay_ms(15);
  232.     Write_Command(0x38);   //16x2显示,8位数据
  233.     Write_Command(0x0c);   //开显示
  234.     Write_Command(0x06);   //AC自动加1,字符依次向后写
  235.     LCD_Clear();
  236. }
  237. //------判断测量类型-------
  238. void Get_Measure_Flag(void)
  239. {
  240.     if(FLC_EC_Flag==0)    //测FLC按键选择标志位
  241.     {
  242.         if(K1_F_LC==1)
  243.         {
  244.             Measure_Flag = 3;   //测频率
  245.             T0_times = 20;  //T0定时1s
  246.         }
  247.         else
  248.         {
  249.             if(K2_L_C==0)
  250.             {
  251.                 Measure_Flag = 1; //测电容
  252.             }
  253.             else
  254.             {
  255.                 Measure_Flag = 2;
  256.             }
  257.             T0_times = 10;  //T0定时0.5s
  258.         }
  259.     }
  260.     else
  261.     {
  262.         TR0 = 0;        //关闭测频率(含LC)功能
  263.         ET0 = 0;
  264.         if(K3_Eb_Es==0)
  265.         {
  266.             Measure_Flag = 4;  //测小电解
  267.         }
  268.         else
  269.         {
  270.             Measure_Flag = 5;  //测大电解
  271.         }
  272.     }
  273. }
  274. //------测试(F/L/C)初始化(T0,T1初始化)------
  275. void MeasureFLC_init(void)
  276. {
  277.     Timer0_Num = 0;
  278.     Timer1_Num = 0;
  279.     TMOD = 0x51;  //T0作定时器,T1作计数器
  280.     TH0  = 0x3c;  //T0初值高8位(定时50ms)
  281.     TL0  = 0xb0;  //T0初值低8位
  282.     TH1  = 0x3c;  //T1初值高8位(计数50000次)
  283.     TL1  = 0xb0;  //T1初值低8位
  284.     TR0  = 1;  //T0开
  285.     TR1  = 1;  //T1开
  286.     ET0  = 1;  //T0中断开
  287.     ET1  = 1;  //T1中断开
  288.     EA = 1;    //总中断开
  289. }
  290. //--------计算L/C值--------
  291. void LC_Calculate(void)
  292. {
  293.     float mes;
  294.     mes = (float)Frequency0/(float)Frequency1;  //频率比
  295.     mes *= mes;  //平方值
  296.     if(mes < 1)  //取绝对值
  297.     {
  298.         mes = 1 - mes;
  299.     }
  300.     else
  301.     {
  302.         mes -= 1;
  303.     }
  304.     Cx = 100 * mes * Cref;   //计算被测电容值(精确到0.1pF)
  305.     if((Cx%10) >= 5)  //四舍五入
  306.     {
  307.         Cx = Cx/10 + 1;
  308.     }
  309.     else
  310.     {
  311.         Cx = Cx/10;
  312.     }
  313.     Lx = mes * Lref * 1000;  //计算被测电感值(精确到0.01uH)
  314.     if((Lx%10) >= 5)  //四舍五入
  315.     {
  316.         Lx = Lx/10 + 1;
  317.     }
  318.     else
  319.     {
  320.         Lx = Lx/10;
  321.     }
  322.     if(Frequency1<50)    //防止不接入电感时显示溢出值
  323.     {
  324.         Lx = 0;
  325.     }
  326. }
  327. //----自动校正(清除寄生电容值)-------
  328. void Auto_Calib(void)
  329. {
  330.     u8 i;
  331.     if((K1_F_LC != 0) || (K2_L_C != 0))  //判断K1,K2的初始位置
  332.     {
  333.         LCD_Clear();
  334.         LCD_Write_String(0,0,"Auto Calib fail!");
  335.         if((K1_F_LC == 1) && (K2_L_C == 1))
  336.         {
  337.             LCD_Write_String(1,0,"Need up K1 & K2 ");
  338.         }
  339.         else
  340.         {
  341.             if(K1_F_LC == 1)
  342.             {
  343.                 LCD_Write_String(1,0,"   Need up K1   ");
  344.             }
  345.             else
  346.             {
  347.                 LCD_Write_String(1,0,"   Need up K2   ");
  348.             }
  349.         }
  350.         while((K1_F_LC == 1) || (K2_L_C == 1));  //等待K1,K2的准确初始位置
  351.         for(i=0; i<20; i++)
  352.         {
  353.             Delay_ms(75);  //延时1.5秒,消抖.
  354.         }
  355.     }
  356.     LC_Calculate();
  357.         Delay_ms(150);
  358.     Lref = (Cx/Cref + 1) * 100;  //计算基准电感值(单位uH)
  359.     Frequency0 = Frequency1;
  360. }
  361. //-------按键读取--------
  362. void Get_Key(void)
  363. {
  364.     if(K4_FLC_EC == 0)  //如果=0(按钮按下)
  365.     {
  366.         Delay_ms(50);
  367.         if(K4_FLC_EC == 0)
  368.         {
  369.             FLC_EC_Flag = ~FLC_EC_Flag; //测量标志取反
  370.             if(FLC_EC_Flag == 0)  //如果=0,是测FLC
  371.             {
  372.                 EX0 = 0;        //关闭测电解电容的功能(外部中断0关)
  373.                 MeasureFLC_init();  //测试(F/L/C)初始化(T0,T1初始化)
  374.             }
  375.             else  //否则,是测量电解电容.
  376.             {
  377.                 TR0 = 0;  //T0关
  378.                 ET0 = 0;  //T0中断关
  379.             }
  380.         }
  381.     }
  382.     if(K5_Calib == 0)  //如果=0(按钮按下)(手工校正)
  383.     {
  384.         Delay_ms(50);  //延时50sm,消抖
  385.         if(K5_Calib == 0)
  386.         {
  387.             if((K1_F_LC == 0) && (K2_L_C == 0))  //如果K1,K2处于测量电容位置
  388.             {
  389.                 Frequency0 = Frequency1;
  390.             }
  391.         }
  392.     }
  393. }
  394. //-------测试电解电容初始化(T0,T1及外部中断初始化)-------
  395. void MeasureElec_init(void)
  396. {
  397.     u8 i;
  398.     ECx_H = 0;
  399.     ECx_L = 0;
  400.     TR1 = 0;
  401.     ET1 = 0;
  402.     EX0 = 0;  //关外部中断
  403.     Dischg = 0;  //放电
  404.     Delay_ms(180);
  405.     Delay_ms(200);
  406.     Dischg = 1;  //充电
  407.     Timer1_Num = 0;
  408.     TMOD = 0x11;  //T0,T1都作定时器
  409.     TH1  = 0x3c;  //T1初值高8位(定时50ms)
  410.     TL1  = 0xb0;  //T1初值低8位
  411.     TR1  = 1;  //T1开
  412.     ET1  = 1;  //T1中断开
  413.     IT0  = 1;  //下降沿触发
  414.     EX0  = 1;  //外部中断开
  415.     EA   = 1;  //总中断开
  416.     for(i=0; i<65; i++)  //延时1.3s,等待测量
  417.     {
  418.         Delay_ms(20);
  419.         if(K4_FLC_EC == 0)  //如果测量期间K4键按下
  420.         {
  421.             Delay_ms(20);
  422.             if(K4_FLC_EC == 0)
  423.             {
  424.                 break;  //中止
  425.             }
  426.         }
  427.     }
  428.     EX0    =    0;    //外部中断关
  429.     Dischg =    0;    //放电
  430. }
  431. //--------定时器0中断处理---------
  432. void Timer0_interrupt(void) interrupt 1
  433. {
  434.     TH0  = 0x3c;  //重装载T0初值高8位(定时50ms)
  435.     TL0  = 0xb0;  //重装载T0初值低8位
  436.     Timer0_Num++; //T0计次累加
  437.     if(Timer0_Num >= T0_times)  //如果T0计次数=T0预设值(测F=20(1s),测LC=10(0.5s))
  438.     {
  439.         TR0 = 0;  //T0关
  440.         TF0 = 0;  //T0溢出标志清零
  441.         TR1 = 0;  //T1关
  442.         TF1 = 0;  //T1溢出标志清零
  443.         Frequency1 = 50000*Timer1_Num + ((u16)((TH1<<8)+TL1)-0x3cb0);
  444.         //计算频率值(Frequency1)
  445.         Timer0_Num = 0;  //T0计次清零
  446.         Timer1_Num = 0;  //T1计次清零
  447.         TH0  = 0x3c;  //重装载T0初值高8位(定时50ms)
  448.         TL0  = 0xb0;  //重装载T0初值低8位
  449.         TH1  = 0x3c;  //重装载T1初值高8位(计数50000次)
  450.         TL1  = 0xb0;  //重装载T1初值低8位
  451.         TR0  = 1;  //T0开
  452.         TR1  = 1;  //T1开
  453.     }
  454. }
  455. //------定时器1中断处理-------
  456. void Timer1_interrupt(void) interrupt 3
  457. {
  458.     TH1  = 0x3c;  //重装载T1初值高8位(定时50ms,或计数50000次)
  459.     TL1  = 0xb0;  //重装载T1初值低8位
  460.     Timer1_Num++; //T1计次累加
  461. }
  462. //-------外部INT0中断处理--------
  463. void INT0_Interrupt(void) interrupt 0
  464. {
  465.     if(Measure_Flag==4)
  466.     {
  467.         ECx_L = (50000*Timer1_Num + ((u16)((TH1<<8)+TL1)-0x3cb0))*100/2000;
  468.         //计算低容量电解电容值(精确到0.01uF)
  469.         if((ECx_L-2)>=0)
  470.         {
  471.             ECx_L -= 2;  //修正误差
  472.         }
  473.     }
  474.     if(Measure_Flag==5)
  475.     {
  476.         ECx_H = (50000*Timer1_Num + ((u16)((TH1<<8)+TL1)-0x3cb0))*10/100;
  477.         //计算高容量电解电容值(精确到0.1uF)
  478.         if((ECx_H-4)>=0)
  479.         {
  480.             ECx_H -= 4;   //修正误差
  481.         }
  482.     }
  483. }
  484. //-----------
  485. void Main(void)
  486. {
  487.     u8 i;
  488.     u8 clear;           //清屏标志位,如果功能转换则需要清屏
  489.     Measure_Flag = 0;
  490.     FLC_EC_Flag  = 0;   //开机默认测FLC
  491.     T0_times     = 10;
  492.     Timer0_Num   = 0;
  493.     Timer1_Num   = 0;
  494.     Frequency0   = 169500;
  495.         //基准频率的一半(基准频率是:当L=100uH,C=2200pF时的频率,=339000Hz)
  496.     Frequency1   = 0;
  497.     LCD1602_Init();
  498.     MeasureFLC_init();
  499.     LCD_Write_String(0,0,"  L.C.F  Meter   ");
  500.     LCD_Write_String(1,0,"   2015-08-01  ");
  501.     for(i=0; i<20; i++)
  502.     {
  503.         Delay_ms(150);  //开机画面显示3秒
  504.     }
  505.     Auto_Calib();
  506.     while(1)
  507.     {
  508.         Get_Key();               //按键扫描
  509.         Delay_ms(70);            //该延时使按键切换稳定
  510.         clear = Measure_Flag;    //读测量类型标志及清屏
  511.         Get_Measure_Flag();      //获取测量类型标志
  512.         if(clear != Measure_Flag)
  513.         {
  514.             LCD_Clear();
  515. ……………………

  516. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
0.png
所有资料51hei提供下载:
51黑论坛_自动校正.zip (32.65 KB, 下载次数: 488)

评分

参与人数 2黑币 +106 收起 理由
qjzyx + 6 赞一个!
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:68429 发表于 2017-10-4 09:51 | 显示全部楼层
电容Cref影响精确度!实在找不到就用cbb电容代替,昨天用数字万用表测量一个比较精确的电容更换确实精度提供了!
回复

使用道具 举报

ID:266116 发表于 2018-1-3 20:19 | 显示全部楼层
下个学学!谢谢分享!
回复

使用道具 举报

ID:431388 发表于 2018-11-22 19:22 | 显示全部楼层
优秀啊
回复

使用道具 举报

ID:399179 发表于 2018-11-25 18:47 来自手机 | 显示全部楼层
感谢楼主分享!
回复

使用道具 举报

ID:418213 发表于 2018-12-16 22:13 | 显示全部楼层
学习的好资料,谢谢分享。
回复

使用道具 举报

ID:447989 发表于 2018-12-17 14:49 | 显示全部楼层
学习的好资料,谢谢分享。
回复

使用道具 举报

ID:399179 发表于 2018-12-17 20:58 来自手机 | 显示全部楼层
除楼主外有做成功的吗?
回复

使用道具 举报

ID:399179 发表于 2018-12-18 13:37 来自手机 | 显示全部楼层
哪位老师知道图纸上的J3是做什么用的?
回复

使用道具 举报

ID:378965 发表于 2018-12-19 09:42 | 显示全部楼层
不错 正好家里有些 老芯片 不知道怎么用掉
回复

使用道具 举报

ID:469607 发表于 2019-1-17 12:36 | 显示全部楼层
太好了,顶
回复

使用道具 举报

ID:284488 发表于 2019-1-17 16:13 | 显示全部楼层
图纸上的J3是做测频率用的吧!
回复

使用道具 举报

ID:471375 发表于 2019-1-23 23:51 来自手机 | 显示全部楼层
非常好,自己做一个
回复

使用道具 举报

ID:481908 发表于 2019-2-28 11:20 | 显示全部楼层
快乐眼泪 发表于 2018-12-18 13:37
哪位老师知道图纸上的J3是做什么用的?

电源AAAAAAAAAAAAAAAAAAAAAAAA
回复

使用道具 举报

ID:481908 发表于 2019-2-28 16:39 | 显示全部楼层
快乐眼泪 发表于 2018-12-18 13:37
哪位老师知道图纸上的J3是做什么用的?

测电解电容的
回复

使用道具 举报

ID:570855 发表于 2019-6-24 15:06 | 显示全部楼层

非常好,自己做一个
回复

使用道具 举报

ID:377382 发表于 2019-7-16 11:01 | 显示全部楼层
太好了
回复

使用道具 举报

ID:595456 发表于 2019-8-12 13:57 | 显示全部楼层
请问楼主,测量范围如何呀?
回复

使用道具 举报

ID:43383 发表于 2019-9-3 16:04 | 显示全部楼层
下载研究一下,谢谢分享
回复

使用道具 举报

ID:609520 发表于 2019-11-9 16:23 | 显示全部楼层
好不知道精度好不好调整
回复

使用道具 举报

ID:483857 发表于 2019-11-11 11:20 | 显示全部楼层

楼主,好文章,学习啦
回复

使用道具 举报

ID:517951 发表于 2019-12-12 17:41 | 显示全部楼层
楼主,好文章,学习啦
回复

使用道具 举报

ID:688922 发表于 2020-1-31 10:37 | 显示全部楼层
搞开关电源变压器的设计,变压器磨完气隙后的感量需要测量,LCR仪买不起,刚好参考楼主的分享自己做一个,感谢!
回复

使用道具 举报

ID:688922 发表于 2020-1-31 10:38 | 显示全部楼层
谢谢楼主,
回复

使用道具 举报

ID:126866 发表于 2020-2-1 00:28 | 显示全部楼层
take a look
回复

使用道具 举报

ID:703942 发表于 2020-3-13 18:53 | 显示全部楼层
标记一下,打算做一个
回复

使用道具 举报

ID:635119 发表于 2020-5-11 21:03 | 显示全部楼层
楼主有仿真么
回复

使用道具 举报

ID:517951 发表于 2020-11-15 16:35 | 显示全部楼层
不错,值得学习。51hei有你更精彩!!
回复

使用道具 举报

ID:517951 发表于 2020-11-15 16:57 | 显示全部楼层
不错,值得学习。51hei有你更精彩!!
回复

使用道具 举报

ID:140769 发表于 2020-11-25 14:11 | 显示全部楼层
有意义的学习资料,感谢分享
回复

使用道具 举报

ID:603535 发表于 2021-1-2 18:08 | 显示全部楼层
好文章,学习啦
回复

使用道具 举报

ID:471297 发表于 2021-2-7 00:05 | 显示全部楼层
我按这个做了个仿真,电解电容可以测量,无极电容和电感不能检测,不只是哪里问题
回复

使用道具 举报

ID:95809 发表于 2021-2-8 12:07 来自手机 | 显示全部楼层
网络不安全 发表于 2021-2-7 00:05
我按这个做了个仿真,电解电容可以测量,无极电容和电感不能检测,不只是哪里问题

实物早做过了,没有问题,精度还可以,不要和专业仪器比。
回复

使用道具 举报

ID:200118 发表于 2021-2-14 23:22 | 显示全部楼层
不错,学习一下,谢谢分享。。。
回复

使用道具 举报

ID:782617 发表于 2021-3-2 22:36 | 显示全部楼层
需要的实体原件有什么?
回复

使用道具 举报

ID:243748 发表于 2021-4-19 22:53 来自手机 | 显示全部楼层
能用吗,想做一个玩下
回复

使用道具 举报

ID:902479 发表于 2021-7-22 19:46 | 显示全部楼层
测量范围怎么样,我用万用表测量的放话,有很多电容测量不出来的,应该是超出量程了,所以一直想自己做一个大范围的电容专用测量表。。
回复

使用道具 举报

ID:876099 发表于 2021-10-30 13:32 | 显示全部楼层
为什么我没办法测量电容电感(仿真)
回复

使用道具 举报

ID:61140 发表于 2021-12-15 16:13 | 显示全部楼层
那个J3干什么用的
回复

使用道具 举报

ID:960112 发表于 2021-12-23 00:27 | 显示全部楼层
你好,这款电感测量电路,是不是先要测量电容才能进行电感测量
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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