Как считывать напряжение с помощью ADS1115
c++
voltage-divider
Я очень новичок в этом. Я нашел это руководство.
Но это не объясняет, как считывать напряжения выше, чем Arduino 5V. Я подключил резистор 100 кОм к плюсу и 10 кОм к минусу моего источника питания 24 В.
Пожалуйста, мне нужно руководство по написанию кода для этого конкретного ADC.
@BIGsmall, 👍1
Обсуждение1 ответ
Лучший ответ:
▲ 0
Как упомянул KIIV, вам нужно сделать математику:
Используйте этот онлайн-калькулятор делителя напряжения, чтобы рассчитать максимальное входное напряжение.
- Имейте в виду, что напряжение Arduino не должно превышать 5 В.
- Используйте мультиметр для измерения фактического сопротивления резисторов.
- Посчитайте для своего примера, предполагая, что R1 равно 100 К, а R2 – 10 К, вам нужно умножить напряжение на 11.
- помните, что любая ошибка также будет умножаться на 11, поэтому убедитесь, что первое показание является точным/стабильным.
ADS1115 на самом деле 15-битный, что даст вам разрешение 32768, с настройкой PGA по умолчанию вы получите:
6,144/32768 = 0,0001875 В
на бит.
Voltage = (your ADC reading) * 0.0001875V;
Voltage = Voltage * 11;
Посмотрите на этот вопрос/ответ, чтобы увидеть, как я уменьшил шум АЦП Arduino. Некоторые шаги можно выполнить и для ADS1115.
,
@ElectronSurf
Смотрите также:
- Модуль HC-05 не получает команд и не спаривается
- C++ против языка Arduino?
- Как использовать SPI на Arduino?
- Какие накладные расходы и другие соображения существуют при использовании структуры по сравнению с классом?
- Ошибка: expected unqualified-id before 'if'
- Что лучше использовать: #define или const int для констант?
- Функции со строковыми параметрами
- Библиотека DHT.h не импортируется
Итак, вы хотите измерить напряжение вашего источника питания?, @chrisl
Да, я хочу измерить напряжение выше 5 В., @BIGsmall
Вы не можете измерить намного больше, чем 5В с этим устройством. (ВДД +0,3 В) Вы и этот «учебник») используете библиотеку adafruit и должны получать информацию от них. Если эти 2 резистора (100 кОм + 10 кОм) создают делитель напряжения, а минус подключен к GND, 24 В уменьшается до 24 В / 11 ~ 2,18 В между двумя резисторами., @DataFiddler
Я знаю, что Datafiddler, но я не знаю, как я могу преобразовать и прочитать эти 2,18 В в 24 В!, @BIGsmall
Это называется "математика". Например: Arduino имеет 10-битную точность и обычно опорное напряжение 5 В. Это означает, что один шаг равен 5 В / 1024 = 0,004883 В. И если вы разделите входное напряжение на 11, это означает, что вы должны также умножить предыдущий результат на 11., @KIIV
Я сделал то, что вы сказали: напряжение = напряжение * 11, но оно показывает более низкое напряжение, чем фактическое напряжение., @BIGsmall
Если вы что-то попробуете, и это не сработает должным образом, напишите эту информацию в вопросе (а не в комментариях). Вы написали, что попробовали расчет и получили более низкие напряжения. Так что напишите в своем вопросе: код, который вы использовали для расчета со всеми соответствующими значениями, какие напряжения он выдает и какие напряжения вы измеряли, как внешне., @chrisl