Дешевая плата для внешних драйверов или адаптируем cnc shield v3 для MKS Sbase

Подписаться на 3Dtoday
maniak26
Идет загрузка
Загрузка
15.05.18
3879
13
Техничка
22
Статья относится к принтерам:
Re-D-bot
Минусом контроллера MKS Sbase являются встроенные драйверы - поменять их возможно только при помощи внешних плат-расширителей. Подробно такой способ подключения уже описал уважаемый dagov.
Сами платы легко находятся на али, но стоимость комплекта из 4 штук неприлично высокая за элементарную схемотехнику. В качестве альтернативы решил приспособить Arduino CNC Shield V3 - готовое посадочное место под 4 драйвера, разведенное питание, компактное расположение (позволит одним 40мм вентилятором накрыть все радиаторы) и низкая цена. На данную платформу планирую установить едущие TMC2208.
PREVIEW
Общая схема с пинами:
3a4197d4d12460ed20e1c95064568890.jpg
Распиновка выходов на внешние шаговые двигатели Sbase (взято отсюда):
8e832f326a6b6b02ca10ccec71394bc8.jpg
Первое, на что следует обратить внимание - у sbase сигнал enable (подробнее про управляющие сигалы драйверов шаговых двигателей советую почитать у eta4ever) для каждого драйвера собственный, а на cnc shield сигнал enable всех драйверов общий. В данном случае это не проблема, так как драйверы включаются и отключаются одновременно.

Традиционные грабли.

На первый взгляд, по схеме все подключается хорошо и просто - от неиспользуемого концевика sbase берутся 5 вольт и GND, к клеммам питания подводится питание с БП. Подключил один драйвер и двигатель на внешнюю плату, запустил перемещение. Не работает.

Разбираюсь с распиновкой драйвера:
85e8303e111cd1fc34e26dabb606e1ca.png
Мультиметром прозвонил прозвонил все линии. Ток в нужном количестве поступает и на логику драйвера кроме пина Enable. На нем откуда-то 5 вольт (напоминаю, контроллер оперирует логикой с высоким уровнем в 3.3 вольта!).

Смотрим логическую схему:
e52b577a142c5c30f9c7c7ac23c098a2.jpg
Слева сверху замечаем что сигнал Enable подтянут к +5 вольт через резистор 10 кОм. Получается следующее - когда Enable неактивен, sbase на него выдает +3.3 вольта (высокий уровень). Когда активируются драйверы, на выходах Sbase 0 вольт, однако из-за подтяжки на cnc shield к +5V на пинах Enable драйверов +2.6 вольта, чего достаточно чтобы драйверы считали что им еще работать нельзя. (тут мне сильно повезло, что не спалил чип sbase фактически подав на него +5 вольт).
33d893778e4f773a6a9734df206e86a3.jpg
Проверил схему, вместо резистора 10 кОм кто-то “добрый” впаял 120 Ом:
9c158a13a08b8b4f39e86b308310c443.jpg
Выпаял резистор, поменял на 10 кОм.

Для согласования логических уровней необходимо перевести питание логической части драйверов на 3.3 вольта. Сделал это установкой линейного стабилизатора на 3.3 вольта LM1117 3.3 в корпусе ТО-220.

Переделка.

Sbase позволяет переключать ток концевиков с 3.3 на 5 вольт. Самое простое решение без дополнительной пайки - выставить джампер питания концевиков на 3.3 вольта. Увы, мне такой вариант не подходит - стоит BLTouch, который не умеет питаться от 3.3 вольт.

Джампер справа внизу:
8a33a28dc39f23598c5ed6b72c3ee2b5.jpg
ВНИМАНИЕ! С этого момента маркировка линий cnc shield 5V и 3.3V не будет соответствовать действительности. Прежде чем что-то куда-то подключать перепроверяйте схему подключения!

Сложились два фактора - было лень придумывать пайку проводов + на шилде нашлись пины в идельной последовательности для подключения стабилизатора.
Линия +3.3V фактически не используется шилдом, ее использовал для подачи входного напряжения на стабилизатор.
Линия +5V питает логику драйверов. На нее будет приходить 3.3 вольта через линейный стабилизатор.

Получается следущая схема подключения:
6ed00bb418392b4adcb35f166d3f85c4.png
В рельной жизни это выглядит так:
ed2b4a4ee30b8fa0a4f3aaff0e25ed44.jpg
Получается, что на линии промаркированной +5V у нас будет реальных 3.3 вольта, а на линии +3.3V будет реальных 5 вольт.

После подключения и проверки получаем питание всей логики драйверов от дружелюбных к чипу Sbase 3.3 вольт.

Так же, настоятельно рекомендую удалить кнопку RESET с платы, ибо нажатие на нее приводит к короткому замыканию в логической части питания:
37c2f17fc266b6da7d27fbec568364b1.jpg
Подключение.

ВНИМАНИЕ! Прежде чем подключать плату к контроллеру, настоятельно рекомендую подключить к какому-нибудь тестовому блоку питания и мультиметром проверить ток. Ошибка при сборке может привести к выходу из строя контроллера, блока питания или даже к пожару. Автор не несет ответственности за возможные нежелательные последствия.

Подключаем все к Sbase (простите за мой paint):

С первого драйвера подключаем пины Enable, Step, Direction.
С остальных только Step и Direction так как сигнал Enable у нас теперь общий.
975aa4187f93692c0248a165577877fa.jpg
Подключил, проверил - заработало.
Так же данная схема позволяет подключить отдельный блок питания для двигателей. К примеру, переключить двигатели на 24 вольта без переделки остальной электроники.

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

