Мощный драйвер шагового двигателя с контроллером STM8S003 и преобразователем RS485, ПДМК012 .

===============================Стукает сильно и беспощадно==========================

12.10.2013 Добавление схемы в прикриплении. Схема частично не совпадает с платой.

Стукнуло меня в эту ночь переделать один из старых экскизов/проектов плат, под новый лад.
Прошлой ночью спал всего 3 часа, так-что наверняка в плате есть ошибки, да и по тексту буду глючить наверно =)….
Многие умные люди мне говорили что лучше мне сначала сделать какие-то готовые устройства, а потом уже отладочные платы на мк, вот и выясню я это здесь в этом посте.

Казалось бы вроде совсем недавно на своей заготовке был ПДМК008, но уже когда ставил последние переходы и расчёсывал эту плату, мне она уже стала не интересной. Одновременно с ПДМК008 делал модель платы на рассыпухе, с использованием полевых сборок. Эта плата осталась в экскизах с именем ПДМК009. Там дальше идёт ПДМК010 для управления 1 постоянным движком — огрызок от ПМК009.
ПДМК011 появится позже, он доделан но сейчас слишком дорог для меня, там стм32ф103 и 4 л293дд, плата в целом напоминает ПДМК003 который тут.

Сравнение с старыми проектами: Вверху ПДМК009, справа ПДМК008 на СТМ8С и Л298П. Внизу тот самый ПДМК012.
Размер ПДМК012 = 64,5мм * 31,1мм
ПДМК012 и его отец и дедуля


Самое хорошее в плате то, что размеры почти те-же а мощность значительно возросла. Исключение всёже в том что сенсорный резистор подключается внешне при помощи клем. Думаю это отличная идея, на них будет рассеиваться много энергии, и греться они будут гдето за переделами платы.
И ещё, в старых проектах использованы более многоногие мк, а тут я уложился в миниатюрный мк STM8S003 в корпусе 3*3мм. Его я в основном пихать в микросборки собирался, и не ожидал что он мне сгодится в обычной плате.
ПМК012 задумывалась как плата которая должна управлять шаговиком находясь непосредственно возле него.
То-есть к шаговику идут всего 4 провода, GND + и RS485. К плате может быть подключен 1 терморезистор и 2 концевика.
Вот почему в платах серии ПМК я стараюсь упихнуть RS485, это чтобы управлять конечными изделиями которые появится в дальнейшем.
В самом мк STM8S003 собираюсь использовать RTOS OSA, её я когда-то уже запускал для моргания лампочками, и она мне понравилась своей простотой. РТОС ОСА будет контролировать всё и принимать/отправлять команды по UART.
Управлять платой можно будет отправляя всего 1 байт со всеми данными(дополнительно 2 байта потребуется для токоограничения/микрошага) но это я распишу позже.

Как всегда делал без схемы, только трассировка…
Топология платы в картинках :D







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

В схеме я применил IR2104S Для управления сборками N канальными полевиками.
Модели полевиков собираюсь использовать разные, начиная от IRF7103(3А 50В) до IRF7351(8A 60B) более мощные использовать = дорожки палить.
Стабилизаторы поставил 2шт, на 12 вольт а от него уже стаб на 5в. 12 вольтами собираюсь запитывать IR2104S.
Соответственно минимальное напряжение которое можно подать на стаб, это минимальное входное напряжение первого стаба.
Впрочем его можно заменить на 9вольтовый. Ато ведь большинство наверняка использует 12в в своих поделках…

Вопрос ко всем:
1)Возможно в разводке есть ошибка, а вы её нашли?
2)Нравиться ли вам дизайн платы(подключение внешнего резистора итд).
3)Хотели бы вы купить её, по вполне себе вменяемой цене.
4)Можете дать свою цену плате с вариантом IRF7351, радиатором и набором внешних керамических резисторов подходящего номинала.(за сколько купили бы)

