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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
T00T
Мастер
Сообщения: 742
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 100
Контактная информация:

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

Сообщение T00T »

Ну там есть ещё и клемма Upp_GND, помимо +5V_GND.
Я не волшебник я пока учусь......
maratNC
Кандидат
Сообщения: 93
Зарегистрирован: 29 сен 2016, 16:45
Репутация: 2
Настоящее имя: Марат
Откуда: Пермь
Контактная информация:

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

Сообщение maratNC »

T00T писал(а):Ну там есть ещё и клемма Upp_GND, помимо +5V_GND.
Действительно, к этим клеммам ещё подавать питание.
А то что на контактах A,B,Z напряжение 5В это так и должно быть?
T00T
Мастер
Сообщения: 742
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 100
Контактная информация:

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

Сообщение T00T »

Да
Я не волшебник я пока учусь......
maratNC
Кандидат
Сообщения: 93
Зарегистрирован: 29 сен 2016, 16:45
Репутация: 2
Настоящее имя: Марат
Откуда: Пермь
Контактная информация:

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

Сообщение maratNC »

T00T писал(а):В вашей плате напряжение на входы нужно подавать более 8 вольт. Подайте 12в.
Подал 10 Вольт на плату ввода-вывода - сгорели все микросхемы. . Потом посмотрел описание на микросхемы: у SN54HC245 максимальное питание +6 Вольт, у 74HC257 - +7 вольт. Более 6 Вольт им смертельно опасно подавать.
maratNC
Кандидат
Сообщения: 93
Зарегистрирован: 29 сен 2016, 16:45
Репутация: 2
Настоящее имя: Марат
Откуда: Пермь
Контактная информация:

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

Сообщение maratNC »

Проверил плату энкодеров, подключил угловой датчик ЛИР-158 (ТТЛ выход - 2500 импульсов/оборот). Все работает ось Х https://yadi.sk/i/rnlcXdUK3Gpeud и ось Z https://yadi.sk/i/pC8H1s4P3Gpexm. Единственное по оси Z масштабирование надо поменять.
maratNC
Кандидат
Сообщения: 93
Зарегистрирован: 29 сен 2016, 16:45
Репутация: 2
Настоящее имя: Марат
Откуда: Пермь
Контактная информация:

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

Сообщение maratNC »

maratNC писал(а):
T00T писал(а):В вашей плате напряжение на входы нужно подавать более 8 вольт. Подайте 12в.
Подал 10 Вольт на плату ввода-вывода - сгорели все микросхемы. . Потом посмотрел описание на микросхемы: у SN54HC245 максимальное питание +6 Вольт, у 74HC257 - +7 вольт. Более 6 Вольт им смертельно опасно подавать.
Уловил смысл предложения тока сейчас: питание от 8 вольт нужно было подавать на входы, а 5 Вольт строго питание платы (клеммы +5V_GND). :D
Придеться заказывать чипы.
Читайте форум!!!
T00T
Мастер
Сообщения: 742
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 100
Контактная информация:

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

Сообщение T00T »

maratNC писал(а):Подал 10 Вольт на плату ввода-вывода - сгорели все микросхемы. . Потом посмотрел описание на микросхемы: у SN54HC245 максимальное питание +6 Вольт, у 74HC257 - +7 вольт. Более 6 Вольт им смертельно опасно подавать.
Ну в шапке же написано:
На все дочерние платы заводиться питание +5в отдельно от компьютерного блока питания.
Более подробно в 133 посте этой темы на 7-й странице.

Входы енкодеров -5в(дифференциальные и можно подключить как не дифференциальные), в последней версии платы IO можно
на входы подавать 24в, до этого было не больше 12в(фото последней версии платы можно увидеть в 1 посте темы по продаже).
Я не волшебник я пока учусь......
maratNC
Кандидат
Сообщения: 93
Зарегистрирован: 29 сен 2016, 16:45
Репутация: 2
Настоящее имя: Марат
Откуда: Пермь
Контактная информация:

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

Сообщение maratNC »

T00T писал(а):
maratNC писал(а):Подал 10 Вольт на плату ввода-вывода - сгорели все микросхемы. . Потом посмотрел описание на микросхемы: у SN54HC245 максимальное питание +6 Вольт, у 74HC257 - +7 вольт. Более 6 Вольт им смертельно опасно подавать.
Ну в шапке же написано:
На все дочерние платы заводиться питание +5в отдельно от компьютерного блока питания.
Более подробно в 133 посте этой темы на 7-й странице.

