Настраиваем контроллер to_pci.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

Настраиваем контроллер to_pci.

Сообщение T00T » 28 апр 2016, 18:10

В связи с тем, что были проданы 2 тестовых комплекта контроллеров,
Настраиваем контроллер to_pci. DSC04017.JPG

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

Тема для предложений и предстоящих модернизаций:
http://www.cnc-club.ru/forum/viewtopic. ... 35#p272335

Тема по продаже:
http://www.cnc-club.ru/forum/viewtopic. ... 24#p274424

А тут собственно применение контроллера.


Итак для того что бы LinuxCNC увидел контроллер необходимы 3 вещи:
1. Нужен сам контроллер. Его нужно вставить в PCI слот.:)
2. Необходим драйвер, поддерживающий данный контроллер.
3. В hal-файле нужно подключить модуль этого драйвера и функцию обновления значений.

Если это всё правильно сделать, то в меню Linux CNC СТАНОК/Показать установки HAL/Pins
Должно появиться устройство и те порты и пины которые в него заложены.

Итак если вы являетесь счастливым обладателем контроллера, то первый пункт есть. Теперь драйвер.

В текущей версии полноценно доступны 32-in, 16-out, 5-encoder, 5-PWM, WD.
to_pci.zip
Исходник драйвера от 22.05.16
(3.12 Кб) Скачиваний: 143


Новый драйвер, в нём добавлены инверсные входы для удобства.
to_pci.zip
Исходник драйвера от 01.12.16
(3.1 Кб) Скачиваний: 162


Третья версия, добавлен сигнал скорости для энкодеров.
to_pci_v3.zip
Исходник драйвера от 24.08.17
(3.11 Кб) Скачиваний: 28

В этом драйвере немного изменены названия сигналов:
Раньше: to_pci.1.dcontrol тут будет to_pci.1.PWM.dcontrol

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

Затем его, при помощи программы halcompile скомпилировать и установить в систему:
Откройте терминал и наберите следующую команду
Код: Выделить всёРазвернуть
sudo halcompile --install to_pci.c

У кого то может что то не установиться, поэтому вот на этом дистрибутиве я попробовал установить как описал и всё работает.
http://linuxcnc.org/docs/2.7/html/getti ... uxcnc.html

Третий пункт: в HAL файле прописать 2 строки:
Код: Выделить всёРазвернуть
loadrt to_pci
addf to_pci.1.update                servo-thread


Быстро подключить контроллер и проверить его помогут конфигурационные файлы по ссылке ниже.
my-conf.7z
(2.87 Кб) Скачиваний: 209


Потихоньку готовим описание:
Texts.pdf
(310.59 Кб) Скачиваний: 378


Схемы дочерних плат, для желающих по паять
shems.zip
(408.35 Кб) Скачиваний: 212


На данный момент платы соединяются стандартными FDD шлейфами(ранее их нужно было переделывать)

На все дочерние платы заводиться питание +5в отдельно от компьютерного блока питания.
Более подробно в 133 посте этой темы на 7-й странице.

Входы енкодеров -5в(дифференциальные и можно подключить как не дифференциальные), в последней версии платы IO можно
на входы подавать 24в, до этого было не больше 12в(фото последней версии платы можно увидеть в 1 посте темы по продаже).

Инструкциями по копированию файла в следующем посте(№2) пренебречь!!!!!!!!
Последний раз редактировалось T00T 08 дек 2017, 22:31, всего редактировалось 19 раз(а).
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

Re: Настраиваем контроллер to_pci.

Сообщение T00T » 28 апр 2016, 18:39

T00T писал(а):Для того что бы драйвер использовать нужно его распаковать и файл скопировать в системную папку, где лежат все модули linux CNC.


Я думаю с этим пунктиком могут быть проблемы.(Я сам не шибко шарю в LINUX).
У меня допустим(скорее всего и у всех) эта папка /usr/realtime-2.6..(здесь цифры разные могут быть)-rtai/modules/linuxcnc/
Проверьте, есть ли такая папка.И в ней куча файлов с расширением .ko

Копируете файл to_pci.ko в директорию /home

Открываете командную строку и выполняете команду sudo cp to_pci.ko /usr/realtime-2.6..(здесь цифры разные могут быть)-rtai/modules/linuxcnc/
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

Re: Настраиваем контроллер to_pci.

Сообщение UAVpilot » 28 апр 2016, 19:33

T00T писал(а):Для того что бы драйвер использовать нужно его распаковать и файл скопировать в системную папку, где лежат все модули linux CNC.

Т.е. драйвер поставляется без исходников?
Я надеюсь ты хорошо представляешь последствия такого варианта, учитывая что LinuxCNC распостраняется под GPL? Обрати внимание, что даже не под LGPL...
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 15320
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3738
Медальки:
Настоящее имя: Сергей

Re: Настраиваем контроллер to_pci.

Сообщение T00T » 28 апр 2016, 20:14

Исходники без проблем!!!!
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

Re: Настраиваем контроллер to_pci.

Сообщение aftaev » 28 апр 2016, 20:16

UAVpilot писал(а):Я надеюсь ты хорошо представляешь последствия такого варианта, учитывая что LinuxCNC распостраняется под GPL? Обрати внимание, что даже не под LGPL...

А можно вкратце какие могут быть проблемы?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 27248
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4395
Медальки:

Re: Настраиваем контроллер to_pci.

Сообщение T00T » 28 апр 2016, 20:50

Исходник в другую тему выложил. В этой теме не место исходникам - здесь тема по настройке.
http://www.cnc-club.ru/forum/viewtopic. ... 85#p274485
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

Re: Настраиваем контроллер to_pci.

Сообщение T00T » 29 апр 2016, 00:12

Подключение шлейфов, назначение разъёмов, полярность питания и прочее можно посмотреть здесь(пост 155):
http://www.cnc-club.ru/forum/viewtopic. ... &start=140

Да кстати, на дискретные входы(которые на плате io) можно подавать питание не только 5в, но и 12в. Больше не стоит!!!!!!!


Я вот не проверял может ли PCI плата воткнуться к вверх ногами, оказывается может.
Поэтому плату нужно вставлять вот так
Настраиваем контроллер to_pci. 100_3322.JPG
Последний раз редактировалось T00T 29 апр 2016, 17:57, всего редактировалось 1 раз.
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

Re: Настраиваем контроллер to_pci.

Сообщение N1X » 29 апр 2016, 00:25

Зря... Вообще промышленный стандарт - 24, но держать должны и больше...
Аватара пользователя
N1X
Мастер
 
Сообщения: 2381
Зарегистрирован: 16 фев 2015, 21:19
Откуда: Беларусь, Гомель
Репутация: 1157
Настоящее имя: Владимир

Re: Настраиваем контроллер to_pci.

Сообщение T00T » 29 апр 2016, 00:47

Да стандарт, не стандарт. Мне кажется сейчас вообще всем плевать.
Вон пожалуйста mesa 7i77 дохлых у народа уже много!!!!! Типа подключили к 24 вольтам!!!!!
Ну да ладно лирика.

Можно и 24 вольта, нужно только резисторы поменять тогда!!!!!!!! Стоят на 1Ком 0.25вт - при 24 вольтах я думаю перегреются, поэтому ну хотя бы 2.7к поставить и будет 24 вольта.
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

Re: Настраиваем контроллер to_pci.

Сообщение N1X » 29 апр 2016, 07:59

Большинство промышленных PLC просто имеют самые ходовые I/O как раз на 24 вольта, потому и предложил, хотя тут на вкус и цвет, как говорится...
Аватара пользователя
N1X
Мастер
 
Сообщения: 2381
Зарегистрирован: 16 фев 2015, 21:19
Откуда: Беларусь, Гомель
Репутация: 1157
Настоящее имя: Владимир

Re: Настраиваем контроллер to_pci.

Сообщение UAVpilot » 29 апр 2016, 13:11

aftaev писал(а):А можно вкратце какие могут быть проблемы?

Без исходников и полного описания "программирования" платы (API) оно никогда не войдёт в "официально поддерживаемые", а без этого оно никому нафик не надо.
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 15320
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3738
Медальки:
Настоящее имя: Сергей

Re: Настраиваем контроллер to_pci.

Сообщение T00T » 29 апр 2016, 13:33

В любом случае в драйвере ничего нового, кроме конкретного распределения адресов данных в устройстве!!!
Хотя ни в одном драйвере встроенных в linuxCNC я так и не нашёл алгоритм поиска PCI устройства. Даже в HM2. !!!
Что то вразумительное есть в исходниках mesaflash.
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

Re: Настраиваем контроллер to_pci.

Сообщение torvn77 » 29 апр 2016, 23:51

