#1 Re: Аппаратные вопросы » Максимальное значение входного напряжения для AD736. » 2021-06-02 09:03:33

Благодарю, знаю что вопрос глупый, но смутило это противоречие в ДШ) еще раз спасибо.

#2 Аппаратные вопросы » Максимальное значение входного напряжения для AD736. » 2021-06-01 16:28:09

SkepticK
відповідей: 2

Доброго времени суток, Господа. Хочу для своих начальных подделок использовать RMS/DC преобразователь. Но в виду моего не идеального знания английского технического есть сомнение, заключается оно в следующем: в даташите AD736 на первой же странице сказано что максимальное входное значение входного сигнала 200 мВ, значения вышел могут быть измерены с помощью делителя напряжения. Но спустя пару страниц (а конкретнее 13) приводится таблица №6 выбора конденсаторов. Где фигурирует диапазон 0-1 В RMS. Так где же зарыта та самая собака? Помогите пожалуйста ответом начинающему найти истину и не сжечь AD736 ненароком).

Лично я хочу с его помощью как раз таки измерять RMS значения синусоидального напряжения 50 Гц в диапазоне 0-1 В, а схему AD736 использовать с питанием от кроны.

#3 Re: Аппаратные вопросы » Вольтметр переменного напряжения (Arduino uno) » 2021-05-13 12:28:36

Пробовал схему с одним диодом, конденсатором и стабилитроном ac-voltmeter-using-arduino-circuit-diagram.png и результаты также были далеки от удовлетворительных, менял и емкость конденсатора и сам диод. Допускаю что сам совершаю элементарную ошибку, поэтому утверждать неработоспособность этой идеи не буду)
В данный момент сделал смещение 2.5 В и с использованием библиотеки получил значения с погрешность в 5 %.

#4 Re: Аппаратные вопросы » Вольтметр переменного напряжения (Arduino uno) » 2021-05-13 09:00:07

Пробовал использовать диодный мост, но он вносит огромную нелинейность на таком относительно маленьком диапазоне как 0-5 В.

#5 Re: Аппаратные вопросы » Вольтметр переменного напряжения (Arduino uno) » 2021-05-12 21:47:41

Я думаю сделав смещение на 2.5 В попробовать использовать данную библиотекуhttps://github.com/MartinStokroos/TrueR … re_rms.ino,может кто-то ее уже использовал? Она даёт результат?

#6 Re: Аппаратные вопросы » Вольтметр переменного напряжения (Arduino uno) » 2021-05-12 19:47:07

От 0 до 5 В. Сегодня начал изучать тему смещения синусоиды на 2.5 В, но пока слабо представляю реализацию выборки за период в 20 мс,вот. За любой совет буду благодарен.

#7 Аппаратные вопросы » Вольтметр переменного напряжения (Arduino uno) » 2021-05-11 14:19:02

SkepticK
відповідей: 10

Доброго времени суток, захотел сделать измерительный элемент с отображением значений для высоковольтного делителя напряжения. С измерением постоянного напряжения и выводом результатов проблем нет, попутно использую внешний АЦП ADS1115, но с переменкой проблемы и я так понял что ардуино не сильно для этого и подходит, хотя находил некоторые проекты в интернете, пробовал следующие варианты:
1) использовать следующую библиотеку https://github.com/MartinStokroos/TrueRMS;
2)следующую схему arduino-ac-voltmeter-circuit-1024x558.png и код для нее

#include <LiquidCrystal.h>    // include Arduino LCD library
 
// LCD module connections (RS, E, D4, D5, D6, D7)
LiquidCrystal lcd(2, 3, 4, 5, 6, 7);
 
void setup(void) {
  lcd.begin(16, 2);           // set up the LCD's number of columns and rows
  lcd.setCursor(0, 0);
  lcd.print("RMS Voltage:");
  analogReference(INTERNAL);  // set ADC positive reference voltage to 1.1V (internal)
}
 
