Хорошие новости! Это будет дешево! :-)
Простой резисторный делитель снизит напряжение 12 В до 5 В, которые может переварить Arduino. Выходное напряжение можно рассчитать как
VOUT=R2R1+R2VIN
Значения резисторов в диапазоне 10 кОм являются хорошим выбором. Если ваш R2 равен 10 кОм, тогда R1 должен быть 14 кОм. Теперь 14 кОм не является стандартным значением, а 15 кОм. Ваше входное напряжение будет 4,8 В вместо 5 В, но Arduino увидит это все еще на высоком уровне. У вас также есть немного запаса на случай, если 12 В должно быть слишком высоким. Даже 18 кОм все равно дадут вам достаточно высокое 4,3 В, но тогда вы должны начать думать о 12 В слишком низко. Будет ли напряжение по-прежнему считаться высоким? Я бы придерживался 15 кОм.
редактировать
Вы упоминаете автомобильную среду, а затем вам нужна дополнительная защита. Напряжение 12 В в автомобиле никогда не бывает достаточно 12 В, но в большинстве случаев оно выше, с пиковыми значениями в несколько вольт выше номинальных 12 В. (На самом деле номинальное значение больше похоже на 12,9 В при 2,15 В на элемент.) Вы можете поместить стабилитрон на 5 В диод параллельно с R2, и это должно обрезать любое напряжение выше, чем напряжение 5 В. Стабилизатора. Но напряжение Стабилизатора меняется в зависимости от тока, и при низком входном токе резисторы дают вам отключение при более низких напряжениях. Лучшим решением было бы иметь диод Шоттки между входом Arduino и источником питания 5 В. Тогда любое входное напряжение выше, чем примерно 5,2 В, приведет к тому, что диод Шоттки будет работать, а входное напряжение будет ограничено 5,2 В. Для этого вам действительно нужен диод Шоттки, обычный PN-диод имеет 0.
Лучший
оптрон Майкла - хорошая альтернатива, хотя и немного дороже. Вы часто будете использовать оптопару для изоляции ввода от выхода, но вы также можете использовать его для защиты входа, как вы хотите здесь.
Как это работает: входной ток загорается внутренним инфракрасным светодиодом, который вызывает выходной ток через фототранзистор. Соотношение между входным и выходным током называется CTR для коэффициента передачи тока. CNY17 имеет минимум CTR 40%, что означает , что необходимо 10 мА вход для 4 мА выхода. Давайте перейдем к входу 10 мА. Тогда R1 должно быть (12 В - 1,5 В) / 10 мА = 1 кОм. Выходное сопротивление должно вызывать падение напряжения 5 В при 4 мА, тогда оно должно составлять 5 В / 4 мА = 1250 Ом. Лучше иметь немного более высокое значение, в любом случае напряжение не упадет более чем на 5 В. 4.7 кОм ограничит ток до 1 мА.
Vcc является источником питания 5 В Arduino, Vout поступает на вход Arduino. Обратите внимание, что входной сигнал будет инвертированным: он будет низким, если присутствует 12 В, и высоким, если его нет. Если вы этого не хотите, вы можете поменять положение выхода оптопары и подтягивающего резистора.
edit 2
Как решение оптопары не решает проблему перенапряжения? Резисторный делитель является пропорциональным: выходное напряжение является фиксированной величиной входного напряжения. Если вы рассчитали на 5 В на 12 В, то на 24 В будет 10 В. Не в порядке, отсюда и защита диода.
В схеме оптопары вы можете видеть, что правая сторона, которая подключается к входному контакту Arduino, вообще не имеет напряжения выше 5 В. Если оптрон включен, то транзистор будет потреблять ток, я использовал 4 мА в примере выше. 1,2 кОм приведет к падению напряжения на 4,8 В в соответствии с законом Ома (текущее время сопротивление = напряжение). Тогда выходное напряжение будет 5 В (Vcc) - 4,8 В на резисторе = 0,2 В, это низкий уровень. Если ток будет ниже, падение напряжения будет также меньше, и выходное напряжение будет расти. Например, ток 1 мА вызовет падение на 1,2 В, а выходной сигнал составит 5 В - 1,2 В = 3,8 В. Минимальный ток равен нулю. Тогда у вас нет напряжения на резисторе, и на выходе будет 5 В. Это максимум,
Что если входное напряжение станет слишком высоким? Вы случайно подключаете батарею 24 В вместо 12 В. Затем ток светодиода удвоится и составит от 10 мА до 20 мА. 40% CTR будет вызывать выходной ток 8 мА вместо расчетных 4 мА. 8 мА через резистор 1,2 кОм будет падением 9,6 В. Но от источника 5 В это будет отрицательно, и это невозможно; здесь нельзя опускаться ниже 0 В. Таким образом, в то время как оптрон очень хотел бы потреблять 8 мА, резистор будет ограничивать это. Максимальный ток, проходящий через него, - это когда на него подается полное напряжение 5 В. Выходной сигнал тогда будет действительно 0 В, а ток 5 В / 1,2 кОм = 4,2 мА. Таким образом, к какому бы источнику питания вы ни подключали, выходной ток не будет превышать этого, а напряжение будет оставаться в диапазоне от 0 до 5 В. Никакой дополнительной защиты не требуется.
Если вы ожидаете перенапряжения, вам придется проверить, справится ли светодиод оптопары с повышенным током, но 20 мА не будет проблемой для большинства оптопар (они часто рассчитаны на максимум 50 мА), и, кроме того, это для двойной входное напряжение, которое, вероятно, не произойдет IRL.