Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MAX31855 thermocouple support #4764

Merged
merged 5 commits into from
Jan 1, 2019
Merged

MAX31855 thermocouple support #4764

merged 5 commits into from
Jan 1, 2019

Conversation

ipm79
Copy link
Contributor

@ipm79 ipm79 commented Dec 30, 2018

Support for the MAX31855 thermocouple chip. Currently only (embedded) SW SPI is supported (I will add HW SPI support later on).
This is a quite simple implementation that currently only supports one MAX31855 chip. I will add support for multiple chips as soon as I get mine delivered. Support for MAX6675 is also planned (unfortunately I don't have one but they are already on the way from China).
The driver has no dependency on external libraries.

@ipm79 ipm79 mentioned this pull request Dec 31, 2018
@andrethomas
Copy link
Contributor

@arendst Which standard are we following for additional SPI drivers - We keeping to the already defined D_SENSOR_SSPI_MISO, D_SENSOR_SSPI_MOSI, D_SENSOR_SSPI_SCLK, D_SENSOR_SSPI_CS, D_SENSOR_SSPI_DC or are we going to add new pin dropdowns for each sensor/driver we add?

I like the idea of being able to select pins for a specific device because it makes false detection of a different device impossible - how does this weigh up against ram considerations?

The major challenge with SPI devices is that they generally require their own CS/SS pin so the current model of having a fixed set of pin defines for any particular device will make it really hard to know exactly which device we are actually receiving responses from.

Your thoughts on this please?

Thanks

@andrethomas
Copy link
Contributor

PS - I think using the the pre-defined SPI/SSPI MOSI, MISO, CLK would be fine but we need to find a way to handle the CS/SS and DC (Data Control - Read or Write) pins to be definable as a bare minimum.

@andrethomas2 andrethomas2 added the Awaiting feedback from Project Owner Awaiting feedback / input from Project Owner label Dec 31, 2018
@arendst
Copy link
Owner

arendst commented Jan 1, 2019

Me too (;-)) have been thinking about the soft SPI interface and what to keep common and what not.

For now I'll merge this and keep an eye on future soft SPI implementations.

@arendst arendst merged commit de8ce9a into arendst:development Jan 1, 2019
@arendst arendst removed the Awaiting feedback from Project Owner Awaiting feedback / input from Project Owner label Jan 1, 2019
arendst added a commit that referenced this pull request Jan 1, 2019
Add support for MAX31855 K-Type thermocouple sensor using softSPI (#4764)
gemu2015 pushed a commit to gemu2015/Sonoff-Tasmota that referenced this pull request Jan 27, 2019
MAX31855 thermocouple support
gemu2015 pushed a commit to gemu2015/Sonoff-Tasmota that referenced this pull request Jan 27, 2019
Add support for MAX31855 K-Type thermocouple sensor using softSPI (arendst#4764)
@AlbertoLopSie
Copy link
Contributor

Hi!

Looking to interface a MAX31865 (RTD to Digital Converter, PT100/PT1000) to a Sonoff/Tasmota.

I haven't looked to the datasheets yet... Do you think it could be compatible with 31855 support code?

Thanks!!

@meingraham
Copy link
Collaborator

Yes, please refer to the datasheets. If you have further questions, please address this to the Tasmota Support Discord Chat first to discuss and test. The chat is a better and more dynamic channel for helping you. Github issues are best used for Tasmota software feature requests and bug reporting. Troubleshooting and setup assistance is more effective using an interactive forum.

Please check the Contributing Guideline and Policy and the Support Guide.

Thanks.

Support Information

See Wiki for more information.
See Chat for more user experience.
See Community for forum.
See Code of Conduct

@AlbertoLopSie
Copy link
Contributor

Thanks meingraham! And I'm sorry if I missplaced my question. At first sight I supossed a single digit in the chip could mean an easy (or none) change. After reading both datasheets I realize it is non trivial. MAX31855 and 865 are two very different animals.

Support for the MAX31865 could be surely interpreted as a feature request, but perhaps on its's own thread.

I'll check on the support chat anyway.

Thanks!

@une18
Copy link

une18 commented Dec 14, 2019

Hi! What is the current status? MAX31855 is in the supported component list.
Tasmota.bin (7.1.2.4) does not contain max31855 sensor, should I try other bin file instead?

@andrethomas
Copy link
Contributor

It is supported but not included by default in the release binaries. You will need to enable its compiler directive as currently commented out in my_user_config.h or add it to user_config_override.h and then compile your own binary from source.

@une18
Copy link

une18 commented Mar 10, 2020

Took some time for me to test it. Found the right components in tasmota-sensors.bin. The only problem is, the sensor is not showing right temperature. My current room temperature is 22 degrees celsius, but it gives me 8 degrees celsius. Is there a way to calibrate it, like HX711 can be calibrated?

12:49:44 MQT: tele/31855/SENSOR = {"Time":"2020-03-10T12:49:44","MAX31855":{"ProbeTemperature":8.0,"ReferenceTemperature":96.0,"Error":0},"TempUnit":"C"}

Can I change the reference temperature somehow, or....?

@andrethomas
Copy link
Contributor

From the datasheet:

image

Are you sure that the chip type is correctly matched with the type of thermocouple you are using?

Other than that the only other thing I can think of is to do post-processing on your automation software side to adjust for accuracy.

@aik
Copy link
Contributor

aik commented Jun 3, 2020

Trying MAX6675 with Sonoff TH, the readings are ~+22C higher than expected. Is there a way to adjust it somehow, or a custom build is the answer?

This was referenced Jun 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants