Post #119
145
Скоро приедет моя первая плата в новой компании, и я очень переживаю. Это моя первая разработка с высокими скоростями, микропроцессором и HDMI.
Проект важный и срочный, а я в хайспиде неопытный и неуверенный.
На этом фоне мне вспомнилось, как я отлаживал свою первую плату на предыдущем месте работы.
Я, можно сказать, только начинал свой путь в HW разработке, и моей первой задачей было сделать апдейт уже существующей BMS-платы для квадрокоптерной батареи. Основной функционал был давно разработан и проверен на практике, а мне нужно было добавить пару элементов из уже нарисованной схемы и создать новую топологию под новый конструктив.
Батарея, для которой делалась плата, была достаточно мощной - 17000 мА/ч и состояла из десятка LiPo-ячеек. Такая штука однажды сожгла весь этаж на производстве, и наслушавшись подобных историй, а также всяких предосторожностей о работе с LiPo, мне было жутко страшно не только налажать в такой простой задаче, но и поджечь весь офис из-за ошибки в дизайне.
Я настолько боялся вызвать пожар в офисе, что при проверке первой версии платы постоянно держал руку на ячейках батареи, оперативно контролируя таким образом ее перегрев.
Но все шло достаточно неплохо: было несколько некритичных ошибок, напряжение и ток считывались, батарея разряжалась и заряжалась.
Можно сказать, что первое задание выполнено, и я доказал, что я не идиот. На радостях мы быстро выпустили вторую ревизию, и с ней уже собрали первый прототип с механикой.
И вот после полной сборки обнаружилась странная вещь: при зарядке у батареи переставал работать SMBus интерфейс. SMBus, по сути, это I2C - достаточно простой интерфейс, который стабильно работал на этапе дебага.
Ну, окей. Пошел разбираться. Включил зарядку, встаю осциллографом, а таааам... Там на интерфейсе были такие шумы, что просто ад. Амплитуда по несколько вольт в обе стороны. Там либо пороги срабатывания пробиваются, либо в защиту вообще уходит. Короче, дело жопа, и непонятно, почему вообще это обнаружилось только сейчас.
Разбираю механику, вытаскиваю все наружу, включаю зарядку, начинаю тыкаться осциллографом и в ужасе вижу, что куда бы я не встал щупом - ВЕЗДЕ такие шумы. На каждой линии. На каждом сигнале. Будь то SMBus, питание, единица от микроконтроллера или даже земля!!!
Шумы на земле меня настолько сбили с толку, что я вообще не знал, что делать. С концепцией короткой земли на щупе осциллографа я тогда не был знаком)) Но интерфейс всё-таки отрубался, так что дело было не в измерениях.
Я пошел к коллегам, которые делали предыдущие версии плат, спрашиваю, не сталкивались ли они с подобной проблемой в своем дизайне. Они глаза округляют, плечами жмут, мол, нет, всё в порядке, SMBus стабильно работает.
Ну ладно. Значит, дело всё-таки в моем дизайне. Я долго пробовал различные тактики фильтрации, много чего измерял, но ничего вообще не помогало. Шумы как были, так и оставались. Интерфейс как падал, так и падал.
В итоге под подозрение попала земля печатной платы. Под руководством Бориса Георгиевича я сделал там весьма странные вырезы в полигоне, чтобы разделить земли. Коллеги удивлялись, видя это, но спорить с авторитетом не хотели.
Самостоятельно почитав умные статьи на тему разделения, а вернее, пользы "не разделения" земель, я сделал сплошной полигон и отправил это в третью ревизию, в надежде, что проблема будет решена. Теперь то все сделано по уму.
Приходит третья ревизия. Я с молящими глазами подключаю плату. Коллеги держат на готове плакаты "а я же говорил" для Бориса Георгиевича, но... Картина точно такая же. Земля не помогла. Я в отчаянии. И тут уже подходит мой начальник и спрашивает:
- Владос, а ты собственно говоря, чем заряжаешь? Ты пробовал с другой зарядкой?
- Нууу... эээ... У предыдущих разработчиков проблем с этой зарядкой не было... Ну и как бы, типа, эээ, наверное, дело не в ней...
- Ну а ты попробуй, Владос.
Часть 1 | Часть 2
Telegram Сёркиты Chat Проект важный и срочный, а я в хайспиде неопытный и неуверенный.
На этом фоне мне вспомнилось, как я отлаживал свою первую плату на предыдущем месте работы.
Я, можно сказать, только начинал свой путь в HW разработке, и моей первой задачей было сделать апдейт уже существующей BMS-платы для квадрокоптерной батареи. Основной функционал был давно разработан и проверен на практике, а мне нужно было добавить пару элементов из уже нарисованной схемы и создать новую топологию под новый конструктив.
Батарея, для которой делалась плата, была достаточно мощной - 17000 мА/ч и состояла из десятка LiPo-ячеек. Такая штука однажды сожгла весь этаж на производстве, и наслушавшись подобных историй, а также всяких предосторожностей о работе с LiPo, мне было жутко страшно не только налажать в такой простой задаче, но и поджечь весь офис из-за ошибки в дизайне.
Я настолько боялся вызвать пожар в офисе, что при проверке первой версии платы постоянно держал руку на ячейках батареи, оперативно контролируя таким образом ее перегрев.
Но все шло достаточно неплохо: было несколько некритичных ошибок, напряжение и ток считывались, батарея разряжалась и заряжалась.
Можно сказать, что первое задание выполнено, и я доказал, что я не идиот. На радостях мы быстро выпустили вторую ревизию, и с ней уже собрали первый прототип с механикой.
И вот после полной сборки обнаружилась странная вещь: при зарядке у батареи переставал работать SMBus интерфейс. SMBus, по сути, это I2C - достаточно простой интерфейс, который стабильно работал на этапе дебага.
Ну, окей. Пошел разбираться. Включил зарядку, встаю осциллографом, а таааам... Там на интерфейсе были такие шумы, что просто ад. Амплитуда по несколько вольт в обе стороны. Там либо пороги срабатывания пробиваются, либо в защиту вообще уходит. Короче, дело жопа, и непонятно, почему вообще это обнаружилось только сейчас.
Разбираю механику, вытаскиваю все наружу, включаю зарядку, начинаю тыкаться осциллографом и в ужасе вижу, что куда бы я не встал щупом - ВЕЗДЕ такие шумы. На каждой линии. На каждом сигнале. Будь то SMBus, питание, единица от микроконтроллера или даже земля!!!
Шумы на земле меня настолько сбили с толку, что я вообще не знал, что делать. С концепцией короткой земли на щупе осциллографа я тогда не был знаком)) Но интерфейс всё-таки отрубался, так что дело было не в измерениях.
Я пошел к коллегам, которые делали предыдущие версии плат, спрашиваю, не сталкивались ли они с подобной проблемой в своем дизайне. Они глаза округляют, плечами жмут, мол, нет, всё в порядке, SMBus стабильно работает.
Ну ладно. Значит, дело всё-таки в моем дизайне. Я долго пробовал различные тактики фильтрации, много чего измерял, но ничего вообще не помогало. Шумы как были, так и оставались. Интерфейс как падал, так и падал.
В итоге под подозрение попала земля печатной платы. Под руководством Бориса Георгиевича я сделал там весьма странные вырезы в полигоне, чтобы разделить земли. Коллеги удивлялись, видя это, но спорить с авторитетом не хотели.
Самостоятельно почитав умные статьи на тему разделения, а вернее, пользы "не разделения" земель, я сделал сплошной полигон и отправил это в третью ревизию, в надежде, что проблема будет решена. Теперь то все сделано по уму.
Приходит третья ревизия. Я с молящими глазами подключаю плату. Коллеги держат на готове плакаты "а я же говорил" для Бориса Георгиевича, но... Картина точно такая же. Земля не помогла. Я в отчаянии. И тут уже подходит мой начальник и спрашивает:
- Владос, а ты собственно говоря, чем заряжаешь? Ты пробовал с другой зарядкой?
- Нууу... эээ... У предыдущих разработчиков проблем с этой зарядкой не было... Ну и как бы, типа, эээ, наверное, дело не в ней...
- Ну а ты попробуй, Владос.
Часть 1 | Часть 2
- 😁 4
- ❤ 2
- 👏 1












