Как мерить отрицательную температуру термодатчиком LM35?

Тема в разделе "Arduino & Shields", создана пользователем abrikos, 18 окт 2013.

  1. abrikos

    abrikos Нерд

    Снимаю значения
    Код (Text):
      int val= analogRead(5);//Connect LM35 on Analog 5
    Значения val при отрицательной температуре всегда 0.

    Эксперементировал с unsigned
    Код (Text):
      unsigned  int val= analogRead(5);//Connect LM35 on Analog 5
    Так же всегда 0 при минусовой температуре

    Подскажите как получить отрицательные значения температуры?
     
  2. slyy

    slyy Официальный нерд

    Конечно ноль. Потому что АЦП на Arduino однополярное и не понимает отрицательные напряжения. Потому, всё что ниже уровня gnd, будет нулём. Самый простой вариант - взять какой-нибудь цифровой датчик, типа dallas. Либо внешнее двуполярное АЦП.
     
  3. slyy

    slyy Официальный нерд

    Еще вариант: Если вам нужно мерить только отрицательные напряжения, то можете проинвертировать сигнал с сенсора и мерить положительные напряжения.
     
  4. slyy

    slyy Официальный нерд

    Еще в догонку: вы датчик, вероятно, питаете напряжением 0 - 5 В. Откуда вы хотите вынимать отрицательные напряжения, если вы его никуда не подаёте.
     
  5. Unixon

    Unixon Оракул Модератор

    Только не забывайте, что напряжение - штука относительная. Вовсе необязательно иметь в схеме потенциял, меньший GND. Достаточно лишь чтобы этот потенциал был отрицательным для LM35. Т.е. если LM35 включать не между GND и +5V, а между, например, +5V и +1V (сделать 1V делителем), тогда GND будет для датчика отрицательным (!) напряжением -1V. С учетом калибровки датчика это даст не очень большой диапазон, но для полного рабочего диапазона температур нужно этот сенсор питать совсем по другому - например, через умножители напряжения (прямой и инвертирующий) типа Диксона или Кокрофта-Уолтона. Ну либо иметь честный линейный источник на -5V +15V.
     
    Airbus нравится это.
  6. slyy

    slyy Официальный нерд

    Про относительность напряжения никто не забывает. Тут вопрос был как сенсор подключает автор. Да, если потом нормально сенсор проградуировать, то делитель напряжения подойдёт.

    А вот зачем мутить туда умножитель - не понял.

    Полно схем - преобразователей однополярного напряжения в двуполярное, создающих искусственную среднюю точку.
    Есть микросхемы - инверторы напряжения, правда слаботочные и довольно шумящие по питанию. Но под такие нужды сойдёт, думаю.
     
  7. Unixon

    Unixon Оракул Модератор

    Ну так это еще один простой и дешевый способ на коленке создать опорное напряжение за границами потенциалов основных шин питания. А импульсные регуляторы - хороши конечно, но дороги и часто требуют внешнего индуктора с определенными характеристиками по частоте и току насыщения. А тут для слаботочки ничего кроме диодов и конденсаторов не нужно. Минусы у такого подхода, конечно, тоже есть.
     
  8. abrikos

    abrikos Нерд

    Может быть подскажете где посмотреть цену dallas. Гугл не помог мне в этом.
    Ну и про двуполярное АЦП тоже подскажите пожалуйста где посмотреть цены.
    Проинвертировать - это видимо поменять провода на фишке. Подскажите что на что поменять?
    .
     
  9. slyy

    slyy Официальный нерд

    гуглите DS18B20
    http://arduino.net.ua/Arduino_artic...ik temperatury DS18S20 ili DS18B20 k Arduino/

    проинвертировать - смотрите инвертирующий усилитель на ОУ.
     
  10. slyy

    slyy Официальный нерд

    http://www.intersil.com/content/dam/Intersil/documents/fn31/fn3179.pdf

    вполне неплохой инвертор. Есть аналогичные от MAXIM.
     
  11. Airbus

    Airbus Радиохулиган Модератор

    Еще можно так сделать и LM35 включить по такой схеме
    [​IMG]
    Диод будет «отбирать» напряжение питания смещая «вниз» результат измерения температуры.
     
    Ariadna-on-Line и Asper Daffy нравится это.
  12. Asper Daffy

    Asper Daffy Иксперд

    Ну, это не совсем так. Смотря какая Ардуина, на некоторых есть биполярный дифференциальный режим. Но ТС не сподобился сказать какая у него - сам себе злобный Буратино.
     
    Последнее редактирование: 11 авг 2023
  13. Asper Daffy

    Asper Daffy Иксперд

    А кто нам скажет, какая у Вас аппаратура?

    На любой ардуине на базе 328 - это сделать можно, довольно точно, но некрасиво.
    На ардуинах на базе Attiny85 или 2560 (и 32А, если на ней делают ардуины) это делается элегантно, красиво и весьма точно.

    Всего этого я мог бы не писать, если бы Вы догадались сказать какая у Вас ардуина. И когда люди научатся задавать вопросы?
     
    Последнее редактирование: 11 авг 2023
  14. parovoZZ

    parovoZZ Гуру

    и заодно искажать результат, так как схема полное фуфло.
     
  15. parovoZZ

    parovoZZ Гуру

    и толку. Ниже потенциала нулевой шины всё равно не упадёшь.
     
  16. b707

    b707 Гуру

    Народ, хватит некропостингом заниматься.
    Местный дурачок поднял тему 2013 года, а вы и повелись
     
    BOOM и Asper Daffy нравится это.
  17. Asper Daffy

    Asper Daffy Иксперд

    Так сделать опорное типа 0.6 вольта, к нему подвести gnd датчика и именно его заводить на отрицательный вход АЦП, С положительного считывать от -0.55В до +1.5В. Если это тинька или 2560, то поставить референс 2.56 и читать почти "на все попугаи". Отличное решение.
     
    parovoZZ нравится это.
  18. Asper Daffy

    Asper Daffy Иксперд

    И то правда, а я не заметил :(

    Ну, ничё, с провозом перетрём - пятница ж!
     
  19. parovoZZ

    parovoZZ Гуру

    а зачем опорное? В схеме, что привёл аэробас, надо выкинуть резистор R1, анод диода затащить на отрицательный вход операционника, а на положительный измерительный выход. И в таком виде эта схема будет работать.