Всем доброго времени суток! Сейчас работаю над интересным проектом. Для его реализации мне нужно было связать две Arduino Uno с помощью технологии LoRa (модуль LoRa SX1278 Ra-02). Выполнив эту задачу решил подцепить на одну из Arduino WiFi модуль esp8266-01, но обнаружил интересную вещь - esp и LoRa не хотят работать вместе (запитоваясь от одной Arduino 3.3V). Судя по всему проблема в потреблении токов (на 3.3V Arduino выдаёт всего 50мА, чего естественно мало). Пытался запитать от стороннего источника питания (USB-TTL PL2303 и Micro USB MB102 Module DC-12V), однако ничего не получилось. Получается -> если оба модуля подключены - работает с переодичным успехом либо LoRa, либо esp -> если один из модулей перевести на сторонний источник питания (Micro USB MB102 Module DC-12V), тогда работает лишь тот модуль, который полностью (с питанием) подключён к Arduino. Ниже прилагаю код проверки работоспособности модулей. Прошу помочь разобраться и найти решение данной проблемы. P.S. С отправляющей данные стороной всё точно ОК. Код (C++): #include <SoftwareSerial.h> #include <SPI.h> #include <LoRa.h> #define TX 6 #define RX 5 SoftwareSerial WiFi_module (TX,RX); void setup() { Serial.begin(115200); Serial.println(">>>START"); WiFi_module.begin(115200); WiFi_module.println("AT"); if (WiFi_module.find("OK")) { Serial.println(">>>Yes, WiFi is WORKING!!!"); } else { Serial.println(">>>Starting WiFi FAILED!"); } if (!LoRa.begin(433E6)) { Serial.println(">>>Starting LoRa FAILED!"); while (1); } else { Serial.println(">>>LoRa is WORKING too!"); } } void loop() { int packetSize = LoRa.parsePacket(); if (packetSize) { Serial.print("Received packet '"); while (LoRa.available()) { Serial.print((char)LoRa.read()); } Serial.print("' with RSSI "); Serial.println(LoRa.packetRssi()); } }
Изучить апноуты от Semtech и Espressif на предмет фильтрации питания. Очевидно, что тот и другой очень хорошо шумят по шинам питания. Не забывать, что и тот и другой потребляют в пике до 200мА. TI в этом плане рекомендует ставить дополнительные ШИМ стабилизаторы. Мне кажется, что если бюджет по току источник питания обеспечивает, то можно обойтись хорошим LC фильтром.
mxjurko если известно, что проблема в питании - зачем нам ваш код проверки? Вы бы лучше схему выложили, как вы внешний источник подключали. А то совершенно непонятно. что могло "не получится" при питании модулей внешним БП? Да и внешние БП у вас какие-то странные описаны, все с 5в выходом. Вы их случайно не к ардуине ли подключали, пытаясь таким образом повысить отдачу 3.3в?
Конечно нет, у обоих этих модулей есть выбор между 3.3V и 5V _______________ | LoRa | Arduino | =============== | GND | GND | | 3.3V | 3.3V | | RST | 9 | | DIO0 | 2 | | NSS | 10 | | MOSI | 11 | | MISO | 12 | | SCK | 13 | =============== _________________ | esp8266 | Arduino | ================ | RX | 6 | | TX | 5 | | . . . | ================ _________________ | esp8166 | MB102 | ================ | VCC | 3.3V | | GND | GND | ================
Эммм..Когда переключаю GND со стороннего БП на Arduino (и оставляю 3.3V на БП) esp перестаёт работать (красный индикатор гаснет)
надо не переключать, а подключить GND и туда и туда. GND у всех модулей (ардуина. ЕСП. Лора, сторонний БП) - должен быть ОБЩИЙ
Вы имеете ввиду (например) на breadbord подключить линию GND с Arduino, и этой линией подключить землю ко всем модулям, но при этом 3.3V оставить на БП?
ЗЕМЛЯ (GND)ДОЛЖНА БЫТЬ ОБЩЕЙ У ВСЕХ МОДУЛЕЙ!!!!А питать Вы можете их как хотите и от чего хотите.Можно от одного источника можно от разных.От Ардуино-это самый худший вариант ибо ток потребления только одной esp8266 в среднем 60 миллиампер.
Так.. Разобрался с землей и теперь в режиме программирования esp (reset -> GND), питаясь от БП всё ОК, но как только убираю перемычку reset-GND WiFi отрубается (выводит ">>>Starting WiFi failed", т.е. на AT-команду не находит "ОК") WiFi теперь питается от 3.3V на micro usb mb102 module dc-12v В чём может быть проблема?