Пока писал нашёл ошиПку, нет резистора для подтяжки ацп входа к +5в(Для правильной работы терморезистора подключенного к земле и к ацп).
Да и для концевиков тоже забыл по резистору на +5В добавить =(.

Извиняюсь за очередную показуху платы без схемы, но думаю некоторые разберутся. Если разобраться без схемы никак, то я попробую в эту ночь сделать и схему(Если не потеряю сознание :D).
  • +2
  • 10 октября 2013, 06:32
  • ULHEDER
  • 1
Файлы в топике: ПДМК012.png

Комментарии (53)

RSS свернуть / развернуть
Проверять чужие платы без схемы — это мазахизм.
+3
Честно говоря, раньше я сначала рисовал схему, а потом уже по ней делал плату. Но всегда при разводке платы, компоненты(корпус, номинал) менялись для увеличения плотности, качества разводки, увеличения функционала. И в результате вся схема целиком и полностью переделывается.
0
Какие проблемы со сменой корпусов на более мелкие или наоборот. В схехе меняете компонент, затем в редакторе плат в меню файл выбираете обновить по компонентам. Все изменения в схеме учтутся на разводчике плат. Если компонент изменился, то будет произведена детрассировка присоединенных связей, остальное не будет трогаться. Такм образом вы меняете в одном (правильном) месте (схеме), все остальное изменяется подчиненно.
+1
так потихоньку станем мастерами в reverse engineering-ге=))
+1
немного попиарюсь :)
не хотите ли использовть вот это?
0
0
1) Без схемы ошибки тяжело искать (хотя-бы спецификацию привели для большей ясности);
2) Дизайн весьма интересный;
3) Может и купил бы, но только при наличии схемы в поставке;
4) Цена деталей + 30% за работу!
тов. ULHEDER RS485 гальваническую развязку имеет?
0
  • avatar
  • kalik
  • 10 октября 2013, 08:48
Ответы учту.

Rs485 я использую как более надёжную связь между модулями. Плата не того уровня и не того размера чтоб ей делать такие защиты.
0
а я чего то привык опторазвязку делать все таки. не важно с dc-dc или нет (питание с одной стороны), но оптику ставлю.
0
иногда спасает — даже очень…
0
Вот тога Вам еще одна идея платки! USB — RS485 с гальванической развязкой!
+1
Хорошо, сделаю схему. Посмотрите / оцените / подскажете.
Плату планирую без шелкографии делать. Надписи ставить некуда и будут только мешать.

Сегодня плюханулся в кровать как падающее дерево, уснул в момент соприкосновения с подушкой XD.
0
Схем нет — в личный блог.
0
Добавил схему. Пока без описании номиналов.
Схема частично не совпадает с текущей печаткой. Буду переразводить с нуля. Как всегда =(
Кстати на фотках с платой есть ошибки которые бросаются в глаза, не знаю может по схеме ошибки проще будет найти…

Номиналы сделаю завтра/послезавтра.

По схеме беспокоит подключение SCL и SDA к портам IR2104, выводы с мк не имеют защитного диода и не могут притягивать порт к +VDD.
Ещё беспокоит максимальный ток по дорогам, толщина фольги 18мкм + сверху олово + всё залито КПТ8 и к радиатору. Самое узкое место имеет ширину 1,52мм, это между транзисторной сборкой и шиной питания. Впрочем нет проблем увеличить ширину, просто кондюки 1206 рядомстоящие придётся вручную паять.

Имеет ли смысл делать обрубок этой платы с тем-же функционалом(добавится встроенный термодатчик) но с 1 Н-мостом? Делать то я полюбому буду, просто хочу услышать ваше мнение. Совершенно очевидно что называться он будет ПДМК013 )))
0
У тебя силовая электроника и полигоны-радиаторы. Обычно для таких плат берут фольгу толще, чем 18мкм.
0
толщина фольги 18мкм

[чешет репу] у тебя там вроде не такая плотная компоновка, чтоб использовать именно 18мкм?:) почему не 35 — там ведь токи посолиднее можно пустить?
0
Толщина 18мкм, выбрана не случайно. Применять больше 18мкм в этой разводке не получится. При переразводке этой платы, постараюсь сделать так чтоб можно было использовать толщину больше 18мкм.
0
использовать вообще не проблема. а вот китайцы (да и резонит) почему то 35ку не любят :-\
0
Странно. 35мкм, вообще говоря, стандарт, причем самый распространенный.
0
Я думаю что проводники 0.15мм да и 0.20мм делаются лучше и качественнее чем при 35мкм меди.
+ время травления и ещё какиенибудь расходы с этим связанные.
И таки да, для силовых проектов лучше 35мкм, а медные проводники которые идут к и от токовых шунтов лучше закрывать маской а не как я делал, даже сопротивление припоя может оказать влияние, иначе нафига ставить точные резисторы в эти цепи…
0
Эх ночь =)
Я думаю что проводники 0.15мм да и 0.20мм делаются лучше и качественнее чем при 35мкм меди.

