5-Microstep Drive. Xilinx CPLD

boldive

Вот схема и печатная плата к простейшему программатору для XILINX. Там же в архиве ссылка на сайт откуда это взято.

XILING-PRG-ADAPTER.rar

tumbzik

Смысла в этой фигне нет. Кит под CPLD от Xilinx стоит в районе 50 баксов и там LPT кабель и макетка с двумя CPLD входит в комплект. Корячиться и горбатить ради этого свое- смысла ноль. Если же планируешь заказывать плату под изделие, то можно этот отладчик изначально в нее заложить, схема простейшая.

Andrey12

Уважаемый boldive !

Читать ветку про 3986 не собираюсь. Еще два(!) года назад сделал драйвер на этой микросхеме. Кто ее делает и кто разрабатывает меня не интересует. Так же не интересует кто такой Марисс. Я с XILINX работаю с 2000 года и начинал с XC4003E. И Графа приплетать не надо - он здесь не причем. Домашнее задание будете давать своим детям. Надеюсь я понятно все изложил ?

Желаю успехов в изучении XILINX !

boldive
Andrey12:

Желаю успехов в изучении XILINX !

Спасибо!

“На сайте не поощряются непродуманные и повторяющиеся вопросы. Прежде чем размещать сообщение воспользуйтесь поиском и прочтите темы, закрепленные в начале раздела.” - это из правил форума. Andrey12, наверно мне показалось что Вы просто не прочли то о чем писалось по ссылке в первом сообщении.

Расскажите пожалуйста каким образом Вам удалось на A3986 менять разрядность микрошага в зависимости от оборотов двигателя и как Вы защитили выходные транзисторы от перегрева (в смысле защита имеется?). Если ничего этого не реализовано, то никакого сравнения с заменой A3986 быть не может потому как планируется выполнять совершенно разные функции при работе. И уже только поэтому этот проект имеет право на существование. И это НЕ “есть попытка заменить А3986 на рассыпухе+ПЛМ”. И зачем надо было отвечать в теме если “не собираюсь” и “не интересует” превалируют в ответе. Для этого есть курилка.

Был бы рад услышать дельные пожелания и предостережения при работе с CPLD (надеюсь за 9 лет работы есть что сказать).

Evgeny_l
boldive:

менять разрядность микрошага в зависимости от оборотов двигателя и как Вы защитили выходные транзисторы от перегрева

Если есть радиатор, то проблемма защита по перегреву несколько лишнее, так как ничего хорошего не будет, если она , в смысле защта, будет отрабатывать во время работы станка . Улавливаете в чем подвох. Правильнее сделать принудительный обдув радиаторов, а еще правильнее радиаторы больше и без обдува, чтоб не перегрелись есль клинанет вентилятор.
Менять размерность микрошага, в зависимости от скорости, это вы как себе представляете? Есть Масн, он генерирует кол-во импульсов (шагов) на милиметр.
Меняя частоту, меняем скорость. Не имеет значение с какой скоростью будем крутить моторы, факт тот , что за 5000 импульсов мы двинем каретку на 20мм (условность для примера). Или есть иной алгоритм управления в Масн.?

boldive

Читаем.

По поводу перегрева. Можно генерить сигнал estop. Станок останавливается. Ничего не теряется. Зато спасаются драйверы и двигателя (их тоже можно мониторить). Есть работы которые требуют от станка 5-8-10 часов непрерывной работы. Будете все это время стоять и смотреть как оно там трудится? А если вентилятор переклинит, мотор уйдет в недопостимо горячие режимы, как тогда? Все эти защиты не являются обязательнымми. Но они спасают оборудование.

Evgeny_l
boldive:

Будете все это время стоять и смотреть

В том-то и дело, что не буду, потому и защита должна быть “железной”.
Прочитал, идея интересная.

tumbzik
boldive:

Читаем.

По поводу перегрева. Можно генерить сигнал estop. Станок останавливается. Ничего не теряется. Зато спасаются драйверы и двигателя (их тоже можно мониторить). Есть работы которые требуют от станка 5-8-10 часов непрерывной работы. Будете все это время стоять и смотреть как оно там трудится? А если вентилятор переклинит, мотор уйдет в недопостимо горячие режимы, как тогда? Все эти защиты не являются обязательнымми. Но они спасают оборудование.

Конкретно эту логику можно внедрить в станок на ЛЮБОМ контроллере. Притом вариантов решения море: От термореле с выносным датчиком, коих китайцы понаделали море и совсем занедорого до простейшего каскада на оу с небольшой обвеской и термистором.

boldive

Всевозможные защиты железа это не самое главное в этом проекте. Это побочные прибамбасы которые помогут сделать жизнь лучше.

Цель сделать 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 тогда вплотную этим и займусь.

tumbzik

