Arduino MCP3008
тел. +7(499)347-04-82
Описание Arduino MCP3008
MCP3008 (Arduino) — 8-канальный 10-битный АЦП
📋 Описание
MCP3008 — это 8-канальный 10-битный аналого-цифровой преобразователь (АЦП) с последовательным интерфейсом SPI, производства компании Microchip Technology. Микросхема представляет собой идеальное решение для расширения аналоговых входов микроконтроллеров (например, Arduino), у которых недостаточно встроенных АЦП-каналов или требуется повышенная точность/разрешение.
Широко применяется в проектах на Arduino, Raspberry Pi, ESP32 и других платформах для подключения аналоговых датчиков (потенциометров, термодатчиков, фоторезисторов, джойстиков, датчиков тока и т. п.).
Часто поставляется в виде готового модуля/платы с клеммниками, удобной для макетирования.
⚙️ Технические характеристики
| Параметр | Значение | |---|---| | Разрядность АЦП | 10 бит (1024 уровня, 0–1023) | | Число входных каналов | 8 (однополярных, single-ended), возможно 4 дифференциальных | | Интерфейс | SPI (до ~3.6 МГц) | | Напряжение питания (VDD) | 2.7 … 5.5 В | | Опорное напряжение (VREF) | 2.7 В … VDD | | Потребляемый ток | ~ 340 мкА (типично), 5 мкА в standby | | Частота дискретизации | до 200 тыс. выборок/с (при 5 В) | | Встроенный sample-and-hold | Да | | Погрешность (INL/DNL) | ±1 LSB | | Диапазон рабочих температур | −40 … +85 °C | | Корпус | DIP-16 / SOIC-16 | | Разрешение по напряжению | ~ 4.88 мВ @ 5 В VREF | | Абсолютное макс. напряжение на входах | от −0.3 В до VDD+0.3 В |
💡 Формула расчёта:
V = код * VREF / 1024
🔌 Распиновка (DIP-16)
| Пин | Название | Назначение | |---|---|---| | 1–8 | CH0–CH7 | Аналоговые входы | | 9 | DGND | Цифровая земля | | 10 | CS/SHDN | Chip Select (активный низкий) | | 11 | DIN | Вход данных SPI (MOSI) | | 12 | DOUT | Выход данных SPI (MISO) | | 13 | CLK | Тактирование SPI | | 14 | AGND | Аналоговая земля | | 15 | VREF | Опорное напряжение | | 16 | VDD | Питание 2.7–5.5 В |
🔢 Парт-номера (Part Numbers)
Официальные обозначения Microchip (суффиксы обозначают корпус и температурный диапазон):
| Part Number | Корпус | Примечание | |---|---|---| | MCP3008-I/P | PDIP-16 | Индустриальный (−40…+85 °C) — самый популярный для Arduino | | MCP3008-I/SL | SOIC-16 | SMD-версия | | MCP3008T-I/SL | SOIC-16 (лента) | Tape & Reel, SMD | | MCP3008-E/P | PDIP-16 | Расширенный темп. диапазон | | MCP3008-E/SL | SOIC-16 | Расширенный темп., SMD | | MCP3008T-I/SLVAO | SOIC-16 | Вариант с AEC-Q100 (авто) | | MCP3008-XXXXX | — | Серийные/кастомные маркировки |
Платформы и совместимость
- Arduino Uno / Nano / Mega / Leonardo — через библиотеку
MCP3008илиAdafruit_MCP3008 - Raspberry Pi (все модели) — через
spidev/gpiozero/Adafruit - ESP8266 / ESP32
- STM32, PIC, AVR, MSP430 — при наличии SPI
Платформы, НЕ совместимые по питанию (без делителя)
- Arduino Due, Teensy 3.x+ (логика 3.3 В) — микросхема работает всё равно, но будьте осторожны с VREF на 3.3 В. MCP3008 толерантна к 3.3 В логике.
📚 Родственные микросхемы (аналоги семейства)
| Модель | Отличие | |---|---| | MCP3004 | 4 канала, 10 бит, DIP-14/SOIC-14 | | MCP3208 | 8 каналов, 12 бит | | MCP3204 | 4 канала, 12 бит | | MCP3304 | 8 каналов, 13 бит (дифф.) | | MCP3008 | 8 каналов, 10 бит — базовая версия |
💻 Пример подключения к Arduino (кратко)
VDD → 5V
VREF → 5V (или 3.3V для точности на низких сигналах)
DGND, AGND → GND
CLK → D13 (SCK)
DOUT → D12 (MISO)
DIN → D11 (MOSI)
CS → D10
CH0…CH7 → аналоговые датчики
Библиотека: Adafruit_MCP3008 (Install via Library Manager).
#include <Adafruit_MCP3008.h>
Adafruit_MCP3008 adc;
void setup() {
adc.begin(10); // CS = 10
}
void loop() {
int val = adc.readADC(0); // 0…1023
}
⚠️ Особенности использования
- Не подавайте на вход напряжение выше VDD — входы не защищены от перенапряжения.
- При питании 3.3 В максимальный код соответствует 3.3 В, а не 5 В.
- Для точности рекомендуется отдельная стабилизированная опора (VREF) и развязывающий конденсатор 0.1 мкФ между VDD/AGND.
- Скорость SPI ограничена ~ 3.6 МГц; с библиотекой Adafruit используется 1.35 МГц по умолчанию.
- Multiplexing занимает ≈ 1.5 такта SPI — учитывайте при высокой частоте опроса.