читать как
Я думаю что проводники 0.15мм да и 0.20мм делаются лучше и качественнее на 18мкм чем при 35мкм меди.
0
Чтобы сопротивление припоя (и дорожек) не влияло — применяется специальное подключение шунтов. В случае внешних шунтов — они уже имеют 4 вывода, в случае SMD-резисторов можно применять площадки специальной формы. По моему на easyelectronics.ru где-то про это было.
0
Все верно, SMD резисторы заточенные под применение в качестве датчиков тока либо сразу делаются с отводами, либо производитель в даташите указывает правильный лейаут с отводами.
0
Я думаю что проводники 0.15мм да и 0.20мм делаются лучше и качественнее чем при 35мкм меди.
0.15 и 0.2 без каких-либо проблем делаются на 35мкм меди. «Лчуше» и «качественнее» в данном случае вообще сложно применимо, они либо делаются с приемлемым выходом годных, либо не делаются. Замечу, что толщина меди влияет только на сложность/простоту травления. В домашних условиях, где травление производится просто погружением такие нормы легко достижимы. На производстве, где травление делается струйными аппаратами, эти нормы получаются вообще без каких-либо сложностей. Время травления на производстве измеряется десятками секунд (ротаспрей с ХЖ травит 35мкм порядка 90 секунд), а уж чем-то более «злым» и того меньше. Травление уж точно далеко не самый длительный по времени процесс. Да и с регенерацией травящего раствора сложностей, как правило, нет. Так что насчет 18мкм, я так думаю, вы просто неправильно поняли прочитанное или услышанное. Стандарт везде 35мкм медь. Любую другую толщину надо оговаривать отдельно и далеко не все ее берутся делать.
0
Меня вот больше интересует софт в котором автор рисовал схему и печатные платы разводил…
0
Софт от Novarm, замечательная Украинская контора которая создала замечательную программу Diptrace в которой можно развести всё, сделать схемы, корпуса, компоненты, поддерживается 3Д графика.
Использую самую последнюю версию, с сайта производителя.

Когда будет доход с моих плат, обязательно куплю полную лицензию.
Этот софт стоит своих денег.
До этого пытался работать во многих других бесплатных и просто олигархически монструозных программах с огромными ценами на лицензию.

ЗЫ. Уроков по разводке не провожу :D
0
Тут каждый второй может такие уроки проводить!

Если не секрет, почему не рисуете сначала схему — потом с нее уже делать печатную? Diptrace это позволяет
0
Уже много лет я не пользуюсь схемами, а сразу развожу плату.

Плата рождается так:
Появляется идея, какие компоненты и какой функционал будет на плате, максимальный размер самой платы, максимальный размер элементов, максимальная стоимость этой платы.
Плате присваивается номер.
И в случае если что-то не так или что-то не устраивает/не нашёл, плата откладывается на потом.
Такие платы я называю эскизами.
Кроме того при разводке, в случае появления свободного места, добавляется функционал/опция или ставлю детали прозапас. Или как в новой версии пмк19пб2 добавляю контактные площадки для монтажа всяко разно со стороны клиента.

Некоторые эскизы никогда не появятся на свет, но их номер остаётся, это например платы которые я делал в начале своего пути.
Например плата ПММК0008(ПМК008) на пик16ф877.


Или ПММК0011(ПМК011) на пик18ф2550.


Поэтому не удивляйтесь на названия рода ПМК*** потому как плат будет просто дофигище разных.
И называть каждую плату всякими «пласофкрут» «суперплат» «драйвмега» не получится… ибо при их количестве >500 не вижу смысла давать платам имена, всё равно ПМК999 будет понятнее чем «послплатбиг», ПМК(Плата с МикроКонтроллером) это серия плат в которых в основном юзается мк, ПДМК(Плата Драйвер с МК) платы для управления двигателями с встроенным мк. Таже микросборка имеет вполне понятное название МСДМК — МикроСборка Драйвер с МК и далее номер разработки.

