====== MCP3xxx: Analog Digital Wandler ====== ===== Beschreibung ===== Die MCP3xxx Familie bietet analoge Eingänge für den Raspberry an, die der Pi von Haus aus nicht mitbringt. Am meisten verbreitet ist der MCP3008, der 8 analoge Eingänge mit 10 Bit Auflösung bietet. Angeschlossen wird er über die SPI-Schnittstelle des Raspberry. Fertige Platinen gibt es für den MCP3xxx meist nicht, aber er lässt sich problemlos auf eine Lochrasterplatine bringen. Folgende Typen werden vom Treiber unterstützt: MCP3001, MCP3002, MCP3004, MCP3008, MCP3201, MCP3202, MCP3204, MCP3208, MCP3301, MCP3302, MCP3304, MCP3308 Eine Alternative ist der [[plugins:multi_io:sensor_module:ads1x15]], der zwar nur 4 analoge Eingänge bietet, dafür aber in 12Bit Genauigkeit und mit der weit verbreiteten I2C Schnittstelle. {{plugins:multi_io:sensor_module:pasted:20241003-073219.png?400}} Abbildung: © [[https://www.adafruit.com/product/856]] ===== Datenblatt ===== MCP3008: [[https://cdn-shop.adafruit.com/datasheets/MCP3008.pdf|https://cdn-shop.adafruit.com/datasheets/MCP3008.pdf]] ===== Hardware-Konfiguration ===== * **MCP3008 CLK** zu **Pi SCLK** (GPIO 11) * **MCP3008 DOUT** zu **Pi MISO** (GPIO 9) * **MCP3008 DIN** zu **Pi MOSI** (GPIO 10) * **MCP3008 CS** zu **Pi GPIO 7 oder GPIO 8** * **MCP3008 VDD** zu **Pi 3,3 V** * **MCP3008 VREF** zu **Pi 3,3 V** * **MCP3008 AGND** zu **Pi GND** * **MCP3008 DGND** zu **Pi GND** {{plugins:multi_io:sensor_module:pasted:20241003-080842.png?400}} ===== Software-Konfiguration ===== ==== Modul ==== Auf dem Raspberry ist Port immer "0", da es nur ein SPI Port gibt. GPIO11 ist der Clock Pin (SCLK), GPIO10 ist der MOSI Pin und GPIO9 ist der MISO Pin. Device kann entweder 0 oder 1 sein. Bei Device = 0 ist der Select Pin GPIO8, bei Device = 1 ist der Select Pin GPIO7. * Type: Chip Typ, häufig MCP3008 * SPI Port: Ist am Raspberry immer "0" * SPI Device: Ist entweder "0" oder "1" - siehe oben * Channel: Der auszulesende Analog-Eingang, beginnend bei 0 * Max. Voltage: Maximale Spannung, am Raspberry üblicherweise max. 3.3V * Differential: In diesem Modus wird der angegebene Channel als Differenz zu einem zweiten Channel gelesen. Schaut ins Datenblatt, welcher der zweite Channel sein muss (hängt vom Chipdesign ab) {{plugins:multi_io:sensor_module:pasted:20241003-080944.png?400}} ==== Eingänge ==== * Polling Intervall: Intervall, wann eine Messung angefordert wird {{plugins:multi_io:sensor_module:pasted:20241003-081300.png?400}}