использование pluto-p подобных плат в чпу.

Impartial

Первое и самое главное!
Это и есть полноценные драйвера как шаговых двигателей, так и сервоприводов.
Когда я писал о подключении модуля Мориса, то имел ввиду не железо, а программу на Верилоге.
Второе
Для полноценной работы системы управления приводом необходимо получать не точку(степ/дир) а вектор, что эта плата и делает, обрабатывая полученный с компа вектор с параметрами начало/конец, скорость …
Третье
В данном случае ЛРТ порт, работающий а ЕРР режиме, выполняет функции шины обмена типа ISA, PCI, USB …, только с меньшей скоростью и разрядностью, но в данном случае этого достаточно. Не зря ведь все серьёзные платы используют эти интерфейсы, однако на коленке собрать такие платы либо сложно в изготовлении, либо связано с задачей написания драйверов под определенную операционку.
И потом, согласитесь, что самое главное это управляющая программа, в которую множество людей (низкий им поклон) вложило столько сил и времени.
Я начинал модернизировать станки с написания эмулятора процессора PDP11 (частный случай Электроника 60, МС1201,02) для станков советского производства с разворованными стойками управления. Однако мы уперлись в тупик, связанный с невозможностью модернизации штатного программного обеспечения этих станков.
А это, согласитесь, проблема неразрешимая.
Поэтому мы сделали ставку на открытое ПО под ОС Linux - EMC2.
Лично я благодарен людям создавшим его и отдавшим всем в свободное пользование все, включая исходники.
На этой базе, сейчас можно создавать любые встроенные контроллеры для управления, аппаратно состоящие из набора микросхем, насчитывающих не более десяти наименований.
И этим постом я хочу привлечь Ваше внимание, и предложить идти в этом направлении сообща. На мой взгляд этот путь самый малозатратный и универсальный.
Не малую роль в этом деле играют авторские права, стоимость лицензий на ПО.
Я к этому отношусь очень ответственно и уважительно.
Вот собственно и все, что хотел сказать.
Если не ответил на Ваши вопросы, эадавайте конкретно, постараюсь ответить.
С Уважением.

ATLab
Impartial:

Второе
Для полноценной работы системы управления приводом необходимо получать не точку(степ/дир) а вектор, что эта плата и делает, обрабатывая полученный с компа вектор с параметрами начало/конец, скорость …

А еще нужен разгон/торможение…
И если дело дошло до передачи векторов, то, выходит, этот код в ПЛИС заменяет собой интерпретатор G-кода в компьютере? Я правильно понял?
За это уже брались многократно, например был проект на французском, реализован, правда, на PIC, с ЖК индикатором и т.д. Сошлись на том, что самый дешевый и доступный интерпретатор G-кода - компьютер. И я с этим согласен, поскольку отладить интерпретатор - дело не одного дня и не одного человека.

Третье
…Я начинал модернизировать станки с написания эмулятора процессора PDP11 (частный случай Электроника 60, МС1201,02) для станков советского производства с разворованными стойками управления. Однако мы уперлись в тупик, связанный с невозможностью модернизации штатного программного обеспечения этих станков.
А это, согласитесь, проблема неразрешимая.

Вы просто пошли по ошибочному пути: нужно было просто модернизировать аппаратную часть так, чтобы она понимала DIR/STEP и использовать любой готовый управляющий софт. Это гораздо проще и быстрее, чем написать эмулятор PDP11. Или Вы не выбираете легких дорог? 😃

Поэтому мы сделали ставку на открытое ПО под ОС Linux - EMC2.
Лично я благодарен людям создавшим его и отдавшим всем в свободное пользование все, включая исходники.
На этой базе, сейчас можно создавать любые встроенные контроллеры для управления, аппаратно состоящие из набора микросхем, насчитывающих не более десяти наименований.
И этим постом я хочу привлечь Ваше внимание, и предложить идти в этом направлении сообща. На мой взгляд этот путь самый малозатратный и универсальный…