Сейчас вот переучиваю себя делать сначала схему а потом по ней делать плату, простым переводом в редактор платы одной кнопкой. Делаю ПДМК013, чисто схему, без платы. Посмотрим что получится в ближайшее время…
0
Для идей существует блокнот=))
И еще маленький совет! Схемы старайтесь делать по ГОСТ-ам… плохая привычка использовать буржуйские УГО может лишь добавить головняка
0
А нафига их по гостам делать? Плохая привычка использовать УГО, которые понимают лишь в ex-совке может лишь добавить головняка.
-1
Не соглашусь! Так называемые совковые стандарты читаемы и удобны (большинство из них)! Чего не скажешь про некоторые буржуйские извояния!
+2
Не соглашусь!
Я вроде к этому и не призывал.
Так называемые совковые стандарты читаемы и удобны
Ничуть не более, чем любые другие. Это вопрос привычки. Ну и в немалой степени играет роль кто выступает заказчиком. Если заказчик не из ex-совка, то показывать ему схему в левом (для него) стандарте, как минимум, странно. Да и в ex-совке далеко не везде и не всегда это имеет смысл.
0
дорожка 5мм шириной 13мкм спокойно держит 10А, если она на поверхности платы. Если залудить, выдержит ещё больше.
0
научитесь наконец нажимать кнопку «Ответить» под комментом…
+2
Если залудить, выдержит ещё больше.
Вы давно заглядывали в справочник, где указано удельное сопротивление меди и припоя?
0
совсем недавно
Выбираем 10А, 35мкм., 60 градусов, повышение 20 гр.
Чёрт, да, у меня было же 35мкм :)
0
Медь там указана, а вот припой — нет.
0
сенсорный резистор подключается внешне при помощи клем.
Очень плохая идея. Во-первых, правильно рассчитанный датчик тока греться не должен и, на практике, не греется, ибо выделяемые мощности на нём мизерны. Зато паразитная индуктивность внешних проводов внесёт столько феерических моментов… Да, не на всех режимах работы это будет сильно заметно, но таки внесёт. К слову, грамотные производители в качестве датчиков тока стремятся использовать безиндукционные резисторы, и это весьма неспроста. Кроме того, клеммные контакты имеют свойство со временем окисляться, что приведёт к уменьшению установленных токов, причём нелинейно: скажем, удержание будет отличным, а пусковой момент-никакой, т.к. у такого «плавающего контакта» сопротивление под нагрузкой растёт. В случае же полного пропадания контакта на входном пине STM8 окажется полное силовое питание ШД, а Вы к тому же абсолютно забыли про защиты по перенапряжению на входах АЦП, равно как и про ФНЧ-фильтрацию на этих же ножках.
Схема похожа на взрыв на макаронной фабрике spaghetti chart, но это ещё полбеды. Вот скажите пожалуйста, кто… нет, даже не так, КТОООО?? научил Вас рисовать силовую землю красным цветом, а силовой плюс-сине-зелёным? Хотел бы я в глаза этому «учителю» посмотреть…
0
Спасибо за критику платы, сейчас это мне необходимо.
Может вместо использования резисторов, использовать специальную микросхему? Например ACS712ELCTR-20A-T, но цена его 60-70 руб.
На ПДМК012 их потребуется 2шт. Или есть какие подешевле интегрированные датчики тока?
Если человеку ненужен датчик тока, то просто плата будет без этого датчика, а на месте микросхемы будет перемычка…
Как вам такой вариант?

Что касается АЦП в STM8S там имеются защитные диоды, и в случае если контакт резистора на клемах пропадёт, напряжение от ШД пойдёт через последовательно включенный резистор(он есть в схеме и на плате) и через защитный диод который направит излишки напряжения в VDD.

Цвета проводников в схеме делал чисто от балды)))) просто чтоб отделить их от общей массы проводников(сделать акцент).
0
Можно поставить smd резисторы 2512. У них мощность 1Вт. У меня ток ШД 3А и резистор датчика тока — 2512, 0,1 Ом. Есть и с меньшим сопротивлением.
0
интерес академический: не измерял реальный ток в цепи, когда по этому 0,1 Ом протекает ток 3А в течение часа-полутора? у тебя, всё-таки 3А*3А*0,1Ом=0,9Вт на резисторе должно выделяться. это его по-любому нагреет, соответственно, сопротивление уплывет, значит и ток изменится. сам давно хотел такого рода «эксперимент» провести, да че-та всё никак руки не доходят:)
0
Ну там 3 в импульсе(ШИМ), средний то меньше. Резисторы чуть теплые, транзисторы в ключах греются сильнее. Да и на час-полтора не включал, потребности не было. Минут 20-25 максимум, станок сверлит/фрезерует текстолит быстро.
0
Ну там 3 в импульсе

Резисторы чуть теплые

а, понятно:)
0
Вот нашел про резисторы. Мощность указывается при 70°C. 600ppm на 1°C, это, судя по калькулятору, 0.06%. Получается примерно 2,7%. Думаю, не существенно.
0
Хотел недавно купить ACS712 потестить, почитал подробно о датчиках тока и ну его нафиг, огромные погрешности дажи при повороте платы с этим датчиком, не говоря о том что плата должна быть рядом с двиглом…
Буду делать по старинке.

В качестве альтернативы большим внешним резисторам, использовать резисторы с очень низким сопротивлением, и усиливать(увеличивать диапазон) его перед подачей в ацп мк. Только тогда можно будет говорить о смд резюках.
0
почитал подробно о датчиках тока
Может, все-таки, попробовать, а не только почитать? Большинство описаний таких датчиков тока имеет в виду датчики с внешним проводником. У 712-х он встроенный.
0
Читал и про этот датчик(712) и про другие интегральные на эффекте холла.
Задача не просто смотреть ток, а делать микрошаг на шаговике.
Ссылки не дам, долго копать.
ПДМК012 и ПДМК013 оставлю с стм8с003 и внешним резюком, короче ПДМК012 полностью доделан, отдам в производство как бюджетную модель с ограниченными возможностями.

Сейчас начинаю делать новые платы ПДМК014 и его огрызок(1 Н мост) ПДМК015
Резисторы низкоомные 1% SMD2512 подключенные к ацп через ОУ(пока не выбрал какой)
МК STM32F030 но пока копаю инфу о бутлоадере и качестве его ацп 12бит, нигде ничего не видно не слышно.
По ценам он чуть дороже стм8с003 но не знаю насколько он качественно будет выполнять свою работу. Плата будет находится всего в паре см от двигателя.
0
Задача не просто смотреть ток, а делать микрошаг на шаговике.
Угу. Я с большим интересом понаблюдаю за попыткой получить точность определения тока хотя бы в пределах пары процентов с использованием резистора в качестве датчика тока.
0
Не забывай о том, что у ОУ есть напряжение смещения. С учетом порядка напряжения на шунте — оно даст заметную погрешность.
0
ОУ выбрал LM2904D техасский.(ещё может TL082CD техасс). Другие ОУ чуточку покруче, стоят на порядок больше самого мк(STM32F030).
Характеристики LM2904D(не из пдф):
Скорость нарастания выходного напряжения 0.3 V/us
Рабочее напряжение питания 3 V to 26 V, +/- 1.5 V to +/- 13 V
полоса пропускания толи 0.7мгц толи 1.1мгц

Прочитал по диагонали даташит, думаю для 12бит ацп с опорой 1.2в должно подойти.

Схема
Драйвер ацп 11114
рез. 21 и 22 это переменный на 1кОм.
рез. 23 12кОм
рез. 24 1.1кОм
кондер. 34 думаю поставить на 100пФ примерно
кондер и тантал 35 36 для питания.
0
д6 это стабилитрон на 4.7в, но можно и диод поставить от входа к 3,3в. Просто на схеме самой микросхемы этого диода не увидил, в описании вроде как про это тоже несказано.
Диод ставится/стабилитрон используется для защиты входа от высоковольтных импульсов «случайных» и от напряжения питания двигателя в случае выхода из строя шунта.
0
Диод ставится/стабилитрон используется
Извеняйте я очень мало сплю XD XD D
0
Ещё как вариант, использовать ОУ производства КВАЗАР-ИС Украина КФ140УД22 и КФ140УД23, но разводка будет отличатся от LM2904D.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.