Может ли arduino показать мощность, потребляемую от его выходного контакта на последовательном мониторе?
Я хочу знать, возможно ли, что arduino может показать, сколько энергии мой прототип черпает из arduino, и если это возможно, то каким будет код для этого.
2 ответа
Нет, он не может измерять мощность. С Arduino (и большинством других микроконтроллеров) у вас есть только измерение напряжения (на аналоговых входных контактах).
Хотя это половина измерения мощности, так как мощность-это напряжение, умноженное на ток. Измерьте напряжение на этом выводе с помощью аналогового вывода. Тогда вам нужен способ измерить ток. Для этого вам понадобится дополнительное оборудование. Существуют датчики тока, изготовленные для Arduino, которые измеряют ток, протекающий через его контакты, и выдают соответствующее аналоговое напряжение, которое затем можно измерить на аналоговом выводе. Убедитесь, что датчик тока рассчитан на правильный диапазон тока, чтобы не перегружать его и не терять разрешающую способность (имея в датчике гораздо больший диапазон, чем при фактическом токе). Для вывода цифрового выхода Arduino Uno/Nano макс. ток должен быть 20 мА.
Вы также можете поискать в Google что-то вроде "датчика тока Arduino". Короткий поиск дал мне многообещающие результаты.
Затем, когда вы измерите напряжение и ток, вы можете умножить их, чтобы получить мощность.
Вы не можете напрямую измерить мощность, нет. Но это достаточно просто организовать, используя очень небольшое количество дополнительного оборудования.
В зависимости от того, какое устройство вы хотите контролировать, существует два способа создания нужной вам схемы. Оба требуют только одного небольшого резистора и одного или двух аналоговых выводов.
Самое простое устройство-это "токовый шунт низкой стороны", который представляет собой просто небольшой резистор между землей вашего устройства и землей Arduino. Это вызывает небольшое падение напряжения, которое немного повышает потенциал заземления вашего устройства, поэтому может повлиять на связь, если вы не будете осторожны (см. Альтернативу ниже). Затем соединение "сверху" этого резистора с аналоговым входом позволит вам контролировать падение напряжения на этом резисторе. Исходя из этого, используя закон Ома, вы можете вычислить ток. Это тогда может дать вам силу.
Вот схема:
Это устройство имеет то преимущество, что оно будет работать при любом напряжении питания, а не только на выводе питания 5 В (например, питание от вывода VIN или 3,3 В).
Если вы питаете устройство не более чем от 5 В, вы можете поместить резистор в канал 5 В и избежать смещения напряжения на землю. Идея та же самая: используйте аналоговый вход для контроля падения напряжения на резисторе, чтобы рассчитать ток и, следовательно, мощность:
Однако если вы хотите измерить ток, вытягиваемый из вывода GPIO, вам необходимо рассмотреть еще один шаг. GPIO имеет внутри себя МОП-транзистор, который накладывает на выход собственное небольшое сопротивление. Это сопротивление, конечно, вызовет изменение выходного напряжения в зависимости от тока, подаваемого на выходной вывод. Поэтому важно знать, каково фактическое выходное напряжение, а не предполагать, что оно будет 5 В. Для этого необходим второй аналоговый вход:
- Как запитать Arduino и 1 цветную светодиодную ленту от одного источника питания
- Как остановить uno от запуска программы при включении питания?
- Питание Arduino напряжением более 5 В
- Режим глубокого сна для Uno без сложных схем?
- Питание двух шаговых двигателей с драйверами A4988
- Как перевести RFID-модуль MFRC522 в спящий режим?
- Не удается включить Arduino Uno + Ethernet Shield с USB-разъема, отличного от компьютера
- Питание Raspberry Pi 3 от Arduino Uno