Подключите Arduino Uno RX/TX к GPS-модулю 3,3 В NEO-M8N.

Я хочу подключить GPS-модуль M8N к Arduino Uno. Насколько я понимаю

  • контакты Arduino 0-RX/1-TX работают при напряжении 5 В
  • M8N RX/TX работает от 3,3 В
  • отправка датчика-TX на Arduino-RX должна работать (3,3 В «достаточно хороша» для управления выводом Arduino-RX)
  • отправка Arduino-TX на датчик-RX проблематична из-за 5 В (может сломать датчик)
  • Во время USB-программирования датчик Arduino-RX может быть на 5 В (поэтому внезапно ток течет в «неправильном направлении», что может привести к поломке датчика)
  • Преобразователь уровня можно использовать для «перевода» напряжения в каждом направлении.

Если мы не используем преобразователь уровня

  • Можем ли мы использовать диод Шоттки (который, как я понимаю, блокирует ток в одном направлении), чтобы блокировать 5 В от ArduinoRX, поступающих на датчик?
  • Но тогда 3,3 В от сенсора-TX пройдут (правильное направление), но диод упадет напряжение «немного больше»… достаточно ли этого, чтобы управлять выводом RX Arduino?

  • И это работает, почему бы также не использовать диод Шоттки для защиты соединения Arduino-TX с датчиком-RX (просто на всякий случай, так как некоторые люди говорили, что для подключения RX-R1 требуется какой-то Arduino? RX и TX-TX, чтобы связь работала.. ? ).

В качестве альтернативы шоттки (а может и в дополнение к нему) - Можем ли мы просто взять 2 делителя напряжения (по одному для RX-TX и TX-RX)?

Мы можем использовать «резистивный делитель напряжения», чтобы понизить напряжение Arduino-TX 5 В до 3,3 В. - Я понимаю, что для перехода от 5 В к 3,3 В нам нужны номиналы резисторов «х» и «2 * х», например, 1 кОм и 2 кОм… но как мне узнать, какие значения будут подходящими ( я имею в виду, что мы могли бы также возьмем 10кОм и 20кОм, тоже приведет с 5В к 3.3В) но при другом токе (Амперах)… ?

  • А как насчет делителя напряжения с резистором и конденсатором (см. https://en.wikipedia.org/wiki/ Voltage_divider, RC-фильтр нижних частот)?
  • Какие значения резистора и конденсатора подходят для этого решения?

Пожалуйста, будьте терпеливы, новичок в электронике пытается разобраться в этом…

, 👍1


2 ответа


1

Купите некоторые из них, тогда это простое аппаратное решение вашей проблемы.

https://www.amazon.co.uk /gp/product/B0148BLZGE/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1

Я знаю, вы сказали, что не хотите использовать преобразователь уровней, но это самый простой способ решить проблему. Вы заявили, что вы новичок в электронике, КАК Я, именно поэтому, когда я столкнулся с той же проблемой, я просто потратил деньги. Это было всего 3,99 фунта стерлингов за 5 из них, и, насколько я знаю, вы также должны иметь возможность покупать отдельные на Amazon, я не искал, но я думал, что вы сможете.

Или, если вам нужно сделать это с резисторами, вы можете использовать этот калькулятор здесь

http://www.ohmslawcalculator.com/voltage-divider-calculator

,

На самом деле я уже купил их, так как это, безусловно, самое безопасное решение для начинающих. Но в процессе выяснения "необходимой магической составляющей" возникли вышеуказанные вопросы. Для делителя напряжения попробуйте по вашей ссылке ввести 5В, 100Ом, 200Ом -> 3,3В... Но если вы введете 5В 1000Ом, 2000Ом, у вас также будет 3,3В... так что должно быть что-то "недостающее"... И Другая часть, которая меня беспокоит, — это случайные 5 В на выводе RX., @kalmiya

На форумах Arduino, связанных с 5v на 3.3v, у нас есть эта ссылка здесь, http://forum.arduino.cc/index.php?topic=16846.0 кто-то использует 1K8 и 3K3, но здесь https://forum.arduino.cc /index.php?topic=22570.0 кто-то предлагает использовать 270R и 470R, и любой из них в конечном итоге близок к 3.3... Так в чем же разница (это должно быть что-то с текущим)... или мы могли бы также использовать 10M и Резисторы 20М и это действительно не имеет значения?, @kalmiya


1

Вы можете использовать что-то вроде этого:

схема

Когда 5 В Rx переключается на 5 В, D1 защищает вывод 3,3 В Tx.
Когда 5V Rx переходит в 0V R1 защищает вывод 3.3V Tx от чрезмерного потребления тока.

Когда 5 В Tx переключается на 5 В, D2 защищает вывод 3,3 В Rx, а R2 подтягивает контакт до 3,3 В.
Когда 5В Tx приводится в состояние 0В, D2 подтягивает контакт 3,3В Rx к ~0,2В

Значения резисторов являются приблизительными ориентирами. Более низкие значения будут создавать большую нагрузку на детали и увеличивать энергопотребление, но также будут увеличивать максимальную скорость UART, которая будет работать надежно.

,

Как может быть, что RX управляется ...? Это порт «R», и, как я полагаю, он означает «Прием». Так не может ли быть так, что порт TX 3v3 управляет RX 5V, поэтому RX 5V нуждается в подтягивании? Все это не имеет никакого смысла таким образом (для меня)., @Hannes

Порты UART Rx бездействуют на высоком уровне. Это означает, что существует высокая вероятность того, что вывод Rx будет содержать подтяжку до 5 В. Таким образом, не активно управляемое, а пассивное напряжение малой силы до чрезмерного напряжения. Защитные диоды, встроенные в часть 3,3 В, вероятно, могли бы справиться с этим, особенно если есть последовательный резистор, но это снижает нагрузку на часть 3,3 В., @Andrew