<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[forum.rcl-radio.ru &mdash; L - metr 1uH...10mH]]></title>
	<link rel="self" href="http://forum.rcl-radio.ru/extern.php?action=feed&amp;tid=61&amp;type=atom" />
	<updated>2021-11-30T12:08:23Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.rcl-radio.ru/viewtopic.php?id=61</id>
		<entry>
			<title type="html"><![CDATA[Re: L - metr 1uH...10mH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=4886#p4886" />
			<content type="html"><![CDATA[<p>Спасибо что заметили ошибку, поправил скетч (поменял D11 на D9).</p><div class="quotebox"><blockquote><p>Еще было не плохо добавить в часть измерения ёмкости электролитов, перед выводом на экран, произвести пять измерений, потом усреднить значение и только после этого вывести на экран. На время измерения очистить экран и вывести надпись &quot;wait...&quot;</p></blockquote></div><p>К сожалению какие то правки в код я не смогу внести, проект старый, был выполнен на макетной плате которая в последствии была разобрана.</p>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2021-11-30T12:08:23Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=4886#p4886</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: L - metr 1uH...10mH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=4885#p4885" />
			<content type="html"><![CDATA[<p>Собрал я этот девайс. В коде допущена ошибка. Неправильно указан порт для измерения ёмкости конденсатора, в схеме он D9. В программе обращение прописано к D11. Еще было не плохо добавить в часть измерения ёмкости электролитов, перед выводом на экран, произвести пять измерений, потом усреднить значение и только после этого вывести на экран. На время измерения очистить экран и вывести надпись &quot;wait...&quot;</p>]]></content>
			<author>
				<name><![CDATA[etkbis]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=1560</uri>
			</author>
			<updated>2021-11-30T09:06:18Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=4885#p4885</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[L - metr 1uH...10mH]]></title>
			<link rel="alternate" href="http://forum.rcl-radio.ru/viewtopic.php?pid=69#p69" />
			<content type="html"><![CDATA[<p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2019/09/b55b7b91578a62d0fff78f0b1ac39e57.gif" alt="http://forum.rcl-radio.ru/uploads/images/2019/09/b55b7b91578a62d0fff78f0b1ac39e57.gif" /></span> </p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2019/09/1a02f158331e74962cf3894f648eda71.gif" alt="http://forum.rcl-radio.ru/uploads/images/2019/09/1a02f158331e74962cf3894f648eda71.gif" /></span> </p><p><span class="attention-yellow"></span> </p><p>Основная статья - <a href="http://rcl-radio.ru/?p=66450">http://rcl-radio.ru/?p=66450</a></p><p>Измерение индуктивности катушек от единиц мкГн до 10 мГн (и более - измерения не проводились)<br />Калибровка - замкнуть вход прибора, нажать кнопку уст.0. (сохр. в EEPROM)</p><p>L - метр<br /></p><div class="codebox"><pre><code>#include &lt;FreqCount.h&gt;
#include &lt;LiquidCrystal.h&gt;
LiquidCrystal lcd(8, 7, 2, 3, 4, 6);// RS,E,D4,D5,D6,D7
#include &lt;EEPROMex.h&gt;
// вход частотомера 5 
unsigned long f;
const float c = 1000.0*pow(10,-12);
float l_pop=0.00;
float l;
int l_int;


void setup() {Serial.begin(9600);
  lcd.begin(16, 2);// LCD 16X2
  FreqCount.begin(1000);
  pinMode(13,INPUT);
  l_pop = float(EEPROM.read(0)*256 + EEPROM.read(1))/100; 
  Serial.println(float(EEPROM.read(0)*256 + EEPROM.read(1))/100);
}


void loop() {
  
    lcd.setCursor(0,1);lcd.print(&quot;F = &quot;);
  if(FreqCount.available()){f = FreqCount.read();lcd.print(f);lcd.print(&quot; Hz      &quot;);}
  if(digitalRead(13)==HIGH){
   l_pop = float(1000000/(4*PI*PI*f*f*c));lcd.clear();lcd.setCursor(0,0);lcd.print(&quot; calibration  0 &quot;);
   l_int=round(l_pop*100);EEPROM.update(0,highByte(l_int)); EEPROM.update(1,lowByte(l_int));delay(1000);
  }
  l = float(1000000/(4*PI*PI*f*f*c))-l_pop;
//  Serial.println(l_pop,2);
  Serial.println(l_int);
  lcd.setCursor(0,0);lcd.print(&quot;L = &quot;);
  if(l&lt;=1000){lcd.print(l,1);lcd.print(&quot; uH       &quot;);}
  if(l&gt;1000){lcd.print(l/1000,3);lcd.print(&quot; mH       &quot;);}  
}</code></pre></div><p>L/C метр</p><div class="codebox"><pre><code>#include &lt;FreqCount.h&gt;
#include &lt;LiquidCrystal.h&gt;
LiquidCrystal lcd(8, 7, 2, 3, 4, 6);// RS,E,D4,D5,D6,D7
#include &lt;EEPROMex.h&gt;
// вход частотомера 5 
unsigned long f;
const float c = 1000.0*pow(10,-12);
float l_pop=0.00;
float l,c_iz;
int l_int;
byte lc,w;


void setup() {Serial.begin(9600);
  lcd.begin(16, 2);// LCD 16X2
  FreqCount.begin(1000);
  pinMode(13,INPUT);pinMode(12,INPUT);
  l_pop = float(EEPROM.read(0)*256 + EEPROM.read(1))/100; 
  Serial.println(float(EEPROM.read(0)*256 + EEPROM.read(1))/100);
}


void loop() {
  
    lcd.setCursor(0,1);lcd.print(&quot;F = &quot;);
  if(FreqCount.available()&amp;&amp;w==0){f = FreqCount.read();lcd.print(f);lcd.print(&quot; Hz      &quot;);}
  if(digitalRead(13)==HIGH){
   l_pop = float(1000000/(4*PI*PI*f*f*c));lcd.clear();lcd.setCursor(0,0);lcd.print(&quot; calibration  0 &quot;);
   l_int=round(l_pop*100);EEPROM.update(0,highByte(l_int)); EEPROM.update(1,lowByte(l_int));delay(1000);
  }
  if(digitalRead(12)==HIGH&amp;&amp;lc==0){lc=1;delay(200);w=1;} if(digitalRead(12)==HIGH&amp;&amp;lc==1){lc=0;delay(200);w=1;}
  if(lc==0){
  l = float(1000000/(4*PI*PI*f*f*c))-l_pop;
  lcd.setCursor(0,0);lcd.print(&quot;L = &quot;);
  if(l&lt;=1000){lcd.print(l,1);lcd.print(&quot; uH       &quot;);}
  if(l&gt;1000){lcd.print(l/1000,3);lcd.print(&quot; mH       &quot;);}}
  
    if(lc==1){
c_iz=float(1000000000000/(4*PI*PI*f*f*l_pop*pow(10,-6))-c*pow(10,12));
  lcd.setCursor(0,0);lcd.print(&quot;C = &quot;);
  if(c_iz&lt;=1000){lcd.print(c_iz,1);lcd.print(&quot; pF       &quot;);}
  if(c_iz&gt;1000){lcd.print(c_iz/1000,2);lcd.print(&quot; nF       &quot;);}}
w=0;}</code></pre></div><p>Третий вариант LC метра (измерение емкости электролитических конденсаторов)</p><p><span class="postimg"><img src="http://forum.rcl-radio.ru/uploads/images/2019/09/abe938cde7e8d4d53c55d8f6445afd15.gif" alt="http://forum.rcl-radio.ru/uploads/images/2019/09/abe938cde7e8d4d53c55d8f6445afd15.gif" /></span> </p><div class="codebox"><pre><code>#include &lt;FreqCount.h&gt;
#include &lt;LiquidCrystal.h&gt;
LiquidCrystal lcd(8, 7, 2, 3, 4, 6);// RS,E,D4,D5,D6,D7
#include &lt;EEPROMex.h&gt;

unsigned long f,time0,time1,time2;
const float c = 1000.0*pow(10,-12);
float l_pop=0.00;
float l,c_iz,c_uf,null0;
int l_int;
byte lc,w;


void setup() {Serial.begin(9600);lcd.begin(16, 2);// LCD 16X2
  FreqCount.begin(1000);// 1000 мс - время измерения частотомера
  pinMode(13,INPUT);pinMode(12,INPUT);pinMode(A0,INPUT);
  l_pop = float(EEPROM.read(0)*256 + EEPROM.read(1))/100; // eeeprom
}

void loop() {
  ///////////////////// F ///////////////////////////////////////////////////
  if(lc&lt;2){lcd.setCursor(0,1);lcd.print(&quot;F = &quot;);
  if(FreqCount.available()&amp;&amp;w==0){f = FreqCount.read();lcd.print(f);lcd.print(&quot; Hz      &quot;);}}
  //////////////////// calib 0 //////////////////////////////////////////////
  if(digitalRead(13)==HIGH&amp;&amp;lc&lt;2){
   l_pop = float(1000000/(4*PI*PI*f*f*c));lcd.clear();lcd.setCursor(0,0);lcd.print(&quot; calibration  0 &quot;);
   l_int=round(l_pop*100);EEPROM.update(0,highByte(l_int)); EEPROM.update(1,lowByte(l_int));delay(1000);}
  ///////////////////////// button L/C/Cuf ////////////////////////////////////// 
  if(digitalRead(12)==HIGH){lc++;lcd.clear();w=1;delay(200);if(lc&gt;2){lc=0;}}
  /////////////////// L /////////////////////////////////////////////////////
  if(lc==0){
  l = float(1000000/(4*PI*PI*f*f*c))-l_pop;
  lcd.setCursor(0,0);lcd.print(&quot;L = &quot;);
  if(l&lt;=1000){lcd.print(l,1);lcd.print(&quot; uH       &quot;);}
  if(l&gt;1000){lcd.print(l/1000,3);lcd.print(&quot; mH       &quot;);}}
  ////////////////// C pF nF ////////////////////////////////////////////////
    if(lc==1){
c_iz=float(1000000000000/(4*PI*PI*f*f*l_pop*pow(10,-6))-c*pow(10,12));
  lcd.setCursor(0,0);lcd.print(&quot;C = &quot;);
  if(c_iz&lt;=1000){lcd.print(c_iz,1);lcd.print(&quot; pF       &quot;);}
  if(c_iz&gt;1000){lcd.print(c_iz/1000,3);lcd.print(&quot; nF       &quot;);}}
  //////////////// C uF /////////////////////////////////////////////////////
      if(lc==2){
    lcd.setCursor(15,0); lcd.print(&quot;*&quot;);
    pinMode(9,OUTPUT);digitalWrite(9,HIGH);    
  time0=micros();while(analogRead(A0)&lt;644){time2=micros()-time0;if(time2&gt;=10000000){break;}}time1=micros()-time0; 
  while(analogRead(A0)&gt;0){pinMode(9,OUTPUT);digitalWrite(9,LOW);}
  lcd.setCursor(0,0);c_uf=time1;c_uf=c_uf/1000-null0;c_uf=abs(c_uf);
  
   if(time1&gt;=10000000){lcd.setCursor(1,0);lcd.print(&quot; TEST uF   &quot;);}
  else{lcd.print(&quot; C = &quot;);lcd.print(c_uf);lcd.print(&quot; uF       &quot;);}
  if(digitalRead(13)==HIGH){null0=c_uf;lcd.clear();lcd.setCursor(0,0);lcd.print(&quot; calibration  0 &quot;);delay(1000);}
  delay(100);}w=0;}//loop</code></pre></div>]]></content>
			<author>
				<name><![CDATA[liman324]]></name>
				<uri>http://forum.rcl-radio.ru/profile.php?id=2</uri>
			</author>
			<updated>2019-09-10T06:41:06Z</updated>
			<id>http://forum.rcl-radio.ru/viewtopic.php?pid=69#p69</id>
		</entry>
</feed>
