Зависание SPI-дисплея на ESP32 при управлении инвертором
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="Базилюк",url="/forum/viewtopic.php?p=4632937#p4632937"]Работа обычной электросварки или мощных частотников (электромоторы такие). Видимо, ваши поделки существуют только на макетках и в тепличных условиях, коль не знаете таких простых истин.[/uquote]Мои "поделки" ездят сейчас по дорогам. Крутят PMSM-моторы. (PMSM - это электромоторы такие
) Вот прям даже в этот момент крутят и людей возят. И SPI при этом в них работает и нисколько не страдает от того, что "у него нет контроля целостности сигнала". Не мешает это ему никак, почему-то. 
- Реклама
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Но у топикстарера то ведь есть проблема же!
Я вообще-то не про вас говорил, а про shonty.
Ну и SPI, у него же нет четко определенного сопротивления нагрузки, нет дифф.пары. Если входы высокоомные, то они сильнее будет подвержены наводкам. Сам интерфейс, как я уже писал, от помех не вырубается и не виснет именно из-за отсутствия контроля целостности - ему пофик, хоть вообще провода оборвутся, он будет слать "вникуда" и принимать че-нить. А вот что именно принимается в условиях помех - это уже проблема в той части, которая приняла. Испортить передаваемые по SPI данные - проще простого. Достаточно, чтобы сформировался лишний тактовый импульс - и всё, данные повреждены. А поскольку контроля целостности нет, то принятые ложные данные могут создать ложное поведение принимающего устройства.
Я вообще-то не про вас говорил, а про shonty.
Ну и SPI, у него же нет четко определенного сопротивления нагрузки, нет дифф.пары. Если входы высокоомные, то они сильнее будет подвержены наводкам. Сам интерфейс, как я уже писал, от помех не вырубается и не виснет именно из-за отсутствия контроля целостности - ему пофик, хоть вообще провода оборвутся, он будет слать "вникуда" и принимать че-нить. А вот что именно принимается в условиях помех - это уже проблема в той части, которая приняла. Испортить передаваемые по SPI данные - проще простого. Достаточно, чтобы сформировался лишний тактовый импульс - и всё, данные повреждены. А поскольку контроля целостности нет, то принятые ложные данные могут создать ложное поведение принимающего устройства.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="Базилюк",url="/forum/viewtopic.php?p=4632958#p4632958"]лишний тактовый импульс - и всё, данные повреждены.[/uquote]
О да, сам в молодости влетел в эту багу.
О да, сам в молодости влетел в эту багу.
И если контроля нет на аппаратном уровне (пресловутый CAN рулит? ), то кто мешает сделать его программно (CRC в помощь) .А поскольку контроля целостности нет, то принятые ложные данные могут создать ложное поведение принимающего устройства.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="Jack_A",url="/forum/viewtopic.php?p=4633069#p4633069"]И если контроля нет на аппаратном уровне (пресловутый CAN рулит? ), то кто мешает сделать его программно (CRC в помощь) .[/uquote]Преждевременный костылинг - величайшее зло!
Это стремление замести проблему под ковёр вместо её решения.
Если в SPI лезут помехи - нужно выпрямлять руки схемотехнику и конструктору печатной платы, а не костылингом заниматься.
К тому-же - как вы убедите всех производителей LCD-контроллеров, SPI-флешей и прочих SPI-слэйвов внедрить это самый CRC в их девайсы (потому как не смогли сделать свою схему устойчивой к ЭМС)?
Это стремление замести проблему под ковёр вместо её решения.
Если в SPI лезут помехи - нужно выпрямлять руки схемотехнику и конструктору печатной платы, а не костылингом заниматься.
К тому-же - как вы убедите всех производителей LCD-контроллеров, SPI-флешей и прочих SPI-слэйвов внедрить это самый CRC в их девайсы (потому как не смогли сделать свою схему устойчивой к ЭМС)?
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Но у топикстартера именно это то и происходит - ЭМ-помеха повреждает передаваемые данные. Либо же другой вариант - неподключенный вход RESX дисплея или подключенный через высокоомный резистор.
- Реклама
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Да, пожалуй, когда речь идёт о передаче внутри одного модуля в устройство с уже зашитым протоколом SPI - мои советы не катят. Полностью согласен с jcxz. Я малость отвлёкся от начала темы. Да и кто передаёт по SPI инфу на десятки метров? Это даже я в свои ранне-embedd_ерские годы не делал. 
-
ntfs1984
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вт окт 01, 2024 16:17:36
- Откуда: Николаев
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
В общем устранил я проблему. Ну почти. Хотя конечно в конкретной причине не мешало бы разобраться.
Просто переделал на другой макетной плате, сделал минимум лапши, дисплей через его гребенку подключил сразу к на плату и к ESP-шке, с небольшой длиной проводников.
Все релейные входы отнес подальше от ESP-шки, на тот GPIO OUT что дергает standby инвертора - поставил другой более дорогой оптрон где сборка дарлингтона, сам оптрон подключил через резистор, и на каждую шину что подходит к этой плате, нацепил по ферритовому кольцу + на высоковольтные провода поставил по индуктивности.
Теперь зависание происходит где-то раз на сотню переключений, что есть терпимо.
Возможно щелкать реле нужно в нижней точке амплитуды 220в, или хз как оно там называется, но подозреваю схемка будет не из простых.
В целом схемка работает терпимо, допишу прошивку, погоняю месяц в боевых условиях, и можно делать на нормальной плате.
Всех благодарю огромное !
Просто переделал на другой макетной плате, сделал минимум лапши, дисплей через его гребенку подключил сразу к на плату и к ESP-шке, с небольшой длиной проводников.
Все релейные входы отнес подальше от ESP-шки, на тот GPIO OUT что дергает standby инвертора - поставил другой более дорогой оптрон где сборка дарлингтона, сам оптрон подключил через резистор, и на каждую шину что подходит к этой плате, нацепил по ферритовому кольцу + на высоковольтные провода поставил по индуктивности.
Теперь зависание происходит где-то раз на сотню переключений, что есть терпимо.
Возможно щелкать реле нужно в нижней точке амплитуды 220в, или хз как оно там называется, но подозреваю схемка будет не из простых.
В целом схемка работает терпимо, допишу прошивку, погоняю месяц в боевых условиях, и можно делать на нормальной плате.
Всех благодарю огромное !
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="ntfs1984",url="/forum/viewtopic.php?p=4635245#p4635245"]как оно там называется[/uquote] Zero Cross, переход фазы через ноль. С механическим реле не сложно, но не гарантированно из-за нестабильного времени срабатывания.
Вероятно, решение проблемы в шунтировании контактов реле снабберной цепью, классической RC или иной...
Вероятно, решение проблемы в шунтировании контактов реле снабберной цепью, классической RC или иной...
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Ну вот - я ж говорил - дело не в бобине дисплее, а в лапше длинных проводов, которые хватают на себя всё, как антенны. Одни провода излучают, как антенны, другие - принимают, как антенны. Вот и залипуха. А кто-то тут магическую вспышку света приплетаетна другой макетной плате, сделал минимум лапши, дисплей через его гребенку подключил сразу к на плату и к ESP-шке
А еще говорили, что SPI нельзя "повесить". Повесить то его нельзя, а вот организовать ошибки в передаваемой инфе - как занефик делать. Контроля целостности то нет - интерфейс работает, но че он там переслал - это не его проблема.
Если в этой поделке развести всё не на макетке, а на печатной плате, да еще хотябы с минимальным соблюдением правил разводки, то сбои должны прекратиться вовсе. Для надежности - инвертор с релюшкой упрятать под экран из тонкой перфорированной жести типа такого:
-
ntfs1984
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вт окт 01, 2024 16:17:36
- Откуда: Николаев
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[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.
Что проблема в топологии - это ясно, просто любопытно понять конкретную причину.
Вероятно, решение проблемы в шунтировании контактов реле снабберной цепью, классической RC или иной...[/uquote]
Не. На контакты я напаял и RC и диод чтобы потушить самоиндукцию. Все равно. Плюс ко всему, эти "зависания" происходят когда в цепи течет 220 - т.е. либо когда воткнуто в розетку, либо когда запитан транс инвертора.
Но здесь тоже есть нюанс - нагрузка-то не подключена никакая. Первое время даже без конденсатора тестировал.
Грубо говоря на "по умолчанию подключенный контакт" заходит фаза внешнего 220. На "коммутируемый контакт" заходит один провод ВВ-вторички транса. К общему контакту не подключено ничего абсолютно, даже проводок в гнездо не вставлен. Подвисает в момент переключения, и только если в цепях есть 220.
Что проблема в топологии - это ясно, просто любопытно понять конкретную причину.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Вряд ли нужен диод, если есть RC. Обычно, либо-либо. И эти варианты характеризуются некоторыми особенностями, отличающих их друг от друга.
-
ntfs1984
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вт окт 01, 2024 16:17:36
- Откуда: Николаев
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="Базилюк",url="/forum/viewtopic.php?p=4635261#p4635261"]
А еще говорили, что SPI нельзя "повесить". Повесить то его нельзя, а вот организовать ошибки в передаваемой инфе - как занефик делать. Контроля целостности то нет - интерфейс работает, но че он там переслал - это не его проблема.
Если в этой поделке развести всё не на макетке, а на печатной плате, да еще хотябы с минимальным соблюдением правил разводки, то сбои должны прекратиться вовсе. Для надежности - инвертор с релюшкой упрятать под экран из тонкой перфорированной жести типа такого:[/uquote]
Этим я займусь как только прототип отработает исправно.
Дело в том что я использую готовые модули, и ACDC, и DCDC и инвертора, они расходуют объем не очень эффективно, их приходится совмещать рядом, а в ограниченном объеме тех боксов что у меня имеются - это не так то и просто.
А по поводу проводов - понятное дело, хотя я никогда не думал что наведенной ЭДС достаточно чтобы вызвать единицу на шине.
Добавлено after 5 minutes 11 seconds:
Я вам больше скажу.
Эта штука лежит рядом с USB-клавиатурой, и когда включается инвертор - на USB-шине помехи, клавиатура глючит и переподключается.
Так что вспышка вешающая дисплей - вполне имеет место быть.
Ну вот - я ж говорил - дело не в бобине дисплее, а в лапше длинных проводов, которые хватают на себя всё, как антенны. Одни провода излучают, как антенны, другие - принимают, как антенны. Вот и залипуха. А кто-то тут магическую вспышку света приплетаетна другой макетной плате, сделал минимум лапши, дисплей через его гребенку подключил сразу к на плату и к ESP-шке
А еще говорили, что SPI нельзя "повесить". Повесить то его нельзя, а вот организовать ошибки в передаваемой инфе - как занефик делать. Контроля целостности то нет - интерфейс работает, но че он там переслал - это не его проблема.
Если в этой поделке развести всё не на макетке, а на печатной плате, да еще хотябы с минимальным соблюдением правил разводки, то сбои должны прекратиться вовсе. Для надежности - инвертор с релюшкой упрятать под экран из тонкой перфорированной жести типа такого:[/uquote]
Этим я займусь как только прототип отработает исправно.
Дело в том что я использую готовые модули, и ACDC, и DCDC и инвертора, они расходуют объем не очень эффективно, их приходится совмещать рядом, а в ограниченном объеме тех боксов что у меня имеются - это не так то и просто.
А по поводу проводов - понятное дело, хотя я никогда не думал что наведенной ЭДС достаточно чтобы вызвать единицу на шине.
Добавлено after 5 minutes 11 seconds:
Я вам больше скажу.
Эта штука лежит рядом с USB-клавиатурой, и когда включается инвертор - на USB-шине помехи, клавиатура глючит и переподключается.
Так что вспышка вешающая дисплей - вполне имеет место быть.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="Jack_A",url="/forum/viewtopic.php?p=4633285#p4633285"]Да и кто передаёт по SPI инфу на десятки метров?[/uquote] Никто. Открываем Handbook of serial communications interfaces, Frenzel L.E. Jr. - дальность SPI ограничена 1 метром.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]лучше бы поведали как у вас питание организовано[/uquote]
[uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]PS ..и фото обратной стороны дисплея не помешало бы[/uquote]
[uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]PS ..и фото обратной стороны дисплея не помешало бы[/uquote]
-
ntfs1984
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вт окт 01, 2024 16:17:36
- Откуда: Николаев
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[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В шину свой имитатор осциллографа - скачков в момент подвисания не было.
[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В шину свой имитатор осциллографа - скачков в момент подвисания не было.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Понятно..ntfs1984 писал(а):Ну в фото уже смысла нет, потому что конструкция иная.
Просто бывают дисплеи, там перемычка J1, и вот, если её не замкнуть, то от 3,3V некоторые работают, некоторые плохо работают, а некоторые вообще не включаются.
Перемычка шунтирует стабилизатор.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[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="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 при управлении инвертором
[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-шке и дисплею претензий ноль.
А вот я - рукожопый, инфа сотка.
[uquote="ntfs1984",url="/forum/viewtopic.php?p=4631026#p4631026"]Осциллографа профессионального нет, есть только самодельный до 100кГц и лимитом до 3.3В, собранный на такой же ESP32.[/uquote]
Костылестроение при помощи таких-же костылей.
ESP между прочим - очень сильно шумит по питанию. При работе WiFi. Этот шум лезет потом во все остальные узлы схемы. Нужно или отдельное питание для ESP (отдельный LDO). Или LC-фильтр с гигантскими L и C.
А автор пытался одним шумом мерять другой.
Нет, шумы и что угодно по питанию конкретно 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-шке и дисплею претензий ноль.
А вот я - рукожопый, инфа сотка.



