Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
Индеец
Кандидат
Сообщения: 43
Зарегистрирован: 26 дек 2015, 01:00
Репутация: 15
Настоящее имя: П.Ж.
Контактная информация:

Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение Индеец »

Добрый шалом, господа хорошие!

Давно мечтаю сделать свой контроллер под Линукс ЦНЦ или (теперь)Малину. Некий такой вумный breakout board на базе CPLD. В чём-то замена Месы :)
Один вариант даже воплотил в виде платы, но понял, что в нём заложено с одной стороны слишком многое, с другой стороны не всё, что необходимо.
Например, не по всем выходам опторазвязка есть и неправильно сделаны ЦАПы. Изготовил даже платы, но собирать не стал.

На настоящий момент остановился на том, что сердцем проекта будет вот такая девборда: http://www.ebay.com/itm/272086159418
Внешний вид:
Внешний вид девборды (2519 просмотров) <a class='original' href='./download/file.php?id=74447&mode=view' target=_blank>Загрузить оригинал (47.42 КБ)</a>
Внешний вид девборды
Схема принципиальная девборды на EPM-240 (Р9 - не разъём, а осциллятор на 50 МГц)
EPM-240_Eval_board_sch.pdf
Схема принципиальна девборды на EPM-240 (Р9 - не разъём, а осциллятор на 50 МГц)
(512.66 КБ) 440 скачиваний
Для большинства задач достаточно одной борды (кристалла) (75 пинов I/O), но где мало - можно поставить до 4-х шт, мне даже трудно представить, для чего может понадобиться больше.

Проект будет открытым, поскольку:
а) - я один не потяну, да и в программировании - дуб,
б) - в качестве заработка не рассматриваю (а в результате заинтересован),
ц) - пусть людям будет если не хорошо, так хоть занятно.

Я разработаю:
1. прошивку для CPLD (схема и Verilog будут открыты) - это я немного умею
2. модуль дискретных входов с опторазвязкой (+входы энкодеров)
3. Модуль дискретных выходов с опторазвязкой (туда же выводятся STEP-DIR)
4. Модуль ЦАП с опторазвязкой

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

Думаю засунуть туда не только функционал ввода-вывода, но и stepgen (т.е. комп или Малина будут говорить, с какой частотой, в каком направлении и сколько раз шагнуть). Аналогично и для варианта с управлением приводами +/-10В. Это разгрузит как процессор, так и канал связи.
Связь c CPLD по LPT / GPIO (raspberry).

В ближайшее время начну выкладывать сюда намётки Т.З. и вопросы, которые мне не вполне ясны.
Надеюсь на конструктивное участие соопчества.
Аватара пользователя
Индеец
Кандидат
Сообщения: 43
Зарегистрирован: 26 дек 2015, 01:00
Репутация: 15
Настоящее имя: П.Ж.
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение Индеец »

Разумеется, счётчики координат будут в CPLD жить. Это вообще - главное. Думаю, надо ей (и энкодерам) ещё безперебойное питание организовать, что нетрудно, но тогда мы никогда не потеряем текущую координату.
Аватара пользователя
donvictorio
Мастер
Сообщения: 2457
Зарегистрирован: 11 окт 2012, 16:26
Репутация: 683
Настоящее имя: Виктор
Откуда: Санкт-Петербург
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение donvictorio »

и canopen впридачу.
Аватара пользователя
Индеец
Кандидат
Сообщения: 43
Зарегистрирован: 26 дек 2015, 01:00
Репутация: 15
Настоящее имя: П.Ж.
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение Индеец »

donvictorio писал(а):canopen
Не влезет в EPM240, но на будущее желательно...
Аватара пользователя
donvictorio
Мастер
Сообщения: 2457
Зарегистрирован: 11 окт 2012, 16:26
Репутация: 683
Настоящее имя: Виктор
Откуда: Санкт-Петербург
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение donvictorio »

можно шилдом. не всем оно надо, но неизбежно.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение Serg »

Индеец писал(а):. прошивку для CPLD (схема и Verilog будут открыты) - это я немного умею
Индеец писал(а):Думаю засунуть туда не только функционал ввода-вывода, но и stepgen
Индеец писал(а):Связь c CPLD по LPT / GPIO (raspberry).
На эти платки код для Pluto-P хорошо ложится, там всё это уже есть.
Индеец писал(а):3. Модуль дискретных выходов с опторазвязкой (туда же выводятся STEP-DIR)
Зачем? Опторазвязка уже есть в драйвере.
Индеец писал(а):2. модуль дискретных входов с опторазвязкой (+входы энкодеров)
Тоже не нужно: если это энкодер, то просто не нужно его соединять ни с чем иным. Если выход сервопака, то там уже всё сделано как надо.
Индеец писал(а):4. Модуль ЦАП с опторазвязкой
С опторазвязкой каждого канала? Интересна реализациея этого...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Индеец
Кандидат
Сообщения: 43
Зарегистрирован: 26 дек 2015, 01:00
Репутация: 15
Настоящее имя: П.Ж.
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение Индеец »