T00T, спор между вами и UAVpilot очень просто, вот вы пишите:
T00T писал(а):Я думаю с этим пунктиком могут быть проблемы.(Я сам не шибко шарю в LINUX).
У меня допустим(скорее всего и у всех) эта папка /usr/realtime-2.6..(здесь цифры разные могут быть)-rtai/modules/linuxcnc/
Проверьте, есть ли такая папка.И в ней куча файлов с расширением .ko

Копируете файл to_pci.ko в директорию /home

Открываете командную строку и выполняете команду sudo cp to_pci.ko /usr/realtime-2.6..(здесь цифры разные могут быть)-rtai/modules/linuxcnc/

Какието директории, ko непонятные, помещай сюда, копируй туда.
И это вы ещё про бинарную совместимость драйвера и ядра не писали (ну может вы наивно об этом не знаете, ну да UAVpilot
счас понараскажет про разные способы получения kernel panic)

А ведь поставь вы драйвер в виде исходника оформленного ввиде *.comp файла, все сложности свелись бы к одному:
Код: Выделить всёРазвернуть
sudo halcompile --install ./to_pci.comp

И ни каких лишних рассуждений.
Аватара пользователя
torvn77
Мастер
 
Сообщения: 2256
Зарегистрирован: 02 июн 2012, 22:12
Откуда: Санкт-Петербург
Репутация: 193
Медальки:

Re: Настраиваем контроллер to_pci.

Сообщение T00T » 30 апр 2016, 02:18

И вот опять...
1.Итак если честно, то я даже не знаю что такое comp файл. Буду признателен если ткнете носом где почитать про это. И как это связанно с сишным файлом.
Я конечно по названию могу себе представить что это исходник на языке, который понимает HALCOMPAIL, но это догадки, а не знания...
T00T писал(а):(Я сам не шибко шарю в LINUX)

Точнее не шарю совсем.....
2. Я сам порядком попотел, когда обнаружил, что HALCOMPAIL в моей сборке отсутствует, и потребовалось массу времени что бы его поставить.
Я даже не смогу объяснить человеку как его установить(это на случай если у него в сборке тоже нет HALCOMPAIL), потому что сам не шарю....
А вы говорите проще......
А для начала надо ещё комп с линуксом подключить к интернету через МТС-й свисток(у сергея тоже свисток). Я думаю тут тоже придётся попотеть!!!!

Ну и какой вариант проще???????????????
Мне вот допустим на плисине просто что нибудь забацать, вам я думаю это покажется тоже непростой задачей!!!!! Правда?
Да может на его Ядре не пойдёт этот драйвер, ну тогда я попрошу что бы он установил сборку, на которой я компилировал драйвер( 2.6 ). А после того как всё у него заработает будем дальше думать как лучше.
Буду признателен за помощь.
Если можно torvn77 , ответ в параллельной теме.http://www.cnc-club.ru/forum/viewtopic. ... &start=160
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

Re: Настраиваем контроллер to_pci.

Сообщение torvn77 » 30 апр 2016, 03:07

T00T писал(а): Буду признателен если ткнете носом где почитать про это.

Где прочитать не знаю, я это просто нащёл когда захотел посмотреть, как сделан компонент time.
Вот ссылка на его код: https://github.com/LinuxCNC/linuxcnc/bl ... /time.comp
Как можно видеть, он оформлен в виде comp файла.
Как мне потом пояснили, может даже сам UAVpilot, написан он на языке С, а вид он такой имеет благодаря всяким макросам разработанными авторами формата.
И вообще говоря утилита halcompile умеет работать и нормальными С файлами, собственно они есть промежуточное звено
компиляции comp файла в бинарник и их можно получить запустив halcompile с опцией --preprocess.
Впрочем в мануальнике LinuxCNC этой утилите и правилам написания файлов для неё посвещена целая страница,
но её содержимое мне пока не понятно.
Вот вам на эту страницу ссылка, надеюсь что вы как более опытный человек сможете с ней разобраться.
http://linuxcnc.org/docs/2.7/html/hal/comp.html
Впрочем, если не разберётесь не страшно, я в нужном для себя объёме освоил comp формат методом научного тыка без чтения подробных мануальников.
Хотя конечно потом их хотя бы посмотрел.

Вот ещё линк, может пригодится:
http://linuxcnc.org/docs/2.7/html/hal/halmodule.html
Последний раз редактировалось torvn77 30 апр 2016, 03:25, всего редактировалось 3 раз(а).
Аватара пользователя
torvn77
Мастер
 