XC2C32 изначально заложенная в этот проект заведомо недостаточна для реализации того, о чем вы говорите. Она применима только в варианте “побаловаться” с шаговиками. По поводу шага выводов и домашних условий- делать плату контроллера чпу сколь нибудь умного в домашних условиях по меньшей мере непонятное занятие, по простой причине. Развести нормально плату с плисиной и силовой частью для такого контроллера в один слой сможет только профи экстра класса и то с вероятностью 60-70 процентов, во всех остальных случаях такая плата будет серьезно ухудшать потребительские свойсва. Т.е опять же возврашяемся к тому что домашняя плата разумна только в варианте “поиграться с шаговиками”. Я несколько лет назад тоже делал платы под плиски сам. Но сейчас жалею, что тратил время на упихивание всего на 1 слой.
adgd.ru/images/img_oscill_05.jpg
adgd.ru/images/img_oscill_06.jpg

mura
boldive:

Ветераны общения с XILINX молчат, может начинающие смогут закрутить это колесо? Как только я доведу до ума свой LS7290 тогда вплотную этим и займусь.

Мы весной плотно обсуждали этот проект, я даже модельнул его на Альтере,
но LS7290 на мой взгляд более подходит.

ATLab
boldive:

… Менять шаг в замисимости от оборотов двигателя. С увеличением частоты уходить с микрошага на 1/4 , 1/2 полный шаг. В статье выше написано при каких оборотах куда сваливать. Настройки в Mach менять не надо…

Вы несколько неправильно поняли картинки Марисса.
Смысл его затеи в том, что

  • степень дробления шага (1/N) не меняется, она const, полный шаг ШД при любой скорости состоит из N импульсов STEP;
  • при изменении частоты STEP происходит только трансформация формы опорного напряжения.

Что это значит на практике:

  1. при низкой частоте STEP опорное напряжение по форме SIN;
  2. в переходной зоне частот STEP, опорное напряжение - искаженный (как бы ограниченный по амплитуде, с мягким ограничением) SIN;
  3. при высокой скорости STEP опорное по форме - трапеция (практически прямоугольник).
    Это хорошо видно по осциллограммам Марисса.

Реализацию этого на BascomAVR можно посмотреть в проекте Mardus-Kreutz для униполярного драйвера, там в таблицах форм хорошо все видно и сделано почти как у Марисса.

mura:

Мы весной плотно обсуждали этот проект, я даже модельнул его на Альтере,
но LS7290 на мой взгляд более подходит.

Да, мне интересно было попробовать ПЛМ, спасибо Юрий, еще раз.
Только до практике дело так и не дошло: другие проблемы больше занимают, а начинать серьезное дело ради 2,3,4 драйверов для себя… Уже куража не хватает, сдулся.

boldive

Всем спасибо.
Проект можно считать похороненным. Дитя умерло так и не успев родиться 😦

mura
boldive:

Проект можно считать похороненным. Дитя умерло так и не успев родиться

Это еще почему?

boldive

Да как-то не движется.
Сегодня послал запрос в avnet.com, может подкинут сэмплов для комплектации на один драйв для начала.

boldive

Сэмплов не подкинули, пришлось накупить рассыпухи вместе с XC2C64A-7VQ44C. теперь надо плату под это дело ваять. Схему обвязки наверно надо брать вот отсюда. Она мне почему-то больше нравится. И у меня такое ощущение что она очень близка к реальной схеме драйвера G203V.

Марисс говорит что для связки IR2104 + IRF540N резисторы в цепи затвора не нужны, и если внимательно посмотреть на фотографию G250 на сайте geckodrives.com то там видно прямое соединение с затворами IRF540N. Кто что думает по этому поводу?

boldive

Все детали приехали. Можно строить драйвер. Осталось только плату развести, с моими темпами это получится не скоро.

Что-то никак не могу разобраться как в Xilinx ISE 10.1.03 программу скомпилировать и через JTAG записать в CPLD. Кто нибудь может просветить?

tumbzik

Для заливки отдельная тулза. Programmer чего-то там. Воопщем после компиляции нужно указать какие чипы есть в JTAG цепочке, задать для каждого чипа файл выхода и влить его, но перед тем еще нужно имплементировать то, что ты хочешь в этот чип и провести финальную симуляцию, уже на уровне кристалла, с проверкой выдерживания таймингов. Впринципе на сайте xilinx есть отличные мануалы, в частности по CPLD к родной отладке есть довольно увесистая книжечка в деталях описывающая процесс.

1 month later
kreitzz

Народ, приветик.
Вижу, многие мучаются с программированием Xilinx. Я в свое время тоже разбирался в этой проблеме, так что делюсь своим опытом. Просмотрите приложенный файл - это часть выполненного курсовика по Verilog, железо от Digilent - тестовая плата со Спартаном-3. Курсовик выполнен как пошаговая инструкция по программированию.