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

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?

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

pomid

коль пошла такая пьянка…
Может кто знает, как катушки в spherosyn’e устроены (линейный энкодер от newall.com , тот что с шариками от подшипников в качестве измерительных попугаев )
Сам патент-то я видел, если че…

Impartial
pomid:

Может кто знает, как катушки в spherosyn’e устроены (линейный энкодер от newall.com , тот что с шариками от подшипников в качестве измерительных попугаев )
Сам патент-то я видел, если че…

Maximum Traverse Rate 2MHz (2m/s at 1µm resolution)

Круто!
А где можно глянуть на патент?

vmarkiv

US4100485 . us4103222 . US6909280
При внимательном рассмотрении можно перевести аппаратную часть на AD2S1200/1210 from Analog Device

Impartial
vmarkiv:

При внимательном рассмотрении можно перевести аппаратную часть на AD2S1200/1210 from Analog Device

Интересная штука!
Можно конечно использовать и резольверные преобразователи, но проще сделать DDS синтезатор и прицепить два ноль детектора, а фазу вычислять измеряя количество импульсов заполнения между нолем синтезатора и выходами ноль детекторов. На Atmel 90PWM3 наверное должно получиться довольно просто.

pomid

что про катушки скажете, как делать на коленках?

Impartial

По моему так нарезать каркас секциями на расстоянии 1/4 диаметра шарика с точностью какая получится а потом программно корректировать по какой нибудь метрологической методике.
Неясно только насколько линейной получается характеристика преобразования.

Impartial

Возвращаясь в тему.
Предлагаю схему для критики, исправлений, добавлений …

PLUTO-P.rar

boldive
Impartial:

Предлагаю схему для критики, исправлений, добавлений …

Для критики всегда пожалуйста. Вот первые вопросы:

А в какой программе ее смотреть?
Эта программа установлена на большинстве пользовательских компьютеров?
А pdf файл тяжело сделать?

dizzyy

если не ошибаюсь, то это файл протеуса
а что акробатРидер уже умеет симулировать работу схем??

Impartial

Извиняюсь!
Это файл ORCAD CAPTURE.
Нужно ведь чтобы можно было в конце сделать трассировку.
В PDF формате как же его корректировать?
Можно его импортировать в ALTIUM DESIGNER.