| Ваш IP: 3.238.4.24 | Online(34) - гости: 19, боты: 15 | Загрузка сервера: 0.4 ::::::::::::

Миллиомметр 0 — 20 Ом (Arduino)

Миллиомметр собран на Arduino Nano (Uno), для более точного измерения сопротивления используется АЦП-модуль ADS1115 16 bit. Миллиомметр может достаточно точно измерять сопротивление от 0.1 мОм до 20 Ом. При измерении сопротивления до 1 Ом разрешение миллиометра 0.1 мОм, после 1 Ом разрешение 1мОм.

Для точного измерения необходимо иметь эталонное сопротивление 100 Ом (манганин) через которое подается ток на измеряемое сопротивление, от точности эталонного сопротивления зависит точность прибора. Если нет возможности очень точно изготовить (намотать из манганиновой проволоки) эталонное сопротивление, то откалибровать прибор можно при помощи другого эталонного сопротивления 1…10 Ом с классом точности не менее 0.02 %. Для упрощения конструкции прибора напряжение на эталонное сопротивление 100 Ом подается от источника питания +5В Arduino, которое периодически измеряется (1 раз в минуту и при включении), но все же желательно иметь внешний ИОН с напряжением не превышающим напряжения питания ADS1115.

Соединительные провода I0 U0 I1 U1 должны иметь одну длину и соединяться должны непосредственно на измеряемом сопротивлении.

Настройка:

  • необходимо изменить частоту дискретизации ADS1115, для этого откройте для редактирования файл библиотеки Adafruit_ADS1015.cpp найти все строчки ADS1015_REG_CONFIG_DR_1600SPS и замените их на ADS1015_REG_CONFIG_DR_128SPS , после чего загрузите библиотеку в Arduino IDE.
  • переменная u_pogr содержит корректировку АЦП ADS1115 в мВ при измерении напряжения +5 В, при необходимости измените значение или установите 0
  •  переменная r_ogr содержит значение эталонного сопротивления 100.00 Ом (значение может немного отличаться при условии, что эталонное сопротивление измерено достаточно точно)
#include <Wire.h>
#include <Adafruit_ADS1015.h>//https://github.com/adafruit/Adafruit_ADS1X15/archive/master.zip
#include <LiquidCrystal.h>
Adafruit_ADS1115 ads;//(0x48);
/* в файле библиотеки Adafruit_ADS1015.cpp найти все строчки: ADS1015_REG_CONFIG_DR_1600SPS и заменить на: ADS1015_REG_CONFIG_DR_128SPS */
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);// RS,E,D4,D5,D6,D7
 
float multiplier = 0.0078125;
const int u_pogr=10;       // 10 мВ - погрешность ADS1115 при измерении 5 В
const float r_ogr=100.00;  // эталонное сопротивление 100 Ом
float u3300;
int  u_digital;
byte n,k;
long u_sum,u_an,x;
float u_iz,rx,rx_m;
 
void setup(void){Serial.begin(9600);lcd.begin(16, 2);ads.begin();delay(1000);}
 
void loop(){
  while(x<50){
x++;ads.setGain(GAIN_TWOTHIRDS);u3300=ads.readADC_SingleEnded(2)*0.1875-u_pogr;}
k++;if(k==60){x=0;k=0;}  // измерение напряжения 5В каждую минуту
 
if(n==0){ads.setGain(GAIN_SIXTEEN);multiplier = 0.0078125;}
if(u_iz>250&&n==0){n=1;}
if(n==1){ads.setGain(GAIN_EIGHT);multiplier = 0.015625;}
if(u_iz>500&&n==1){n=2;}
if(n==2){ads.setGain(GAIN_FOUR);multiplier = 0.03125;}
 
if(u_iz<500&&n==2){n=1;}
if(u_iz<250&&n==1){n=0;}
 
lcd.setCursor(1,0);
if(rx<1){rx_m=rx*1000;lcd.print("R = ");lcd.print(rx_m,1);lcd.print(" mOm");}
if(rx>=1&&rx<20){lcd.print("R = ");lcd.print(rx,3);lcd.print(" Om");}
if(rx>=20){lcd.print("  Rx > 20 Om    ");}
lcd.setCursor(1,1);lcd.print("U = ");lcd.print(u3300,1);lcd.print(" mV");
u_sum=0;
for(int i=0;i<100;i++){  // измерение
u_digital = ads.readADC_Differential_0_1();
u_sum = u_sum + u_digital;
delay(1);
}
u_an=u_sum/100;
u_iz=u_an * multiplier;
rx=(u3300/((u3300-u_iz)/r_ogr))-r_ogr;
 
lcd.clear();
}