UAVpilot писал(а):На эти платки код для Pluto-P хорошо ложится, там всё это уже есть.
Это хорошо, надо посмотреть как оно там. Плуто убог своими размерами(кол-вом пинов) и неудобен для подключения во вне. Но что хорошо, что и сверху (из Линукса) есть его поддрежка. Это упростит интеграцию.
UAVpilot писал(а): 3. Модуль дискретных выходов с опторазвязкой (туда же выводятся STEP-DIR)
Зачем? Опторазвязка уже есть в драйвере.
Согласен, что на части выходов не нужно. Учтём-с.
UAVpilot писал(а):Тоже не нужно: если это энкодер, то просто не нужно его соединять ни с чем иным
Про энкодеры согласен, но всякие там концевики и пр. - лучше заоптоизолировать.
UAVpilot писал(а):С опторазвязкой каждого канала? Интересна реализациея этого...
ШИМ легко передать через оптопару. Дальше вопрос только в изолированном питании выходной части, поэтому, думаю, на каждый канал отдельно не стоит морочиться.
Аватара пользователя
AndyBig
Мастер
Сообщения: 3971
Зарегистрирован: 07 мар 2014, 04:01
Репутация: 1121
Откуда: юг России
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение AndyBig »

Может взять уже FPGA? Чтобы все влазило на будущее :)
Аватара пользователя
donvictorio
Мастер
Сообщения: 2457
Зарегистрирован: 11 окт 2012, 16:26
Репутация: 683
Настоящее имя: Виктор
Откуда: Санкт-Петербург
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение donvictorio »

AndyBig писал(а):Может взять уже FPGA? Чтобы все влазило на будущее
так это, может просто kflop на малину прицепить? :) тока с вендой там вроде как проблемы.
Аватара пользователя
Индеец
Кандидат
Сообщения: 43
Зарегистрирован: 26 дек 2015, 01:00
Репутация: 15
Настоящее имя: П.Ж.
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение Индеец »

AndyBig писал(а):Может взять уже FPGA? Чтобы все влазило на будущее
По сути, я буду делать интерфейсную часть, которую можно будет повесить и на другое ядро в будущем. А пока не будем во все уж стороны размахиваться.
donvictorio писал(а):может просто kflop на малину прицепить?
:monkey:
USB +Windoza = это не по-богатырски :) Я полагаю полученную систему на серьёзные станки водрузить, в т.ч. обраб. центр со сменой палет и прочими ништяками.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение Serg »

Индеец писал(а):ШИМ легко передать через оптопару.
Пардон, попутал с АЦП.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Индеец
Кандидат
Сообщения: 43
Зарегистрирован: 26 дек 2015, 01:00
Репутация: 15
Настоящее имя: П.Ж.
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение Индеец »

AndyBig писал(а):Может взять уже FPGA? Чтобы все влазило
Так и решил, вот такую http://www.ebay.com/itm/321944799604
Под неё сделал пока плату :controller: на 24 дискретных входа. Надо меньше - запаиваешь меньше, надо больше - берёшь ещё такую же плату.
Предусмотрена возможность джамперами посадить на общий + или минус соответственно верхний или нижний конец любого входа. Можно оставить входы независимыми.
На номиналы резисторов не смотрите - это зависит :rasp: от исполнения.
Schematic mgp2_D_INx24.pdf
Плата на 24 дискретных входа
(80 КБ) 361 скачивание
Номера входных светодиодов соответствуют номерам входов.
Вот так будет выглядеть
D_INx24 3D Visualizer.pdf
Внешний вид
(310.57 КБ) 313 скачиваний
Размеры :controller: 151 х 77 по трём сторонам периметра - клеммники с шагом 3,5мм


Покритикуйте.
Аватара пользователя
donvictorio
Мастер
Сообщения: 2457
Зарегистрирован: 11 окт 2012, 16:26
Репутация: 683
Настоящее имя: Виктор
Откуда: Санкт-Петербург
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение donvictorio »

PC847AB ущербны - у них при ооочень хороших идеальных условиях 50 кГц проходят, хотя по даташиту 80. в норме, когда сервы просят 10000 на оборот это мало, очень мало.
попробуй 6n137 или их 2х-канальных собратьев, там 10 МГц стабильно пропускается и стоят они шо мусор.
Аватара пользователя
Индеец
Кандидат
Сообщения: 43
Зарегистрирован: 26 дек 2015, 01:00
Репутация: 15
Настоящее имя: П.Ж.
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение Индеец »

donvictorio писал(а):PC847AB ущербны - у них при ооочень хороших идеальных условиях 50 кГц проходят
Для дискретных входов этого более чем. Для энкодеров - мало, но под входы энкодеров и аналоговый и цифровой выход на управление серв - будет отдельная платка.
Извините, но всё это медленно происходит, ибо мультизадачность у меня :(
Аватара пользователя
donvictorio
Мастер
Сообщения: 2457
Зарегистрирован: 11 окт 2012, 16:26
Репутация: 683
Настоящее имя: Виктор
Откуда: Санкт-Петербург
Контактная информация:

Re: Контроллер MGP для Raspberry Pi (LinuxCNC) на базе CPLD

Сообщение donvictorio »

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

по скорости аще без претензий, тут никто никому ничего не должен.
Ответить

Вернуться в «Электроника»