Вольтметр

xlin
Offline
Зарегистрирован: 19.01.2017

Добрый вечер. Помогите разобраться. Есть делитель 100 к и 10 к. На входе 3,5 в. После делителя 0,31 в. На аналоговом входе считываю 0.31. при переводе в вольты получается хрень далеко не совпадающая со входом в 3,5 вольта . Как правильно преобразовать значение в вольты? Я делю аналогреад на 5/1024.

xlin
Offline
Зарегистрирован: 19.01.2017

поправка.c аналогового считываю значение 31.  после преобразования (5.0 / 1023.0)) получаю 0,16.

bwn
Offline
Зарегистрирован: 25.08.2014

А для чего в самый низ диапазона залезать? Если 3,5 возможный максимум, наверно и делитель под него считать надо?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Вы где-то ошиблись.

Т.к. ни схемы, ни скетча не приведено, сказать, где именно, невозможно.

xlin
Offline
Зарегистрирован: 19.01.2017

Делитель


#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // сопротивление R1 (100K)
float R2 = 10000.0; // сопротивление R2 (10K)
int value = 0;
void setup()
{
  Serial.begin(9600);
   pinMode(analogInput, INPUT);
//   lcd.begin(16, 2);
//   lcd.print("DC VOLTMETER");
}
void loop()
{Serial.begin(9600);
   // считывание аналогового значения
   value = analogRead(analogInput);
   Serial.print(" Read_A0= ");Serial.print(value);
   vout = (value * 5.0) / 1024.0;
   vin = vout / (R2/(R1+R2));
  if (vin<0.09) {
   vin=0.0;// обнуляем нежелательное значение
} 
//lcd.setCursor(0, 1);
//lcd.print("INPUT V= ");
//lcd.print(vin);
Serial.print("  V= ");Serial.println(vin);
//value = analogRead(analogInput);     // считываем значение
//vin=( (float)vin * 5. / 1024. );
//float vin = value * (5.0 / 1023.0);
//vin = vin / (R2/(R1+R2));
//Serial.println(vin);  
delay(500);
}

При входном напр 3,1 вольт,после делителя получаю 0,28в,программа считывает с порта значение 31.

Vin     | Vделит |    значение считываемое на порту А0

3,1в   | 0,28в    |    31

5в      |0,44в     |    74

9в      |0,81в     |   157

12,2в   1,10в    220 

xlin
Offline
Зарегистрирован: 19.01.2017

bwn пишет:

А для чего в самый низ диапазона залезать? Если 3,5 возможный максимум, наверно и делитель под него считать надо?

что значит низ диапазона? будет зарядник для акб 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

xlin, какая-то у Вас очень нелинейная шкала получается.

Чем измеряете напряжение? 

Откуда берете напряжение?

Приведите полную схему измерения. (кстати, по приведенной схеме результат измерения вообще непредсказуем)

xlin
Offline
Зарегистрирован: 19.01.2017

andriano пишет:

xlin, какая-то у Вас очень нелинейная шкала получается.

Чем измеряете напряжение? 

Откуда берете напряжение?

Приведите полную схему измерения. (кстати, по приведенной схеме результат измерения вообще непредсказуем)

измеряется mastech my61, птание беру пока с бп компа,

12 подается на регулируемый dc-dc преобразователь, на входе вольтаж стабильный,до делителя идет к примеру 5 вольт,потом после делится на 11,и считывается ардуиной про мини...

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

dc-dc импульсный? Осциллографом смотрели?

Ну и насчет схемы - я ее так и не увидел.

xlin
Offline
Зарегистрирован: 19.01.2017

andriano пишет:

dc-dc импульсный? Осциллографом смотрели?

а какая схема вас интересует? Убрал пока делитель. на данный момент-провод и ардуинка...осцила нет,вот dc такой:

Входное U=3,1v, A0=696. теперь данные с А0 * 5/ 1024=3,3 в....

xlin
Offline
Зарегистрирован: 19.01.2017

если обратно вернуть делитель,какие манипуляции надо сделать для того чтобы получить правильные циферь? 

понятно что он делит входное напр на 11.при Uin=3.1v, на выходе после делителя получаем 0,28в....

 

arDubino
Offline
Зарегистрирован: 12.01.2017

xlin пишет:

andriano пишет:

dc-dc импульсный? Осциллографом смотрели?

а какая схема вас интересует? Убрал пока делитель. на данный момент-провод и ардуинка...осцила нет,вот dc такой:

Входное U=3,1v, A0=696. теперь данные с А0 * 5/ 1024=3,3 в....

этот вообще то с регуляторм винт на синей штучке потенциометр

xlin
Offline
Зарегистрирован: 19.01.2017

arDubino пишет:

этот вообще то с регуляторм винт на синей штучке потенциометр

да знаю,что регулируемый. Этим потенциметром и выставлял маленькие значения напряжений...

xlin
Offline
Зарегистрирован: 19.01.2017

вот так вот получилось,но значение не точное,завышенное...

int analogInput = 0;
float vout = 0.0;
float vin = 0.0;
float R1 = 100000.0; // сопротивление R1 (100K)
float R2 = 10000.0; // сопротивление R2 (10K)
int value = 0;
void setup()
{
  Serial.begin(9600);
   pinMode(analogInput, INPUT);
}
void loop()
{Serial.begin(9600);
     value = analogRead(analogInput); // считывание аналогового значения
   Serial.print(" Read_A0= ");Serial.print(value);//вывод его в монитор
   vout = (value * 5.0) / 1023.0; //преобразуем
   Serial.print("  V= ");Serial.print(vout);   //вывод
   vin = vout / (R2/(R1+R2)); //по формуле вычисляем входное с делителя
   Serial.print("  Vin= ");Serial.println(vin);//вывод
  if (vin<0.09) {
   vin=0.0;// обнуляем нежелательное значение
xlin
Offline
Зарегистрирован: 19.01.2017

И почему значения так прыгают?

arDubino
Offline
Зарегистрирован: 12.01.2017

потому что это не стабилизатор . посути надо уменьшать такой платкой скажем до 7 в а потом на стабилизатор который выдает точно 5в и питается от 6.5 до дофига вольт. ну или сразу стабилизатор с фиксированными вольтами 5 ил и3..3в

а этот модуль как раз для других вольтажей

Волшебник
Offline
Зарегистрирован: 22.12.2016

Я недавно проверял такой модуль, у него пульсации приличные милливольт 200 под нагрузкой 0.5А. И без нагрузки там тоже проскакивает. Чтобы с него правильно померять надо конденсатор между аналоговым входом и землёй - небольшой 0.1 мкФ или 0.01 хотя бы. Да, и если вы не забыли соединить нижний резистор делителя с ардуиновской землёй,  надеюсь, то неплохо бы померять вольтметром падения напряжения на проводах, да да на проводах, если китайские тонкие проводки и ардуино с ЖКИ то там до 100 мВ как пить дать где-то потеряется.

И ещё, на будущее старайтесь не превышать делитель выше 10к, ну если надо току мало то 50к и конденсатор тогда - обязательно.