Страница 19 из 72

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

Добавлено: 09 апр 2017, 21:37
T00T
Ну там есть ещё и клемма Upp_GND, помимо +5V_GND.

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

Добавлено: 10 апр 2017, 05:31
maratNC
T00T писал(а):Ну там есть ещё и клемма Upp_GND, помимо +5V_GND.
Действительно, к этим клеммам ещё подавать питание.
А то что на контактах A,B,Z напряжение 5В это так и должно быть?

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

Добавлено: 10 апр 2017, 08:21
T00T
Да

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

Добавлено: 10 апр 2017, 15:43
maratNC
T00T писал(а):В вашей плате напряжение на входы нужно подавать более 8 вольт. Подайте 12в.
Подал 10 Вольт на плату ввода-вывода - сгорели все микросхемы. . Потом посмотрел описание на микросхемы: у SN54HC245 максимальное питание +6 Вольт, у 74HC257 - +7 вольт. Более 6 Вольт им смертельно опасно подавать.

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

Добавлено: 10 апр 2017, 15:50
maratNC
Проверил плату энкодеров, подключил угловой датчик ЛИР-158 (ТТЛ выход - 2500 импульсов/оборот). Все работает ось Х https://yadi.sk/i/rnlcXdUK3Gpeud и ось Z https://yadi.sk/i/pC8H1s4P3Gpexm. Единственное по оси Z масштабирование надо поменять.

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

Добавлено: 10 апр 2017, 18:00
maratNC
maratNC писал(а):
T00T писал(а):В вашей плате напряжение на входы нужно подавать более 8 вольт. Подайте 12в.
Подал 10 Вольт на плату ввода-вывода - сгорели все микросхемы. . Потом посмотрел описание на микросхемы: у SN54HC245 максимальное питание +6 Вольт, у 74HC257 - +7 вольт. Более 6 Вольт им смертельно опасно подавать.
Уловил смысл предложения тока сейчас: питание от 8 вольт нужно было подавать на входы, а 5 Вольт строго питание платы (клеммы +5V_GND). :D
Придеться заказывать чипы.
Читайте форум!!!

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

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

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

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

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

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

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

Добавлено: 12 апр 2017, 09:13
botcman
Вопрос следующий- на модернизируемом станке выводы управляют нулем, общий плюс заводится на несколько пинов. На To PCI выводы управляют напряжением от 8В. Получается все наоборот. Как быть? Как подключать штатные выводы к плате? Схему прилагаю. Х2- 29- 0В, Х2-30- 24В

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

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

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

Добавлено: 12 апр 2017, 23:15
botcman
Подавать на Х2-29 24В вообще не вариант. Х2-29 и Х2-30 это основное питание реле и тд, соответственно - и + . Одна плата с 8-ю релюшками есть. Что такое выход с ОК?
Нет ли схемы такого варианта подключения с использованием реле?

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

Добавлено: 13 апр 2017, 12:32
maratNC
ОК - открытый коллектор.

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

Добавлено: 13 апр 2017, 22:26
botcman
Вроде разобрался. Выводы управляются подачей 24В. Поясните, в чем разница выводов с открытым коллектором и выводов с закрытым коллектором? Заказал еще одну плату реле сегодня.

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

Добавлено: 13 апр 2017, 22:56
T00T
botcman писал(а):Поясните, в чем разница выводов с открытым коллектором и выводов с закрытым коллектором?
С закрытым коллектором не бывает

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

Добавлено: 18 май 2017, 23:58
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 писал(а):Не планируете снабдить его код комментариями?
Нужно пояснить какой то конкретный участок или весь код.

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

Добавлено: 19 май 2017, 02:27
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

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

Добавлено: 19 май 2017, 10:31
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.(Как нам и надо).
А далее формируем посылку по шаблону
Как то так :)

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

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

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

Линейная зависимость скорости от входного сигнала норм будет?

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

Добавлено: 19 май 2017, 22:35
T00T
Согласен, реализована линейная зависимость ПЕРИОДА следования от входного воздействия. Очевидно что зависимость частоты от того же воздействия будет - обратная пропорциональность.
При точной настройке PID - справляется с задачей регулирования.
Лады, пусть будет линейная зависимость.
Уже работаем над этим............

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

Добавлено: 20 май 2017, 00:16
tims
В указанной строке по ссылке ошибки нет?