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

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

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

Сообщение T00T » 09 апр 2017, 21:37

Ну там есть ещё и клемма Upp_GND, помимо +5V_GND.
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 691
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 85

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

Сообщение maratNC » 10 апр 2017, 05:31

T00T писал(а):Ну там есть ещё и клемма Upp_GND, помимо +5V_GND.


Действительно, к этим клеммам ещё подавать питание.
А то что на контактах A,B,Z напряжение 5В это так и должно быть?
maratNC
Кандидат
 
Сообщения: 46
Зарегистрирован: 29 сен 2016, 16:45
Откуда: Пермь
Репутация: 1
Настоящее имя: Марат

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

Сообщение T00T » 10 апр 2017, 08:21

Да
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 691
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 85

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

Сообщение maratNC » 10 апр 2017, 15:43

T00T писал(а):В вашей плате напряжение на входы нужно подавать более 8 вольт. Подайте 12в.


Подал 10 Вольт на плату ввода-вывода - сгорели все микросхемы. . Потом посмотрел описание на микросхемы: у SN54HC245 максимальное питание +6 Вольт, у 74HC257 - +7 вольт. Более 6 Вольт им смертельно опасно подавать.
maratNC
Кандидат
 
Сообщения: 46
Зарегистрирован: 29 сен 2016, 16:45
Откуда: Пермь
Репутация: 1
Настоящее имя: Марат

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

Сообщение maratNC » 10 апр 2017, 15:50

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

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

Сообщение maratNC » 10 апр 2017, 18:00

maratNC писал(а):
T00T писал(а):В вашей плате напряжение на входы нужно подавать более 8 вольт. Подайте 12в.


Подал 10 Вольт на плату ввода-вывода - сгорели все микросхемы. . Потом посмотрел описание на микросхемы: у SN54HC245 максимальное питание +6 Вольт, у 74HC257 - +7 вольт. Более 6 Вольт им смертельно опасно подавать.


Уловил смысл предложения тока сейчас: питание от 8 вольт нужно было подавать на входы, а 5 Вольт строго питание платы (клеммы +5V_GND). :D
Придеться заказывать чипы.
Читайте форум!!!
maratNC
Кандидат
 
Сообщения: 46
Зарегистрирован: 29 сен 2016, 16:45
Откуда: Пермь
Репутация: 1
Настоящее имя: Марат

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

Сообщение T00T » 10 апр 2017, 19:41

maratNC писал(а):Подал 10 Вольт на плату ввода-вывода - сгорели все микросхемы. . Потом посмотрел описание на микросхемы: у SN54HC245 максимальное питание +6 Вольт, у 74HC257 - +7 вольт. Более 6 Вольт им смертельно опасно подавать.

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

Входы енкодеров -5в(дифференциальные и можно подключить как не дифференциальные), в последней версии платы IO можно
на входы подавать 24в, до этого было не больше 12в(фото последней версии платы можно увидеть в 1 посте темы по продаже).
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 691
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 85

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

Сообщение maratNC » 10 апр 2017, 19:51

T00T писал(а):
maratNC писал(а):Подал 10 Вольт на плату ввода-вывода - сгорели все микросхемы. . Потом посмотрел описание на микросхемы: у SN54HC245 максимальное питание +6 Вольт, у 74HC257 - +7 вольт. Более 6 Вольт им смертельно опасно подавать.

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

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


Это моя не внимательность. Конечно все написано. Спасибо.
Ещё такой вопрос, для энкодеров с синусоидальным выходом преобразователь не делаете? У меня датчики хайденхайн есть, прикрутил бы их.
maratNC
Кандидат
 
Сообщения: 46
Зарегистрирован: 29 сен 2016, 16:45
Откуда: Пермь
Репутация: 1
Настоящее имя: Марат

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

Сообщение botcman » 12 апр 2017, 09:13

Вопрос следующий- на модернизируемом станке выводы управляют нулем, общий плюс заводится на несколько пинов. На To PCI выводы управляют напряжением от 8В. Получается все наоборот. Как быть? Как подключать штатные выводы к плате? Схему прилагаю. Х2- 29- 0В, Х2-30- 24В
Вложения
Настраиваем контроллер to_pci. Изображение 022.jpg
botcman
Мастер
 
