Bemerkung
Hallo, willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Community auf Facebook! Tauchen Sie tiefer in Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten ein.
Warum beitreten?
Expertenunterstützung: Lösen Sie Probleme nach dem Kauf und technische Herausforderungen mit Hilfe unserer Community und unseres Teams.
Lernen & Teilen: Tauschen Sie Tipps und Tutorials aus, um Ihre Fähigkeiten zu verbessern.
Exklusive Vorschauen: Erhalten Sie frühzeitigen Zugriff auf neue Produktankündigungen und exklusive Einblicke.
Spezielle Rabatte: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte.
Festliche Aktionen und Giveaways: Nehmen Sie an Verlosungen und Feiertagsaktionen teil.
👉 Bereit, mit uns zu forschen und zu kreieren? Klicken Sie auf [hier] und treten Sie noch heute bei!
MCP3008
Der MCP3008 ist ein 10-Bit-Analog-Digital-Wandler (ADC) mit sukzessiver Approximation, 8 Eingangskanälen und einem SPI-Kommunikationsprotokoll (Serial Peripheral Interface). Er kann mit einem Mikrocontroller verbunden werden, um analoge Eingangssignale in digitale Daten für die weitere Verarbeitung umzuwandeln.
Ablauf des Betriebs
Eine Konvertierung auf dem MCP3008 beginnt, indem der CS-Pin (Chip Select) auf LOW gesetzt wird, wodurch die Kommunikation mit dem Gerät aktiviert wird. Der Mikrocontroller sendet dann einen 3-Byte-Steuerstrom über die SPI-Schnittstelle, um die Konfiguration festzulegen und den Eingangskanal auszuwählen.
Das erste Byte enthält das Startbit und das Bit zur Auswahl von Einzel-/Differenzeingang. Die nächsten Bits geben an, welcher der 8 Kanäle (CH0–CH7) ausgelesen werden soll. Daten werden mit jeder steigenden Flanke des SPI-Takts (SCLK) in das Gerät verschoben, und das Konvertierungsergebnis wird gleichzeitig zurückgesendet.
Eine kurze interne Verzögerung ist enthalten, damit sich der ausgewählte Eingangskanal vor Beginn der Konvertierung stabilisieren kann. Der MCP3008 führt dann eine 10-Bit-Analog-Digital-Umwandlung unter Verwendung einer Sample-and-Hold-Schaltung und eines sukzessiven Approximation-Registers (SAR) durch.
Das Konvertierungsergebnis wird über die MISO-Leitung (Master In Slave Out) an den Mikrocontroller zurückübertragen. Das höchstwertige Bit (MSB) des 10-Bit-Ergebnisses wird zuerst gesendet, gefolgt von den restlichen Bits. Der Mikrocontroller liest das Ergebnis während dieser Zeit über den SPI-Bus.
Nach dem vollständigen Übertragen des 10-Bit-Digitalwertes schließt der MCP3008 den Zyklus ab und wartet auf den nächsten Befehl.