• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP-01 и приемник/передатчик 433 МГц

Penates

New member
Делаю девайс который может через ESP-01 принимать и передавать данные на частоте 433 МГц.
Приемник и передатчик самые простые XD-RF-5V и FS1000A.
Сделал вот такой макет:
Breadboard-001.png

Нужна помощь в улучшении схемы и устранении глюков:

1. Планирую использовать источник питания 9V. ESP питается через преобразователь напряжения MP1584EN, настроенный на 3.3V Но приемнику нужно питание 5V. Можно ли его как-то организовать не добавляя еще один стабилизатор?

2. Когда я подаю питание на схему, то светодиод начинает постоянно гореть в пол силы и ESP нормально не работает. Если отсоединить от ESP зеленый провод перед включением схемы, то все запускается нормально. Его потом можно подсоединить и все работает. Почему так происходит?

Также принимаются дополнительные советы по схеме.
Сильно прошу не ругать, это мое второе поделие.
 

tretyakov_sa

Moderator
Команда форума
2. Когда я подаю питание на схему, то светодиод начинает постоянно гореть в пол силы и ESP нормально не работает. Если отсоединить от ESP зеленый провод перед включением схемы, то все запускается нормально. Его потом можно подсоединить и все работает. Почему так происходит?

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

Penates

New member
Вы бы написали куда что подключаете и что там за переключатель по середине? Высматривать на вашем рисунке не очень хочется.
Устройство будет работать либо в режиме приемника, либо в режиме передатчика. Переключатель посередине подает питание на приемник или на передатчик.

Питание приемника и передатчика идет напрямую от батареи 9В. Питание на ESP через преобразователь напряжения - 3.3В.

Подключение ESP:
GPIO0 - подключен кнопке. При нажатии кнопки выполняется отправка данных через передатчик.
GPIO2 - подключен к выводам DATA радиомодулей - и к приемник, и к передатчику. В зависимости от режима работы (переключателя) через этот пин происходит прием или передача данных.

Скажите если нужно еще что-то уточнить
 

Penates

New member
@Penates тут есть ответ на ваш вопрос #2
https://esp8266.ru/esp8266-podkluchenie-obnovlenie-proshivki/#full
П.с. выбор источника питания очень неудачный.
Добавил в соответствии со схемой по ссылке конденсатор 0.1 мкФ и резистор 10 кОм на вывод CH_PD.
Ситуация не изменилась - при включении питания все так же горит светодиод на кнопке и синий светодиод на ESP.
Пробовал подтягивать к питанию через резисторы 10 кОм также пины GPIO0 и GPIO2, но это тоже не помогает. И кроме, того я не совсем понимаю если их так подключать - они будут нормально работать как ввод-вывод данных?

Проблему №2 решает только отключение GPIO2 от DATA на обоих радиомодулях перед стартом.

И насчет источника питания - чем он плох? Я исходил из того что для передатчика 9В обеспечивают максимальную дальность, судя по описаниям этого модуля.
 

tretyakov_sa

Moderator
Команда форума
Подключите приемник на RX передатчик на TX. Питание сделайте от 18650 через диод. XD-RF-5V приемник капризный. Передатчик от 3 вольт даст дальность 100 метров со стандартной спиральной антенной (проверено на CR2032).
 

Сергей_Ф

Moderator
Команда форума
Пробовал подтягивать к питанию через резисторы 10 кОм также пины GPIO0 и GPIO2, но это тоже не помогает.
вы просто сделали как указано без понимания что нужно. А нужно обеспечить высокий уровень на gpio2 на время старта. У вас это не сделано.
 

Penates

New member
Подключите приемник на RX передатчик на TX. Питание сделайте от 18650 через диод. XD-RF-5V приемник капризный. Передатчик от 3 вольт даст дальность 100 метров со стандартной спиральной антенной (проверено на CR2032).
Если использовать RX и TX, то тогда ведь не получится смотреть логи в Serial?
Я пробовал питание от аккумулятора 3.7В - приемник у меня не заработал, ему надо 5в.
 

Penates

New member
вы просто сделали как указано без понимания что нужно. А нужно обеспечить высокий уровень на gpio2 на время старта. У вас это не сделано.
Согласен, пока не совсем понимаю как это должно работать. Если gpio2 оставить в воздухе при старте, то все нормально запускается - почему?
 

Penates

New member
полагаю, что нельзя у приемника и передатчика объединять пин data и сажать их на один GPIO
в этом случае приемник будет управлять передатчиком
и шунтировать GPIO2 при управлении ESP передатчиком.
используйте для этого RX и TX соответственно.
Так как эти шины однонаправленные, то для развязки можно использовать монтажное или с помощью диодов.
Приемник и передатчик одновременно не работают. Там есть переключатель, который подает питание только на один из них. Так что вроде бы не должны они друг другу мешать?
 

