Я работаю над проектом, который включает в себя много переключений электромагнитов.
Коммутация управляется микроконтроллером серии PIC32MX6xx, который определяет требуемые состояния 80 электромагнитов 12 В постоянного тока (каждый рисунок около 15-200 мА) и выводит эти данные на серию взаимосвязанных сдвиговых регистров 74HC595. Выходы этих сдвиговых регистров включают и выключают полевой МОП-транзистор, который, в свою очередь, включает соответствующий электромагнит.
Проблема, с которой я сталкиваюсь, заключается в том, что при переключении электромагнитов PIC периодически перезагружается. Нет никакой конкретной последовательности/нагрузки переключения, которая вызывает этот сброс - это происходит совершенно случайно. Иногда для сброса требуется около 30 секунд переключения, а иногда почти 15 минут.
Что я точно знаю, так это то, что имеет место сброс MCLR — я определил это, отслеживая регистр RCON, где при каждом таком сбросе устанавливается бит флага EXTR (событие сброса MCLR). Это начальная схема PIC, с особым вниманием к выводу MCLR и развязывающим конденсаторам, как рекомендовано в техническом описании PIC.
Из схемы видно, что между GND и переключателем есть резистор 1k, а также подтягивающий резистор 10k на выводе MCLR. Приняв к сведению рекомендацию по установке конденсатора на выводе MCLR для предотвращения непреднамеренного сброса, я добавил керамический конденсатор емкостью 100 нФ между выводом MCLR и GND. Тем не менее, сбросы все еще происходят с перерывами, хотя кажется, что интервал между сбросами был больше, чем без конденсатора.
В надежде исключить возникновение сброса, я заменил резистор 1k между переключателем и GND, а также резистор 10k между выводом MCLR и VDD на резисторы 0 Ом (короткое замыкание). Это гарантирует, что вывод MCLR всегда подключен к VDD. Конденсатор на 100 нФ тоже присутствовал. Таким образом, единственным компонентом, подключенным к выводу MCLR, является конденсатор емкостью 100 нФ между выводом MCLR и GND. Тем не менее, периодические сбросы продолжают происходить.
Система питается от промышленного трансформатора с 380 В переменного тока, 3-фазным входом и 12 В постоянного тока на выходе. Этот выход 12 В постоянного тока затем является входом для двух стабилизаторов напряжения LM1085 - один с выходом 5 В (питание всех логических микросхем), а другой - 3,3 В (питание PIC). Цепь подавления перенапряжения, состоящая из металлооксидного варистора и демпферного диода, также установлена непосредственно перед входами регулятора напряжения (входы 12 В постоянного тока).
Схема переключателя MOSFET для каждого электромагнита выглядит следующим образом:
Как видно, схема переключения представляет собой топологию схемы переключения верхнего плеча (общий отрицательный), в которой для переключения используются транзисторы NMOS и PMOS. Обратите внимание, что здесь также установлен демпфирующий/обратноходовой диод. Светодиод предназначен исключительно для индикации состояния электромагнита. Это схема, используемая для каждого электромагнита в системе.
Поскольку вывод MCLR является сигналом с активным низким уровнем, единственное событие, которое я могу предвидеть, которое вызовет событие сброса, — это кратковременное падение VDD (поскольку вывод MCLR напрямую подключен к VDD). Однако, поскольку VDD обеспечивается стабилизатором напряжения LM1085, я предполагаю, что внезапный «положительный» скачок напряжения на источнике питания 12 В постоянного тока не вызовет такого падения выходного напряжения регулятора напряжения. Таким образом, единственное объяснение, которое я могу придумать, заключается в том, что напряжение питания, вероятно, на мгновение падает до такого уровня, что вызывает достаточно низкое напряжение на линии VDD, которое запускает событие сброса MCLR, хотя я не могу понять, как это могло бы произойти. случаться. Единственная другая возможность, на мой взгляд, может заключаться в том, что скачок напряжения распространяется на сигнал GND,
Некоторые ответы на возможные ожидаемые вопросы:
Учитывая меры предосторожности, которые я уже принял против скачков напряжения, чего мне еще не хватает? Крайне важно, чтобы PIC не сбрасывался с перерывами, как это происходит сейчас.
Входы, советы и комментарии будут с благодарностью.
Заранее спасибо.
Это сильно пахнет обратными токами соленоида и индуктивными путями отдачи, которые не обрабатываются должным образом. На соленоидах наблюдаются большие и быстрые скачки напряжения. Иногда одной из этих пар достаточно, чтобы микроконтроллер запутался в его внутренней логике. Механизм сброса срабатывает, но не внешним выводом MCLR.
Абсолютно первое, что вы должны сделать, это ДОБАВИТЬ БАЙПАСНУЮ КОЛПАЧКУ на контакты питания и заземления микроконтроллера! Поместите керамический колпачок емкостью 1 мкФ как можно ближе между выводами питания и заземления. Это именно тот симптом, который может вызвать отсутствие байпасной крышки.
Помимо этого, есть еще два очевидных подозреваемых: плохо спроектированные пути питания и обратного тока, а также плохо обработанные индуктивные отдачи.
Ваша схема не дает нам никакого представления о физическом расположении силовых и обратных токов соленоидов. Токовый контур питания соленоида и обратно к источнику питания должен иметь как можно меньше общего с контуром питания микроконтроллера. Например, если они имеют общий участок заземляющего провода, то высокие токи соленоида в этом заземляющем проводе могут вызвать дребезг земли для микро.
В идеале к соленоидам и цифровым схемам должны подаваться питание и земля по отдельности, причем они подключаются только в одном месте рядом с источником питания. Тогда, конечно, должен быть надлежащий обход мощности в каждой точке использования на цифровой стороне.
У вас есть диод, который должен улавливать индуктивную отдачу, но вы не показали никаких характеристик. Нет, 1N400x здесь не подходит. Я бы предпочел диод Шоттки из-за их очень быстрого времени отклика.
Расположение диода также важно. Хорошо иметь некоторую защиту в цепи вашего драйвера на случай, если что-то случится, но чтобы действительно справиться с индуктивной отдачей, ее следует шунтировать как можно ближе к источнику. Вы хотите сдержать неприятный ток в как можно меньшем и локальном контуре. Маленький размер сводит к минимуму его излучение и емкостную связь с другими объектами. Local не позволяет ему вызывать скачки земли и тому подобное в других частях схемы.
В качестве эксперимента попробуйте добавить диоды Шоттки в обратном порядке к каждому соленоиду прямо у соленоида . Возможно, вы не сможете поместить их в финальную версию, но все равно проведите эксперимент, чтобы посмотреть, изменится ли что-то.
Я подозреваю, что при соблюдении надлежащей гигиены все будет работать намного лучше. После того, как вы исправите этот беспорядок, подумайте о том, сколько раз вам говорили использовать обходные заглушки, тщательно размещать обратные текущие пути, держать петли маленькими и т. д., и вы думали «обойти schmypass, бла, бла» . Теперь вы знаете, почему это важно. Да, без этого иногда можно обойтись, но рано или поздно оно вас настигнет. Это просто произошло.
Давайте рассмотрим ваши возможности.
PIC имеет множество путей сброса с различными флагами регистров, чтобы указать источник сброса. MCLR является одним из них. Вы уже пробовали подключить MCLR непосредственно к шине питания для PIC, поэтому вы можете исключить шум на этом контакте как источник этого события.
PIC также оснащен функцией сброса при включении питания, которая происходит, если питание отключается и снова подается. Я предполагаю, что вы говорите, что флаг EXTR установлен, что установлен ТОЛЬКО этот флаг, то есть все остальные флаги не установлены. Таким образом, вы не потеряли питание на чипе.
Точно так же мощность не падала, и не устанавливался флажок отключения питания.
Итак, что нам остается... Чип сделал что-то внутри, что вы не можете объяснить.
Что может быть причиной этого? Микросхема имеет внутренний регулятор напряжения для управления внутренней схемой и требует наличия колпачка C1. Колпачок должен быть очень близко к контакту VCAP. Я предполагаю, что пока вы следовали этим инструкциям.
Итак, если предположить, что все вышесказанное верно, и мы знаем, что сброс происходит при переключении соленоидов, что может произойти?
Вы не указали в своих рисунках или тексте, как подключены обратные пути (массы) для соленоидов. Однако положение обратноходового диода D5 предполагает, что заземление нагрузки и логики общее. Это было бы ошибкой. Заземления от соленоидов должны возвращаться к регулятору 12 В по их собственному пути, отдельному от системы заземления 5 В, и обратный диод должен быть подключен к этой земле. Невыполнение этого требования может привести к значительному всплеску или смещению заземления PIC, что приведет к непредсказуемым внутренним последствиям.
Поскольку длина ваших выводов очень велика, я бы также предложил добавить небольшую демпферную цепь (RC) через обратный диод.
Далее, глядя на вашу схему драйвера, я не вижу резистора на затворе Q25.
МОП-транзисторы имеют значительную емкость на затворе как стока, так и истока. Это означает, что на выходе 74HC595 будет значительный всплеск тока при включении и выключении MOSFET. Кроме того, когда вы выключите его, сток будет близок к 12 В, и 74HC595 должен будет снизить это напряжение с конденсатора затвор-исток. Как это связано с PIC и что это делает с внутренними компонентами PIC, неясно.
Не менее 4 путей для нарушения работы MCU (1) связь электрических полей с MR (2) связь магнитных полей (3) разрушение VDD или перенапряжение VDD (4) выход из строя GND, что с обратными путями FET, разделяющими GND с MCU
Давайте сначала обратимся к (4):
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Интересно, что ЛОКАЛЬНАЯ БАТАРЕЯ в драйверах полевых транзисторов, использующая катушки индуктивности 1 мкГн в линии 12 вольт, с Rdampen 0,03 Ом, изолирует мусор драйвера полевых транзисторов. Этот 1 мкГн должен выдерживать большой ток: 30 соленоидов * 0,2 ампера = 6 ампер.
Обратите внимание на разделение GND между драйверами FET и MCU. Делая ЛОКАЛЬНУЮ БАТАРЕЮ, переходные токи в GND очень малы; конденсатор емкостью 1000 мкФ обеспечивает импульсные токи; если переключение соленоида занимает 10 мкс при токе 0,2 ампера, нарушение VDD в FET Drivers составляет
Если ЛОКАЛЬНАЯ БАТАРЕЯ не останавливает сбросы, то может помочь экранирующая пластина. Чтобы зафиксировать ввод заряда Efield, привяжите экран КОРОТКИМ ПРОВОДОМ к ЗАЗЕМЛЕНИЮ MCU; Вы используете Ground Plane под MCU?
===========================================
Какое расстроенное напряжение из-за быстро переключаемых токов через МОП-транзисторы? [предупреждение: этот пример предназначен для того, чтобы расстроить вас, чтобы побудить вас заняться планированием печатной платы (или нескольких печатных плат) и контуров. ]
Предположим, у вас есть 0,2 ампера, переключение за 5 наносекунд. Течет по длинному проводу. Магнитное соединение в петлю размером 0,1 м * 0,1 м (квадрат 4 дюйма). Чему равно индуцированное напряжение, если расстояние равно 10 см (0,1 м)?
Используйте формулу
Площадь = 0,1*0,1 = 0,01 метра. Расстояние 0,1 метра. Mu0 равно 4*I*10^-7. Формула становится
Vinduce = 2e-7 * 0,01/0,1 * 40 миллионов ампер/сек Vinduce = 2e-7 * 0,1 * 40e+6 = 8 * e-7 * e+6 = 8 * e-1 = 0,8 вольт.
Одновременное переключение двух полевых транзисторов: 1,6 В. Одновременное переключение трех полевых транзисторов: 2,4 В.
Итак, давайте пересмотрим систему GND:
Тревор_G
аналоговые системы рф
волна.жако