Зависание SPI-дисплея на ESP32 при управлении инвертором

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение jcxz »

[uquote="Базилюк",url="/forum/viewtopic.php?p=4632937#p4632937"]Работа обычной электросварки или мощных частотников (электромоторы такие). Видимо, ваши поделки существуют только на макетках и в тепличных условиях, коль не знаете таких простых истин.[/uquote]Мои "поделки" ездят сейчас по дорогам. Крутят PMSM-моторы. (PMSM - это электромоторы такие :)) ) Вот прям даже в этот момент крутят и людей возят. И SPI при этом в них работает и нисколько не страдает от того, что "у него нет контроля целостности сигнала". Не мешает это ему никак, почему-то. 8)
Реклама
Базилюк
Нашел транзистор. Понюхал.
Сообщения: 159
Зарегистрирован: Чт сен 19, 2024 19:18:28

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение Базилюк »

Но у топикстарера то ведь есть проблема же!
Я вообще-то не про вас говорил, а про shonty.
Ну и SPI, у него же нет четко определенного сопротивления нагрузки, нет дифф.пары. Если входы высокоомные, то они сильнее будет подвержены наводкам. Сам интерфейс, как я уже писал, от помех не вырубается и не виснет именно из-за отсутствия контроля целостности - ему пофик, хоть вообще провода оборвутся, он будет слать "вникуда" и принимать че-нить. А вот что именно принимается в условиях помех - это уже проблема в той части, которая приняла. Испортить передаваемые по SPI данные - проще простого. Достаточно, чтобы сформировался лишний тактовый импульс - и всё, данные повреждены. А поскольку контроля целостности нет, то принятые ложные данные могут создать ложное поведение принимающего устройства.
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение Jack_A »

