Arduino UNO, термопара типа К, max31855KASA+
- Войдите на сайт для отправки комментариев
Ср, 07/05/2014 - 07:34
Ребята, суть проблемы такова. Есть термопара типа К и микросхема для работы с ней max31855KASA+. Один хороший человек (а вообще ещё один до него) написал для неё библиотеку и код, чтобы всё работало и замеряло. Ссылка на форум, где он пишет об этом, а так же на github. До него ещё один человек написал библиотеку для неё, ей я ещё не воспользовался.
И я не могу понять как это работает, что в итоге получилось. При использовании demo4 при прослушивании порта выводит следующее:
Start max31855_demo3: 0.1.03
10x read: 5344
getTemperature: 4
getInternal: 0
-56.00
26.75
change: 65812
counter: 125
-56.00
-61.75
change: 73088
counter: 139
-61.75
-62.00
change: 73048
counter: 139
-62.00
-62.50
change: 147648
counter: 281
-62.50
-62.25
.............
Если беру горячий спай термопары пальцами, то значение тут же меняется с -60 до примерно -20, кратковременное действие зажигалки даёт что-то около 120. Почему изначально показывает отрицательные значения?
Подключил питание к +5V, GND рядом с 5М, цифру подключил к соответствующим номерам на Arduino, т.е.: 5(SCK) - 5, 6(CS) - 6, 7(SO) - 7. Как я понял он именно так делал. Всего у него 4 версии кода, все выдают странные значения изначально отрицательные. Помогите. пожалуйста, разобраться.
Понимаю, что никому не интересно помогать в теме "сделайте за меня" и я даже не знаю как попросить вас) но просто непонятно где хотя бы текст выводимый изменить и время, через которое обновляются данные, хотя раньше хоть с этим проблем не было.
Может откалибровать надо?
Я года два назад сделал термометр на этой микросхеме. Посмотрите мой код, от без библиотек. Может чем поможет.
Вроде не надо.
Спасибо, обязательно попробую)
Использовал ваш код. Если термопару не трогать, то выдаёт -270. В комментарии написано, что это ошибка подключения термопары. Как только беру горячий спай пальцами, то значение прыгает от -270 до -200. Не подскажете с чем это может быть связано?
Всё, что пока могу посоветовать, это: проверить монтаж (не забыть про землю); соответсвтвие назначения пинов термопреобразователя; учесть, что питание термопреобразователя ДО четырёх вольт. А как запитана у Вас?
/sites/default/files/u3495/plata_obshchiy_vid_1.jpg
/sites/default/files/u3495/plata_so_storony_payki.jpg . Проверил код (взял его отсюда, с сайта). Работает.
Я просто на макетке подключаю термопару к микросхеме, от микросхемы к Arduino, питание 5V от USB. У вас там обвязка ещё. Нужно же термопару напрямую к микросхеме по даташиту?
http://s019.radikal.ru/i612/1405/e8/0547ba4ec9fa.jpg
Я вопрос не понял. А питание не должно превышать +4 В. Обвязка (2 кОм, 3 кОм) нужна для сопряжения ардуины (+5 В) с термопреобразователем (+3,3 В). Если иначе - как повезёт (должно НЕ поветси).
Я имею ввиду без обвязки подключаю напрямую, т.е. микросхема питается от 5В. Обалдеть, перепутал, думал она от 5В работает, а максимум 4. Вообще можно питать микросхему от ардуины 3.3В без обвязки? Есть же такой выход у arduino uno.
И, видимо, я сжёг микруху, раз пробовал питать от 5В.
Запитать от 3,3 В и делитель на входы 2 кОм, 3 кОм (обязательно). Выход можно подать без обвязки, напрямую в ардуину. Может микросхема ещё живая, раз не греется.
В даташите указано, что 3.3В это нормально. А зачем обвязка на вход тогда? На входы это между термопарой и микросхемой?
На входы, это на выводы CS (6) и SCK (5). Не хорошо получается, если питание +3,3 В, а на входе +5 В (микросхема запитывается " не тудою").
Спасибо за ответы, попробую, буду надеятся, что не спалил микруху.
Разрешите уточнить: если всё-таки на выход поставить, как на схеме, резистор на 470 Ом и стабилитрон, то можно поставить стабилитрон не кс136, а BZX55-C3V3 или BZX55-C3V6? И что конкретно делает эта обвязка на входы/выход?
На выход ставить резистор 470 Ом и стабилитрон 3V3 не обязтельно (я поставил для перестраховки, т.к. экспериментировал на длинной линии + ещё какие то особенности были). А BZX55-C3V3 или BZX55-C3V6 ствить можно, если питание териопреобразователя не более +3 вольт. Резисторы на 2 и 3 кОм образуют делитель. Т.е. с микроконтроллера ардуины приходит 5 вольт, а делитель уменьшает напряжение на входе термопреобразавателя до трёх вольт (можно и другие номиналы, на не очень маленькие или очень большие).
Вот, про делители и понять никак не могу, я же подключаю микросхему к 3,3В на ардуине, откуда там 5В?
Измерьте напряжение питания микроконтроллера на плате. Если оно 3,3 вольта, то резисторы не нужны.
Спасибо за ваши ответы и помощь, всё заработало. Теперь осталось ещё 3 термопары присоединить, попробую с помощью герконовых реле и транзисторов управлять поочерёдно термопарами.
Так какое питание у микроконтроллера? А про подключение термопар через реле интересно (хоть и мало верится в положительный результат). Отпишитесь о результатах.
Что-то я не вкурю никак: где Вы в даташите увидели конденсатор между выводами Т+ и Т-? Между VCC и GND - есть. А вот для подключения термопары ничего не надо: "The device includes signal-conditioning hardware to convert the thermocouple’s signal into a voltage compatible with the input channels of the ADC. The T+ and T- inputs connect to internal circuitry that reduces the introduction of noise errors from the thermocouple wires.", что в вольном переводе означает: "Устройство включает в себя аппаратную обработку сигналов для преобразования сигнала термопары в напряжение, совместимое с входными каналами АЦП. Входы T+ и T- подключаются к внутренней схеме, что уменьшает появление шумовых ошибок от проводов термопары."
Т.е. все фильтры в самом чипе уже присутствуют. Кроме того, на сколько я понимаю в "колбасных обрезках", ограничивать уровень логической 1 нужно только на входах CS и SCK. SO - выход и контролеру пофиг что 3.3В, что 5.0В - это все равно больше 2.7В, что соответствует логической 1.
как калибровать термопару? замерить на сколько врет и учитывать в программе?
и особо от мах6675 вроде не отличается, несмотря на большее разрешение 14 бит шаг тот же 0.25, больше пределы измерения, питание не 5 а 3.3...
В интернетах пишут, что алишные модули с этими максами безбожно врут... калибруй, не калибруй...
Рекомендованный способ согласования с использованием диодов и подтяжки к "+ " 10 Килоомами не заработал а вот при помощи делителя Ок