SIM7600 AH не отвечает напрямую при подключении через контакты

Я работаю над проектом, в котором используются три компонента:

  1. Арудино Про Мини (5v)
  2. Прорыв SIM7600 AH из технологий И
  3. Батарея 9 В (подключена к RAW и GND на плате Arduino)

Я пытаюсь установить связь через устройство с помощью контактов на плате SIM-карты, но, к сожалению, это не удается.

Я могу подключиться к плате напрямую с помощью кабеля USB-C. После установки правильных драйверов я могу взаимодействовать с платой с помощью AT-команд из мой ПК с Windows.

Однако я хочу иметь возможность отправлять AT-команды через Arduino. Настройка выглядит так: Я соединяю следующие контакты arduino mini и SIM 7600A-H.

  • SIM 7600 TXD --> Arduino, контакт 2
  • SIM 7600 RXD --> Arduino, контакт 3
  • Питание SIM 7600 --> 5 В
  • SIM 7600 GND --> GND

Код, который я использую, я пробовал со всеми возможными скоростями передачи данных:

#include <SoftwareSerial.h>

SoftwareSerial mySerial(2, 3); // прием, передача

void setup() {
  // Открытие последовательной связи и ожидание открытия порта:
  Serial.begin(115200);
  while (!Serial) {
    ; // ждем подключения последовательного порта. Требуется только для родного порта USB
  }


  Serial.println("Goodnight moon!");

  // устанавливаем скорость передачи данных для порта SoftwareSerial
  mySerial.begin(115200);
}

void loop() { // повторяем снова и снова
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}

После отправки AT-команды ответа нет, на модуле горят оба светодиода, указывая на то, что он запущен и работает.

, 👍0

Обсуждение

пожалуйста, опишите батарею 9 В, @jsotola

Сначала предупреждение: прочитали ли вы таблицу данных по ссылке выше. Контакты TX и RX SIM-карты 7600 имеют напряжение 3,3 В, а ваш mini — 5 В. Наихудший сценарий заключается в том, что mini уничтожит аппаратное обеспечение контакта RX. В лучшем случае сценарий сбоя заключается в том, что на контакте SIM TX недостаточно вольт, чтобы безопасно сигнализировать ВЫСОКИЙ уровень на контакте mini RX., @Peter Paul Kiefer

Если вы запитали SIM-карту через VCC мини-модуля, то у вас будет доступный ток только 150 мА (для мини-модуля и SIM-модуля). Это было бы проблемой. Модулю SIM требуется пиковый ток около 2А (значение взято с других форумов, достоверной спецификации не нашел). То что давно не рисуется только для отправки. Но я боюсь, что 150 мА также не хватит для режима ожидания., @Peter Paul Kiefer

Если вы можете подключиться через USB, вы знаете скорость передачи данных для SIM-модуля. Скорость соединения mini с ПК должна быть установлена на скорость, выбранную вами в Arduino IDE или в используемом вами последовательном терминале. Нет необходимости пробовать другие., @Peter Paul Kiefer

О вашем коде: лично я бы переместил mySerial.begin(115200); прямо под Serial.begin(115200);. Просто чтобы сохранить и увидеть их вместе. Оператор while (!Serial) { может быть проблемой. Как написано в комментарии под заявлением, это необходимо только для собственного USB-подключения, но на pro mini у вас есть MCU 328P, который подключен к преобразователю USB в последовательный, а не к собственному USB. Возможно, он блокируется, и ваш код не выполняется., @Peter Paul Kiefer

Извините за поздний ответ и большое спасибо за подробный ответ! Я воспользовался вашим советом, но, к сожалению, безуспешно! Я реализовал преобразователь уровня логики и изменил код. Я проверил, и правильные напряжения появляются как для модуля, так и для платы. Модуль по прежнему не отвечает хотя работает при подключении через usb, @Philip Gierszal


2 ответа


1

Ваша проблема решена? Если не... Я использую тот же модуль и имею ту же проблему. Замкните резисторы на контактах R и T на модуле, они, кажется, вносят высокий импеданс в линию. После этого на моем модуле UART заработал.

Теперь моя проблема заключается в том, что модуль отправляет какие-то странные символы, возможно, у меня другая скорость передачи данных или что-то еще, все еще исследуется.

,

После дальнейшего изучения используйте более короткие провода или соединения между вашим модулем и arduino или mcu., @Neko3


1

Интерфейс SIM7600 UART работает с уровнями 1.8:

Я предполагаю, что плата AND имеет переключатель уровня от 3,3 до 1,8 для работы с 7600. Поскольку плата Arduino Por Mini рассчитана на 5 В, ваши уровни UART также должны быть на уровне 5 В, попробуйте добавить делитель напряжения, чтобы получить уменьшите UART до 3,3 В.

Также попробуйте уменьшить скорость передачи SIM7600, библиотека software_serial плохо работает с высокими скоростями.

,