Зависание SPI-дисплея на ESP32 при управлении инвертором
-
ntfs1984
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вт окт 01, 2024 16:17:36
- Откуда: Николаев
Зависание SPI-дисплея на ESP32 при управлении инвертором
Приветствую, коты. Я новенький. И вы моя последняя надежда =)
Делаю т.н. "гибридный инвертор" своими руками. Столкнулся с проблемой зависания SPI дисплея.
Опишу в словах, что есть.
Вход 220 В подключен к AC\DC 220-28 через реле №2.
Выход 28 В этого AC\DC подключен к китайскому инвертору 28-220. Вот такому: https://www.aliexpress.com/item/1005007170105678.html
Этот же выход 28 В подключен к DC-DC преобразователю в 5В, который питает ESP32 (хотя это и не важно).
Фаза входа 220 В подключена к контакту реле №1, который по умолчанию сомкнут.
На второй контакт этого реле №1 подключено ВВ-плечо трансформатора от инвертора. Через индуктивность конечно же.
Общий контакт реле №1 - является выходом 220 В на нагрузку.
Соответственно земля входа 220 В и второй вывод 220 В - соединены.
Таким образом я реализовываю "bypass", т.е. когда реле №1 неактивно, выход 220 В подключен ко входу 220 В напрямую.
Когда реле №1 активно - выход 220 В переключается на ВВ-выход трансформатора инвертора.
Реле №1 и реле №2 - китайские модули с опторазвязкой, подключены к ESP32 GPIO out.
Китайский инвертор имеет разъем для кнопки включения. Этот разъем через оптопару так же подключен к ESP32 GPIO out.
Еще к ESP32 подключен TFT SPI дисплей.
Проблема в том, что когда инвертор управляется через оптопару-ESP32, и реле №1 переключается - SPI-дисплей иногда подвисает.
Подвисает именно дисплей, потому что ESP32 продолжает работать, а дисплей заводится после переинициализации.
Подвисает не при включении\выключении инвертора, а именно при переключении реле №1.
Когда разъем включения инвертора не подключен к оптопаре-ESP32, а например закорочен пинцетом - зависания не происходит.
Зависания не происходит так же, если разомкнуто низковольтовое плечо трансформатора.
И зависания не происходит, если реле №1 сначала переключается на инвертор, а затем инвертор включается. Но этот костыль не очень подходит, потому что тогда при переключении источника, дом будет примерно одну секунду без электричества.
Питание ESP32 роли не играет - питал от внешнего источника.
Повесил феррит на шину от реле №1 до ESP32 - все равно зависает.
Повесил индуктивность на шину от инвертора к оптопаре - все равно зависает.
Разнес плату ESP32 и дисплея на 15 см от силовых цепей - все равно зависает.
Поскручивал шины в косички - тоже зависает.
Зависает так же при работе от аккумуляторов, т.е. AC\DC ни при чем.
Поставил RC-фильтр на высоковольтную цепь трансформатора от инвертора - все равно зависает.
Экранировка ESP32\SPI-дисплея не помогает.
В общем условия для зависания это включенный инвертор + подключение его разъема к ESP32 + активный трансформатор + щелчок реле. При отсутствии хотя бы одного из условий, зависания нет.
Осциллографа профессионального нет, есть только самодельный до 100кГц и лимитом до 3.3В, собранный на такой же ESP32.
И к сожалению, ни дисплей, ни SPI шина не имеют (во всяком случае бескостыльных) методов контроля целостности, или определения наличия дисплея - данные шлются просто "втуда".
Варианта как по мне два.
Либо каким-то боком обратная ЭДС самоиндукции от реле проходит в цепи. Хотя на контакты реле я тоже поставил RC-фильтр.
Либо в момент переключения реле формируется ЭМИ такой мощности, что все провода становятся антеннами или вторичными обмотками и сами создают ЭДС в низковольтной цепи. Что тоже странно, потому что нагрузки на выходе 220В у меня нет никакой, соответственно ток через контакты реле нулевой.
Да и напрягает момент, что при декоммутации разъема инвертора от оптопары, зависания прекращаются, а оптопара по идее устраняет гальваническую связь.
Есть идеи, как можно победить зависание SPI-дисплея?
Приложил картинку, на которой в общих чертах обрисовал схему подключения зависающей части. Требуху не рисовал, поскольку без нее зависает тоже. Заранее извините за кривизну, возможности рисования ограничены.
Знания по радиоэлектронике у меня средние, поэтому диалог можно вести употребляя радио-матюки.
Заранее огромное благодарю.
Делаю т.н. "гибридный инвертор" своими руками. Столкнулся с проблемой зависания SPI дисплея.
Опишу в словах, что есть.
Вход 220 В подключен к AC\DC 220-28 через реле №2.
Выход 28 В этого AC\DC подключен к китайскому инвертору 28-220. Вот такому: https://www.aliexpress.com/item/1005007170105678.html
Этот же выход 28 В подключен к DC-DC преобразователю в 5В, который питает ESP32 (хотя это и не важно).
Фаза входа 220 В подключена к контакту реле №1, который по умолчанию сомкнут.
На второй контакт этого реле №1 подключено ВВ-плечо трансформатора от инвертора. Через индуктивность конечно же.
Общий контакт реле №1 - является выходом 220 В на нагрузку.
Соответственно земля входа 220 В и второй вывод 220 В - соединены.
Таким образом я реализовываю "bypass", т.е. когда реле №1 неактивно, выход 220 В подключен ко входу 220 В напрямую.
Когда реле №1 активно - выход 220 В переключается на ВВ-выход трансформатора инвертора.
Реле №1 и реле №2 - китайские модули с опторазвязкой, подключены к ESP32 GPIO out.
Китайский инвертор имеет разъем для кнопки включения. Этот разъем через оптопару так же подключен к ESP32 GPIO out.
Еще к ESP32 подключен TFT SPI дисплей.
Проблема в том, что когда инвертор управляется через оптопару-ESP32, и реле №1 переключается - SPI-дисплей иногда подвисает.
Подвисает именно дисплей, потому что ESP32 продолжает работать, а дисплей заводится после переинициализации.
Подвисает не при включении\выключении инвертора, а именно при переключении реле №1.
Когда разъем включения инвертора не подключен к оптопаре-ESP32, а например закорочен пинцетом - зависания не происходит.
Зависания не происходит так же, если разомкнуто низковольтовое плечо трансформатора.
И зависания не происходит, если реле №1 сначала переключается на инвертор, а затем инвертор включается. Но этот костыль не очень подходит, потому что тогда при переключении источника, дом будет примерно одну секунду без электричества.
Питание ESP32 роли не играет - питал от внешнего источника.
Повесил феррит на шину от реле №1 до ESP32 - все равно зависает.
Повесил индуктивность на шину от инвертора к оптопаре - все равно зависает.
Разнес плату ESP32 и дисплея на 15 см от силовых цепей - все равно зависает.
Поскручивал шины в косички - тоже зависает.
Зависает так же при работе от аккумуляторов, т.е. AC\DC ни при чем.
Поставил RC-фильтр на высоковольтную цепь трансформатора от инвертора - все равно зависает.
Экранировка ESP32\SPI-дисплея не помогает.
В общем условия для зависания это включенный инвертор + подключение его разъема к ESP32 + активный трансформатор + щелчок реле. При отсутствии хотя бы одного из условий, зависания нет.
Осциллографа профессионального нет, есть только самодельный до 100кГц и лимитом до 3.3В, собранный на такой же ESP32.
И к сожалению, ни дисплей, ни SPI шина не имеют (во всяком случае бескостыльных) методов контроля целостности, или определения наличия дисплея - данные шлются просто "втуда".
Варианта как по мне два.
Либо каким-то боком обратная ЭДС самоиндукции от реле проходит в цепи. Хотя на контакты реле я тоже поставил RC-фильтр.
Либо в момент переключения реле формируется ЭМИ такой мощности, что все провода становятся антеннами или вторичными обмотками и сами создают ЭДС в низковольтной цепи. Что тоже странно, потому что нагрузки на выходе 220В у меня нет никакой, соответственно ток через контакты реле нулевой.
Да и напрягает момент, что при декоммутации разъема инвертора от оптопары, зависания прекращаются, а оптопара по идее устраняет гальваническую связь.
Есть идеи, как можно победить зависание SPI-дисплея?
Приложил картинку, на которой в общих чертах обрисовал схему подключения зависающей части. Требуху не рисовал, поскольку без нее зависает тоже. Заранее извините за кривизну, возможности рисования ограничены.
Знания по радиоэлектронике у меня средние, поэтому диалог можно вести употребляя радио-матюки.
Заранее огромное благодарю.
- Вложения
-
- scheme.png
- (6.35 КБ) 102 скачивания
- Реклама
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Хорошо. Покупаем на Алиэкспрессе простой USB-шный лог.анализатор - клон Saleae 8 за 400 руб. https://sl.aliexpress.ru/p?key=gCLTrZOОсциллографа профессионального нет, есть только самодельный до 100кГц и лимитом до 3.3В,
8 каналов, полтора десятка мегагерц, приложение Logic 2 с декодером SPI данных - увидите поток байтов, сможете распознать остановку обмена или ошибки в байтах в момент зависания.
Это раз.
А это уже - схемотехническая проблема. Тут либо электромагнитно по воздуху прилетает помеха, либо по электрическим дорожкам гадит в питание и сбрасывает микроконтроллер или дисплей. Без измерительных приборов проблему искать можно только методом научного тыка.Подвисает не при включении\выключении инвертора, а именно при переключении реле №1.
Можно попробовать обернуть плату с контроллером и дисплеем в металлический экран, подключенный к GND питания. Можно пробовать блокировочные конденсаторы на питании и сигнальных линиях. Да много чего можно тыкать, если не измерять
-
ntfs1984
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вт окт 01, 2024 16:17:36
- Откуда: Николаев
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="Базилюк",url="/forum/viewtopic.php?p=4631053#p4631053"]
8 каналов, полтора десятка мегагерц, приложение Logic 2 с декодером SPI данных - увидите поток байтов, сможете распознать остановку обмена или ошибки в байтах в момент зависания.
Это раз.
Можно попробовать обернуть плату с контроллером и дисплеем в металлический экран, подключенный к GND питания. Можно пробовать блокировочные конденсаторы на питании и сигнальных линиях. Да много чего можно тыкать, если не измерять[/uquote]
Ну что прилетает помеха - это понятно. Помеха от чего?
Если от катушки реле - тогда странно, потому что во-первых модуль с опторазвязкой, во вторых прилетает когда включен инвертор и подключен к МК через оптопару.
В момент переключения контактов - тогда еще страннее, потому что нагрузки там никакой нет, помеху вызывать по сути нечему, общий контакт реле ни к чему не подключен, а в NC-NO контактах 220 уже присутствует, а при срабатывании реле, общий контакт просто меняет одно 220 на другое.
Я понимаю помеха может быть от работающего транса, окей. Допустим она даже проходит к контактам реле, и на плату инвертора. Но как она может пройти две оптопары (а там кстати заявлено напряжение пробоя в 5кВ), и остаться настолько мощной чтобы вырубить дисплей?
Хорошо. Покупаем на Алиэкспрессе простой USB-шный лог.анализатор - клон Saleae 8 за 400 руб. https://sl.aliexpress.ru/p?key=gCLTrZOОсциллографа профессионального нет, есть только самодельный до 100кГц и лимитом до 3.3В,
8 каналов, полтора десятка мегагерц, приложение Logic 2 с декодером SPI данных - увидите поток байтов, сможете распознать остановку обмена или ошибки в байтах в момент зависания.
Это раз.
А это уже - схемотехническая проблема. Тут либо электромагнитно по воздуху прилетает помеха, либо по электрическим дорожкам гадит в питание и сбрасывает микроконтроллер или дисплей. Без измерительных приборов проблему искать можно только методом научного тыка.Подвисает не при включении\выключении инвертора, а именно при переключении реле №1.
Можно попробовать обернуть плату с контроллером и дисплеем в металлический экран, подключенный к GND питания. Можно пробовать блокировочные конденсаторы на питании и сигнальных линиях. Да много чего можно тыкать, если не измерять[/uquote]
Ну что прилетает помеха - это понятно. Помеха от чего?
Если от катушки реле - тогда странно, потому что во-первых модуль с опторазвязкой, во вторых прилетает когда включен инвертор и подключен к МК через оптопару.
В момент переключения контактов - тогда еще страннее, потому что нагрузки там никакой нет, помеху вызывать по сути нечему, общий контакт реле ни к чему не подключен, а в NC-NO контактах 220 уже присутствует, а при срабатывании реле, общий контакт просто меняет одно 220 на другое.
Я понимаю помеха может быть от работающего транса, окей. Допустим она даже проходит к контактам реле, и на плату инвертора. Но как она может пройти две оптопары (а там кстати заявлено напряжение пробоя в 5кВ), и остаться настолько мощной чтобы вырубить дисплей?
Последний раз редактировалось ntfs1984 Вт окт 01, 2024 19:03:45, всего редактировалось 1 раз.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
А помеха может лететь по воздуху - электромагнитная. И для неё оптопара - не барьер. Бывали случаи, когда работающий в пяти метрах сварочный инвертор через воздух наводил кучу помех на отдельно запитанную электронику.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Похоже в какой то момент пропадает питание на дисплей (хотя может быть и скачёк). После чего дисплею нужна переинициализация (аппаратный и программный сбросы).
Как варианты:
1. проверить на другом дисплее, не обязательно с таким же разрешением.
2. если у вас дисплей подключен китайским шлейфом dupont, то там жилы стальные (проверяется магнитом) и не всегда хороший контакт, я почти от всех таких избавился, переобжал на медные провода.
3. что бы точнее определить момент зависания дисплея, запрограммируйте динамическую картинку на дисплее, например мигание какого нибудь небольшого поля несколько раз в секунду.
(Иногда в поделках так и делаю, что бы понимать, работает устройство или коллизию какую нибудь словило видео на рутубе)
Тут важно понять, зависает в один и тотже момент или нет.
Если что, то развязать по питанию можно с помощью например B0505S-1W и подобным, но сначала нужно определиться с проводами и моментом зависания.
PS в проект временно добавить кнопку, по нажатию которой после зависания запускается инициализация дисплея.
Добавлено after 1 hour 11 minutes 51 second:
PS2: посмотрю, если стенд не разобрал, сымитирую зависание дисплея. У меня проект приёмника на Si4735, стенд от одного источника, а УНЧ отдельно подключён. И вроде как если питанием УНЧ "щёлкнуть", то так же дисплей (TFT 3,2'') зависает..
Время найду, гляну.. но не обещаю.
Как варианты:
1. проверить на другом дисплее, не обязательно с таким же разрешением.
2. если у вас дисплей подключен китайским шлейфом dupont, то там жилы стальные (проверяется магнитом) и не всегда хороший контакт, я почти от всех таких избавился, переобжал на медные провода.
3. что бы точнее определить момент зависания дисплея, запрограммируйте динамическую картинку на дисплее, например мигание какого нибудь небольшого поля несколько раз в секунду.
(Иногда в поделках так и делаю, что бы понимать, работает устройство или коллизию какую нибудь словило видео на рутубе)
Тут важно понять, зависает в один и тотже момент или нет.
Если что, то развязать по питанию можно с помощью например B0505S-1W и подобным, но сначала нужно определиться с проводами и моментом зависания.
PS в проект временно добавить кнопку, по нажатию которой после зависания запускается инициализация дисплея.
Добавлено after 1 hour 11 minutes 51 second:
PS2: посмотрю, если стенд не разобрал, сымитирую зависание дисплея. У меня проект приёмника на Si4735, стенд от одного источника, а УНЧ отдельно подключён. И вроде как если питанием УНЧ "щёлкнуть", то так же дисплей (TFT 3,2'') зависает..
Время найду, гляну.. но не обещаю.
- Реклама
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Без измерительных инструментов гадать можно долго. Например, выход управления реле - токами самоиндукции от реле может давать импульс в питание платы или наводить импульсы на неподключенные выводы дисплея. Может, вход CS или Reset дисплея неправильно подключен. Вообще, этот дисплей можно и читать по SPI. Можно ж прочитать его состояние - может, он сбросился. Или из-за помех в SPI передался какой лишний импульс и дисплей перешел в непредвиденное состояние.
Кароч, направления тут два - электрический индуктивный выброс от обмотки реле или электромагнитный (по воздуху) выброс при запуске инвертора. Путь - либо через оптопару (электромагнитные через нее проходят), либо по воздуху. Через реле электромагнитно помехи тоже проникают. Особенно они любят длинные провода, играющие роль обычных радоантенн.
Плату инвертора и БП 220/28 надо заключить в магнитный экран - люменевый корпус.
Облась поиска можно сузить, не подключая реле к плате. и запуская/выключая инвертор через оптопару и без нее.
Кароч, направления тут два - электрический индуктивный выброс от обмотки реле или электромагнитный (по воздуху) выброс при запуске инвертора. Путь - либо через оптопару (электромагнитные через нее проходят), либо по воздуху. Через реле электромагнитно помехи тоже проникают. Особенно они любят длинные провода, играющие роль обычных радоантенн.
Плату инвертора и БП 220/28 надо заключить в магнитный экран - люменевый корпус.
Облась поиска можно сузить, не подключая реле к плате. и запуская/выключая инвертор через оптопару и без нее.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Вобщем проверил. Но наверное вам это не поможет.shonty писал(а):Время найду, гляну.. но не обещаю
Сам стенд запитан от USBASP
Тестовый усилитель на TEA2025 от внешнего БП на LM317
Усилитель подключён только выходу Si4735, ну и земля общая.
Если переключить питание усилителя во аремя работы, то вырубается чип приёмника, Дисплей на нажатие кнопок не реагирует больше. Но это и понятно: программно сначала идут пакеты на Si4735, и если МК не получает ASK, то больше никакие действия я не предусматривал.
Проект сырой ещё.. оставил всё на потом. А в конечном устройстве всё будет запитано от одного источника, поэтому многие ситуации просто отпадут.
В вашем случае, думаю, всётаки нужно сделать "анимацию" на дисплее, что бы понять, что подвисает и, главное, в какой момент.
Добавлено after 6 minutes 53 seconds:
Если "гадать", то да, можно долго. Ещё если гадать: а может то, а может сё.., то вообще бесконечно))Базилюк писал(а):Без измерительных инструментов гадать можно долго.
И инструменты также не панацея.
Иногда можно найти причину просто анализирую ситуацию. Не всегда нужно бежать в магазин за "андронным коллайдером"
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Так ситуация проанализирована.
Ну, в общем, я бы вначале поместил инвертор в заземленный люминевый корпус
Итого - электромагнитный импульс при коммутации реле. Платы лежат на столе без экранирования корпусами. Провода к дисплею и прочей коммутации являются радиоантеннами, излучающими и принимающими. Высокоомные входы дисплея не гасят наводимые на провода помехи. В момент размыкания одних и замыкания других контактов реле, находящихся под нагрузкой, из-за дребезга контактов генерируется пачка радиоимпульсов.В общем условия для зависания это включенный инвертор + подключение его разъема к ESP32 + активный трансформатор + щелчок реле. При отсутствии хотя бы одного из условий, зависания нет.
Ну, в общем, я бы вначале поместил инвертор в заземленный люминевый корпус
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Немного оффтопа:
И ещё сделал себе индикатор на OLED i2c, с отдельной лёгкой библиотечкой и с возможностью быстрого подключения. И с некоторых пор уже в привычке, даже когда с TFT работаю, то паралельно OLED подключаю. Это информативнее, чем светодиодами маякать.

