Наводки от шагового двигателя. Экранирование

Здравия всем!

Тема больше “на пообщаться”.
В некоем устройстве, на борту установлено пара шаговых двигателей. Один из них ( NEMA23 23CS3DC-500) весьма близко к цифровому модулю управления. Двигатель 5А. Управляется от драйвера DM556S (PUL, DIR, ENA).
При тестировании кода и отслеживании управляющих сигналов на драйвере (PUL, DIR), при отключенном от питания
двигателе , картина с лог. анализатора чистая и правильная.
Но при подаче питания ( 24В), на управляющих выводах драйвера наблюдается довольно приличный шум ( см. картинки). И , как следствие, двигатель работает не ровно.
Напрашивается решение проблемы путем экранирования сигнальной шины ( провода).
Какой экранированный кабель оптимально подойдет для экранирования шумов?
Есть кабель от осциллографа ( 1 жила и экран), есть многожильный кабель от “мультикабеля” применяемого в звуковом микшировании.
Есть ли смысл обернуть шаговый двигатель широкой лентой из пермаллоя ?
Как решаете подобную проблему с наводками ?

Оптимально все-таки понять, что ты там наворотил, и откуда это берется, потому что шаговики не шумят радиочастотами, и перекачать выход мк - нужны какие-то огромные помехи.

1 лайк

По фото прототипа, вряд ли что то можно понять вразумительное…
Но хотя бы расположение компонентов. ( Arduino в самом низу).

Но набросал схему подключения.

В описании драйвера DM556S указывают на то, что не нужно применять подтягивающий резистор к GND по сигнальной шине.

Но может в этом проблема? По идее там надо подтянуть к земле PUL + и DIR + , через резистор, порядка 2к2.

Электричество течет по замкнутой петле. Путь сигнала и путь возврата должны пролегать рядом, одним жгутом, у тебя же возврат step/dir формирует огромную петлю, которая ловит всё что попало. Еще и через провод питания, на котором тоже напряжение скачет, спасибо закону ома. Ну и еще куча такого наверняка, судя по этой каше.

Длина жгута PUL/DIR/ENA порядка 20-25см. Я не могу использовать более короткий жгут. Если заменить этот жгут на экранированный кабель, с витой парой, например, как у CAT5, это может решить проблему с наводками?

Каша, в следующей ревизии платы контроля будет сведена к минимуму ( при нынешнем расположении элементов управления).
Но я хочу предусмотреть тип кабелей подключения.

Ты вообще прочитал, что тебе написано? При чем тут длина?
ПУТЬ СИГНАЛА
и ПУТЬ ВОЗВРАТА
ОБА
в ОДНОМ ЖГУТЕ

Поясни.
Какой возврат?
На драйвер приходят 3 провода - PUL, DIR, ENA - это сигнальный жгут. Ты его называешь - “возвратом”? Тогда где сигнал?
Или ты имеешь в виду к жгуту PUL, DIR, ENA добавить еще провод GND? что бы этот GND приходил из Arduino, откуда выходят сигнальные провода, а не был взят от ближайшего GND от питания драйвера ( несмотря на то, что GND общий для вей системы).

Нет, не общий. Провод это не волшебный телепорт. Он подвержен закону ома, электромагнитному полю, электрическому полю, скин-эфекту, и прочей физике.

Понял тебя. Ты подразумеваешь “земляную петлю”.
Я откорректирую проводку, что бы была общая точка GND. И проверю работу схемы.

Я подразумеваю, что есть простые правила монтажа электроприборов и разводки печатных плат - путь сигнала и путь возврата в одном жгуте. А эффектов, которые это предотвращает - десятки.

Это хорошо видно, когда конструируешь ВЧ аппаратуру…

сумма токов (с учетом направления) управляющих и питающих (земля, +5) сигналах в жгуте от Ардуины до драйвера д.б. =0.
И развязать питание драйвера от Ардуины, полностью.

