(Решено) ESP8266-01 и Logic Level Converter

Тема в разделе "Arduino & Shields", создана пользователем obuhanoe, 12 май 2016.

  1. obuhanoe

    obuhanoe Гик

    Добрый день!
    Подскажите пытаюсь сделать следующее: на нано 3.0 пытаюсь поднять eSP8266-01, но понял что 3.3В имеет слишком низкий ампераж для нее теперь ищу какой нужно купить Logical level converter - но понял что их много, остановил выбор на 2 - http://ru.aliexpress.com/item/IIC-I...pm=2114.10010208.0.46.3d2xm3&isOrigTitle=true

    и http://ru.aliexpress.com/item/1PCS-...pm=2114.10010208.0.46.QSKtHT&isOrigTitle=true

    не пойму отличия их.

    ESP8266-01 будет подключена к ардуине и передавать данные с датчиков в Вэб. (Если для этого нано слабовато, есть мега 2560).

    Спасибо
     
  2. Alex19

    Alex19 Гуру

    Для питания ESP8266, лучше использовать отдельный источник питания.

    Не менее 300mA, подробнее тут - http://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/, там же варианты питания. Как вариант питать от USB через стабилизатор LM1117, через USB-TTL конвертера с переключателем на 3,3В, блок питания и т.д.

    I2C Logic Level Converter, что по 1 и 2 ссылки, используются не для питания, а для перевода логических уровней (TX, RX) между ESP8266 и контролером работающим на другом вольтаже, к примеру Адруино 5В. Разницы между ними не большие, кол-во выходов, удобство подключения. Многие, но не все, поддерживаю работу логическими уровнями с более низким напряжением, к примеру от 1,8В до 3,3В с одной стороны и 5В с другой.
     
  3. obuhanoe

    obuhanoe Гик

  4. Alex19

    Alex19 Гуру

    Немного внимательнее, там все написано.
    Ардуина дает на 3,3В всего 50mA. Говорю о Меге - https://www.arduino.cc/en/Main/ArduinoBoardMega2560, то же с Uno, Nano, возможно и другие. Когда-то я то же просто, взял питание для ESP8266 с Ардуино, ни чего не сгорело, но ни чего не заработало. Подключил внешний источник питания, все стало на свои места.
     
  5. obuhanoe

    obuhanoe Гик

    про GPIO0 - понял, невнимательно прочитал.

    если под рукой нет 3.3 В, что может подойти для проверки?
    Есть вот такой преобразователь 3.3В могу с нее получить, подойдет?
    http://ru.aliexpress.com/item/RC-Ai...-Down-Module-4-75V-23V-to-1V/32320177001.html

    Спасибо
     
  6. Alex19

    Alex19 Гуру

    По характеристикам подойдет, но ему на вход нужно 4.75В-23В.

    Или блок питания на 12В с необходимыми амперами.

    Как вариант можно взять зарядку от телефона. Если там отсоединяющийся кабель USB и ток 0,5A и больше, они почти все такие, но надо проверить. Купить кабель USB, с одной стороны подключить к заряднику, с другой разрезать, подключив его к данному DC на вход.
     
  7. obuhanoe

    obuhanoe Гик

    У меня есть во такая штука которая выдает 12В
    http://ru.aliexpress.com/store/prod...sformer-for-Led-Strip/414866_32610208730.html

    т.е. питание отдельно подаю на ESP8266 через БП и преобразователь, остальные провода подключаю как на схеме, кроме голубого?
     
  8. Alex19

    Alex19 Гуру

    Он пойдет, подключаете его к модулю. На модуле настраиваете 3,3В, проверяете мультиметром, затем подключаете питание к ESP8266.

    Голубой по желанию, а вот TX и RX на прямую нельзя если у Вас обычная Ардуина (UNO, Nano, Mega), она работает с 5В.

    Вот, что сказано.
    Тут хорошо бы использовать Logic Level Converter с которых мы и начали диалог, очень удобная штука не раз выручала.

    Если ее нет, придется сделать схему согласования уровней, увы плохо разбираюсь в электронике, поэтому смогу привести лишь ссылку - http://we.easyelectronics.ru/Shematech/soglasovanie-logicheskih-urovney-5v-i-33v-ustroystv.html.
     
  9. obuhanoe

    obuhanoe Гик

    Alex19, ну так как познаний и у меня маловато , попробую без согласований TTL 5 вольт Arduino и 3.3V на ESP8266. Хотя бы запустить, чтобы команды по отправлять .
    Спасибо
     
  10. Alex19

    Alex19 Гуру

    Просто меня пока жизнь не заставила разбираться с электроникой:).
    А если спалите ESP8266?

    Но выбор, за Вами.

    Те же LLC можно купить и в РФ к примеру тут - http://iarduino.ru/shop/Expansion-payments/preobrazovatel-urovney-5v-3v-iic-uart-spi.html, на Авито - https://www.avito.ru/moskva/tovary_...dul_preobrazovaniya_urovnya_5v-3.3v_768819122 и т.д.. Странно, что в магазине Амперки нет, очень полезная вещь.
     
  11. obuhanoe

    obuhanoe Гик

    Согласен, но протестировать очень хочется, а если спалю все равно буду заказывать с Китая, там куплю все что указано в статье, которую вы дали.
     
  12. obuhanoe

    obuhanoe Гик

    Подал 3,3В (точнее 3,27В) , соединил как на схеме, кроме голубого провода - на ESP8266 синий диод горит все время, ни разу не мигнув - может это быть из-за не согласованности 5В ардуины и 3,3В ESP?
     
  13. Alex19

    Alex19 Гуру

    Вполне возможно.

    К примеру у человека были аналогичные проблемы - http://tim4dev.com/arduino-esp8266-true-start/.
    К стати у него есть подробное описание схемы делителя напряжения, оказалось все проще-простого всего 2 сопротивления.

    У меня таких проблем не было, поэтому тут не подскажу.
    Но начинать надо с правильного подключения.
     
  14. obuhanoe

    obuhanoe Гик

    Подниму тему.
    приехали ко мне заказанные http://ru.aliexpress.com/item/Free-...irectional-Module-5V-to-3-3V/32361171646.html и http://ru.aliexpress.com/item/1PCS-...tep-Down-Power-Supply-Module/32591302478.html.
    Хочу собрать теперь это все с ардуиной (уно или мегой), но не могу найти схемы как это сделать.
    У меня сейчас есть проект, который работает на меге и использует GRPS, хочу расширить возможность за счет замены GRPS на ESP8266-01. Потом как разберусь с таким подключением, буду побывать использовать это все исключаю arduino.
    Буду благодарен за пример схемы.
     
  15. DIYMan

    DIYMan Guest

    Там же всё очевидно, как блин. Со стороны HV подаём референсное высокое напряжение, например, 5В. Со стороны LV подаём референсное низкое напряжение, например, 3,3В. Ну и подключаем в разрыв линии, уровни на которой надо конвертить в две стороны: LV1 - вход/выход низкого уровня, HV1 - вход/выход высокого уровня и т.д. по списку каналов.

    Куда уж проще, учитывая тот факт, что на плате всё написано - даже и не знаю.
     
    Alex19 нравится это.
  16. obuhanoe

    obuhanoe Гик

    Уважаемый , DIYMan!
    Подскажите а нужно ли подключать черед LLC - GND в моем случае?
    Спасибо.
     
  17. DIYMan

    DIYMan Guest

    Ну посмотрите на плате LLC самой - там же есть контакты для GND, очевидно, что их надо подключать, иначе от какой точки микруха будет мерять потенциал? Разъёмы GND на плате Logic level converter - подключаются, обычно, к GND источника питания, можно к GND ардуины. Если референсные напряжения HV и LV берутся от разных источников питания, то, естественно, GND таких источников надо соединять меж собой.

    Сделайте просто: на контакты GND платы LLC заведите сигнал с одного пина GND ардуины, на контакт HV - сигнал с пина 5V ардуины, на контакт LV - сигнал с пина 3V3 ардуины. Теперь, подключая на сторону HV1 выход, которому нужна логика 5В, а на сторону LV1 выход, которому нужна логика 3,3В - вы получите, что вам надо. Это самый простой способ подключения. Как правило, тока с пинов ардуины хватает для работы логических уровней большинства 3,3В микросхем, типа Si7021 или, в нашем случае, для конвертирования уровня UART для ESP.
     
  18. obuhanoe

    obuhanoe Гик

    добрый вечер!
    3,3 именно с ардуины или с ESP?
    Нашел вот такую схему, подключил, питание идет через AMS1117 - к ESP приходит 3,11В
    Через Arduino IDE не получилось запустить ни одну команду AT. Вместо UNO использовал Mega2560(16 и 17 Pins).
    Помогите с правильным подключением.
    Спасибо
    upload_2016-6-28_22-5-46.png
     
  19. DIYMan

    DIYMan Guest

    Именно с пина 3,3В ардуины - это референсный уровень, относительно которого будет работать конвертер.

    Подключение ESP простое: питание, gnd, CH_PD на 3,3В, RX через конвертер уровней на TX ардуины, TX - напрямую на RX ардуины. Reset можно никуда не цеплять.

    И проверьте скорость, на которой у вас работает ESP. Это делается через любую терминальную программу: ESP подключается через USB-TTL-конвертер, и в терминалке подбираются скорости, пока на команду AT модуль не ответит OK. В терминальной программе надо сделать настройку, чтобы к любой строке, посылаемой в порт - добавлялось \r\n (CR&LF).
     
  20. obuhanoe

    obuhanoe Гик

    Добрый вечер, DIYMan!
    Соединил как Вы указали, все равно никакой реакции, выкладываю схему от руки и скетч который использую, посмотрите - может я где ошибся?

    Код (C++):
    #include <SoftwareSerial.h>
    // ESP8266 -- Arduino
    // ESP TX - 10 (Arduino SoftwareSerial RX)
    // ESP RX - 11 (Arduino SoftwareSerial TX)
    SoftwareSerial espSerial(16, 17);
    // для SoftSerial скорость порта в 115200 является большой и не гарантирует стабильную работу
    const int COM_BAUD = 9600;
    void setup() {
      espSerial.begin(115200);
      Serial.begin(COM_BAUD);
      Serial.println("Setup done");
    }
    void loop() {
      if ( espSerial.available() )
        Serial.write( espSerial.read() );
      if ( Serial.available() )
        espSerial.write( Serial.read() );
    }
    Через TTL UART работал на 115200.
    Пины указал 16 - ТХ, 17 - RX (mega 2560) (местами пины менял для проверки)

    Спасибо.
     

    Вложения:

    Последнее редактирование: 29 июн 2016