Почему подключение сильноточного устройства к моей цифровой схеме вызывает странное поведение?

у меня есть

  • ардуино
  • микроконтроллер
  • другая цифровая вещь

и когда я подключаю

  • двигатель
  • насос
  • обогреватель
  • другая вещь с высоким током

я испытываю

  • странные измерения АЦП
  • перезагружается
  • сбои
  • ошибки в цифровой связи
  • другое неожиданное поведение

Мой блок питания подходит для питания всех этих устройств. У меня нет осциллографа, поэтому я не вижу, что на самом деле происходит в цепи. Какова вероятная причина?

Ответы (2)

Без подробностей невозможно дать конкретный ответ. Посмотрите внимательно на эти вещи:

  1. Заземление . Это именно тот симптом, который вы получаете от плохой общей стратегии заземления. Без блок-схемы с указанием питания и заземления всего подключенного невозможно дать конкретный совет. Однако внимательно визуализируйте все обратные токи заземления и учтите, что любой ток на заземляющем проводнике вызовет смещение заземления.

  2. Локальная развязка . Убедитесь, что между каждой парой контактов питания и заземления каждой микросхемы находится керамический колпачок емкостью 1 мкФ или около того. Эти соединения должны быть короткими, потому что даже небольшая последовательная индуктивность значительно снижает их эффективность.

  3. Возможность скачка напряжения питания. Убедитесь, что в источнике питания имеется достаточная объемная емкость резервуара для обработки переходных процессов в течение любого времени, необходимого самому источнику питания, чтобы наверстать упущенное и подавать больший ток.

  4. Индуктивные диоды. Убедитесь, что любая возможная индуктивная нагрузка, включая любую внешнюю нагрузку, имеет диод обратной полярности. Для напряжений до 50-100 В или около того они должны быть Шоттки из-за их высокой скорости. Это относится к нагрузкам, управляемым постоянным током. Поскольку они всегда управляются с одной полярностью, диод может безопасно закоротить другую полярность. Как указал Тут в комментарии, для нагрузок переменного тока необходимо использовать более сложные схемы снаббера и/или ограничения.

Индуктивные улавливающие диоды при индуктивных нагрузках, управляемых постоянным током. Для переменного тока вам нужно что-то вроде MOV и/или демпферов.
@Tut: Хороший вопрос. Я обновил свой ответ соответственно.

Рассмотрим эти две схемы:

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

Они одинаковы? В модели с сосредоточенными элементами они есть. Однако наша модель игнорирует важный факт: реальные провода имеют сопротивление. Давайте представим пару схем этой модели, которая:

схематический

смоделируйте эту схему

Рассмотрим в схеме справа, что происходит при изменении тока, потребляемого двигателем. В один момент он выключен и рисует 0А, потом включается и рисует 1А. Этот 1А должен проходить через R1 и R3. По закону Ома падение напряжения на этих резисторах должно быть 1 А 1 Ом знак равно 1 В . С потерей 1 В напряжения питания на каждом из R1 и R3, с точки зрения микроконтроллера, напряжение питания внезапно становится 10 В, а не 12 В.

Многим цифровым электронным устройствам не нравится, когда их напряжение питания быстро меняется. Дополнительные проблемы возникают, когда несколько устройств пытаются общаться друг с другом по цифровой шине, но высокие токи в шинах питания дают каждому устройству различное представление о том, что такое «земля». Посмотрите на «землю» для MCU и, в данном случае, на двигатель. Все резисторы имеют 1 А и, следовательно, 1 В на них. «Земля» на MCU отличается на 1 В от «земли» на двигателе! Если это цифровые устройства, которые сигнализируют «0», делая напряжение равным «земле», они не будут очень хорошо общаться, когда не могут договориться о том, что такое «земля».

Решение этой проблемы состоит в том, чтобы провести оба соединения источника питания для каждого устройства полностью обратно к аккумулятору или регулятору напряжения и выполнить там все соединения источника питания для каждого устройства. Это ситуация, смоделированная в схеме слева. Здесь, когда двигатель включается, на R5 и R7 будет большой ток. Здесь будет некоторое падение напряжения, но двигатель не будет возражать. При этом ток в R6 и R8 не изменился, как и напряжение. Таким образом, напряжение питания, воспринимаемое микроконтроллером, постоянно.

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

Это лишь одно из возможных объяснений. Другие ответы, несомненно, предоставят дополнительные возможности.