STM32F103 умирает от температуры

Все о микроконтроллерах: AVR, PIC, STM8, STM32, Arduino, Altera, Xilinx, все что угодно. Этот раздел для всего что клацает байтиками.
AlexeiFromMinsk
Сообщения: 7

Сообщение AlexeiFromMinsk » 22 июн 2014, 10:01

Уважаемые форумчане, возник следующий вопрос: на STM32F103 сделан контроллер управления светодиодным табло, написана программа, отлажена и в комнатных условиях работает как часы. Но: стоит феном подуть на контроллер, даже не разогревая его до жути (термочувствительными частями тела зафиксирована температура не более 50 градусов (субъективно)) контроллер начинает сбоить. Это выражается в хаотичном выводе в регистры табло "левых" значений, но что характерно в одних и тех же местах (периодичность сбоя?) и при дальнейшем прогреве умирает вовсе. После снятия питания и отводе тепла от корпуса, при включении все работает нормально до следующего нагрева. Контроллер тактируется от внешнего кварца 8МГц + PLL x4. Было предположена микротрещина в плате, плата переделана - стало хуже (падает при меньшей температуре). Замена контроллеров дала лишь разные температуры сбоя. В какую сторону копать?

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 22 июн 2014, 10:07

Я буквально недавно делал тоже самое - грел феном stm32f100c4, все работало и не умирало. Судя по тому, что замена платы что-то меняет, дело в ней.

AlexeiFromMinsk
Сообщения: 7

Сообщение AlexeiFromMinsk » 22 июн 2014, 10:37

По плате вроде все что требуется сделано, земельный полигон на всю нижнюю сторону, кондеры по всем ногам питания. При использовании PLL может есть особые требования к внешним элементам? В мануале на контроллер и на семейство не обнаружил вроде ничего по вопросу.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 22 июн 2014, 10:52

Да, вроде нет. Но то, что я грел работало прямо от внутреннего RC. Есть простой способ узнать - сделать мигалку светодиодом и попробовать погреть с PLL и без онного.

Keroronsk
Сообщения: 21

Сообщение Keroronsk » 23 июн 2014, 08:33

Может это не контроллер перегревается, а другое что? Сам дисплей, регулятор питания и т.п. Какой фен, паяльный, строительный, для волос?

AlexeiFromMinsk
Сообщения: 7

Сообщение AlexeiFromMinsk » 23 июн 2014, 19:20

Пробовали локализовать слабое место, обогрели с термоэкраном по отдельности все рядом лежащие компоненты - при нагревании только контроллера происходит сбой, и главное, сразу после сбоя если его остудить сразу нормальный запуск. Фен от паяльной станции, нагрев без дури.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 23 июн 2014, 19:22

А пробовали запускать без PLL ?

AlexeiFromMinsk
Сообщения: 7

Сообщение AlexeiFromMinsk » 27 июн 2014, 21:23

Нет, не пробовали, как-то не подумал. Завтра попробую, спс за идею.

AlexeiFromMinsk
Сообщения: 7

Сообщение AlexeiFromMinsk » 01 июл 2014, 00:28

Отключив PLL получили устойчивость в работе вплоть до выпаивания микросхемы феном ))) Проблему решил установив кварц на 16 МГц и подтянув код в сторону отпимизации по времени. Вопрос о PLL остается пока нерешенным.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 01 июл 2014, 06:49

Скорее - всего, у вас плохо разведена плата или жесткие внешние помехи. Похоже, PLL ловит шум. При разогреве ситуация ухудшается (плывет VCO) и PLL разлочивается.

AlexeiFromMinsk
Сообщения: 7

Сообщение AlexeiFromMinsk » 26 авг 2014, 08:11

Нашелся ответ - оставлен в воздухе вывод BOOT0. Стыдно конечно, но факт.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 26 авг 2014, 08:21

А разве она не только при старте сэмплируется?

AlexeiFromMinsk
Сообщения: 7

Сообщение AlexeiFromMinsk » 27 авг 2014, 07:58

Прошу прощения, что пытался ввести в заблуждение. На самом деле с выводом BOOT0 - это решение другой возникшей проблемы. На опытной плате не развел этот вывод ибо просто мне не нужен, на рабочем столе все запускается на ура и без вопросов. Выехали на рельный объект, там помещение с повышенной влажностью - плата не запускается сама вообще ни разу, только с ST-LINKом и иногда с пинцетным сбросом. Час потерял пока сообразил этот вывод проверить (с 32 не хватает опыта), подтянул к земле - 100% запуск и никаких сбоев. Так я проверил и чертеж платы с которой собсвенно вопрос возник, там уже есть этот косяк - так же в воздухе висит нога. Но плата уже недоступна - работает в табло в реальных условиях, проходит проверку. PLL я отключил, ужал код и запустил все это под 16 МГц кварцем, на сколько я знаю эти два месяца работает без сбоев. Может это также является причиной?

Вернуться в «Микроконтроллеры и ПЛИС»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей