Контроллер шагового двигателя на LS7290

boldive

Задача как обычно простая. Угрохать кучу времени и денег чтобы потом купить готовый контроллер 😃

Нужен контроллер для управления движками типоразмера NEMA34. А они просят до 60VDC при токе 6A. А если конкретно, то есть моторы KL34H280-45-8B требующие 6A. Вот для них контроллер и нужен.
После исследования просторов интернета остановился на LS7290 исключительно потому что ее еще не успели “опакостить”. Микросхемы из серии “все в одном” (TA8435) не проходят по нагрузкам. На А3986, судя по отзывам на форуме, собирать ни в коем случае нельзя. Вот и осталась LS7290. Собрал в кучу схемы которые были и “слепил” на ней контроллер. Практически все в стандартном включении. Силовую часть взял со схемы предложенной Mariss Freimanis (это тот который GECKO делает) с небольшими изменениями. Mariss рекомендует использовать связку IR2104 и IRF540N потому как из его опыта они работают наиболее стабильно. Сейчас они переходят на использование CPLD логики (XILINX, частоты до 300Мгц) в качестве основного контроллера. Соответствующий контроллер (G900) они еще не продают но через пару месяцев грозятся выпустить. Во всяком случае программа уже написана и протестирована. Подробнее про это можно прочитать тут. Там же есть ссылки на схемы и описания.

В общем, потратил сегодня целый день и нарисовал схему (Proteus). Просьба посмотреть и пальцем ткнуть в неточности. Я еще не научился в Proteus платы разводить. Если кто-то может оперативно развести плату в одностороннем варианте и выложить в этой теме то пишите в ЛС, вышлю файл Proteus со всеми datasheet. Я примерно прикинул стоимость деталей, на 5 драйвов выходит порядка 200$. Для сравнения, готовый драйв для таких моторов будет стоить начиная от 130$. Это одна из причин по которой решился на изготовление драйва в домашних условиях. Уж больно дорого покупать готовые изделия. Чтобы поменьше дырок сверлить старался использовать SMD элементы (не все, но много).

И попутно несколько вопросов.
Какого типа должны быть конденсаторы С2, С3, С5, С6? Обычные электролиты или что-то специфичное?
Надо-ли IC2-IC5 обвязывать конденсаторами?
В качестве D1-D4 лучше использовать диоды Шотки или пойдут обычные Fast Switching Speed? Если Шотки то какие?
RV1 на Vref микросхемы LS7290 будет нориально работать? Или лучше сделать что-то посерьезнее на транзисторах, какой нибудь генератор напряжения?
Все сопротивления (за исключением R18, R26) я ставил SMD. Выдержат?

Спасибо!

Аэробус

Похоже mura запустил драйвер на этой микрухе. У меня не получилось, см. соседнюю ветку, там и схему и печатку выкладывал. А про Uref, я в соседней ветке положил прожку, расчета измерительного резюка и Uref… удачи.

oldabrikos

А поиск заюзать , я ж давал и чертеж печатной платы и схему …

ATLab

В схеме ошибки, например С9 и С14 (и аналогичные в других местах) явно перепутаны местами.
В стабилизаторе напряжения +12 В R32 зачем? И прикинем его мощность: пусть суммарный ток по +12 В и +5 В будет 0,5 А, тогда
его мощность 0,5*0,5*33=8,25 Вт - многовато для SMD.
Аналогично, зачем резисторы 33 Ом в цепях накачки IR2104?
Затворные резисторы 51 Ом не много ли?
Подстроечнику RV1 желательно добавить постоянный резистор к +5 В на 1-1,5 кОм.
В одном слое такую плату размести вероятно можно (с перемычками), но вот как она будет работать, большой вопрос.

boldive
oldabrikos:

А поиск заюзать , я ж давал и чертеж печатной платы и схему …

Но там силовая часть совсем другая, на L298, для моих целей не пойдет.

Аэробус. Я в свое время полностью просметрел ваши с мурой страдания. У Вас драйвер для униполярного двигателя.

AtLab. Спасибо за замечания. Я изменил величины фильтрующих конденсаторв для Sense1, Sense2 на 10nf, и резисторы в цепях затвора IRF540 на 33R.

