Настраиваем контроллер 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 Кб) Скачиваний: 192


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


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

В этом драйвере немного изменены названия сигналов:
Раньше: 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 Кб) Скачиваний: 286


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


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


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

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

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

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

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
Мастер
 
Сообщения: 714
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 90

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
Мастер
 
Сообщения: 714
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 90

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
Мастер
 
Сообщения: 2265
Зарегистрирован: 02 июн 2012, 22:12
Откуда: Санкт-Петербург
Репутация: 200
Медальки:

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
Мастер
 
Сообщения: 714
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 90

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
Мастер
 
Сообщения: 2265
Зарегистрирован: 02 июн 2012, 22:12
Откуда: Санкт-Петербург
Репутация: 200
Медальки:

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

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

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

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

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

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

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

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

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
Мастер
 
Сообщения: 714
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 90

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
Мастер
 
Сообщения: 714
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 90

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

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

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

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

След.

Вернуться в LinuxCNC

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

Зарегистрированные пользователи: aftaev, aleanat, Argon-11, Bing [Bot], daemon78, david1920, drey82, Ershoff, evgenyjp, ferum, frezeryga, Google [Bot], Kost_irk, kravtsov1003, Majestic-12 [Bot], Malyarka74, Mamont, maratNC, Morze, mx57, sauliux, SeReGa Sh, Serg1973, sima8520, Splean, Symbiosis, t0ha, Tavrus, UAVpilot, Uda4LIVEc, vala, vershininv, vladumur, Yandex [bot], Курдль

Поделиться

Reputation System ©'