Диапазон измерения напряжения Arduino?
Недавно я подумал об использовании Arduino для измерения напряжения и столкнулся с проблемой: какое максимальное напряжение я могу измерить??? Это Arduino Uno, и я думаю, что я также буду отображать измеренное напряжение на ЖК-экране 16 * 2. Я предполагаю, что максимальное напряжение составляет 5 вольт, но если это правильно, как я могу увеличить его диапазон?
@Supragya Mishra, 👍0
2 ответа
Без какой-либо дополнительной настройки АЦП (аналогово-цифровой преобразователь) Atmega328P (который встроен в Arduino Uno) использует Vcc в качестве опорного напряжения (что означает 5 В в случае Arduino Uno). Напряжение 5 В даст максимальное значение (которое равно 1023, так как это 10-битный АЦП). Таким образом, диапазон напряжения в этом случае составляет от 0 до 5 В.
У Arduino Uno есть дополнительный контакт, на который можно подать собственное опорное напряжение. Но его предел привязан к напряжению питания АЦП AVcc
, которое составляет 5 В для Arduino Uno rev3 (как показано в схемы Uno). Опорное напряжение должно быть в диапазоне от 1 В до AVcc
. Так что это по-прежнему дает вам только диапазон от 0 В до 5 В или меньше.
При использовании автономного Atmega328P можно сделать AVcc
чуть выше напряжения питания чипа Vcc
, но не более Vcc + 0,3 В
.
Вы можете проверить все эти цифры, просмотрев техническое описание Atmega328P, глава 28.9 (Электрические характеристики --> Характеристики АЦП).
Как увеличить этот диапазон, во многом зависит от ваших требований. Если вам просто нужен постоянный более высокий диапазон, вы можете просто поставить делитель напряжения перед аналоговым входом. Или вы можете использовать более сложную схему, включающую операционный усилитель (схема усилителя, здесь с коэффициентом усиления ниже 1). Вы даже можете сделать его переменным.
Если требуемый диапазон напряжения значительно превышает 5 В, например, если вы хотите измерить напряжение сети (230 В для большинства стран Европы, 110 В для США), вам определенно следует проявлять большую осторожность и никогда не подключать его напрямую к сети. электронный, как Arduino. С высокими напряжениями (особенно при высоких возможных токах) всегда следует обращаться с большой осторожностью.
Абсолютный максимальный номинал ATmega328 (это микроконтроллер в uno) составляет Vcc + 0,5V
для любого вывода (кроме вывода сброса), а Vcc не должен превышать 6V.
Для измерения более высоких напряжений необходимо использовать делитель напряжения (прочитайте это), чтобы настроить входное напряжение. напряжение в диапазоне 0V - Vcc
.
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
Не на 100% верно. Это значение является абсолютным максимальным номиналом, то есть напряжение, которое вы не должны превышать. АЦП будет считывать значения между Vref- и Vref+. Обычно Vref- заземляется, а Vref+ обычно устанавливается на Vcc (если только вы не используете внутреннее опорное напряжение, которое намного ниже). См. ответ Крисла для более подробной информации., @frarugi87