Драйвер получает питание напрямую, от силового БП ±24V.
Так же , отдельной шиной выведено питание от силового БП на DC/DC 5V, для Ардуины, через вспомогательную плату контроля управления ( там же раздача на LCD, 7Segment, кнопки, энкодер, потенциометр. Отдельным шлейфом из этого ASSY подается питание на Ардуину.

Ну давай начнем с простого.

  1. Шаговый двигатель и ардуино питается от одного источника питания или разных?
  2. Если от одного источника питания - то как соединяются земли? Питание должно быть 3 вывода: 1 - земля. 2- +9в для питания платы. 3- +24в для питания двигателей.
  3. Если помехи не убрались попробуй ардуино запитать от батарейки. Должно помочь.
  4. Если ничего не помогло делай гальваническую развязку на оптронах.
    И каждый шаг желательно расписать. Делал то - то и получил это. И желательно картинку с осцилографа с помехами по цепям питания.

Благодарю за рекомендации!

На данном этапе, разобрал устройство, и спроектировал плату управления по новой:

В качестве процессинговой части, заменил Arduino Uno, на Mega 1280 .
В процессе разборки старой панели управления, обнаружил, что цифровой GND был в контакте с корпусом устройства (китайский 7Segment. GND удачно залепили на металлизированные дырки крепления). На новой сборке изолировал этот момент, и продумал разводку без “земляных петель”.
Виноват, в прошлой сборке упустил этот момент, и порой GND был раскидан в разных местах, с образованием длинных линий.
На данном этапе тестирования, пока прописал код для синхронизации оптических датчиков с шагами двигателей. Импульсы от оптических датчиков уже следуют без “дребезга”, как это было ранее. Чистый 0, 1.
Функции работы шаговых двигателей еще не дописал ( под Mega). Дописываю при наличие свободного времени. Думаю, через неделю протестирую “чистоту” шины управления шаговиками.

Источник питания общий (24V, 350W). Как силовой 24V для шаговиков, и DC/DC на 5V для Меги. Питание для DC/DC (24V/GND) выведено отдельной шиной с дополнительных клемм основного ИИП.
Конвертер DC/DC собрал на LM22673T :

З.Ы. В дополнение, все сигнальные шины, от оптики, I2C, потенциометр, управление шаговиками, осуществил экранированным кабелем. Оплетка подключена к ближайшим GND, рядом с сигнальными выводами.
Для сигнальной шины двигателей, так же использовал ферритовые кольца, сделав внутри один оборот этим экранированным кабелем. Так же реализовал шину от оптики, которая поступает на выводы Mega в качестве прерываний.

Отлично. Посмотрел схему. Теперь попробуй ответить какой ток потребляет Ардуино уно или сейчас мега? Реально должно быть не более 50 или 100 мА. А фактически около 30 мА. И для этого решил городить весь огород с DC/DC ? Он тебе сам даст кучу помех по питанию. Поставь обычный линейный стабилизатор типа 7809 на 9 вольт. и на входе поставь резистор на несколько десятков ом. Чтобы стабилизатор меньше грелся. А потом эти 9в подаешь на линейный стабилизатор на плате контроллера. DC/DC обычно используют для высокого КПД. А тут он тебе не важен. Мощность тепла на стабилизаторе будет около 1 вт. А экранировка при достаточном токе управления может и не нужна совсем. Экранировку обычно делают, когда хотят получить помехи порядка нескольких милливольт. А тут и частота низкая у шаговых двигателей. И уровни сигналов с датчиков порядка нескольких вольт. Экранировку проводов можешь делать потом. Начни с питания. Земли силовые и ардуино соедини в одной точке. Только соедини хорошо. Контакты разьемов это плохое соединение. Только пайка.
Давай попробуем сделать по шагам.

  1. Все слаботочные цепи делай на макетной плате. Все сильноточные цепи пайкой на проводах или разъемы. Сильноточные это в цепи ток больше 200 мА. Все экраны пока убери.
  2. От 24 в получи стабилизированное напряжение +9в.
  3. Подай это напряжение на плату ардуино.
  4. Для гальванической развязки поставь TLP521-4.
  5. Итак мы развязали слаботочную и сильноточную цепи.
  6. Померь какие помехи присутствуют по входам и по питанию ардуины.
  7. Согласуй оптопару с шаговым двигателем.
  8. Подключи 1 шаговый двигатель и смотри помехи. Они появились или нет.
  9. Если помех нет - значит получилось и подключай 2 двигатель.
  10. Если помехи есть - смотри где они возникают и меняй силовую часть схемы так, чтобы они исчезли.
  11. Как только все заработает - только тогда по макетной плате разводи печатную плату. А то придется иначе ее переделывать.
1 лайк

Может обеспечить гальванически отвязанное питание ардуины будет все же меньшим головняком, чем все эти выкрутасы с экранами и прочей дребеденью?
Глядя на печатку, возникает мысль, что ТС таки не вполне понимает, как нужно работать с землями. В целом проще и понятнее, как разнести разные земли, чем правильно работать с одной.

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

А это ему предложили до этого. Запитать ардуино от батарейки на 9в. и если поставить оптроны то будет полная гальваническая развязка. Для поиска помех в качестве временной схемы это подойдет.
Особенно понравились дорожки к резисторам R49 R50 R51. тоненькие. и одно только переходное отверстие. Будет брак в плате и потом долго искать где. В таких платах дорожки шириной не менее 0.8 мм. И переходных отверстий с металлизацией не менее 2 шт. для сигнальных проводников. Тут нет высокочастотных сигналов. И чего то на плате не видно переходных отверстий на землю на другой стороны платы? И зачем куча транзисторов? Те же самые транзисторы уже есть в оптронах.