з.ы. Огромное спасибо @Ressi, @GrishkaYoda, eta4ever за помощь
Подписаться на 3Dtoday
22
Комментарии к статье

Комментарии

15.05.18 в 12:57
0
в этом поиске да, платки экстендеров почти от 3 долларов штука. но это потому что у них видимо нет единого названия на али как у ЦНЦ шилда.
ну на самом деле они есть по
90
https://ru.aliexpress.com/item/1Pcs-A4988-DRV8825-Stepper-Motor-Driver-Control-Panel-Board-Expansion-Board-Module-V1-1-Active-Component/32675971808.html
и 87
https://ru.aliexpress.com/item/Free-shipping-3D-printer-A4988-DRV8825-stepper-motor-control-board-expansion-board/32664134615.html
центов

имхо для тех кто не хочет заморачиваться с паянием - разница снижается с 12 раз до 3 с мелочью и становится вполне приемлемой
15.05.18 в 13:06
0
По первой ссылке кстати я и заказывал. В описании на фото черные, качественные. Привозят красные, которые в шапке статьи. По получению открыл спор и выиграл его.

По хорошему, и на такие платы лучше стабилизатор на 3.3 вольта ставить. Они вроде как (судя по отзывам) работают, но несогласованность остается - на питание логики драйвера приходят 5 вольт, а контроллер оперирует 3.3в.
15.05.18 в 13:37
0
кроме направления разъема мотора и мамы вместо папы в одном из разьемов они качественно (потенциально)
отличаются по большей части только электролитом. "по бумаге" он типа даже лучше - 50В, но хз он там сильно хуже по качеству или нет.
спор, в основном, имеет смысл просто потому что обманули

ну так джампер, которым переключают питание концевиков - поди просто перекидвает кпины концевиков с шины 5 на шину 3.3. с него и взять 3.3В, не?
15.05.18 в 13:43
0
Можно было бы, если бы к меня не стоял bltouch - тот от 3.3 вольт не умеет питаться.
В статье об этом написал, без него не пришлось бы стабилизатор городить - просто на 5в линию 3.3 вольта с sbase достаточно подать и все заработает
15.05.18 в 13:56
0
да нет, просто взять провод со свободного пина 3.3, на котором не сидит перемычка
15.05.18 в 14:24
2
У этого контроллера порты совместимы с 5V (5V tolerance). Не знаю все порты или нет - доку лень читать. На STM32, с которыми периодически ковыряюсь большая часть совместимых. Так что надо просто убедиться по даташиту что те порты которые рулят двигателями совместимы с 5В. Тогда и стабилизатор можно не ставить - питать драйверы от 5В.
15.05.18 в 14:43
0
Видимо поэтому контроллер я и не спалил. 5V tolerance есть при подключенном питании. При выключенном можно запросто спалить чип. Пруф 1, пруф 2 и на 45й странице даташита это можно узнать.
Однако у меня проблема была с драйвером - из-за подтяжки enable к 5 вольтам через 110 Ом резистор на низком уровне, на пине enable драйвера было +2.6 вольта, что он считал за высокий логический уровень и не включался. Согласно даташиту DRV8825, на которых тестировал, высокий логический уровень начинается с 2.2 вольт.

Кстати, на tmc2208 такая проблема могла бы и не вылезти - у них нижняя граница логики 3.3 вольта судя по даташиту
15.05.18 в 15:13
1
110 Ом от 5V на порт это жесть конечно - повезло что порт не сгорел. Можно попробовать выпаять резистор. По даташитам которые Вы выложили DRV8825 должен нормально работать. А вот для tmc написано что мин уровень лог1 0.7Vio, т.е. при питании 5V это 3.5V . Перестраховываются наверное, Но лучше наверное не экспериментировать и запитать логику от 3.3В как это сделано у Вас, чтобы потом не мучится и не искать что там не сработало.
15.05.18 в 14:45
0
так управление идет от АРМ на драйверы, а не наоборот.
хорошо бы и в обратную чторону чтобы было. проблема (потенциальная) может быть в том что высокий уровень 1 с контроллера в виде 3.3В не примется драйвером, потому что он питается от 5В и ждет больше
15.05.18 в 18:12
0
Не проще навесным монтажем на макетке спаять?
15.05.18 в 18:16
0
Пайки в разы больше )
Да и компоненты по отдельности по цене примерно стоимости шилда равны
16.05.18 в 15:06
0
Просим фото как оно живьём, спириделками выглядит (вдруг страшнее моего кряк-рампс для дуи) =)
17.05.18 в 01:25
0
А мне повезло, резистор 10КОм. Измерять без вставленных драйверов.
А еще для TMC2208 перемычку M2 можно не ставить. Согласно ДШ на TMC2208 "Unused pin, leave open or connect to GND for compatibility to future
versions." А перемычка на + питания подключает.

Для написания комментариев, пожалуйста, авторизуйтесь.

Читайте в блогах

Некоторые особенности слайсера Simplify3D v 4.0.1

Печать голубого слоника на 3D-Принтере(под музыку)

Маска Солитера из вселенной Warhammer 40k

Музыкальный инструмент? Filamentarno!

3D-печатный таксофон: как позвонить Владимиру Владимировичу

Formlabs представляет новый материал для ювелирной печати