Результаты измерений

   класс 0.02
 класс 0.01
  класс 0.01
 класс 0.01
 класс 0.01
15.1 мОм Измерение R0 магазина сопротивления, это значение необходимо отнимать от следующих полученных значений сопроотивления
9.9 мОм
50.2 мОм
99.6 мОм
499.7 мОм
799.2 мОм
1.000 Ом
5.003 Ом
9.998 Ом

Тестирование:

Новый скетч позволяет расширить верхний предел измерения сопротивления до 1000 Ом

Требуется тестирование!!!

http://forum.rcl-radio.ru/viewtopic.php?pid=44#p44

Добавить комментарий

Войти с помощью: 

Случайные статьи

  • Экономичный усилитель

    Экономичный усилитель

    Главная особенность усилителя в питании каскада на ОУ извиняющимся напряжением синхронно входному сигналу и применении в выходном каскаде режима В. Номинальный диапазон усиливаемых частот усилителя от 10 до 50000Гц, номинальная выходная мощность при Rн=8Ом и Кгарм=0,2% — 10 Вт, Uвх(номинал)=1В, Rвх=5кОм, ток покоя 15мА. Усилитель содержит: каскад усиления напряжения на …Подробнее...
  • Автоматическая водокачка

    Ус-во предназначено для контроля уровня воды в резервуаре и управления электро-насосом который заполняет этот резервуар. Датчики уровня воды состоят из 3-х щупов Е1 Е2 Е3, которые погружены в воду. Щупы не должны контактировать между собой и со стенками бака. Щупы Е2 Е3 погружены на такую глубину которая соответствует минимальному уровню …Подробнее...
  • Стереодекодер

    Уст-во предназначено для приема стереофонических радиовещательных станций работающих в диапазоне 64-73 МГц. В основе уст-во лежит стереодекодер описаный в Л.1*. Детекторы на VD3-VD6 выполнены по схеме с удвоением напряжения. Эмиттерные повторители на VT1 VT2 сочетают в себе функции ФНЧ и подавляют поднесущую 31,25кГц. Индикатор стерео-режима выполнен на VT3 VT4. Конденсаторы …Подробнее...
  • HI-FI УМЗЧ

    HI-FI УМЗЧ

    Характеристики: Номинальная выходная мощность — 24 Вт Диапазон звуковых частот при неравномерности 2дБ -20…22000Гц КНИ не более — 0,008%!!! Номинальное Uвх — 1В Rвх-7,5кОм Имеется защита от КЗ в нагрузке. Низкий КНИ достигнут благодаря введению глубокой ООС. Все детали кроме выходных транзисторов и БП монтируются на печатной плате. L1 наматывается …Подробнее...
  • Приемный тракт любительской СВ-радиостанции

    Радиоприемный тракт построен на распространенной ИМС К174ХА26, особенность схемы в том, что для обеспечения работы гетеродина на разных частотах используются переключаемые кварцевые резонаторы, что позволяет вести обзорный режим, в котором перестройка по диапазону 11 метров производится простым LC контуром. Система шумопонижения реализованная в микросхеме служит так же и вызывным устройством. …Подробнее...