Входы енкодеров -5в(дифференциальные и можно подключить как не дифференциальные), в последней версии платы IO можно
на входы подавать 24в, до этого было не больше 12в(фото последней версии платы можно увидеть в 1 посте темы по продаже).
Это моя не внимательность. Конечно все написано. Спасибо.
Ещё такой вопрос, для энкодеров с синусоидальным выходом преобразователь не делаете? У меня датчики хайденхайн есть, прикрутил бы их.
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

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

Сообщение botcman »

Вопрос следующий- на модернизируемом станке выводы управляют нулем, общий плюс заводится на несколько пинов. На To PCI выводы управляют напряжением от 8В. Получается все наоборот. Как быть? Как подключать штатные выводы к плате? Схему прилагаю. Х2- 29- 0В, Х2-30- 24В
Вложения
Изображение 022.jpg (2398 просмотров) <a class='original' href='./download/file.php?id=108655&mode=view' target=_blank>Загрузить оригинал (3.59 МБ)</a>
T00T
Мастер
Сообщения: 742
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 100
Контактная информация:

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

Сообщение T00T »

botcman писал(а):Вопрос следующий- на модернизируемом станке выводы управляют нулем, общий плюс заводится на несколько пинов. На To PCI выводы управляют напряжением от 8В. Получается все наоборот. Как быть? Как подключать штатные выводы к плате? Схему прилагаю. Х2- 29- 0В, Х2-30- 24В
Чёт вы всё смешали в кучу - входы, выходы.
От 8в это напряжение на входы. А вам нужны выходы. Управляйте через реле или подайте + на Х2- 29. Но у вас реле 10 шт, так что дополнительные реле вам всё равно понадобятся, т.к. выходов с ОК всего 8.
Я не волшебник я пока учусь......
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

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

Сообщение botcman »

Подавать на Х2-29 24В вообще не вариант. Х2-29 и Х2-30 это основное питание реле и тд, соответственно - и + . Одна плата с 8-ю релюшками есть. Что такое выход с ОК?
Нет ли схемы такого варианта подключения с использованием реле?
maratNC
Кандидат
Сообщения: 93
Зарегистрирован: 29 сен 2016, 16:45
Репутация: 2
Настоящее имя: Марат
Откуда: Пермь
Контактная информация:

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

Сообщение maratNC »

ОК - открытый коллектор.
botcman
Мастер
Сообщения: 557
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 1
Настоящее имя: Андрей
Контактная информация:

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

Сообщение botcman »

Вроде разобрался. Выводы управляются подачей 24В. Поясните, в чем разница выводов с открытым коллектором и выводов с закрытым коллектором? Заказал еще одну плату реле сегодня.
T00T
Мастер
Сообщения: 742
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 100
Контактная информация:

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

Сообщение T00T »

botcman писал(а):Поясните, в чем разница выводов с открытым коллектором и выводов с закрытым коллектором?
С закрытым коллектором не бывает
Я не волшебник я пока учусь......
T00T
Мастер
Сообщения: 742
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 100
Контактная информация:

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

Сообщение T00T »

Ответ на вопрос из темы по продаже.
tims писал(а): В каких величинах теперь задается to_pci.1.step_dir.L_imp0 [AXIS_4]SD_Len_impuls?
В каких величинах теперь задаётся to_pci.1.step_dir.sd_max0 [AXIS_4]SD_MAX_FREQ?
К сожалению в варианте драйвера, который в архиве Эти параметры пока не на что не влияют.
Вот в этой строке указана длительность импульса:
temp1 = 0x02000000; // L_imp 1uS
Максимальная частота соответственно 500кГц в этом случае.
tims писал(а): Какие стартовые значения PID порекомендуете? Какой метод поиска заветной цифры в ff1?
Пробовал с разными коэффициентами обратной связи, значение параметров PID сильно от этого зависят. Нужно подбирать.
На сколько помню важны в основном 2 параметра P и FF1.

Настраиваю так: меняю параметр и оцениваю как изменяется поведение сигнала ошибки(ferror). Стремимся сделать ошибку как можно меньше.
tims писал(а):Не планируете снабдить его код комментариями?
Нужно пояснить какой то конкретный участок или весь код.
Я не волшебник я пока учусь......
tims
Опытный
Сообщения: 103
Зарегистрирован: 21 фев 2017, 00:57
Репутация: 5
Настоящее имя: Тим
Откуда: СПб
Контактная информация:

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

Сообщение tims »