Спойлер
Ещё с TFT дисплеями есть такойй фокус (на ILI9341 обнаружил): если его "сфотографировать" со вспышкой, только не с телефона, а фотоаппаратом (у меня зеркалка никон), то его вырубает и экран просто становится белым , так как подсветка работает. Это из-за того, что led матрица начинает работать как солнечная батарея и видимо с контроллером дисплея коллизия происходит. После перезагрузки всё нормально становится.И ещё сделал себе индикатор на OLED i2c, с отдельной лёгкой библиотечкой и с возможностью быстрого подключения. И с некоторых пор уже в привычке, даже когда с TFT работаю, то паралельно OLED подключаю. Это информативнее, чем светодиодами маякать.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="shonty",url="/forum/viewtopic.php?p=4631282#p4631282"]Ещё с TFT дисплеями есть такойй фокус (на ILI9341 обнаружил): если его "сфотографировать" со вспышкой, только не с телефона, а фотоаппаратом (у меня зеркалка никон), то его вырубает и экран просто становится белым , так как подсветка работает. Это из-за того, что led матрица начинает работать как солнечная батарея и видимо с контроллером дисплея коллизия происходит.[/uquote]Это вы сами видели или в инетике вычитали?
Сфотографировал свой TFT на том же самом ILI - ничего не повисло. 5 раз повторил - работает прекрасно и не виснет. Правда моя зеркалка - Canon. Может конечно Nikon мощнее.
Добавлено after 9 minutes 15 seconds:
[uquote="ntfs1984",url="/forum/viewtopic.php?p=4631026#p4631026"]Подвисает именно дисплей, потому что ESP32 продолжает работать[/uquote]Точно "ESP продолжает работать", а не перезапускается например от помехи? Уверены?
[uquote="ntfs1984",url="/forum/viewtopic.php?p=4631026#p4631026"]Есть идеи, как можно победить зависание SPI-дисплея?[/uquote]Как уже советовали выше - приобрести лог.анализатор и исследовать, что происходит на шине. Вслепую гадать можно бесконечно.
И нарисовать наконец-то нормальную принципиальную схему.
Сфотографировал свой TFT на том же самом ILI - ничего не повисло. 5 раз повторил - работает прекрасно и не виснет. Правда моя зеркалка - Canon. Может конечно Nikon мощнее.
Добавлено after 9 minutes 15 seconds:
[uquote="ntfs1984",url="/forum/viewtopic.php?p=4631026#p4631026"]Подвисает именно дисплей, потому что ESP32 продолжает работать[/uquote]Точно "ESP продолжает работать", а не перезапускается например от помехи? Уверены?
[uquote="ntfs1984",url="/forum/viewtopic.php?p=4631026#p4631026"]Есть идеи, как можно победить зависание SPI-дисплея?[/uquote]Как уже советовали выше - приобрести лог.анализатор и исследовать, что происходит на шине. Вслепую гадать можно бесконечно.
И нарисовать наконец-то нормальную принципиальную схему.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Однажды хотел сфотать дисплей и так вот получилось. Вырубает от вспышки, стабильно.jcxz писал(а):Это вы сами видели или в инетике вычитали?
У меня недавно был переезд и с фотоаппаратом (да и вообще мгного ещё с чем) пришлось расстаться. Но готов тут поставить закладку, и если будет возможность сниму на видео.
Если что, то я с темы не съезжаю
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
ДАНУНАФИК?
Вот это волшебство - фоткаешь дисплей прибор, а он генерирует импульс и убивает прибор 
Да ну че за сказки то. Эти дисплеи и под прямым солнцем работают, и ничего. А зависал дисплей наверняка от мощного эл.магн. импульса фотовспышки, которые наводились на длинных проводах. У фотовспышки же фактически конденс, заряженный до 300-500 В разряжается за доли секунды, что порождает мощный эл.магн. радиоимпульс.
Вообще, тема с наводимыми эл.магн. помехами - известная в узких кругах весчь. Недаром ведь есть такие тесты на эл.магн.совместимость. И именно поэтому корпуса импульсных БП заключены в алюминиевый корпус. И корпуса стационарных компутеров тоже люминиевые. И даже в ноутбуках на внутренней стороне пластиковых панелей нанесено медное напыление, а к нему поджимаются упругие металлизированные полоски, соединенные с шасси.
Да ну че за сказки то. Эти дисплеи и под прямым солнцем работают, и ничего. А зависал дисплей наверняка от мощного эл.магн. импульса фотовспышки, которые наводились на длинных проводах. У фотовспышки же фактически конденс, заряженный до 300-500 В разряжается за доли секунды, что порождает мощный эл.магн. радиоимпульс.
Вообще, тема с наводимыми эл.магн. помехами - известная в узких кругах весчь. Недаром ведь есть такие тесты на эл.магн.совместимость. И именно поэтому корпуса импульсных БП заключены в алюминиевый корпус. И корпуса стационарных компутеров тоже люминиевые. И даже в ноутбуках на внутренней стороне пластиковых панелей нанесено медное напыление, а к нему поджимаются упругие металлизированные полоски, соединенные с шасси.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="Базилюк",url="/forum/viewtopic.php?p=4631386#p4631386"]А зависал дисплей наверняка от мощного эл.магн. импульса фотовспышки[/uquote]Тогда в урну такой Nikon. Он вообще не должен был пройти сертификацию по ЭМС. Если генерит ЭМИ как от ядерного взрыва.
PS: Или может там вспышка самопальная была, гаражно-наколенного производства?
Если даже низкоомный и помехоустойчивый SPI от неё виснет, то что будет твориться например с I2C??? Вообще выгорать будет?
PS: Или может там вспышка самопальная была, гаражно-наколенного производства?
Если даже низкоомный и помехоустойчивый SPI от неё виснет, то что будет твориться например с I2C??? Вообще выгорать будет?
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
Ну я тоже думаю, что чето там с этой фотовспышкой не то. Я не замечал, чтобы они давали какие-то сильные помехи. Просто предположил.
-
ntfs1984
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вт окт 01, 2024 16:17:36
- Откуда: Николаев
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="jcxz",url="/forum/viewtopic.php?p=4631453#p4631453"][uquote="Базилюк",url="/forum/viewtopic.php?p=4631386#p4631386"]А зависал дисплей наверняка от мощного эл.магн. импульса фотовспышки[/uquote]Тогда в урну такой Nikon. Он вообще не должен был пройти сертификацию по ЭМС. Если генерит ЭМИ как от ядерного взрыва.
PS: Или может там вспышка самопальная была, гаражно-наколенного производства?
Если даже низкоомный и помехоустойчивый SPI от неё виснет, то что будет твориться например с I2C??? Вообще выгорать будет?[/uquote]
Не сказал бы что SPI помехоустойчивый. Средств обнаружения ошибок и контроля данных нет. И как правило, скорость передачи данных больше, соответственно время передачи импульса короче, а значит больше вероятность появления несанкционированного бита.
Я в порядке экспериментов подключил RFID модуль по той же SPI - он не виснет, хотя находится рядом с дисплеем, т.е. дело даже не в SPI а в самой ILI9341-контроллере дисплея.
PS: Или может там вспышка самопальная была, гаражно-наколенного производства?
Если даже низкоомный и помехоустойчивый SPI от неё виснет, то что будет твориться например с I2C??? Вообще выгорать будет?[/uquote]
Не сказал бы что SPI помехоустойчивый. Средств обнаружения ошибок и контроля данных нет. И как правило, скорость передачи данных больше, соответственно время передачи импульса короче, а значит больше вероятность появления несанкционированного бита.
Я в порядке экспериментов подключил RFID модуль по той же SPI - он не виснет, хотя находится рядом с дисплеем, т.е. дело даже не в SPI а в самой ILI9341-контроллере дисплея.
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="ntfs1984",url="/forum/viewtopic.php?p=4632325#p4632325"]Не сказал бы что SPI помехоустойчивый. Средств обнаружения ошибок и контроля данных нет.[/uquote]Они там не нужны, потому и нет. При грамотном проектировании схемы и платы, умении разработчика читать документацию на применяемые компоненты и отсутствии багов в программе, SPI работает стабильно, и костыли не нужны.
-
ntfs1984
- Первый раз сказал Мяу!
- Сообщения: 23
- Зарегистрирован: Вт окт 01, 2024 16:17:36
- Откуда: Николаев
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="jcxz",url="/forum/viewtopic.php?p=4632399#p4632399"][uquote="ntfs1984",url="/forum/viewtopic.php?p=4632325#p4632325"]Не сказал бы что SPI помехоустойчивый. Средств обнаружения ошибок и контроля данных нет.[/uquote]Они там не нужны, потому и нет. При грамотном проектировании схемы и платы, умении разработчика читать документацию на применяемые компоненты и отсутствии багов в программе, SPI работает стабильно, и костыли не нужны.[/uquote]
Ни один механизм никогда не работает стабильно. Да и плюс грамотного проектирования, как такового - не бывает.
Любое проектирование всегда начинается с прототипа, исправления ошибок, добавления костылей, и только после - получается грамотно.
Прост
Ни один механизм никогда не работает стабильно. Да и плюс грамотного проектирования, как такового - не бывает.
Любое проектирование всегда начинается с прототипа, исправления ошибок, добавления костылей, и только после - получается грамотно.
Прост
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
ntfs1984, лучше бы поведали как у вас питание организовано, ну и параметры блока питания заодно.
Можно предположить, что реле даёт просадку.
Но опять же - это всё только домыслы.
По той информации, которую вы предоставили, что-то конкретное прояснить невозможно от слова совсем. В правильно заданном вопросе обычно содержится часть ответа. Но ваш же вопрос пока из рубрики: "Почему у меня не работает?"
Добавлено after 2 hours 46 minutes 50 seconds:
PS ..и фото обратной стороны дисплея не помешало бы
Добавлено after 8 minutes 10 seconds:
Базилюк, у меня дисплей на макетке подключён. И не один. Вопрос: какую мне бурю магнитную вокруг него создать, что бы его вырубило?
Добавлено after 1 minute 10 seconds:
На счёт фотовспышки, повторюсь, я с темы не съезжаю.
Возможно я заберу фотоаппарат, но чуть позже.
Добавлено after 13 minutes 51 second:
..и даже параметры вспышки попробую замерить в режиме hold, заодно с солцем сравним))

