Ви не увійшли.
Сторінки 1
Вітаю!
В промисловому середовищі ( індукційні наводки і т.п. ) завжди використовував атмега8а, 328р.
Зараз треба зробити доступ по wi fi.
Розглядаю для цього esp32. По об'єму пам'яті на неї можна реалізувати як і сам сервер, так і опитування датчиків і логику керування пристроями.
Питання - можна так зробити? Чи є кращі рішення для роботи в "шумному" промисловому середовищі?
Буду вдячний за відповідь людини з досвідом у цьому питанні
Неактивний
Самому кристалу пофіг. На esp роблять приймачі для fpv дронів, там завади від двигунів досить серйозні. Беріть esp з виносною антеною.
На дронах плата керування - це сплошний екран. Хотілось би почути думку про стабільність АЦП, та стійкість до завад в промислових умовах. Антена не дуже потпібна - 10метрів максимум, що потрібно...
Вам дякую за відповідь
Неактивний
Електромагнітна сумісність визначається для пристроя в цілому, а не для окремого компонента, такого як МК.
Результат залежить від реалізації схеми живлення, способу підключення датчиків та виконавчих пристроїв, розводки плати, екранування і т.д.
"Шумне" середовище - теж розпливчате поняття, у шума є певний спектр, інтенсивність.
Навряд чи на ваше питання "чи можна так зробити" можна відповісти без практичних випробовувань конкретного пристроя в конкретних умовах.
Неактивний
Наприклад на дешевих esp32c3 з розпаяною антеною - антена г%%%о. 10 метрів може і не добити.
Щодо можливостей самих контролерів по забезпеченню надійності, то потрібно дивитись, які можливості вам потрібні. Звісно, абсолютну надійнісь забезпечити неможливо, але потрібно намагатись, щоб у разі збою поведінка системи була принаймні детермінованою.
Наприклад, у STM32 та деяких AVR є апаратний механізм Clock Failure Detection. У ESP32 такого не зустрічав. Може тому що розробники вирішили, що збій осциляції не є проблемою у сценаріях застосування ESP32, а може тому що стабільність забезпечуєься якимись іншими внутрішніми механізмами.
Brownout Detector наче б то є у всіх.
Остання редакція dimich (2026-03-30 21:31:04)
Неактивний
В мене були проблеми на avr, пов'язані з кварцем. При зовніх завадах чіп починав поводити себе хаотично. Це було не часто, але було. Точного вимірювання часу було не потрібно, тому проблема повністю була вирішена шляхом переходу на внутрішній генератор. Я більш всього не хочу щоб таке трапилось з esp32, тоб то не ребут або резет по вачдогу а саме раптова хаотична поведінка
Неактивний
В мене були проблеми на avr, пов'язані з кварцем. При зовніх завадах чіп починав поводити себе хаотично. Це було не часто, але було. Точного вимірювання часу було не потрібно, тому проблема повністю була вирішена шляхом переходу на внутрішній генератор. Я більш всього не хочу щоб таке трапилось з esp32, тоб то не ребут або резет по вачдогу а саме раптова хаотична поведінка
Отож. Внутрішній RC-осцилятор надійніше, але чи буде на ESP32 з ним працювати вайфай? В цю тему не заглиблювався, припускаю, що тільки з зовнішнім кварцем. Треба дивитись в документацію, як там підсистема тактування реалізована, але мені зараз лінь шукати.
Може спеціалісти по ESP32 підкажуть, чи можна у ESP32 тактувати ядро внутрішнім осцилятором, а вайфай зовнішнім кварцем.
Там же ще низькочастотний RTC осцилятор є.
Якщо збираєтесь використовувати екранований модуль, то і кварц буде під екраном, так що з точки зору електромагнітних перешкод має бути ок. Якщо по живленню чи з периферії нічого не пролізе.
З кварцем проблеми в основному через механіку, температуру, або плату погано помили. Але у разі збою ядро з Clock Failure Detector автоматично перемкнеться на внутрішній осцилятор, і як мінімум дасть можливість сигналізувати про збій.
Також не зашкодить увімкнути бортовий ватчдог, або навіть поставити зовнішній.
Неактивний
Что-то странно. Кварц может "плыть" только от перепадов температуры (физическую поломку не рассматриваем). Если внешний кварц начал выпендриваться, то внутреннему RC точно шляпа при таких условиях. Как он мог работать... может внешние некондиция были?
Остання редакція Kino (2026-03-31 11:11:52)
Неактивний
Что-то странно. Кварц может "плыть" только от перепадов температуры
Мова не про стабільність частоти, а про зрив генерації. Кварцу потрібен деякий час, щоб коливання стабілізувались та вийшли на потрібну амплітуду. А якщо в МК використовується PLL, то ще й час на захоплення фази.
Ще коли по живленню йде дзвін, близький до однієї з гармонік, кварц може намагатись заводитись не на тій гармоніці, на якій потрібно.
Неактивний
Кварцу потрібен деякий час, щоб коливання стабілізувались та вийшли на потрібну амплітуду.
Согласен, в авр для этого даже фьюзы специальные есть. (65 мс максимум, если память не подводит). Только речь же была, что программа "херовила", т.е. тактирование, какое-никакое, но всё же было. Или я не понял вопрос.
зы. Да и то, что выручил внешний генератор тоже такое... типа внешний генератор выполнен на закосмических комплектующих и не может глючить?
Остання редакція Kino (2026-03-31 18:42:50)
Неактивний
Согласен, в авр для этого даже фьюзы специальные есть. (65 мс максимум, если память не подводит). Только речь же была, что программа "херовила", т.е. тактирование, какое-никакое, но всё же было. Или я не понял вопрос.
Ну ось іде нормальне тактування, програма виконується. Тут приходить імпульс, який зриває генерацію, кварц починає "розкачуватись" заново. Ядро замість стабільних 16 МГц отримує хто зна шо в якому спектрі. При цьому відбувається читання/запис регістрів чи SRAM. Прочитатись чи записатись може зовсім не те, що мало би при нормальній роботі.
зы. Да и то, что выручил внешний генератор тоже такое...
Автор же про внутрішній RC писав. Релаксаційний осцилятор сам по собі набагато стабільніший, тим більше на кристалі самого МК.
Неактивний
Ну ось іде нормальне тактування, програма виконується. Тут приходить імпульс, який зриває генерацію, кварц починає "розкачуватись" заново. Ядро замість стабільних 16 МГц отримує хто зна шо в якому спектрі. При цьому відбувається читання/запис регістрів чи SRAM. Прочитатись чи записатись може зовсім не те, що мало би при нормальній роботі.
Вот это самый главный неиследованный вопрос. Почему должно что-то не то записаться? Если, например, подключить к выводу XTAL генератор импульсов и подавать по одному импульсу хоть раз в день, от этого программа не будет выполняться?
зы. то что "херовила" по уарт и остальным протоколам, где нужна выдержка времянки то понятно, но в целом то прога продолжает работать.
Остання редакція Kino (2026-03-31 19:53:35)
Неактивний
Вот это самый главный неиследованный вопрос. Почему должно что-то не то записаться? Если, например, подключить к выводу XTAL генератор импульсов и подавать по одному импульсу хоть раз в день, от этого программа не будет выполняться?
З даташита Atmega328P:
When applying an external clock, it is required to avoid sudden changes in the applied clock frequency to ensure stable operation of the MCU. A variation in frequency of more than 2% from one clock cycle to the next can lead to unpredictable behavior. If changes of more than 2% is required, ensure that the MCU is kept in reset during the changes.
Це якщо сконфігуровано для External Clock. Якщо сконфігуровано для кварца, то таке взагалі не передбачається.
Чисто теоретично, в повністю статичному МК (без DRAM, такому як AVR), якщо імпульси з правильними фронтами (з одного боку достатній slew rate, з іншого вищі гармоніки на допустимому рівні), то має працювати (ще питання по роботі АЦП та записі в EEPROM).
Але які там будуть імпульси, коли генерація ще не стабілізувалась? От перевищить амплітуда поріг на декілька наносекунд, один блок МК сприйме це за тактовий імпульс, а інший його пропустить, і все.
В деяких схемах ставлять D-тригер для поділу частоти кварца навпіл, це дещо підвищує стабільність, але не у всіх випадках.
Остання редакція dimich (2026-03-31 20:33:38)
Неактивний
Сторінки 1