Как и
обещал, библиотека датчика к-термопары с компенсацией температуры холодного спая -
MAX31855 от Maxim Integrated.
На борту два АЦП. 14-bit для термопары и 12-bit для холодного спая. Напряжение питания 3.0в - 3.6в. Время преобразования около 100 миллисекунд или 10 измерений в секунду. Кроме температуры термопары, умеет выдавать температуру холодного спая. Обладает улучшенными диагностическими функциями - замыкание термопары на землю, замыкание на питание, обрыв термопары. Для уменьшения наводок на входе производитель советует допаять параллельно "-T" и "+T" конденсатор на 10nF/0.01mF. Ребята из Adafruit дополнительно одевают ферритовые бусины на холодный спай. Я погорячился, купил плату как на картинке и словил себе лишних проблем.
внешний вид неправильной платы для MAX31855
Человек который ее разводил не учел, что для MAX31855 не нужно соединять "-T" с землей как для MAX6675. Пришлось сдувать чип, резать две дорожки и добавлять соплю.
доработка неправильной платы
В итоге стало выглядеть так.
после доработки
Можно избежать рукоблудия купив плату со специально обученной перемычкой на обратной стороне. Не повторяйте моей ошибки.
внешний вид правильной платы для MAX31855
Библиотека поддерживает все плюшки сенсора. Работает с железным
SPI или эмулирует последовательный протокол
ногодрыгом/bitbang. Чтобы правильно дрыгать пришлось разобраться в 4-х режимах SPI шины. Сенсор работает в SPI mode 0. Для этого режима clock sample (данные с датчика) доступны вскоре после того как SCK перешел в высокое состояние.
SPI mode 0
UDP: Погонял датчик пару дней - конденсатор параллельно "-T" и "+T" на 10nF/0.01mF ОБЯЗАТЕЛЕН!!! Без него, проскакивают неадекватные значения.
UDP2: Будьте внимательны, наши китайские друзья наладили выпуск подделок. Подробности
тут и
тут.
Забирать
тут.