Можно предположить, что реле даёт просадку.
Но опять же - это всё только домыслы.
По той информации, которую вы предоставили, что-то конкретное прояснить невозможно от слова совсем. В правильно заданном вопросе обычно содержится часть ответа. Но ваш же вопрос пока из рубрики: "Почему у меня не работает?"
Добавлено after 2 hours 46 minutes 50 seconds:
PS ..и фото обратной стороны дисплея не помешало бы
Добавлено after 8 minutes 10 seconds:
Базилюк, у меня дисплей на макетке подключён. И не один. Вопрос: какую мне бурю магнитную вокруг него создать, что бы его вырубило?
Добавлено after 1 minute 10 seconds:
На счёт фотовспышки, повторюсь, я с темы не съезжаю.
Возможно я заберу фотоаппарат, но чуть позже.
Добавлено after 13 minutes 51 second:
..и даже параметры вспышки попробую замерить в режиме hold, заодно с солцем сравним))
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]Базилюк, у меня дисплей на макетке подключён. И не один. Вопрос: какую мне бурю магнитную вокруг него создать, что бы его вырубило?[/uquote]Организовать небольшой ядерный взрыв?
Это к тому, что в прошлом проекте у меня тоже был инвертор. В котором было несколько SPI-слэйвов. Только мощности немного иные, чем у ТС: до ~900V и до ~1200A от LiOn-батареи. Но SPI завесить ни разу не удалось.
Да, там были серьёзные проблемы с помехами по Ethernet (которые в конце-концов победили). Но вот SPI - ни в какую не вис, собака! И работал он у нас при этом на SCLK=36MHz и в режиме dual-SPI (т.е. - с высокоомными состояниями на шине). И ничего.
Добавлено after 8 minutes 22 seconds:
[uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]На счёт фотовспышки, повторюсь, я с темы не съезжаю.
Возможно я заберу фотоаппарат, но чуть позже.[/uquote]Может в схеме того девайса был косяк? Например - какой-нить длинный провод болтался свободным концом, возомнив себя антенной и паникуя при малейшем возмущении эфира?
Это к тому, что в прошлом проекте у меня тоже был инвертор. В котором было несколько SPI-слэйвов. Только мощности немного иные, чем у ТС: до ~900V и до ~1200A от LiOn-батареи. Но SPI завесить ни разу не удалось.
Да, там были серьёзные проблемы с помехами по Ethernet (которые в конце-концов победили). Но вот SPI - ни в какую не вис, собака! И работал он у нас при этом на SCLK=36MHz и в режиме dual-SPI (т.е. - с высокоомными состояниями на шине). И ничего.
Добавлено after 8 minutes 22 seconds:
[uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]На счёт фотовспышки, повторюсь, я с темы не съезжаю.
Возможно я заберу фотоаппарат, но чуть позже.[/uquote]Может в схеме того девайса был косяк? Например - какой-нить длинный провод болтался свободным концом, возомнив себя антенной и паникуя при малейшем возмущении эфира?
Re: Зависание SPI-дисплея на ESP32 при управлении инвертором
[uquote="shonty",url="/forum/viewtopic.php?p=4632646#p4632646"]н. Вопрос: какую мне бурю магнитную вокруг него создать, что бы его вырубило?[/uquote]
Работа обычной электросварки или мощных частотников (электромоторы такие). Видимо, ваши поделки существуют только на макетках и в тепличных условиях, коль не знаете таких простых истин.
Дело не самом SPI, а в общих принципах распространения помех. И SPI в этом плане не исключение. Просто у него нет контроля целостности сигнала и вообще пофик, че там по нему идет. Даже если провода вообще оторвались, он не остановится, а будет передавать в пустоту и принимать некий дефолтный уровень или шум.
И тут виснет не сам SPI, а дисплей, который принимает какую-то ошибочную команду, переводящую дисплей в некое неожиданное для программного кода состояние.
Освещенность от солнечных лучей - порядка 100 тыс. лм. Фотовспышка даст такую силу разве что только в упор на расстоянии пары-тройки сантиметров.
Работа обычной электросварки или мощных частотников (электромоторы такие). Видимо, ваши поделки существуют только на макетках и в тепличных условиях, коль не знаете таких простых истин.
Дело не самом SPI, а в общих принципах распространения помех. И SPI в этом плане не исключение. Просто у него нет контроля целостности сигнала и вообще пофик, че там по нему идет. Даже если провода вообще оторвались, он не остановится, а будет передавать в пустоту и принимать некий дефолтный уровень или шум.
И тут виснет не сам SPI, а дисплей, который принимает какую-то ошибочную команду, переводящую дисплей в некое неожиданное для программного кода состояние.
Освещенность от солнечных лучей - порядка 100 тыс. лм. Фотовспышка даст такую силу разве что только в упор на расстоянии пары-тройки сантиметров.
Последний раз редактировалось Базилюк Вс окт 06, 2024 19:38:01, всего редактировалось 1 раз.