[uquote="Базилюк",url="/forum/viewtopic.php?p=4632958#p4632958"]лишний тактовый импульс - и всё, данные повреждены.[/uquote]
О да, сам в молодости влетел в эту багу. :(
А поскольку контроля целостности нет, то принятые ложные данные могут создать ложное поведение принимающего устройства.
И если контроля нет на аппаратном уровне (пресловутый CAN рулит? ), то кто мешает сделать его программно (CRC в помощь) .
Изображение
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение jcxz »

[uquote="Jack_A",url="/forum/viewtopic.php?p=4633069#p4633069"]И если контроля нет на аппаратном уровне (пресловутый CAN рулит? ), то кто мешает сделать его программно (CRC в помощь) .[/uquote]Преждевременный костылинг - величайшее зло!
Это стремление замести проблему под ковёр вместо её решения.
Если в SPI лезут помехи - нужно выпрямлять руки схемотехнику и конструктору печатной платы, а не костылингом заниматься.

К тому-же - как вы убедите всех производителей LCD-контроллеров, SPI-флешей и прочих SPI-слэйвов внедрить это самый CRC в их девайсы (потому как не смогли сделать свою схему устойчивой к ЭМС)?
Реклама
Эиком - электронные компоненты и радиодетали
Базилюк
Нашел транзистор. Понюхал.
Сообщения: 159
Зарегистрирован: Чт сен 19, 2024 19:18:28

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение Базилюк »

Но у топикстартера именно это то и происходит - ЭМ-помеха повреждает передаваемые данные. Либо же другой вариант - неподключенный вход RESX дисплея или подключенный через высокоомный резистор.
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6307
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение Jack_A »

Да, пожалуй, когда речь идёт о передаче внутри одного модуля в устройство с уже зашитым протоколом SPI - мои советы не катят. Полностью согласен с jcxz. Я малость отвлёкся от начала темы. Да и кто передаёт по SPI инфу на десятки метров? Это даже я в свои ранне-embedd_ерские годы не делал. :(
Изображение
Реклама
ntfs1984
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт окт 01, 2024 16:17:36
Откуда: Николаев

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение ntfs1984 »

В общем устранил я проблему. Ну почти. Хотя конечно в конкретной причине не мешало бы разобраться.

Просто переделал на другой макетной плате, сделал минимум лапши, дисплей через его гребенку подключил сразу к на плату и к ESP-шке, с небольшой длиной проводников.
Все релейные входы отнес подальше от ESP-шки, на тот GPIO OUT что дергает standby инвертора - поставил другой более дорогой оптрон где сборка дарлингтона, сам оптрон подключил через резистор, и на каждую шину что подходит к этой плате, нацепил по ферритовому кольцу + на высоковольтные провода поставил по индуктивности.

Теперь зависание происходит где-то раз на сотню переключений, что есть терпимо.

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

В целом схемка работает терпимо, допишу прошивку, погоняю месяц в боевых условиях, и можно делать на нормальной плате.

Всех благодарю огромное !
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение Martian »

[uquote="ntfs1984",url="/forum/viewtopic.php?p=4635245#p4635245"]как оно там называется[/uquote] Zero Cross, переход фазы через ноль. С механическим реле не сложно, но не гарантированно из-за нестабильного времени срабатывания.

Вероятно, решение проблемы в шунтировании контактов реле снабберной цепью, классической RC или иной...
Базилюк
Нашел транзистор. Понюхал.
Сообщения: 159
Зарегистрирован: Чт сен 19, 2024 19:18:28

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение Базилюк »

на другой макетной плате, сделал минимум лапши, дисплей через его гребенку подключил сразу к на плату и к ESP-шке
Ну вот - я ж говорил - дело не в бобине дисплее, а в лапше длинных проводов, которые хватают на себя всё, как антенны. Одни провода излучают, как антенны, другие - принимают, как антенны. Вот и залипуха. А кто-то тут магическую вспышку света приплетает :)
А еще говорили, что SPI нельзя "повесить". Повесить то его нельзя, а вот организовать ошибки в передаваемой инфе - как занефик делать. Контроля целостности то нет - интерфейс работает, но че он там переслал - это не его проблема.

Если в этой поделке развести всё не на макетке, а на печатной плате, да еще хотябы с минимальным соблюдением правил разводки, то сбои должны прекратиться вовсе. Для надежности - инвертор с релюшкой упрятать под экран из тонкой перфорированной жести типа такого:
Изображение
ntfs1984
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт окт 01, 2024 16:17:36
Откуда: Николаев

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение ntfs1984 »

[uquote="Martian",url="/forum/viewtopic.php?p=4635247#p4635247"][uquote="ntfs1984",url="/forum/viewtopic.php?p=4635245#p4635245"]как оно там называется[/uquote] Zero Cross, переход фазы через ноль. С механическим реле не сложно, но не гарантированно из-за нестабильного времени срабатывания.

Вероятно, решение проблемы в шунтировании контактов реле снабберной цепью, классической RC или иной...[/uquote]

Не. На контакты я напаял и RC и диод чтобы потушить самоиндукцию. Все равно. Плюс ко всему, эти "зависания" происходят когда в цепи течет 220 - т.е. либо когда воткнуто в розетку, либо когда запитан транс инвертора.

Но здесь тоже есть нюанс - нагрузка-то не подключена никакая. Первое время даже без конденсатора тестировал.

Грубо говоря на "по умолчанию подключенный контакт" заходит фаза внешнего 220. На "коммутируемый контакт" заходит один провод ВВ-вторички транса. К общему контакту не подключено ничего абсолютно, даже проводок в гнездо не вставлен. Подвисает в момент переключения, и только если в цепях есть 220.

Что проблема в топологии - это ясно, просто любопытно понять конкретную причину.
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение Martian »

Вряд ли нужен диод, если есть RC. Обычно, либо-либо. И эти варианты характеризуются некоторыми особенностями, отличающих их друг от друга.
ntfs1984
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт окт 01, 2024 16:17:36
Откуда: Николаев

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение ntfs1984 »

[uquote="Базилюк",url="/forum/viewtopic.php?p=4635261#p4635261"]
на другой макетной плате, сделал минимум лапши, дисплей через его гребенку подключил сразу к на плату и к ESP-шке
Ну вот - я ж говорил - дело не в бобине дисплее, а в лапше длинных проводов, которые хватают на себя всё, как антенны. Одни провода излучают, как антенны, другие - принимают, как антенны. Вот и залипуха. А кто-то тут магическую вспышку света приплетает :)
А еще говорили, что SPI нельзя "повесить". Повесить то его нельзя, а вот организовать ошибки в передаваемой инфе - как занефик делать. Контроля целостности то нет - интерфейс работает, но че он там переслал - это не его проблема.

Если в этой поделке развести всё не на макетке, а на печатной плате, да еще хотябы с минимальным соблюдением правил разводки, то сбои должны прекратиться вовсе. Для надежности - инвертор с релюшкой упрятать под экран из тонкой перфорированной жести типа такого:[/uquote]


Этим я займусь как только прототип отработает исправно.
Дело в том что я использую готовые модули, и ACDC, и DCDC и инвертора, они расходуют объем не очень эффективно, их приходится совмещать рядом, а в ограниченном объеме тех боксов что у меня имеются - это не так то и просто.

А по поводу проводов - понятное дело, хотя я никогда не думал что наведенной ЭДС достаточно чтобы вызвать единицу на шине.

Добавлено after 5 minutes 11 seconds:
Я вам больше скажу.

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

Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение Martian »

[uquote="Jack_A",url="/forum/viewtopic.php?p=4633285#p4633285"]Да и кто передаёт по SPI инфу на десятки метров?[/uquote] Никто. Открываем Handbook of serial communications interfaces, Frenzel L.E. Jr. - дальность SPI ограничена 1 метром.
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение shonty »

[uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]лучше бы поведали как у вас питание организовано[/uquote]
[uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]PS ..и фото обратной стороны дисплея не помешало бы[/uquote]
ntfs1984
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт окт 01, 2024 16:17:36
Откуда: Николаев

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение ntfs1984 »

[uquote="shonty",url="/forum/viewtopic.php?p=4635896#p4635896"][uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]лучше бы поведали как у вас питание организовано[/uquote]
[uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]PS ..и фото обратной стороны дисплея не помешало бы[/uquote][/uquote]


Ну в фото уже смысла нет, потому что конструкция иная.

Питание дисплея - от 3.3в пина ESP-шки. На самой ESP-шке стоит линейный AMS не помню марку, 1117 что ли.
Питание ESP-шки организовывал по-разному, везде эффект один и тот же:
Внутренним AC\DC блоком питания до 28В, а потом DC\DC до 5В и на 5В пин ESP-шки
Внешним AC\DC блоком питания до 28В, потом тем же самым DC\DC до 5В и на 5В пин ESP-шки
Внешней зарядкой от мобильного через Type-C порт

С питанием все в порядке, потому что цеплял и на 5В-шину и на 3.3В шину свой имитатор осциллографа - скачков в момент подвисания не было.
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение shonty »

ntfs1984 писал(а):Ну в фото уже смысла нет, потому что конструкция иная.
Понятно..
Просто бывают дисплеи, там перемычка J1, и вот, если её не замкнуть, то от 3,3V некоторые работают, некоторые плохо работают, а некоторые вообще не включаются.
Перемычка шунтирует стабилизатор.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение jcxz »

[uquote="ntfs1984",url="/forum/viewtopic.php?p=4635981#p4635981"]С питанием все в порядке, потому что цеплял и на 5В-шину и на 3.3В шину свой имитатор осциллографа - скачков в момент подвисания не было.[/uquote]Очень самонадеянное заявление, учитывая это:
[uquote="ntfs1984",url="/forum/viewtopic.php?p=4631026#p4631026"]Осциллографа профессионального нет, есть только самодельный до 100кГц и лимитом до 3.3В, собранный на такой же ESP32.[/uquote]
:)))

Костылестроение при помощи таких-же костылей. :)))

ESP между прочим - очень сильно шумит по питанию. При работе WiFi. Этот шум лезет потом во все остальные узлы схемы. Нужно или отдельное питание для ESP (отдельный LDO). Или LC-фильтр с гигантскими L и C.
А автор пытался одним шумом мерять другой. :)))
ntfs1984
Первый раз сказал Мяу!
Сообщения: 23
Зарегистрирован: Вт окт 01, 2024 16:17:36
Откуда: Николаев

Re: Зависание SPI-дисплея на ESP32 при управлении инвертором

Сообщение ntfs1984 »

[uquote="jcxz",url="/forum/viewtopic.php?p=4636411#p4636411"][uquote="ntfs1984",url="/forum/viewtopic.php?p=4635981#p4635981"]С питанием все в порядке, потому что цеплял и на 5В-шину и на 3.3В шину свой имитатор осциллографа - скачков в момент подвисания не было.[/uquote]Очень самонадеянное заявление, учитывая это:
[uquote="ntfs1984",url="/forum/viewtopic.php?p=4631026#p4631026"]Осциллографа профессионального нет, есть только самодельный до 100кГц и лимитом до 3.3В, собранный на такой же ESP32.[/uquote]
:)))

Костылестроение при помощи таких-же костылей. :)))

ESP между прочим - очень сильно шумит по питанию. При работе WiFi. Этот шум лезет потом во все остальные узлы схемы. Нужно или отдельное питание для ESP (отдельный LDO). Или LC-фильтр с гигантскими L и C.
А автор пытался одним шумом мерять другой. :)))[/uquote]


Нет, шумы и что угодно по питанию конкретно ESP-шки исключены на 100%, потому что питал от чего угодно, даже от аккумулятора через type-c переходник.
Вдобавок в боевой схеме питание организовано так: 220V -> [AC\DC 220V-28V] -> [DC-DC 28V->5V] -> [AMS 1117 тот что на самой платке ESP-шки 5V-3.3V]. Разве шум из цепи 220 (а напоминаю, зависание происходит только когда 220 подключено) может проникнуть через один ACDC, второй DCDC и третий линейник так, чтобы при этом остаться неизменным?

WiFi не активен.

Плюс ко всему, я там выложил видео из ютуба. Рядом на столе лежит USB-шная клавиатура, гальванически никак не связанная с моим "инвертором", и она начинает глючить и переподключаться как только инвертор начинает работать.

Понятно что я где-то натупил в топологии, что-то не экранировал, заземления нет, и тд итп, но конкретно к ESP-шке и дисплею претензий ноль.

А вот я - рукожопый, инфа сотка.
Ответить

Вернуться в «Разные вопросы по МК»