Зачем тратить кучу времени на разработку специализированного контроллера управления? Это же нужно взять как минимум ARM9, адаптировать к нему Linux, добиться стабильной работы…
Вместо этого берется готовый компьютер mini-ITX (или промышленный комп, по вкусу) на который ставится проверенная легкая конфигурация Linux, EMC-2 и все работает (см. работу в этом направлении на cnczone.ru). Вот это и есть малозатратный и универсальный путь - не изобретать лишних сущностей.
А Ваш специализированный контроллер не скоро достигнет аналогичного уровня работоспособности и по цене будет дороже.

Есть, правда, одна для ниша специализированного контроллера - скоростная работа - но это уже далеко выходит за рамки хобби, поэтому толк от потраченного времени будет сомнительным.
Ну не зря ведь такое широкое распространение получил Мач? Значит его возможностей достаточно большинству пользователей.

Impartial

Ну по порядку.

ATLab:

А еще нужен разгон/торможение…
И если дело дошло до передачи векторов, то, выходит, этот код в ПЛИС заменяет собой интерпретатор G-кода в компьютере? Я правильно понял?

Не правильно! Интерпретатор G кода остался в компе.

ATLab:

Вы просто пошли по ошибочному пути: нужно было просто модернизировать аппаратную часть так, чтобы она понимала DIR/STEP и использовать любой готовый управляющий софт. Это гораздо проще и быстрее, чем написать эмулятор PDP11. Или Вы не выбираете легких дорог?

Если бы все было так просто!
Сервоприводом Вы тоже предлагаете управлять по DIR/STEP?😃
А электоавтоматикой станка чем управлять?

ATLab:

Зачем тратить кучу времени на разработку специализированного контроллера управления? Это же нужно взять как минимум ARM9, адаптировать к нему Linux, добиться стабильной работы…
Вместо этого берется готовый компьютер mini-ITX (или промышленный комп, по вкусу) на который ставится проверенная легкая конфигурация Linux, EMC-2 и все работает (см. работу в этом направлении на cnczone.ru). Вот это и есть малозатратный и универсальный путь - не изобретать лишних сущностей.
А Ваш специализированный контроллер не скоро достигнет аналогичного уровня работоспособности и по цене будет дороже.

Вот по этому пути и идем.
Только не надо ничего изобретать уже все изобретено и адаптировано.
И стоимость контроллера получается (аппаратно) не сравнимая даже с самыми дешевыми РС. И работают там те-же Linux и EMC2.

ATLab:

Ну не зря ведь такое широкое распространение получил Мач? Значит его возможностей достаточно большинству пользователей.

Не возражаю!
Но посчитайте затраты на ПО! Они ведь сравнимы по стоимости железу!
Я уже не говорю о CAD/CAM системах.
Лично меня не устраивает позиция, в которую меня ставит нахватавшийся азов общения с компом в плане проверки лицензионности ПО, работник правоохранительных органов. И он по большому счету прав!
И последнее.
Вы конечно же правы что специализированный контроллер выходит за рамки хоббийного применения.
Но я же не предлагаю здесь это обсуждать, а тем более разрабатывать.
Я предлагаю решение проблемы драйвера привода, что и является темой этого раздела.

ATLab
Impartial:

Ну по порядку.
Не правильно! Интерпретатор G кода остался в компе.

Тогда поясните, pls, назначение этого устройства, я пока не понимаю зачем оно нужно: интерпретатор G-кода - компьютер, драйверы есть готовые - DIR/STEP (в том числе и для серво). Зачем еще что-то?

Но посчитайте затраты на ПО! Они ведь сравнимы по стоимости железу!
Я уже не говорю о CAD/CAM системах.
Лично меня не устраивает позиция, в которую меня ставит нахватавшийся азов общения с компом в плане проверки лицензионности ПО, работник правоохранительных органов

Домой работник правоохранительных органов в ближайшее время вряд ли придет, а для работы это не те затраты (на ПО), на которых стоит экономить.
CAD/CAM, конечно, более заметные расходы, но тоже подъемны, пусть и не сразу, если работа - это работа, а не хобби на работе.

Я предлагаю решение проблемы драйвера привода, что и является темой этого раздела.

Да нет такой проблемы: кому нужен станок для работы - покупает готовые драйверы, кто хочет поковыряться - паяет сам, схем уже много.
Платка Pluto - ни то, ни се, один из вариантов отладочных плат на ПЛИС. То, что ВЫ написали, imho даже не стартовая точка для обсуждения - нечего пока обсуждать, в отличие от драйвера Марисса 5 Microstep Drive.

P.S. Вы уж как-нибудь попроще объясняйте - на пальцах - и без загадок и умолчаний. А то, может оно мне уже давно надо, а я об этом не догадываюсь 😁

Impartial

Да какие загадки, когда уже исходники выше?
Я же все и так на пальцах объяснил.
Чтобы исчезла загадочность и недомолвки ну ознакомьтесь с описанием EMC2 и HAL!
Не сделаете Вы подобный контроллер ни на чем более просто!
Вы хотя бы вникните в суть вопроса!

vmarkiv

Здравствуйте знатоки Pluto-p платы !
Тема использования платы для меня актуальна . Я купил микросхему ЕР1К… от Альтеры , но сделать плату под неё не смог по утюжной технологии .
Вопросы :

  1. У кого есть готовая Pluto-p плата , или хотя бы хорошая разводка с принципиальной схемой ?
    2 . Аналог платы Pluto-p я видел на сайте www.pico-systems.com/univpwm.html , может кто-то сможет повторить , или сделать аналог на базе EP1K30TC144 по предложеной програме .
    3 . Можно ли сделать аналог платы для использования с програмным пакетом MACH3 ? Это было-бы очень интересно , так как MACH3 очень гибкий пакет , но ему не хватает расширения каналов ввода-вывода и замкнутой обратной связи по положению .
Impartial

Раз пытались сделать плату, значит схема и печатка уже есть?
Такое-же, ( по идеологии) как указано в ссылке и делаю.
У МАСН3, по моему, нет языка описания аппаратуры, аналогичного HAL в EMC.

boldive
vmarkiv:

но сделать плату под неё не смог по утюжной технологии .

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

mura

На Украине еденичные платы делают не так.
1 отправляешь файл в Херсон
2 получаешь счет, оплачиваешь в ближайшем банке (у меня это ~10-15$)
3 через неделю получаешь плату с металлизацией и “зеленкой”

Impartial

А ссылку можно?
В Александрии только подготовка производства около 500гр.

mura

В каждом номере Chip-News его визитка pcb{dog}cdmaua.com tel. 0552-444821

vmarkiv

Ребята !
Тема изготовления ПП методами утюга , сеткографии , балончика POSITIV 20 , стеклотекстолита с фотослоем , изготовления платв Китае или Венгрии через МОЩНЫЕ ФИРМЫ пройдена давноооооо , меня больше интересуют мнения о возможности развития контролера движения ( использования заготовки , называемой PLUTO-P) под ПЛИС Альтеры для среды Линукс или Виндовс . Давайте вернемся к плутоватым платам .
Для меня актуальность темы состоит в том , что при разработке сервоприводов по разных вольных проэктах есть проблема , что микропроцессоры Меги , Тини даже ДСПИК не могут ОТЛИЧНО обрабатывать сигналы от энкодеров ( например , при непосредственном соединении вал в вал двигателя на 4000 об\мин и энкодера 2500 имп , импульсы теряются ) . Для выхода из ситуации приходится ставить на обслуживании энкодеров логику типа счетчика 555ИЕ7 - но это уже решения из тысячелетия моей молодости . ПЛИСы позволяют делать это легко и просто , а в сочитании с возможностями функций HAL в Линукс EMC , это , наверное , просто . Авторы программ для EP1K10 сумели в одну миркосхему засунуть и сервоконтролеры и электроавтоматику — это прекрасно !!! Так давайте же дадим проэкту достойное развитие .Спасибо за внимание .

Impartial

Конечно, никакой МК без аппаратного квадратурного энкодера не сможет отработать сигнал с инкрементного оптического датчика без потерь. А если необходимо подключить резольвер то надо еще больше городить на рассыпухе.
На FPGA это все реализуется довольно просто.

10 days later
maxvovk
vmarkiv:

Ребята !
… меня больше интересуют мнения о возможности развития контролера движения ( использования заготовки , называемой PLUTO-P) под ПЛИС Альтеры для среды Линукс или Виндовс . Давайте вернемся к плутоватым платам .

Impartial -
Вы первый тут, кто вменяемо и толково написал об этом простом и интересном устройстве 😃.

Для меня актуальность темы состоит в том , что при разработке сервоприводов по разных вольных проэктах есть проблема , что микропроцессоры Меги , Тини даже ДСПИК не могут ОТЛИЧНО обрабатывать сигналы от энкодеров ( например , при непосредственном соединении вал в вал двигателя на 4000 об\мин и энкодера 2500 имп , импульсы теряются ) . Для выхода из ситуации приходится ставить на обслуживании энкодеров логику типа счетчика 555ИЕ7 - но это уже решения из тысячелетия моей молодости . ПЛИСы позволяют делать это легко и просто , а в сочитании с возможностями функций HAL в Линукс EMC , это , наверное , просто . Авторы программ для EP1K10 сумели в одну миркосхему засунуть и сервоконтролеры и электроавтоматику — это прекрасно !!! Так давайте же дадим проэкту достойное развитие .Спасибо за внимание .

Скажем честно - аккуратно реализованный буфер на триггере Шмидта - и любая АВРка прекрасно считает сигналы с енкодеров.

Дело в другом, и вы это прекрасно видите - на одном кристалле мы делаем многоканальный и универсальный драйвер + легко расширяемая логика обработки сигналов для автоматики. И все это через один медленный LPT. И ри этом никаких ограничений на частоту степа (кто пробовал микрошаг 10 и больше - тот понимает, о чем речь).

Я уже давно это использую, конкретно EP2C8, некоторое кол-во плат рисовал в пикаде и заказывал в тепро.

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

Вообще скажу - не парьтесь, сделайте и используйте. Работает изумительно, стоит копейки - что еще нужно? А другие со скептисом на уровне непонимания принципа работы - пусть используют что принято и всем известно.

Удачи!

vmarkiv

Здравствуйте знатоки Плуто плат ! Спасибо Maxvovk за аккуратный комментарий по теме . Из высказанного видно , что тема переноса программного с ядра ЕР1К10 на ядро Циклон успешно пройдена . Так что всем любителям можно дерзать . Дальше по теме – для монтажа ЕР1К10 можно использовать платы-переходники TQFP32, QFN32, TQFP44, QFN44, TQFP64, LQFP100 и LQFP144 emkit.com.ua/products/adapter_boards_a2/ www.kosmodrom.com.ua/table.php?name=emkit&page=0 , я себе собираюсь купить несколько . У меня вопрос : Можно ли использовать несколько плат Плуто-П при работе с Linux EMC - сконфигурировать одну плату на LPT1 в качестве сервоконтролера ( например на 6 осей ) , вторую на LPT2 в качестве контроллера электроавтоматики ( 20 -30 входов \выходов ) и т.д.? С уважением Василий Маркив

Impartial

Cконфигурировать можно без проблем, только зачем?
Нужно сразу отказаться от ЕР1К10 и использовать более емкие кристаллы в 144 корпусе. Например в ЕР1К30ТС144-3 можно использовать 104 вывода.
Правда при этом возникают проблемы с использованием штатного загрузчика, но это легко обходится, если использовать аппаратную загрузку микрокода. И это даже более приемлемый вариант, так как исключает случайный перевод FPGA в режим загрузки микрокода, в случае непредвиденного использования ЛПТ порта операционной системой.
Простой расчет показывает
Обслуживание LPT порта -13 выводов.
6 осей сервопривода/шаговый биполярный - управление силовыми ключами - 24 вывода.
В случае использования сервопривода + 18 выводов для енкодеров. Остается 49 выводов для управления электроавтоматикой.
При периоде сервоцикла 1мс и максимальной скоростью LPT порта 0.8-1 мб/сек машина
типа DURON 1000 успевает обработать все 6 осей в самом тяжелом варианте - сервопривода.

