Post #306
1.12K
Бывало ли у вас такое, что на работу вашей разработки влияют совершенно неожиданные вещи?
Например… настольная лампа!
Вы просто включаете лампу, а на плате срабатывает что-то вроде сигнала ALARM.
Ничего себе! — подумали мои коллеги, разрабатывавшие какой-то контроллер.
Раньше всё работало хорошо, а тут вылезло что-то.
Они измерили сигнал осциллографом и при включении лампы увидели звон на линии ALARM.
Одно из колебаний звона по своей амплитуде как раз достигало уровня срабатывания логической единицы. Из-за этого контроллер и детектировал ошибку.
На первый взгляд казалось, что лампа при включении генерирует электромагнитный импульс такой силы, что вызывает серьёзные помехи. Но помеха была только на ALARM, а все остальные сигналы оставались стабильными.
Почему?
Отличие ALARM от остальных было в том, что к нему подключена кнопка. Причем кнопка, находящаяся на расстоянии пары десятка сантиметров от платы.
Но самое главное — по умолчанию кнопка была нормально замкнутой. При нажатии она размыкалась, а в состоянии покоя оставалась замкнутой.
Большинство кнопок работает по противоположному принципу, но там почему-то было именно так.
В результате ALARM, из-за постоянно замкнутой кнопки, представлял собой контур длиной порядка 20 см, который фактически становился антенной. А она радостно собирала на себя весь электромагнитный мусор из окружающего пространства.
Просто большинство мусора не имело достаточной энергии, чтобы вызвать срабатывание логической единицы.
А вот китайская лампа смогла!
Девайс уже находился на предсерийной стадии, а такая странная конфигурация коллегам досталась от предыдущих разработчиков. Поэтому проблему пофиксили обычным 0.1мкФ конденсатором.
Он подавлял помехи до уровня, не дотягивающего до порога срабатывания, и лампа больше не вызывала ложных триггеров.
Для меня эта история — отличная иллюстрация ситуации, когда инженеры используют в своих разработках странные, криво-косые технические решения, оправдывая их тем, что «мы проверяли, и всё работает».
К сожалению, если что-то работало в одних условиях, это не значит, что оно будет работать и в других.
(картинка просто как иллюстрация, сделана при других условиях)
Например… настольная лампа!
Вы просто включаете лампу, а на плате срабатывает что-то вроде сигнала ALARM.
Ничего себе! — подумали мои коллеги, разрабатывавшие какой-то контроллер.
Раньше всё работало хорошо, а тут вылезло что-то.
Они измерили сигнал осциллографом и при включении лампы увидели звон на линии ALARM.
Одно из колебаний звона по своей амплитуде как раз достигало уровня срабатывания логической единицы. Из-за этого контроллер и детектировал ошибку.
На первый взгляд казалось, что лампа при включении генерирует электромагнитный импульс такой силы, что вызывает серьёзные помехи. Но помеха была только на ALARM, а все остальные сигналы оставались стабильными.
Почему?
Отличие ALARM от остальных было в том, что к нему подключена кнопка. Причем кнопка, находящаяся на расстоянии пары десятка сантиметров от платы.
Но самое главное — по умолчанию кнопка была нормально замкнутой. При нажатии она размыкалась, а в состоянии покоя оставалась замкнутой.
Большинство кнопок работает по противоположному принципу, но там почему-то было именно так.
В результате ALARM, из-за постоянно замкнутой кнопки, представлял собой контур длиной порядка 20 см, который фактически становился антенной. А она радостно собирала на себя весь электромагнитный мусор из окружающего пространства.
Просто большинство мусора не имело достаточной энергии, чтобы вызвать срабатывание логической единицы.
А вот китайская лампа смогла!
Девайс уже находился на предсерийной стадии, а такая странная конфигурация коллегам досталась от предыдущих разработчиков. Поэтому проблему пофиксили обычным 0.1мкФ конденсатором.
Он подавлял помехи до уровня, не дотягивающего до порога срабатывания, и лампа больше не вызывала ложных триггеров.
Для меня эта история — отличная иллюстрация ситуации, когда инженеры используют в своих разработках странные, криво-косые технические решения, оправдывая их тем, что «мы проверяли, и всё работает».
К сожалению, если что-то работало в одних условиях, это не значит, что оно будет работать и в других.
(картинка просто как иллюстрация, сделана при других условиях)
- 🔥 12
- 🤯 3
- 👻 1