// get maximum reading value
uint16_t get_max() {
  uint16_t max_v = 0;
  for(uint8_t i = 0; i < 100; i++) {
    uint16_t r = analogRead(A3);  // read from analog channel 3 (A3)
    if(max_v < r) max_v = r;
    delayMicroseconds(200);
  }
  return max_v;
}
 
// main loop
void loop() {
 
  char buf[10];
  // get amplitude (maximum - or peak value)
  uint32_t v = get_max();
  // get actual voltage (ADC voltage reference = 1.1V)
  v = v * 1100/1023;
  // calculate the RMS value ( = peak/√2 )
  v /= sqrt(2);
 
  sprintf(buf, "%03u Volts", v);
  lcd.setCursor(0, 1);
  lcd.print(buf);
 
  delay(100);
 
}
 
// end of code.

3)пробовал использовать диодный мост вместо одного диода в предыдущей схеме.
Во всех случаях результаты далеки от посредственных, погрешности на мой взгляд огромные (представляют собой крайне не линейный характер и доходят до 30 % от подаваемого значения). В идеале хотел бы измерять переменное напряжение до 5 В с погрешностью в 1 %. Суть моего вопроса вообще насколько это возможно, а если возможно то буду крайне благодарен за совет в его реализации. Находил проекты с использованием ОУ, но сам с ними еще не работал и вообще без году неделю начал изучать ардуино, поэтому изначально искал более казуальное решения.

#8 Re: Аппаратные вопросы » Помехи (наводки, шум) при использовании ADS1115 c Arduino Uno » 2021-04-29 16:57:43

Изучил эту тему и да, скорее всего это и есть моя ошибка, ибо все размещаю на бредборде, завтра перед работой зайду на радиорынок за конденсаторами. Тонкая материя в которой много подводных камней, но так интереснее.
Спасибо за помощь.

#9 Re: Аппаратные вопросы » Помехи (наводки, шум) при использовании ADS1115 c Arduino Uno » 2021-04-29 11:49:32

Mishka пише:
SkepticK пише:

... но когда контакты аналоговых входов ADS1115 висят в воздухе, он меряет какие-то наводки, шумы

Не помню, кто из великих сказал: "Есть два типа инженеров: одни создают антенны, а другие тоже создают антенны, но не преднамеренно." :-)

Всегда получал истинное и неподдельное удовольствие от подобного общения на форумах, видимо это уже часть некой культуры коммуникации в интернете. Но это мелочи, во всяком случае, спасибо за ответ, меня просто в виду моей неопытности в этой теме одолевают сомнения (возможно я допустил какую глупую ошибку и как следствие получил вышеупомянутые результаты, хотя с другой стороны в даташите ADS1115 приведена таблица зависимости помех от диапазона измерения и увеличения параметра "DATA RATE", но опять же при просмотре огромного числа роликов на эту тему видел у готовых проектов четкий ноль на вольтметре и подумал о возможном существовании калибровки данного АЦП).
Причем упомянутые мною помехи фиксируются не только на проводах "в воздухе", но и на самих аналоговых входа ADS1115, что меня смутило.
Последнее спасибо за ответ, буду пробовать увеличивать сэмплирование АЦП.

#10 Re: Аппаратные вопросы » Помехи (наводки, шум) при использовании ADS1115 c Arduino Uno » 2021-04-28 16:25:02

Причем этот "шум" появляется на самих аналоговых входах ADS1115, ибо я просто подключил плату и замерил мультиметром напряжение на контактах А1-А2 ADS1115 и увидел напряжение импульсы напряжения порядка 150 мВ.

#11 Аппаратные вопросы » Помехи (наводки, шум) при использовании ADS1115 c Arduino Uno » 2021-04-28 13:06:48

SkepticK
відповідей: 6