Сообщения: 2256
Зарегистрирован: 02 июн 2012, 22:12
Откуда: Санкт-Петербург
Репутация: 193
Медальки:

Re: Настраиваем контроллер to_pci.

Сообщение torvn77 » 30 апр 2016, 03:13

T00T писал(а):2. Я сам порядком попотел, когда обнаружил, что HALCOMPAIL в моей сборке отсутствует,

Это надо было постараться, halcompile входит в поставку LinuxCNC как одна из стандартных утилит.
Хотя может он находится в отдельном -dev пакете?
Как ставить LinuxCNC можно примерно почитать здесь, мануальник, как и все мои проекты брошен на пол дороге, но даже в таком виде собирает подписчиков,
по этому видимо людям полезен и надеюсь поможет и вам.
https://vk.com/topic-77252290_30466944
Аватара пользователя
torvn77
Мастер
 
Сообщения: 2256
Зарегистрирован: 02 июн 2012, 22:12
Откуда: Санкт-Петербург
Репутация: 193
Медальки:

Re: Настраиваем контроллер to_pci.

Сообщение torvn77 » 30 апр 2016, 03:18

T00T писал(а):Да может на его Ядре не пойдёт этот драйвер, ну тогда я попрошу что бы он установил сборку, на которой я компилировал драйвер( 2.6 ).

Вот чтобы этого не было, драйвер в исходниках поставлять и нужно.
Вообще нормально оформленные исходники ставятся буквально вот так(ну конечно есть вариации, но от вкусов, а не необходимости)
make clean
./configur
make compile
sudo make install
И пользователи линукса, да и винды потихоньку привыкают к такому.
Ещё как пример можно привести BlenderCAM, который просто закачивается из гита в готовом виде так как написан на питоне.
И всё это рядовые пользователи умеют делать.
Аватара пользователя
torvn77
Мастер
 
Сообщения: 2256
Зарегистрирован: 02 июн 2012, 22:12
Откуда: Санкт-Петербург
Репутация: 193
Медальки:

Re: Настраиваем контроллер to_pci.

Сообщение T00T » 12 май 2016, 23:34

По конструкции:
Настраиваем контроллер to_pci. 100_3333.JPG
Линии связи Main и дочек


Плата IO:
Настраиваем контроллер to_pci. 100_3335.JPG

На плате два независимых узла _ Входы и выходы.
На плату подаётся стабилизированное питание +5в.
Входы: 32 опторазвязанных входа переключаются по 2 группы в 16 каналов мультиплексорами 74HC257.
На входы можно подавать напряжение от 4в до 12в.

Выходы: 8 опторазвязанных каналов с транзисторными выходами (общий коллектор). У последнего канала вывод AGND не связан с остальными.(при необходимости замкнуть)
8 не опторазвязанных каналов с TTL выходом.
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

Re: Настраиваем контроллер to_pci.

Сообщение T00T » 13 май 2016, 11:59

Плата PWM:
Настраиваем контроллер to_pci. 100_3336.JPG

На плате разведено 5 каналов фильтров низких частот 4-го порядка.
Частота шим 12.5Кгц.
сигналы UP DOWN приходят с платы MAIN, проходят через элемент И, затем подаются на фильтр.
Питание +-15в берется с интегрального преобразователя 5to+-15.
Его мощность 2вт, поэтому ток нагрузки(входной ток привода) должен быть в среднем не более 5ма.
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

Re: Настраиваем контроллер to_pci.

Сообщение T00T » 13 май 2016, 14:46

Плата encoders:
Настраиваем контроллер to_pci. 100_3338.JPG

Ну тут просто на каждый енкодер по три типовых дифференциальных усилителей шины.
У всех разъёмов энкодеров 8-контакт(Upp) соеденены вместе.
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 694
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 87

След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: aftaev, asdff, bass, Bing [Bot], binom81, CNC-Logic, CrazyUser, diamond file, Enot_1, frezeryga, Google [Bot], Google Feedfetcher, jb_arch, kasmirov, Kostrik, Majestic-12 [Bot], marselus, Masters, MX_Master, NKS, OlegS, omni7475, parket_3d, PKM, sergay, Technoart, tsurika, vmarkiv, Yandex [bot], Питерский, шпиндель

Поделиться

Reputation System ©'