Сообщения: 358
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 3
Настоящее имя: Андрей

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

Сообщение T00T » 12 апр 2017, 20:22

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

Чёт вы всё смешали в кучу - входы, выходы.
От 8в это напряжение на входы. А вам нужны выходы. Управляйте через реле или подайте + на Х2- 29. Но у вас реле 10 шт, так что дополнительные реле вам всё равно понадобятся, т.к. выходов с ОК всего 8.
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 691
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 85

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

Сообщение botcman » 12 апр 2017, 23:15

Подавать на Х2-29 24В вообще не вариант. Х2-29 и Х2-30 это основное питание реле и тд, соответственно - и + . Одна плата с 8-ю релюшками есть. Что такое выход с ОК?
Нет ли схемы такого варианта подключения с использованием реле?
botcman
Мастер
 
Сообщения: 358
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 3
Настоящее имя: Андрей

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

Сообщение maratNC » 13 апр 2017, 12:32

ОК - открытый коллектор.
maratNC
Кандидат
 
Сообщения: 46
Зарегистрирован: 29 сен 2016, 16:45
Откуда: Пермь
Репутация: 1
Настоящее имя: Марат

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

Сообщение botcman » 13 апр 2017, 22:26

Вроде разобрался. Выводы управляются подачей 24В. Поясните, в чем разница выводов с открытым коллектором и выводов с закрытым коллектором? Заказал еще одну плату реле сегодня.
botcman
Мастер
 
Сообщения: 358
Зарегистрирован: 04 мар 2016, 20:22
Репутация: 3
Настоящее имя: Андрей

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

Сообщение T00T » 13 апр 2017, 22:56

botcman писал(а):Поясните, в чем разница выводов с открытым коллектором и выводов с закрытым коллектором?

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

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

Сообщение T00T » 18 май 2017, 23:58

Ответ на вопрос из темы по продаже.
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 писал(а):Не планируете снабдить его код комментариями?

Нужно пояснить какой то конкретный участок или весь код.
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 691
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 85

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

Сообщение tims » 19 май 2017, 02:27

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
tims
Опытный
 
Сообщения: 103
Зарегистрирован: 21 фев 2017, 00:57
Откуда: СПб
Репутация: 5
Настоящее имя: Тим

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

Сообщение T00T » 19 май 2017, 10:31

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.(Как нам и надо).
А далее формируем посылку по шаблону
Как то так :)
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 691
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 85

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

Сообщение tims » 19 май 2017, 20:02

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

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

Линейная зависимость скорости от входного сигнала норм будет?
Вложения
Настраиваем контроллер to_pci. diff_alg.png
tims
Опытный
 
Сообщения: 103
Зарегистрирован: 21 фев 2017, 00:57
Откуда: СПб
Репутация: 5
Настоящее имя: Тим

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

Сообщение T00T » 19 май 2017, 22:35

Согласен, реализована линейная зависимость ПЕРИОДА следования от входного воздействия. Очевидно что зависимость частоты от того же воздействия будет - обратная пропорциональность.
При точной настройке PID - справляется с задачей регулирования.
Лады, пусть будет линейная зависимость.
Уже работаем над этим............
Я не волшебник я пока учусь......
T00T
Мастер
 
Сообщения: 691
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 85

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

Сообщение tims » 20 май 2017, 00:16

В указанной строке по ссылке ошибки нет?
tims
Опытный
 
Сообщения: 103
Зарегистрирован: 21 фев 2017, 00:57
Откуда: СПб
Репутация: 5
Настоящее имя: Тим

Пред.След.

Вернуться в LinuxCNC

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

Зарегистрированные пользователи: 8cd, Alexa [Bot], android707, Argon-11, artclonic, Bender, Bing [Bot], Duhas, Enot_1, Google [Bot], igorvpetrov, Mark 24.ru, MGG, Portos, raminiroja, RUSVolt, Stephan67, VAT, Yahoo [Bot], Yandex [bot], Yuwal, Карпуха, Китайский мастер, ЧПУ-шник

Поделиться

Reputation System ©'