Здравствуйте, возникла возможность на работе заиметь точный AC/DC вольтметр c пределом измерения до одного вольта и хоть от энергетики я сам по себе не далек (работал и электромонтером и инженером РЗА), но крайне мельком касался таких тонких материй как микроконтроллеры. Начал смотреть ролики, читать статьи и даташиты, решил что для такого новичка как я оптимальным первым шагом будет реализовать вольтметр постоянного тока с помощью внешнего АЦП ADS1115 c Arduino Uno. Собрал следующую схему:
aoc540-2.jpg
Использовать решил дифференциальный режим (мне он чисто теоретически показался точнее), питание ардуинка получает с USB, а скетч использую из примеров библиотеки ADS1115:

#include <Adafruit_ADS1X15.h>

Adafruit_ADS1115 ads;  /* Use this for the 16-bit version */
//Adafruit_ADS1015 ads;     /* Use this for the 12-bit version */

void setup(void)
{
  Serial.begin(9600);
  Serial.println("Hello!");
  
  Serial.println("Getting differential reading from AIN0 (P) and AIN1 (N)");
  Serial.println("ADC Range: +/- 6.144V (1 bit = 3mV/ADS1015, 0.1875mV/ADS1115)");
  
  // The ADC input range (or gain) can be changed via the following
  // functions, but be careful never to exceed VDD +0.3V max, or to
  // exceed the upper and lower limits if you adjust the input range!
  // Setting these values incorrectly may destroy your ADC!
  //                                                                ADS1015  ADS1115
  //                                                                -------  -------
  ads.setGain(GAIN_TWOTHIRDS);  // 2/3x gain +/- 6.144V  1 bit = 3mV      0.1875mV (default)
  // ads.setGain(GAIN_ONE);        // 1x gain   +/- 4.096V  1 bit = 2mV      0.125mV
  // ads.setGain(GAIN_TWO);        // 2x gain   +/- 2.048V  1 bit = 1mV      0.0625mV
  // ads.setGain(GAIN_FOUR);       // 4x gain   +/- 1.024V  1 bit = 0.5mV    0.03125mV
  // ads.setGain(GAIN_EIGHT);      // 8x gain   +/- 0.512V  1 bit = 0.25mV   0.015625mV
  // ads.setGain(GAIN_SIXTEEN);    // 16x gain  +/- 0.256V  1 bit = 0.125mV  0.0078125mV
  
  ads.begin();
}

void loop(void)
{
  int16_t results;
   int16_t results2;
  
  /* Be sure to update this value based on the IC and the gain settings! */
 //float   multiplier = 3.0F;    /* ADS1015 @ +/- 6.144V gain (12-bit results) */
 float multiplier = 0.1875F; /* ADS1115  @ +/- 6.144V gain (16-bit results) */

  results = ads.readADC_Differential_0_1();  
    results2 = ads.readADC_Differential_2_3();  
  Serial.print("Differential: "); Serial.print(results); Serial.print("("); Serial.print(results * multiplier); Serial.println("mV)");
   results = ads.readADC_Differential_0_1(); 
 //Serial.print("Differential2: "); Serial.print(results2); Serial.print("("); Serial.print(results2 * multiplier); Serial.println("mV)");
   //results2 = ads.readADC_Differential_2_3(); 
  delay(1000);
}

Разность измерений напряжения даже на самом большом диапазоне с мультиметром APPA у меня порядка 15 мВ, что меня в принципе устраивает, но когда контакты аналоговых входов ADS1115 висят в воздухе, он меряет какие-то наводки, шумы:
c4b5f8d2c2c251c827ac23c6b4b02c3b
Я в мечтах лелею надежду эволюционировать до подключения дисплея и вывода напряжения туда, но хочу видеть четкий ноль, когда провода не подключены к объекту измерения.
Прошу прояснить для меня момент, есть ли возможность получить четкий ноль в данном случае и как? Или это нормальная ситуация, ибо смотря ролики на ютубе у многих заметил такой момент.

Підвал форуму