T00T писал(а):Нужно пояснить какой то конкретный участок или весь код.
Переменные, смысл которых не может быть ясен из названия, уже будет лучше.
T00T писал(а):Максимальная частота соответственно 500кГц в этом случае.
А почему 500кгц, у меня получается около 1 мгц - 1/((1*0,00000002)+0,000001) = 980392,1569
Или там идёт импульс (1мкс в нашем случае) + пауза равная импульсу (1мкс) + пауза счётчик_17бит * 20нсек?

Код: Выделить всё

//normalization
  V_cmd = (1-(V_cmd/10));
  if(V_cmd < 0)
      V_cmd = 0;

	pause_t = (int) 131071*V_cmd;
Это работать не будет, прикиньте на кулькуляторе пару значений для заданий от 0 до 1.
1/(((1-<задание>)*131071*0,00000002)+0,000001) = частота.
Какие вы получили с этим драйвером результаты - загадка.

Вот это должно заработать..

Код: Выделить всё

//normalization
#define PID_MAX_OUTPUT 10
#define PAUSE_MAX_COUNT 131071

pause_t = PAUSE_MAX_COUNT * pow(PAUSE_MAX_COUNT,(-V_cmd/PID_MAX_OUTPUT));
тоже не верно, вот это похоже на правду:

Код: Выделить всё

one_sec_len = 1000000000 nsec
max_freq = 500000 hz
0.0008 < v_cmd <= 1
imp_len = 1000 nsec
min_len = 20 nsec
pouse_t = (one_sec_len/(max_freq*v_cmd)-imp_len)/min_len
T00T
Мастер
Сообщения: 742
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 100
Контактная информация:

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

Сообщение T00T »

tims писал(а):Или там идёт импульс (1мкс в нашем случае) + пауза равная импульсу (1мкс) + пауза счётчик_17бит * 20нсек?
Да именно так.

Читаем код:
Передаём значение управляющее:

Код: Выделить всё

 V_cmd = *(data_sd-> digital_out_step[exr]);
Затем берём его модуль, в флаг pkor - записываем направление:

Код: Выделить всё

//Направление	
	pkor = 0;		//установка dir
	if(V_cmd<0) 
	{
    		pkor=1;	      //установка dir
    		V_cmd = -V_cmd; //модуль скорости
  	}
Теперь V_cmd в диапазоне 0..10
Далее тут преобразуем этот диапазон в 1..0

Код: Выделить всё

//normalization
  V_cmd = (1-(V_cmd/10));
Если на входе число было по модулю больше 10, то тут V_cmd будет <0, ограничим это:

Код: Выделить всё

if(V_cmd < 0)
      V_cmd = 0;
Напомню : V_cmd в диапазоне 1..0(что соответствует входному значению 0..10 или 0..-10)(1-min скорость, а 0 -max скорость теперь)
Далее умножаем на 131071 и результат делаем целочисленным:

Код: Выделить всё

pause_t = (int) 131071*V_cmd;
Теперь pause_t в диапазоне 131071..0 (что соответствует входному значению 0..10 или 0..-10) (131071 - нулевая скорость, 0 -max скорость)
Ну и если 131071 - нулевая скорость, то пусть импульсы не генерятся:

Код: Выделить всё

	ttz = 0x01;
        if(pause_t == 131071)
        ttz = 0;
целочисленное pause_t в диапазоне 131071..0 займёт 17 bit.(Как нам и надо).
А далее формируем посылку по шаблону
Как то так :)
Я не волшебник я пока учусь......
tims
Опытный
Сообщения: 103
Зарегистрирован: 21 фев 2017, 00:57
Репутация: 5
Настоящее имя: Тим
Откуда: СПб
Контактная информация:

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

Сообщение tims »

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

T00T, вот тут нет ошибки?

Линейная зависимость скорости от входного сигнала норм будет?
Вложения
diff_alg.png (2140 просмотров) <a class='original' href='./download/file.php?id=111954&mode=view' target=_blank>Загрузить оригинал (21.62 КБ)</a>
T00T
Мастер
Сообщения: 742
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 100
Контактная информация:

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

Сообщение T00T »

Согласен, реализована линейная зависимость ПЕРИОДА следования от входного воздействия. Очевидно что зависимость частоты от того же воздействия будет - обратная пропорциональность.
При точной настройке PID - справляется с задачей регулирования.
Лады, пусть будет линейная зависимость.
Уже работаем над этим............
Я не волшебник я пока учусь......
tims
Опытный
Сообщения: 103
Зарегистрирован: 21 фев 2017, 00:57
Репутация: 5
Настоящее имя: Тим
Откуда: СПб
Контактная информация:

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

Сообщение tims »

В указанной строке по ссылке ошибки нет?
Ответить

Вернуться в «LinuxCNC»