Милливольтметр

Тема в разделе "Arduino & Shields", создана пользователем Glyuk, 15 май 2016.

  1. Glyuk

    Glyuk Нерд

    Требуется сделать милливольтметр с максимальной точностью, как правильно реализовать электрическую и программную часть?
     
  2. ANV

    ANV Гуру

    Правильно будет сначала указать диапазон измеряемых напряжений, точность и входное сопротивление, а только потом все остальное :)
     
  3. Glyuk

    Glyuk Нерд

    До вольта, точность желательно до 1 мВ.
     
  4. Salk

    Salk Гик

    Шунт, как можно меньше, дабы не влиять сильно на остальную схему (0.02-0.05 Ом) в разрыв общего провода (-) и ОУ, дабы усилить этот сигнал для ардуинки и в аналоговый порт. А использовав закон Ома, можно даже и ток вычислить. А дальше калибровать, калибровать и ещё раз калибровать. Калибровка производится за счет изменения КУ ОУ до истинного значения, снятым образцовым измерительным прибором, Китай - мультиметр сойдет, если не требуется точность менее 1%.
     
  5. Glyuk

    Glyuk Нерд

    Какой нужен ОУ, как его включать, каким образом изменять его коэффициент усиления?
     
  6. Onkel

    Onkel Гуру

    Какой шунт? Это из другой оперы. Это так ток меряют. Тут - напряжение.
    Если точность 1 мВ, то переключите референс на внутренний, и будет у вас точность около 1 мВ, и такое же разрешение. И все дела. Диапазон тогда тоже изменится - до 1 В с копейками.
     
  7. Glyuk

    Glyuk Нерд

    У меня аналоговые порты используется помимо порта для вольтметра, на сколько понимаю это напряжение везде изменится.
     
  8. Onkel

    Onkel Гуру

    измеряют? Можно
    1 поставить делители
    2 переключать ref каждый раз, когда нужно померять малое напряжение, потом обратно
    3 взять низковольтный rail2rail операционник, но будет искажение вблизи нуля и вблизи максимума (rail он как бы не совсем 2 rail)
     
  9. Glyuk

    Glyuk Нерд

    Да, измеряют, переключать типо analogReference на небольшой промежуток времени и потом записывать значение?
     
    Последнее редактирование: 16 май 2016
  10. Glyuk

    Glyuk Нерд

    А вообще если напряжение 5В, 1023 значения, то 5/1023=0,0048... т.е. примерно ≈ 4мВ на 1 шаг. Правильно понимаю?
     
  11. Onkel

    Onkel Гуру

    Vref переключается не реле, а внутри мк, командами самого мк, у Блума вроде видел, в регистре конфига ацп. Или даташит на атмегу328 смотрите, оригинал всегда точнее. Я наизусть не помню, какой какие биты какого регистра.
    Да, правильно.
     
  12. Okmor

    Okmor Нерд

    Первым делом нужно купить источник опорного напряжения, а то внутренний дает +- дохрена.
     
  13. Onkel

    Onkel Гуру

    это будет прикольно. Примерно как турбовинтовой движек на велосипеде.
     
  14. Okmor

    Okmor Нерд

    А какой тогда смысл мерят милливольты, если REF скачет на десятки милливольт?
    Прецизионный источник опорного напряжения
     
  15. Glyuk

    Glyuk Нерд

    Ну а если точности достаточно такой, то если измерять до 5 вольт делитель получается не нужен? Как можно обезопасить ардуину, если случайно на неё подать >5в?
    Что скажете по этому поводу:
    http://tim4dev.com/arduino-secret-true-voltmeter/ ???
     
  16. Okmor

    Okmor Нерд

    Уточните чего будете измерять? Какой диапазон?
     
  17. Glyuk

    Glyuk Нерд

    Десятые доли вольта, точности до сотых наверно достаточно
     
  18. Onkel

    Onkel Гуру

    при измерении напряжения есть разные аспекты, например, если вы измеряете выходное напряжение сенсора влажности (к примеру, HIH4000), то вам абсолютная точность не важна совершенно - показания определяются отношением V/Vcc (Vcc как ref), и как бы не изменялся Vcc - влиять на точность определения влажности он не будет. Всякие там аналоговые датчики ускорения, тока и пр. работают на таком же принципе- они преобразуют входной сигнал в выходной, зависящий от входного сигнала и пропорциональный Vcc.
    А вот если вам нужно знать абсолютное значение напряжения - тут другой вопрос, и само собой, что относительная точность не может быть выше относительной точности Vref, ну и ± единица мл. разряда. Истина она конкретна.
     
  19. Glyuk

    Glyuk Нерд

    Абсолютное значение нужно измерять.
    Сейчас измеряю так, но напряжение Vref постоянно изменяется, меряя его мультиметром изменяю делитель и получается достаточно точно +-5мВ:
    Код (C++):
    int snalogInput = A0;
    float vin = 0;
    void setup(){
      Serial.begin(9600);
    }
    void loop(){
      vin = float(analogRead(snalogInput))/176,4;
      int vt = vin*1000;
      Serial.print("Voltage =");
      Serial.println(vt);
      delay(500);
    }
     
     
  20. Okmor

    Okmor Нерд

    Тогда используйте внутренний ИОН.
    На вход поставте операционник с поднимите сигнал на всю шкалу.