Add MAX31865, update MAX31855 (#399)

* Add MAX31865, update MAX31855.

Update documentation for the new MAX31865 sensor and the improvements to the
MAX31855 sensor.

* Update MAX31865 filter parameter type.

It is actually a enum (string?), not a time value.

* MAX31855 & MAX31865 documentation improvements.

@OttoWinter suggested some good fixes, implementing those.
This commit is contained in:
DAVe3283 2019-11-06 05:56:48 -07:00 committed by Otto Winter
parent e2d5848cea
commit 25b8b9a8cf
5 changed files with 75 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 953 KiB

View File

@ -8,7 +8,7 @@ MAX31855 K-Type Thermocouple Temperature Sensor
The ``max31855`` temperature sensor allows you to use your max31855 thermocouple
temperature sensor (`datasheet <https://datasheets.maximintegrated.com/en/ds/MAX31855.pdf>`__) with ESPHome
As the communication with the MAX66775 is done using SPI, you need
As the communication with the MAX31855 is done using SPI, you need
to have an :ref:`spi bus <spi>` in your configuration with the **miso_pin** set (mosi is not required).
Connect ``GND`` to ``GND``, ``VCC`` to ``3.3V`` and the other three ``MISO`` (or ``SO`` for short),
@ -37,9 +37,8 @@ Configuration variables:
- **name** (**Required**, string): The name for the temperature sensor.
- **cs_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The Chip Select pin of the SPI interface.
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.
- **spi_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`SPI Component <spi>` if you want
to use multiple SPI buses.
- **reference_temperature** (*Optional*, :ref:`Sensor <config-sensor>`): Access the internal temperature sensor of the MAX31855. Requires a **name** and/or **id**.
- **spi_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`SPI Component <spi>` if you want to use multiple SPI buses.
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
- All other options from :ref:`Sensor <config-sensor>`.
@ -51,6 +50,7 @@ See Also
- :doc:`dht`
- :doc:`adc`
- :doc:`max6675`
- :doc:`max31865`
- `MAX31855 Library <https://github.com/adafruit/Adafruit-MAX31855-library>`__ by `Adafruit <https://www.adafruit.com/>`__
- :apiref:`max31855/max31855.h`
- :ghedit:`Edit`

View File

@ -0,0 +1,70 @@
MAX31865 Platinum RTD Temperature Sensor
========================================
.. seo::
:description: Instructions for setting up MAX31865 platinum RTD temperature sensors.
:image: max31865.jpg
The ``max31865`` temperature sensor allows you to use your max31865 RTD
temperature sensor (`datasheet <https://datasheets.maximintegrated.com/en/ds/MAX31865.pdf>`__) with ESPHome
.. figure:: images/max31865-full.jpg
:align: center
:width: 50.0%
MAX31865 Sensor. Image by `Adafruit`_
.. _Adafruit: https://www.adafruit.com/product/3328
As the communication with the MAX31865 is done using SPI, you need
to have an :ref:`spi bus <spi>` in your configuration with both **miso_pin** and **mosi_pin** set.
- ``VIN`` connects to 5V (``3V3`` will output 3.3V), or directly connect ``3V3`` to 3.3V
- ``GND`` connects to ground
- ``CLK`` connects to the SPI **clk_pin**
- ``SDO`` connects to the SPI **miso_pin**
- ``SDI`` connects to the SPI **mosi_pin**
- ``CS`` connects to a free GPIO pin
- ``RDY`` is not used by ESPHome
.. code:: yaml
# Example configuration entry
spi:
miso_pin: D0
mosi_pin: D1
clk_pin: D2
sensor:
- platform: max31865
name: "Living Room Temperature"
cs_pin: D3
reference_resistance: 430 Ω
rtd_nominal_resistance: 100 Ω
Configuration variables:
------------------------
- **name** (**Required**, string): The name for the temperature sensor.
- **cs_pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The Chip Select pin of the SPI interface.
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.
- **reference_resistance** (**Required**, float): Reference resistor on the PCB. Adafruit's PT100 (#3328) uses 430 Ω, their PT1000 (#3648) uses 4300 Ω.
- **rtd_nominal_resistance** (**Required**, float): Nominal resistance of the RTD at 0°C. PT100 is 100 Ω, PT1000 is 1000 Ω.
- **mains_filter** (*Optional*, string): The mains power frequency to reject (``50 Hz`` or ``60 Hz``). Defaults to ``60 Hz``.
- **rtd_wires** (*Optional*, int): The number of RTD wires. Be sure to solder board jumpers to match! Defaults to ``4``.
- **spi_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the :ref:`SPI Component <spi>` if you want to use multiple SPI buses.
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
- All other options from :ref:`Sensor <config-sensor>`.
See Also
--------
- :ref:`sensor-filters`
- :doc:`dallas`
- :doc:`dht`
- :doc:`adc`
- :doc:`max6675`
- :doc:`max31855`
- `MAX31865 Library <https://github.com/adafruit/Adafruit_MAX31865>`__ by `Adafruit <https://www.adafruit.com/>`__
- :apiref:`max31865/max31865.h`
- :ghedit:`Edit`

BIN
images/max31865.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@ -120,6 +120,7 @@ Sensor Components
Integration, components/sensor/integration, sigma.svg
HTU21D, components/sensor/htu21d, htu21d.jpg
MAX31855, components/sensor/max31855, max31855.jpg
MAX31865, components/sensor/max31865, max31865.jpg
MAX6675, components/sensor/max6675, max6675.jpg
MH-Z19, components/sensor/mhz19, mhz19.jpg
MPU6050, components/sensor/mpu6050, mpu6050.jpg