5-Microstep Drive. Xilinx CPLD
Хороший учебный проект по ПЛМ. Не более того. Цена изделия будет в разы больше чем на AllegroMicro 3986. Заниматься им не имеет никакого смысла, только если вам не нужны изучить ПЛМ (то есть этот проект есть попытка заменить А3986 на рассыпухе+ПЛМ).
Заниматься им не имеет никакого смысла
Мда, сколько людей, столько и мнений. Не хочу никого обижать.
Andrey12, а Вы пробовали перед тем как это написать хотябы почитать соседнюю ветку про А3986, ну хотя-бы ее начало. Прочитать ветку, ссылку на которую я давал. Хотя-бы ради приличия узнать мнения других “драйверостроителей”. Сделать домашнюю работу и выяснить кто такой Марисс и что за драйвера он делает. Надеюсь никому не придет в голову упрекать Графа что он станки неправильно строит. Так и Марисс знает, и очень хорошо знает, как делать драйверы для управления двигателями. И он не использует готовые А3986. По какой причине, это и будет домашней работой. Не сможете выяснить, дайте знать, я Вам скину пару цитат где очень хорошо разъясняется кто и как разрабатывает специализированные микросхемы типа А3986.
Если я что-то неправильно написал, не принимайте это близко. Это такое-же мое личное мнение как и то которое Вы высказали.
Вот схема и печатная плата к простейшему программатору для XILINX. Там же в архиве ссылка на сайт откуда это взято.
Смысла в этой фигне нет. Кит под CPLD от Xilinx стоит в районе 50 баксов и там LPT кабель и макетка с двумя CPLD входит в комплект. Корячиться и горбатить ради этого свое- смысла ноль. Если же планируешь заказывать плату под изделие, то можно этот отладчик изначально в нее заложить, схема простейшая.
Уважаемый boldive !
Читать ветку про 3986 не собираюсь. Еще два(!) года назад сделал драйвер на этой микросхеме. Кто ее делает и кто разрабатывает меня не интересует. Так же не интересует кто такой Марисс. Я с XILINX работаю с 2000 года и начинал с XC4003E. И Графа приплетать не надо - он здесь не причем. Домашнее задание будете давать своим детям. Надеюсь я понятно все изложил ?
Желаю успехов в изучении XILINX !
Желаю успехов в изучении XILINX !
Спасибо!
“На сайте не поощряются непродуманные и повторяющиеся вопросы. Прежде чем размещать сообщение воспользуйтесь поиском и прочтите темы, закрепленные в начале раздела.” - это из правил форума. Andrey12, наверно мне показалось что Вы просто не прочли то о чем писалось по ссылке в первом сообщении.
Расскажите пожалуйста каким образом Вам удалось на A3986 менять разрядность микрошага в зависимости от оборотов двигателя и как Вы защитили выходные транзисторы от перегрева (в смысле защита имеется?). Если ничего этого не реализовано, то никакого сравнения с заменой A3986 быть не может потому как планируется выполнять совершенно разные функции при работе. И уже только поэтому этот проект имеет право на существование. И это НЕ “есть попытка заменить А3986 на рассыпухе+ПЛМ”. И зачем надо было отвечать в теме если “не собираюсь” и “не интересует” превалируют в ответе. Для этого есть курилка.
Был бы рад услышать дельные пожелания и предостережения при работе с CPLD (надеюсь за 9 лет работы есть что сказать).
менять разрядность микрошага в зависимости от оборотов двигателя и как Вы защитили выходные транзисторы от перегрева
Если есть радиатор, то проблемма защита по перегреву несколько лишнее, так как ничего хорошего не будет, если она , в смысле защта, будет отрабатывать во время работы станка . Улавливаете в чем подвох. Правильнее сделать принудительный обдув радиаторов, а еще правильнее радиаторы больше и без обдува, чтоб не перегрелись есль клинанет вентилятор.
Менять размерность микрошага, в зависимости от скорости, это вы как себе представляете? Есть Масн, он генерирует кол-во импульсов (шагов) на милиметр.
Меняя частоту, меняем скорость. Не имеет значение с какой скоростью будем крутить моторы, факт тот , что за 5000 импульсов мы двинем каретку на 20мм (условность для примера). Или есть иной алгоритм управления в Масн.?
По поводу перегрева. Можно генерить сигнал estop. Станок останавливается. Ничего не теряется. Зато спасаются драйверы и двигателя (их тоже можно мониторить). Есть работы которые требуют от станка 5-8-10 часов непрерывной работы. Будете все это время стоять и смотреть как оно там трудится? А если вентилятор переклинит, мотор уйдет в недопостимо горячие режимы, как тогда? Все эти защиты не являются обязательнымми. Но они спасают оборудование.
Будете все это время стоять и смотреть
В том-то и дело, что не буду, потому и защита должна быть “железной”.
Прочитал, идея интересная.
По поводу перегрева. Можно генерить сигнал estop. Станок останавливается. Ничего не теряется. Зато спасаются драйверы и двигателя (их тоже можно мониторить). Есть работы которые требуют от станка 5-8-10 часов непрерывной работы. Будете все это время стоять и смотреть как оно там трудится? А если вентилятор переклинит, мотор уйдет в недопостимо горячие режимы, как тогда? Все эти защиты не являются обязательнымми. Но они спасают оборудование.
Конкретно эту логику можно внедрить в станок на ЛЮБОМ контроллере. Притом вариантов решения море: От термореле с выносным датчиком, коих китайцы понаделали море и совсем занедорого до простейшего каскада на оу с небольшой обвеской и термистором.
Всевозможные защиты железа это не самое главное в этом проекте. Это побочные прибамбасы которые помогут сделать жизнь лучше.
Цель сделать 5шаговый, а еще лучше 10 или 16 шаговый режим. Менять шаг в замисимости от оборотов двигателя. С увеличением частоты уходить с микрошага на 1/4 , 1/2 полный шаг. В статье выше написано при каких оборотах куда сваливать. Настройки в Mach менять не надо. Ему только сказать что работаем с 1/8 или 1/16 шага. CPLD в зависимости от оборотов (читай меряем частоту сигналов STEP, а еще точнее количество пульсов CLK между сигналами STEP) будет подставлять в формируемую виртуальную синусоиду нужные значения (мультиплексор управляемый счетчиком частоты STEP). На выходе должна получаться синусоида при малом шаге и прямоугольник при полном (или что-то около того). ШИМ при этом работает без изменений. При отсутствии сигналов STEP более 1сек (детектор сделан железно на заряде-разряде RC цепочки) выдается 71% или около того от полного тока двигателя. Почти все основные функции уже сделаны Марисом. Надо лишь “расширить” функциональность (как например изменение микрошага). CPLD нужно брать что-то из серии XC2C64A-7VQ44C. В два раза больше микроячеек и побольше портов ввода/вывода. Габариты ненамного больше а расстояние между выводами 0.8мм что вполне приемлимо для домашних плат. У Марисса на этом чипе (только может другой корпус) сделан его 203V драйв со всеми этими фишками плюс защита от короткого замыкания обмотки двигателя на корпус и переполюсовка питания. Каким-то образом это работает через обычный предохранитель но силовые транзисторы выгореть не успевают.
Есть счастливые обладатели Geckodrive? Можете плату отсканировать с обеих сторон чтобы рассмотреть как там защита устроена (у него плата 4-х слойная). Наверняка там кроме предохранителей еще что-то воткнуто. Уж очень хочется “подсмотреть” краешком глаза “как там у них” это работает.
Неужели никому не интересно, или дальше интереса дело не идет?
Ветераны общения с XILINX молчат, может начинающие смогут закрутить это колесо? Как только я доведу до ума свой LS7290 тогда вплотную этим и займусь.
XC2C32 изначально заложенная в этот проект заведомо недостаточна для реализации того, о чем вы говорите. Она применима только в варианте “побаловаться” с шаговиками. По поводу шага выводов и домашних условий- делать плату контроллера чпу сколь нибудь умного в домашних условиях по меньшей мере непонятное занятие, по простой причине. Развести нормально плату с плисиной и силовой частью для такого контроллера в один слой сможет только профи экстра класса и то с вероятностью 60-70 процентов, во всех остальных случаях такая плата будет серьезно ухудшать потребительские свойсва. Т.е опять же возврашяемся к тому что домашняя плата разумна только в варианте “поиграться с шаговиками”. Я несколько лет назад тоже делал платы под плиски сам. Но сейчас жалею, что тратил время на упихивание всего на 1 слой.
adgd.ru/images/img_oscill_05.jpg
adgd.ru/images/img_oscill_06.jpg
Офтоп: это Вы делали осциллограф?
Ветераны общения с XILINX молчат, может начинающие смогут закрутить это колесо? Как только я доведу до ума свой LS7290 тогда вплотную этим и займусь.
Мы весной плотно обсуждали этот проект, я даже модельнул его на Альтере,
но LS7290 на мой взгляд более подходит.
… Менять шаг в замисимости от оборотов двигателя. С увеличением частоты уходить с микрошага на 1/4 , 1/2 полный шаг. В статье выше написано при каких оборотах куда сваливать. Настройки в Mach менять не надо…
Вы несколько неправильно поняли картинки Марисса.
Смысл его затеи в том, что
- степень дробления шага (1/N) не меняется, она const, полный шаг ШД при любой скорости состоит из N импульсов STEP;
- при изменении частоты STEP происходит только трансформация формы опорного напряжения.
Что это значит на практике:
- при низкой частоте STEP опорное напряжение по форме SIN;
- в переходной зоне частот STEP, опорное напряжение - искаженный (как бы ограниченный по амплитуде, с мягким ограничением) SIN;
- при высокой скорости STEP опорное по форме - трапеция (практически прямоугольник).
Это хорошо видно по осциллограммам Марисса.
Реализацию этого на BascomAVR можно посмотреть в проекте Mardus-Kreutz для униполярного драйвера, там в таблицах форм хорошо все видно и сделано почти как у Марисса.
Мы весной плотно обсуждали этот проект, я даже модельнул его на Альтере,
но LS7290 на мой взгляд более подходит.
Да, мне интересно было попробовать ПЛМ, спасибо Юрий, еще раз.
Только до практике дело так и не дошло: другие проблемы больше занимают, а начинать серьезное дело ради 2,3,4 драйверов для себя… Уже куража не хватает, сдулся.
Всем спасибо.
Проект можно считать похороненным. Дитя умерло так и не успев родиться 😦
Проект можно считать похороненным. Дитя умерло так и не успев родиться
Это еще почему?
Да как-то не движется.
Сегодня послал запрос в avnet.com, может подкинут сэмплов для комплектации на один драйв для начала.
Сэмплов не подкинули, пришлось накупить рассыпухи вместе с XC2C64A-7VQ44C. теперь надо плату под это дело ваять. Схему обвязки наверно надо брать вот отсюда. Она мне почему-то больше нравится. И у меня такое ощущение что она очень близка к реальной схеме драйвера G203V.
Марисс говорит что для связки IR2104 + IRF540N резисторы в цепи затвора не нужны, и если внимательно посмотреть на фотографию G250 на сайте geckodrives.com то там видно прямое соединение с затворами IRF540N. Кто что думает по этому поводу?
Все детали приехали. Можно строить драйвер. Осталось только плату развести, с моими темпами это получится не скоро.
Что-то никак не могу разобраться как в Xilinx ISE 10.1.03 программу скомпилировать и через JTAG записать в CPLD. Кто нибудь может просветить?
Для заливки отдельная тулза. Programmer чего-то там. Воопщем после компиляции нужно указать какие чипы есть в JTAG цепочке, задать для каждого чипа файл выхода и влить его, но перед тем еще нужно имплементировать то, что ты хочешь в этот чип и провести финальную симуляцию, уже на уровне кристалла, с проверкой выдерживания таймингов. Впринципе на сайте xilinx есть отличные мануалы, в частности по CPLD к родной отладке есть довольно увесистая книжечка в деталях описывающая процесс.