Силовая часть и преобразователь на 12V и 5V взяты с рабочей схемы у Mariss Freimanis (GECKO Drives). У него там резисторы в цепях затворов вообще не стоят. Может их убрать надо?
Зачем Марисс поставил R32 на 33R не знаю. Наверно ток в 0.5A там не будет. Может предусмотреть место под 5W резистор? Перемычку никогда не поздно поставить.

Внизу обновленный вариант схемы.

ATLab

Так нужно не гадать - нужен R32 или нет, а проверить: быстренько спаять макет.
При моделировании в протеусе, с ним или без него, на выходе одно и то же.
Про затворные резисторы: их нужно оставить, по-крайней мере место под них, никто не помешает запаять потом перемычки.
А нужны они для согласования, чтобы не было звона по проводникам - это зависит от топологии платы, и нужно будет подобрать на конкретной плате.
Ну и можно ограничить максимальную скорость открывания/закрывания полевика, хотя с IR2104, imho, это не сильно актуально.

Схема Марисса работает несколько иначе: у Вас при спаде тока в обмотке, он (ток) течет через диоды закрытых транзисторов и греет их, а у него через открытые транзисторы противоположного плеча, соответственно транзисторы практически не греются.
Марисс сигнал SD в IR2104 использует только для полного выключения драйвера.

boldive
ATLab:

Так нужно не гадать - нужен R32 или нет, а проверить: быстренько спаять макет.

Схема Марисса работает несколько иначе: у Вас при спаде тока в обмотке, он (ток) течет через диоды закрытых транзисторов и греет их, а у него через открытые транзисторы противоположного плеча, соответственно транзисторы практически не греются.

LS7290 заказаны и оплачены. Надеюсь что уже скоро приедут. Как скоро не знаю. Вот как приедут так и спаяем.

Схема Марисса основана на CPLD. Это получается что LS7290 уже логически “криво” работает. Опять приходим к пониманию что специализированные микросхемы не то, нужны программаруемые микроконтроллеры.

Я полностью согласен с Мариссом:

"The problem is IC manufacturers are experts on manufacturing ICs, they are not experts in understanding niche electronic products. CNC motor drives certainly are niche products; only a few million drives are shipped worldwide a year. IC manufacturers think in terms of 10’s to 100’s of million units per year to consider an IC design successful.

The CNC drive IC market is simply too small to hire and employ the specialized talent needed. The requirements of a CNC motor drive are far different from a motor drive in a BlueRay DVD or a hard drive. Both may be servos or steppers but that’s where the difference ends. The CNC market is even too small for a boutique IC house like Allegro who would probably go for a 100K to 1 million a year market."

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

boldive

А вот еще вопрос.

Что лучше делать:

Размещать драйв около мотороа и тогда использовать короткие провода на мотор и длинные на питание и управляющие сигналы

либо

Размещать драйвы в отдельном корпусе и тогда использовать длинные провода на мотор и короткие на питание и управляющие сигналы?

ATLab

Есть целый раздел в электронике, называется “электромагнитная совместимость (ЭМС)”.
В нем есть еще пара понятий: помехоустойчивость и помехоэмиссия.

Как Вы думаете, что лучше с точки зрения ЭМС:

  • гонять по длинным проводам пульсирующие токи 5-10 А,
  • гонять по длинным проводам пульсирующие токи 10-20 мА?

Ответ очевиден.

boldive
ATLab:

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

Наверно в одном слое не получится. А очень хотелось. Не получится получить максамильно короткие проводники в силовой части при однослойном исполнении. Ниже рекомендации Марисса по разводке печетной платы. Как раз мой вариант. Статья на английском. Но читается нормально с минимальным знанием технического английского.

PCB layout technique.zip

2 months later
boldive

Слегка затянулось это дело. Все детали уже давно как в коробке пылятся. Развожу потихоньку плату в Протеус. Уже почти готово. Конечно Протеус как разводилка печатных плат никуда не годится. Почти все делается вручную.

Надо найти кто ее тут на месте сможет сделать по доступным ценам. Местные индусы предложили “Board cost for 15 pcs without E-test…$400”. Интересно, какой генератор случайных чисел им цены формирует.

Если кому нужны микросхемы LS7290 могу передать в Минске. В середине июля их туда могут привезти. У меня их около 20шт лишних. Ориентировочная цена 5$USD за корпус. Пишите в личку если заинтересовало.

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