Сергей_Ф

Moderator
Команда форума
Если gpio2 оставить в воздухе при старте, то все нормально запускается - почему?
потому что есть подтяжка к +5В. Она обеспечивает высокий уровень при старте. Подключая сюда data приемника и/или передатчика вы сажаете вход на 0. Посмотрите сами, какой модуль делает это. Скорее всего приемник. Поэтому режим работы esp меняется в соответствии с документацией. А как заметил @nikolz передатчик включится высоким уровнем на gpio2. Вам надо поменять gpio, как вам уже посоветовали или выбрать другой модуль esp с большим числом gpio.
Типичная ёмкость щелочной батарейки Крона — 625 мА·ч.
 
Последнее редактирование:

Penates

New member
Вам надо поменять gpio, как вам уже посоветовали
Попробовал подключить DATA приемника и передатчика к RX и TX на ESP. GPIO0 и GPIO2 подтянуты к + питания через резистор 10 кОм.
Ситуация та же - ESP нормально не запускается.
Нужно ли в скетче какие то специальные установки сделать для RX и TX? Я пока скетч не менял и данные не пробовал через эти пины передавать, только проверил проблему с запуском.

где переключатель? покажите на схеме?
Переключатель на исходной картинке посередине между радиомодулями.
Заметил еще такую особенность - проблема с запуском возникает только если переключатель в левом положении, т.е. питание подано на передатчик, а на приемник нет. Если перед стартом перевести переключатель в правое положение, т.е. питание есть на приемнике, а на передатчике нет, то ESP запускается.
Проверил это также в изначальной схеме - когда GPIO2 соединен с DATA приемника и передатчика.

Т.е. не работает только когда переключатель подает питание на приемник при старте.
 

Penates

New member
с помощью ESP поставьте ключ и управляйте питанием
можно еще рассмотреть возможность управлять питанием непосредственно от пина
с пина можно получить до 12 ма
посчитайте возможно этого хватит для приемника
а на передатчик поставьте ключ
управлять можно одним пином но ключ должен включаться нулем
Спасибо за идею. Подумал над этим вариантом. Я правильно понял, что это будет как то так выглядеть:
1. GPIO2 управляет питанием. При старте он HIGH и от него питается приемник (я не нашел даташит на XY-MK-5V, но вроде пишут что 4 мА он потребляет, так что должно хватить?). При переключении в LOW он через ключ включает питание на передатчик.
2. GPIO0 используется для физической кнопки. Подтянут к + питания. При нажатии кнопки замыкается на землю. Кнопка будет иметь три функции:
2.1. Кратковременное нажатие - отправка данных через передатчик
2.2 Длительное нажатие - переключение GPIO2, т.е. включение/выключение питания передатчика
2.3. Нажатие при старте - вход в режим программирования ESP.

По этому варианту есть вопросы, касательно DATA пинов приемника и передатчика:
- Если использовать для передатчика TX, то не будет ли это конфликтовать с объектом Serial, который используется у меня в скетче?
- Можно ли RX использовать на ввод и на вывод?
 

nikolz

Well-known member
Спасибо за идею. Подумал над этим вариантом. Я правильно понял, что это будет как то так выглядеть:
1. GPIO2 управляет питанием. При старте он HIGH и от него питается приемник (я не нашел даташит на XY-MK-5V, но вроде пишут что 4 мА он потребляет, так что должно хватить?). При переключении в LOW он через ключ включает питание на передатчик.
2. GPIO0 используется для физической кнопки. Подтянут к + питания. При нажатии кнопки замыкается на землю. Кнопка будет иметь три функции:
2.1. Кратковременное нажатие - отправка данных через передатчик
2.2 Длительное нажатие - переключение GPIO2, т.е. включение/выключение питания передатчика
2.3. Нажатие при старте - вход в режим программирования ESP.

По этому варианту есть вопросы, касательно DATA пинов приемника и передатчика:
- Если использовать для передатчика TX, то не будет ли это конфликтовать с объектом Serial, который используется у меня в скетче?
- Можно ли RX использовать на ввод и на вывод?
схема зависит от того, что важно а что нет.
Главное - надо ли экономить питание.
Если ESP спать не будет то алгоритм работы может быть такой
если передатчик не работает то приемник всегда включен
т о при старте приемник включается , а при передаче данных ESP , приемник выключается
ключ для выключения питания передатчика можно поставить в цепь земли а не в цепь Vcc тогда он будет включаться нулем с пина, который подключаете к питанию приемника
Примерно так
Тумблер никакой не надо ставить.
Поставьте кнопку на reset для сброса при зависании и при программировании
 
Сверху Снизу