Impartial

maxvovk

Я уже давно это использую, конкретно EP2C8, некоторое кол-во плат рисовал в пикаде и заказывал в тепро.

Спасибо за моральную поддержку.
Скажите, какой вывод LPT порта Вы используете для перевода FPGA в режим загрузки микрокода?

Sergh
maxvovk:

Я уже давно это использую, конкретно EP2C8, некоторое кол-во плат рисовал в пикаде и заказывал в тепро.

Если не секрет, что вы использовали для сопряжения по уровням LPT и Cyclone?

vmarkiv

Здравствуйте !
Я согласен с Impartial , что использование ЕР1К10 уже дело прошлых лет , все сразу нужно делать на хорошем кристалле . Maxvovk рекомендовал ПЛИС EP2C8 , для нее есть макетка LDM-EP2C8-T144 в http://www.ldm-systems.ru или http://www.terraelectronica.ru , а на Космодроме в Харькове ее цена 1132 грн , там также есть описание выводов и т.д. На сайте http://www.xDevs.com хорошие примеры по использованию Циклонов forum.xdevs.com/viewtopic.php?f=16&t=140 .
Я согласен с Impartial , лучше микрокод ( программу ПЛИС ) прошить прямо в ПЛИС и вывести сигналы готовности программного обеспечения Linux EMC и готовности электроавтоматики на отдельный вход ПЛИС , это позволит избежать ложных срабатываний при включении системы . Для МАСН3 я ставлю отдельную схему автоматики , которая запрещает работу сервоприводов при нештатных ситуациях , так как драйвера параллельного порта часто обращаются к порту для поиска ключа защиты , тестирования .
Из темпа развития обсуждаемой темы я вижу ( и надеюсь ) , что через месяц мы уже будем обсуждать практическую часть проэкта .
С уважением
Василий Маркив

Impartial
ATLab:

И если дело дошло до передачи векторов, то, выходит, этот код в ПЛИС заменяет собой интерпретатор G-кода в компьютере? Я правильно понял?
За это уже брались многократно, например был проект на французском, реализован, правда, на PIC, с ЖК индикатором и т.д. Сошлись на том, что самый дешевый и доступный интерпретатор G-кода - компьютер. И я с этим согласен, поскольку отладить интерпретатор - дело не одного дня и не одного человека.

Кстати, вот исходник интерпретатора G кода из ЕМС2.
Прекрасно компилируется и работает на платформах (ядрах) ARM и NIOS2 в Циклоне III.

vmarkiv:
  1. У кого есть готовая Pluto-p плата , или хотя бы хорошая разводка с принципиальной схемой ?

Вот разводка и структура регистров ЕР1К10 платы pluto-p.

rs274ngc.rarpluto_servo.rar

maxvovk
vmarkiv:

Здравствуйте знатоки Плуто плат ! Спасибо Maxvovk за аккуратный комментарий по теме . Из высказанного видно , что тема переноса программного с ядра ЕР1К10 на ядро Циклон успешно пройдена .

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

У меня вопрос : Можно ли использовать несколько плат Плуто-П при работе с Linux EMC - сконфигурировать одну плату на LPT1 в качестве сервоконтролера ( например на 6 осей ) , вторую на LPT2 в качестве контроллера электроавтоматики ( 20 -30 входов \выходов ) и т.д.? С уважением Василий Маркив

Нельзя. Только одна плата на ЕРР поддерживается.

Спасибо за моральную поддержку.
Скажите, какой вывод LPT порта Вы используете для перевода FPGA в режим загрузки микрокода?

У меня код грузится с флешки. При попытке сделать как в плуто у меня сгорели несколько ключей, пришлось делать по-своему.

Если не секрет, что вы использовали для сопряжения по уровням LPT и Cyclone?

Не секрет. Резисторы.