Вопрос по диодам D1-D4. IR рекомендуют использовать MURS120, я поставил ES1D потому как MURS120 в наличии отсутствовал. По параметрам ES1D вроде как получше будет. Можно его ставить? Или лучше поставить MUR120G, он есть в наличии но корпус у него DO-41.


olkogr
boldive:

Протеус как разводилка печатных плат никуда не годится. Почти все делается вручную.

Такую схему и надо разводить вручную, все разводилки включая и пикад хорошо силовых плат никогда не разводили, да и разводить вручную тут нечего ,за часик другой можно все на листочке рисануть.
По плате я бы сделал односторонней, а с другой стороны просто оставил фольгу и соиденил ее с землей схемы (в местах отверстий протравил бы на диаметр 2-3мм).
Цена платы сразу упадет в несколько раз, так как ненужно метализировать отверстия, да и самому можна вытравить.
Транзисторы нужно разместить както чтоб было возможно поставить нормальный радиатор - или сместить на край платы (правый), или поставить по двум краям(верхнем и нижнем), или поставить лежа площадками вверх.
Ну и поставил бы сразу защиту от пропадания 5в, неубиваемость драйвера возрастет в несколько раз, также светодиод индикации высокого онапряжения, и организовать вход энейбл (посредством тойже релюхи которая будет подавать питание на полевики при появлении низкого напряжения 5В)

boldive:

Можно его ставить?

Можно, нормальный диод для этой схемы.

boldive

