Это долгая история, но я разобрал радиоуправляемую машину и хотел, чтобы Arduino использовал ее, analogRead()
чтобы получить значения моих двигателей и рулевого управления. Я измерил мультиметром, что напряжение в моей машине с дистанционным управлением составляет от -6 до 6 В.
Тем не менее, Arduino поддерживает только чтение от 0v до 5v максимум. Есть ли способ преобразовать -6v и + 6v в 0v и 5v? Я слышал, что это можно сделать с помощью операционного усилителя. Некоторые люди также говорили мне использовать делитель напряжения. Другими словами, если бы я не управлял автомобилем RC, Arduino должен был видеть 2,5 вольт.
В любом случае, я не совсем понимаю, как бы я это сделал. Может кто-нибудь порекомендовать мне соответствующий операционный усилитель с цепью для этого конкретного сценария?
ИЛИ, если возможно, кто-нибудь может показать мне, как считывать отрицательное и положительное напряжение с помощью двух выводов Arduino? Например, если задано -6v, то аналоговый вывод 0 вернет 1023. Если задан 0v, то оба аналоговых вывода 0 и 1 скажут 0. А если дано + 6v, то аналоговый вывод 1 вернет 1023 Как я могу сделать схему, которая будет работать так?
Я ценю это, если у вас есть принципиальная схема для этого. Спасибо!
источник
Ответы:
Три стандартных резистора выполняют эту работу при условии, что двигатель видит -6 В относительно земли и не связан с другой клеммой двигателя.
смоделировать эту схему - схема, созданная с использованием CircuitLab
При изменении Vm от -6 до 6 В выходной сигнал будет колебаться от 0 до 4,9 В.
источник
Когда двигатель приводится в движение от полного Н-моста, и вы хотите, чтобы ваш Arduino находился на той же наземной привязке, что и остальная часть автомобиля, тогда вы можете использовать следующее:
смоделировать эту схему - схема, созданная с использованием CircuitLab
Оба выхода в диапазоне 0 .. 2V4, и вы должны установить внутренний источник опорного напряжения Arduino к 2V56. Подключив оба выхода к собственному аналоговому входу, вы можете рассчитать напряжение двигателя, вычтя их. Конденсаторы предназначены для усреднения сигналов ШИМ, поэтому их можно измерить с помощью АЦП.
источник
Вот решение без операционного усилителя. Для этого вам понадобится дополнительный входной контакт на Arduino.
Если входной контакт показывает 0, то напряжение от АЦП положительное. В противном случае напряжение отрицательное.
Из-за падения напряжения на мостовом выпрямителе вы решили проблему снижения напряжения с 6 до 5 В. Теперь у вас будет максимум 6 - 2 * 0,7 = 4,6 В. D5 не является обязательным и существует только по соображениям безопасности.
Недостатком является то, что для измерения напряжение должно быть больше + 1,4 В или меньше -1,4 В.
смоделировать эту схему - схема, созданная с использованием CircuitLab
источник