Страница 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).

Придеться заказывать чипы.
Читайте форум!!!
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
Если на входе число было по модулю больше 10, то тут V_cmd будет <0, ограничим это:
Напомню : V_cmd в диапазоне 1..0(что соответствует входному значению 0..10 или 0..-10)(1-min скорость, а 0 -max скорость теперь)
Далее умножаем на 131071 и результат делаем целочисленным:
Теперь 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
В указанной строке по ссылке ошибки нет?