[QUOTE=olkogr;1337333
Транзисторы нужно разместить както чтоб было возможно поставить нормальный радиатор … Ну и поставил бы сразу защиту от пропадания 5в, также светодиод индикации высокого онапряжения, и организовать вход энейбл (посредством тойже релюхи которая будет подавать питание на полевики при появлении низкого напряжения 5В)[/QUOTE]

Транзисторы так и стоят что между ними вставляется алюминиевый уголок который и тепло отводит и плату в корпусе держит. Защита от пропадания 5вольт и есть то большое реле которое подает высокое на силовую часть только когда есть +5В и +12В. Светодиод на высокое тоже можно поставить, надо будет подумать об этом. Со входом Enable посложнее будет. Тут-же надо ставить опторазвязку, а это еще один корпус с обвязкой и соответствующее удорожание/усложнение конструкции. Хотя ключ на транзисторе Q11 уже есть и его несложно задействовать для сигнала Enable и E-Stop.

Вот практически разведенная плата. Для увеличения картинки жмем на картинке на правую кнопку мышки и выбираем View Image.

olkogr

Теперь усмотрел реле, тогда да нормально, а вход энейбл делаем оч просто последовательно с 5в которые включают реле ставим еще одну оптопару (можно с транзистором в схеме составного транзистора) схема усложнистя буквально на 3 корпуса радиоэлементов котрые будут занимать квадратный сантиметр платы.
С угольником это както даженезнаю. Там транзисторы нужно ставить все на прокладки, просто так их угольнику не прицепишь, крепить плату за силовые транзисторы эт оч плохо, плата должна держатся за текстолит. я бы делал копус в форме буквы П транзисторы снизу и сверху платы площадками на край платы по периметру, на корпусе стойки для крепежных отв для платы, ставим плату прикручиваем, потом прижимаем транзисторы пластиной через прокладку к корпусу. Корпус из алюминия. Можно также сделать его с ребрами (если плата греетя сильно, эт нужно делать експеримент) сверху П образная крышка.

20 days later
boldive

Спаял наконец.


LS7290 запустилась сразу без проблемм. Красивая синусоида с размахом 5В и частотой 8MHz. Загорелся светодиод HOME. Померял напряжения на выходах INH1, INH2, PHA, PHB, PHC, PHD. Напряжения соответствуют позиции HOME из таблицы в datasheet (совсем недавно в LSI его обновили). Потом померял напряжения на драйверах IR2104. Тоже все красиво и также передает напряжения на входы транзисторов.

Ну коль такое дело подал высокое (+24В для начала) на силовую часть. Мотор дернулся а из одного IRF540 пошел легкий дымок, соответственно он сильно нагрелся практически сразу (на нижней фотографии верхний справа). Отключил питание, померял диоды в IRF540. Все в норме. Никаких коротких замыканий в транзисторах тоже не обнаружил. Подозреваю что дымок пошел от “грязных пальчиков”, наверно слегка заляпал транзисторы пастой пока паял. Больше мотор подсоединять побоялся как впрочем и подавать высокое. И непонятно почему транзистор так сильно и практически мгновенно нагрелся. VREF выставлен на 0.8В. Резисторы в цепи измерения тока на 0.2 ом. Мотор SY85STH80-4208B.

Ну и с какой стороны теперь к этому делу подходить?
Как еще можно прозвонить IRF540 чтобы узнать целые они или нет?
И какая последовательность действий при первом запуске драйвера чтобы без сильных жертв проверить его работоспособность?

80V7A_Drive.zip

olkogr
boldive:

Ну и с какой стороны теперь к этому делу подходить?
Как еще можно прозвонить IRF540 чтобы узнать целые они или нет?
И какая последовательность действий при первом запуске драйвера чтобы без сильных жертв проверить его работоспособность? google_ad_section_end

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

boldive

Совсем запутался.
Выпаял транзисторы IRF540, потыркал по ногам тестером, они прекрасно все включаются и выключаются. Запаял их обратно. Повыдергивал из разъемов IR2104. Никаких “термических” повреждений не обнаружил. Повтыкал их обратно. Включил, все работает. Без никаких внешних сигналов двигатель удерживается но при этом так слегка попискивает. Транзисторы за примерно минуту пищания практически не нагрелись, ну может совсем чуть-чуть.

Наверно проблема была в контактах IR2104 в панельках.
Для начала можно сказать что LS7290 запускается без проблемм и сам драйв похоже живучий. Посмотрел осциллографом напряжение на обмотках двигателя. ШИМ работает.

Теперь надо на 555 таймере собрать простенький генератор импульсов и покрутить мотор.

Вопрос.

  1. А что давать двигателю в качестве нагрузки?
  2. Есть ли какая то методика проверки драйва на “хорошую” работоспособность? Например просмотр формы напряжения на обмотках при разной частоте вращения или еще что-то.

На каких режимах что смотреть на осциллографе?

olkogr

В микрошаге 1/8 на обмотка должна получится почти чистая синусоида, Кроме тог можно сравнить форму с разным делением шага.
нагрузки не надо, пробуйте разгонять и останавливать, если хороший движек(с малым сопротивлением обмоток) сумеете разогнать до 1200 и выше оборотов драйвер не плохой.

Evgeny_l

Так как мотор - это индуктивная нагрузка, то ступеньки будут смазываться, иметь выбросы. Это не есть хорошо. Драйвер в идеальном виде, должен полностью повторять ступеньки- микроступеньки, в зависимости от деления шага. Чем правильнее формы на осцилографе, тем правильнее работают ключи ( без шумов) и качественно разведена плата. Но все это справедливо под нагрузкой.
На фото - впринципе не наблюдается криминала.

Evgeny_l

Основной показатель - температура. Если при прочих равных она меньше, то значит конструктив более качественный.

boldive

Я старался развести плату в одностороннем варианте. Мне не нравится соединение перемычками транзисторов с токовыми резисторами (видно на фотке верхней стороны платы). Хотя если напаять сверху шинку потолще то наверно сойдет. Плюс, я слегка промахнулся с радиаторами. Алюминиевую пластину или уголок я конечно между IRF540 поставлю, но вот для крепежа транзисторов к этой пластине места уже нет. Ни болт вставить, ни еще что-то привинтить. Буду эту часть передумывать/переделывать.

Транзисторный ключ управления реле (подача высокого на силовую часть) тоже как-то не так работает. При моделировании в PROTEUS задержка включения составляла 2 сек. В реальности может 0.2сек. Может надо на 7555 таймере что-то придумать. Он дешевый и навесных элементов к нему резистор и два конденсатора.

Evgeny_l

Смотрю на схему, и не вижу 2с узла задержки подачи питания.

boldive

Внизу схемы транзисторный ключ с реле. J5 (на фотке нижний слева) и J4 (средний справа) соединяются внешними проводами. Питание на силовую часть идет через реле.

olkogr

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