Тоже решил попробовать работать с этой микрухой. (Куплена на Али, маркировка: M31855K 1818A2 +315AC) питание 3.3V, STM32F030, керамические конденсаторы на питании (100n) и по рекомендации даташита - параллельно термопаре (10n). Показания внутричиповой температуры стабильные, но слегка завышенные (примерно на 3 - 4°С) значение горячего конца нестабильное (при комнатной температуре скачки от 11 до 25°С) Буду пытаться фильтровать. Читал где-то на форумах, что это может быть проблемой китайского поддельного чипа. Писали, что при покупке из другой партии проблемы исчезали... Буду пробовать заказать еще в другом магазине.
Добавлено after 43 minutes 52 seconds:Ребята, собрал тоже датчик на этой микросхкме. Только термопара S типа, соответственно и микруха MAX31855SASA для S термопар. Подключили по SPI и питание3,3в от STM32, работает вроде стабильно.
При чтении (раз в сек) принимаем длинный (32 бита ) код, в котором зашифрованы температура термопары и температура микрухи, а также бит обрыва термопары. Вопрос: как по температуре термопары и температуре вычислять температуру горячего конца, что с чем сложить, вычесть???
1. Читаем даташит;
2. считываем из чипа 32 битное число;
3. Маскируем 3 младших бита. Если они не равны нулю, то имеется ошибка, а именно -если значение равно 0x1, то имеем обрыв термопары, 0x2 - если термопара имеет замыкание на "корпус", 0x4 замыкание на питание.
4. сдвигаем считанное значение на 4 бита вправо;
5. Маскируем 11 младших бит. Умножаем полученное значение на 0,0625 и получаем температуру холодного конца термопары. (Точнее - температуру внутри чипа, которая из-за близкого размещения с холодным концом примерно одинаковая);
6. Маскируем 12-й бит. Если он равен 1, то значение внутричиповой температуры отрицательное;
7. Сдвигаем считанное значение на 12 бита вправо;
8. Маскируем 1-й бит. Если он равен 1, то имеется проблема с термопарой (Для уточнения смотрим пункт 3);
9. Сдвигаем считанное значение на 2 бита вправо;
10. Маскируем 13 младших бит. Умножаем полученное значение на 0,25 и получаем температуру горячего конца термопары.
11. Маскируем 14-й бит. Если он равен 1, то значение температуры отрицательное;
Успехов!