SIM7600 AH не отвечает напрямую при подключении через контакты
Я работаю над проектом, в котором используются три компонента:
- Арудино Про Мини (5v)
- Прорыв SIM7600 AH из технологий И
- Батарея 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-команды ответа нет, на модуле горят оба светодиода, указывая на то, что он запущен и работает.
@Philip Gierszal, 👍0
Обсуждение2 ответа
Ваша проблема решена? Если не... Я использую тот же модуль и имею ту же проблему. Замкните резисторы на контактах R и T на модуле, они, кажется, вносят высокий импеданс в линию. После этого на моем модуле UART заработал.
Теперь моя проблема заключается в том, что модуль отправляет какие-то странные символы, возможно, у меня другая скорость передачи данных или что-то еще, все еще исследуется.
После дальнейшего изучения используйте более короткие провода или соединения между вашим модулем и arduino или mcu., @Neko3
Интерфейс SIM7600 UART работает с уровнями 1.8:
Я предполагаю, что плата AND имеет переключатель уровня от 3,3 до 1,8 для работы с 7600. Поскольку плата Arduino Por Mini рассчитана на 5 В, ваши уровни UART также должны быть на уровне 5 В, попробуйте добавить делитель напряжения, чтобы получить уменьшите UART до 3,3 В.
Также попробуйте уменьшить скорость передачи SIM7600, библиотека software_serial плохо работает с высокими скоростями.
Вы когда-нибудь заставляли свой Mini Pro взаимодействовать с SIM7600? Я сейчас испытываю это, используя основную плату SIM7600x (3,3 В ttl). Другие 5-вольтовые микроконтроллеры работают отлично (с преобразователем уровня) с SIM7600, но использование 3,3-вольтового Pro Mini напрямую не работает., @Ashton
- Проблема с получением SMS - GSM-модуль Arduino Uno и SIM900A
- SIM900 3G? Или SIM900A умеет подключаться к 3G?
- Мини-модем SIM900a, IMEI 0, помощь с контактами TX RX
- Как получить данные из базы данных моего сервера в переменную в моем Arduino?
- Как отправить команду AT на sim800l с помощью SoftwareSerial
- SIM800L не регистрируется в сети
- Какова максимальная длина провода для последовательной связи между двумя Arduino?
- Как проверить, работает ли GSM-модуль?
пожалуйста, опишите батарею 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