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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
ex71
Мастер
Сообщения: 759
Зарегистрирован: 18 май 2019, 13:23
Репутация: 109
Настоящее имя: Андрей
Контактная информация:

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

Сообщение ex71 »

Пытаюсь резьбу резать, но получаю шаг 10мм. Никакие параметры на шаг не влияют. Пробовал и в коде (G76 P) менять, и всевозможные подачи, и даже экнодер шпинделя в конфиге никакого изменения не дает. Любая скорость шпинделя всегда соответствует шагу, то есть при увеличении оборотов всегда попадает правильно, но с шагом в 10мм ( Ну заход резьбы всегда в разном месте. То есть в резьбу из прошлого цикла не попадает, но внутри одной программы попадает правильно.

Пару раз случалось, что при первом проходе станок делал правильный шаг, но после отхода и возврата в начальную точку - снова шаг 10мм. Такое впечатление, что резание происходит на такой же подаче как и отход в начало. Как-будто индексная метка не видится, или не выставляется spindle-index-enable. Кстати index-enable я мониторил в HAL-Show, и там ничего не менялось. Так же как и etcomb.1.feedback.encoder_en2 не меняется.
Куда смотреть?

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

net spindle-revs           =>  motion.spindle-revs
net spindle-at-speed       =>  motion.spindle-at-speed
net spindle-vel-fb         =>  motion.spindle-speed-in
net spindle-index-enable  <=>  motion.spindle-index-enable

#------- SPINDLE FEEDBACK -----------------
setp etcomb.1.feedback.enc_scale2 4000 (энкодер на 1000им, ABZ)
net spindle-revs <= etcomb.1.feedback.encoder2
net spindle-vel-fb <= etcomb.1.feedback.enc_vel2
net spindle-index-enable <= etcomb.1.feedback.index_en2
Pantiak
Кандидат
Сообщения: 64
Зарегистрирован: 31 янв 2018, 08:43
Репутация: 7
Контактная информация:

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

Сообщение Pantiak »

Скиньте пожалуйста HAL и INI у кого станок на шаговых, управление по степ и дир.
Из шапки результат 0. также ошибка "rfind"
ex71
Мастер
Сообщения: 759
Зарегистрирован: 18 май 2019, 13:23
Репутация: 109
Настоящее имя: Андрей
Контактная информация:

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

Сообщение ex71 »

Я в Step/Dir не разбираюсь и не хочу на них что-то строить. Но кажется в примере в шапке конфиг не совсем правильный, в части подключения сигналов между PID и выходами платы.
Вот тут человек выложил конфиги своего роутера.
Из него, я бы выдрал ЭТО.

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

net x-enable => joint.0.amp-enable-out
net x-enable => etcomb.1.enable_drive

net x-output => pid.x.output
net x-output => etcomb.1.step_dir.outstep0

net x-pos-cmd => pid.x.command
net x-pos-cmd <= joint.0.motor-pos-cmd

net x-pos-fb  => joint.0.motor-pos-fb
net x-pos-fb  <= etcomb.1.step_dir.count0

setp etcomb.1.step_dir.escale0 640 // тут поидеи количество шагов на один оборот??
ini можно из шапки оставить
Pantiak писал(а):Из шапки результат 0. также ошибка "rfind"
Где она возникает?
Почему результат нулевой? Моторы не вращаются или LCNC не запускается? Больше конкретики..
Pantiak
Кандидат
Сообщения: 64
Зарегистрирован: 31 янв 2018, 08:43
Репутация: 7
Контактная информация:

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

Сообщение Pantiak »

hal:
(для просмотра содержимого нажмите на ссылку)

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

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt to_pcisd
loadrt pid names=pid.x


addf to_pcisd.1.update		          servo-thread
addf motion-command-handler                servo-thread
addf motion-controller                     servo-thread
addf pid.x.do-pid-calcs 		servo-thread       

net estop-ext iocontrol.0.emc-enable-in    <=  iocontrol.0.user-enable-out

setp   pid.x.Pgain     [AXIS_0]P
setp   pid.x.Igain     [AXIS_0]I
setp   pid.x.Dgain     [AXIS_0]D
setp   pid.x.bias      [AXIS_0]BIAS
setp   pid.x.FF0       [AXIS_0]FF0
setp   pid.x.FF1       [AXIS_0]FF1
setp   pid.x.FF2       [AXIS_0]FF2
setp   pid.x.deadband  [AXIS_0]DEADBAND
setp   pid.x.maxoutput [AXIS_0]MAX_OUTPUT

net x-enable       => pid.x.enable
net x-output   	   => pid.x.output
net x-pos-cmd      => pid.x.command
net x-pos-fb       => pid.x.feedback

net x-pos-fb  => axis.0.motor-pos-fb
net x-pos-fb  <= to_pcisd.1.step_dir.count0
setp to_pcisd.1.step_dir.escale0 640

net x-enable     axis.0.amp-enable-out
net x-enable => to_pcisd.1.enable_drive
net x-pos-cmd    axis.0.motor-pos-cmd
net x-output => to_pcisd.1.step_dir.outstep0
setp to_pcisd.1.step_dir.invert_dir0 0
setp to_pcisd.1.step_dir.Limp0 0

ini (из шапки для to_pcisd для теста)
(для просмотра содержимого нажмите на ссылку)

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

DRIVER=to_pci


[EMC]

# Name of machine, for use with display, etc.
MACHINE =               TEST_SD

# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG =                0x00000003
#DEBUG =                0x00000007
DEBUG = 0

[DISPLAY]

# Name of display program, e.g., tkemc
DISPLAY =              axis

# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME =            0.0500

# Path to help file
HELP_FILE =             tklinucnc.txt

# Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET =       RELATIVE

# Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK =     ACTUAL

# Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE =     1.5

# Prefix to be used
PROGRAM_PREFIX = /home/vladimir/linuxcnc/nc_files

# Introductory graphic
INTRO_GRAPHIC =         linuxcnc.gif
INTRO_TIME =            5
PYVCP = Panel.xml


[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python


[TASK]

# Name of task controller program, e.g., milltask
TASK =                  milltask

# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME =            0.010

[RS274NGC]

# File containing interpreter variables
#PARAMETER_FILE

[EMCMOT]

EMCMOT =                motmod

# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT =          1.0

# Interval between tries to emcmot, in seconds
COMM_WAIT =             0.010

# Servo task period, in nanoseconds
SERVO_PERIOD =          1000000

[HAL]

HALFILE = my_sd.hal
POSTGUI_HALFILE = custom_postgui.hal

[TRAJ]

AXES =                  1
COORDINATES =           X 
HOME =                  0 0 0 0
LINEAR_UNITS =          mm
ANGULAR_UNITS =         degree
CYCLE_TIME =            0.010
DEFAULT_VELOCITY =      1.0
MAX_VELOCITY =          300.0
DEFAULT_ACCELERATION =  600.0

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 9000.05
MIN_FERROR = 9000.05
MAX_VELOCITY = 300
MAX_ACCELERATION = 600.0
P = 20
I = 0
D = 0
FF0 = 0
FF1 = 0.06
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 10
ENCODER_SCALE = 100
OUTPUT_SCALE = 1
MIN_LIMIT = -250.0
MAX_LIMIT = 250.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 3.00000
HOME_LATCH_VEL = -0.1
HOME_FINAL_VEL = 0.01000
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = yes
SD_FB_SCALE = 1000
SD_Len_impuls = 3

[EMCIO]

# Name of IO controller program, e.g., io
EMCIO =                 io

# cycle time, in seconds
CYCLE_TIME =            0.100

# tool table file
TOOL_TABLE = tool.tbl

ex71 писал(а): Где она возникает?
Правый нижний угол (скрин уже с новыми правками hal , но результата пока что нету, шд не шагает)
ex71 писал(а):Почему результат нулевой? Моторы не вращаются или LCNC не запускается?
LCNC запускается, а вот шд не реагируют. И координа Х постоянно прыгает(0.001+- - 0.002+-) и не меняется при движении,на скрине выше видно. С HAL из шапки to_pcisd для теста результат тотже.

Подключение: Шлейф нужно перекрутить ? Или все правильно?(шлейфы комплектные с платами пришли) Если в HAL прописать :
setp to_pcisd.1.PWM.dcontrol0 4.5
setp to_pcisd.1.PWM.out_scale0 1
И естественно setp to_pcisd.1.enable_drive TRUE
то на AOUT и GND должно быть 4,5 вольт? у меня 0) какой пин отвечает за Р5 тогда ?
ex71
Мастер
Сообщения: 759
Зарегистрирован: 18 май 2019, 13:23
Репутация: 109
Настоящее имя: Андрей
Контактная информация:

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

Сообщение ex71 »

В INI добавь в секцию [RS274NGC]
PARAMETER_FILE = linuxcnc.var
Вероятнее всего rfind пропадет
Pantiak писал(а):LCNC запускается, а вот шд не реагируют. И координа Х постоянно прыгает(0.001+- - 0.002+-) и не меняется при движении,
Я бы проверил состояние enable_drive. У меня с этим первые часы были проблемы, ни в какую не активировался.
В halshow найди эту переменную и посмотри что с ней.
Ну прыгает на 1 тысячную миллиметра и фик с ней. Она будет прыгать.
Pantiak писал(а):setp to_pcisd.1.step_dir.Limp0 0
из описания плат:
step_dir.escaleN - коэффициент обратной связи для внутреннего счётчика импульсов
(количество импульсов STEP необходимое для перемещения на 1мм)
step_dir.countN - значение внутреннего счётчика перемещения с учётом escaleN
step_dir.outstepN - сигнал задания скорости выдачи STEP (число от -10 до 10)
step_dir.LimpN - Длительность импульса STEP в мкс(целое число от 1 до 6 )
step_dir.invert_dirN - логический сигнал инверсии DIR(0 - нет инверсии, 1 - есть)
Ну как минимум странно ожидать импульсы длиной 0 микросекунд )
ex71
Мастер
Сообщения: 759
Зарегистрирован: 18 май 2019, 13:23
Репутация: 109
Настоящее имя: Андрей
Контактная информация:

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

Сообщение ex71 »

Pantiak писал(а):Если в HAL прописать :
setp to_pcisd.1.PWM.dcontrol0 4.5
setp to_pcisd.1.PWM.out_scale0 1
И естественно setp to_pcisd.1.enable_drive TRUE
то на AOUT и GND должно быть 4,5 вольт? у меня 0) какой пин отвечает за Р5 тогда ?
просто так в хал файле это не будет работать. Enable_drive может и не будет активно. Надо при включенном станке прописывать, и тогда уже смотреть значение.
Для начала просто проверить enable_drive.
А так да, будет 4.5В, если все везде активировано.
Pantiak
Кандидат
Сообщения: 64
Зарегистрирован: 31 янв 2018, 08:43
Репутация: 7
Контактная информация:

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

Сообщение Pantiak »

ex71 писал(а):В INI добавь в секцию [RS274NGC]
PARAMETER_FILE = linuxcnc.var
Вероятнее всего rfind пропадет
Спасибо, помогло.
ex71 писал(а):Я бы проверил состояние enable_drive. У меня с этим первые часы были проблемы, ни в какую не активировался.
В halshow найди эту переменную и посмотри что с ней.
Помоему все включено
ex71 писал(а):Ну как минимум странно ожидать импульсы длиной 0 микросекунд )
Менял от 0 до 6 , оставил 3. Ничего не поменялось.
ex71 писал(а):Ну прыгает на 1 тысячную миллиметра и фик с ней. Она будет прыгать.
Да пускай прыгает, просто даже значения не меняются осей, когда тыкаешь +- по оси Х(в данном случае)

Подключение тоже как бы правильное, уж не знаю что делать.
Драйвер PUL+ Плата +5v
Драйвер PUL- ПлатаStep0
Драйвер DIR+ Плата +5v
Драйвер DIR- ПлатаDir0

Есть какой способ проверить что плата SD рабочая ?

Много картинок(крины HAL conf)может поможет чем Драйвер и шд рабочие, только что проверил на микроконтроллер подключил step ,dir, ногами подрыгал, вращает все ок.
ex71
Мастер
Сообщения: 759
Зарегистрирован: 18 май 2019, 13:23
Репутация: 109
Настоящее имя: Андрей
Контактная информация:

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

Сообщение ex71 »

а сам enable активируется на плате?
Ну по логике на вход драйвера enable надо подать +5в когда разрешена работа мотора. То есть если все везде активно, то и порт на плате должен замкнуть PUL между собой.
На на крайняк вручную подай enable на драйвер, хотя бы вращение через систему проверишь.

А так с конфигом из середины темы есть отличия - вместо axis.0 там joint.0
По поводу проверки платы надо уточнить у mmv напрямую. На самом деле у меня тоже были вопросы "я что-то спалил?" Нет... просто не правильно подключено или не правильно прописано.
В halshow есть поле ввода, внизу справа. Туда можно писать команды прям из конфига. И на лету менять значения или связи.
Pantiak
Кандидат
Сообщения: 64
Зарегистрирован: 31 янв 2018, 08:43
Репутация: 7
Контактная информация:

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

Сообщение Pantiak »

ex71 писал(а):а сам enable активируется на плате?
Щас не понял о каком enable на плате.

Enable на драйвере шд , просто подключен к +5 и gnd.
ex71
Мастер
Сообщения: 759
Зарегистрирован: 18 май 2019, 13:23
Репутация: 109
Настоящее имя: Андрей
Контактная информация:

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

Сообщение ex71 »

Проверь на плате SD наличие +5В там где подписано +5, и gnd где написано gnd.
Помнится на плате IO это не зависимые цепи (от основного питания)
Pantiak
Кандидат
Сообщения: 64
Зарегистрирован: 31 янв 2018, 08:43
Репутация: 7
Контактная информация:

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

Сообщение Pantiak »

ex71 писал(а):Проверь на плате SD наличие +5В там где подписано +5, и gnd где написано gnd.
Помнится на плате IO это не зависимые цепи (от основного питания)
На клеме питания +5V и GND есть напряжение. На +5v которые четыре раза дублируются, возле StepN и DirN , тоже есть напряжение 5 вольт.
Pantiak
Кандидат
Сообщения: 64
Зарегистрирован: 31 янв 2018, 08:43
Репутация: 7
Контактная информация:

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

Сообщение Pantiak »

так и должно быть на выходе step?
я вот не пойму каким образом он шаги отправляет, если тут от -10 до 10.
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

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

Сообщение mmv »

Итак, есть проблема. Очень хорошо что вся информация есть.
Говорим о подключении и настройках в посте 884.
По всей видимости что то не работает в связке плата-драйвер. Плата SD пока не участвует во всём этом.
Если сигнал enable_drive активен, и на outstepX есть отличное от нуля значение, (scale не равны нулю) то должны генерироваться импульсы step, что в свою очередь приводит к постоянному изменению countX.
ex71 писал(а):Pantiak писал(а):
Если в HAL прописать :
setp to_pcisd.1.PWM.dcontrol0 4.5
setp to_pcisd.1.PWM.out_scale0 1
И естественно setp to_pcisd.1.enable_drive TRUE
то на AOUT и GND должно быть 4,5 вольт? у меня 0) какой пин отвечает за Р5 тогда ?


просто так в хал файле это не будет работать. Enable_drive может и не будет активно. Надо при включенном станке прописывать, и тогда уже смотреть значение.
Для начала просто проверить enable_drive.
А так да, будет 4.5В, если все везде активировано.
Так будет работать!!!

Напомните когда покупали платы. Может какая несостыковка с версиями.
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Pantiak
Кандидат
Сообщения: 64
Зарегистрирован: 31 янв 2018, 08:43
Репутация: 7
Контактная информация:

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

Сообщение Pantiak »

mmv писал(а):Напомните когда покупали платы. Может какая несостыковка с версиями.
22 ноября вы отправили платы. там полный комплект плата main,SD с 5 степ+1аналог ,плата под диф.недиф энкодеры, и еще 2 платы ИО

еще на почту прислали eth_flasher.zip , не много не понимаю зачем он мне.
mmv писал(а):что в свою очередь приводит к постоянному изменению countX.
count0 скачет постоянно от 0.001 до 0.004 гдето так.

Фото всего
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

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

Сообщение mmv »

Драйвер из первого поста?
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Pantiak
Кандидат
Сообщения: 64
Зарегистрирован: 31 янв 2018, 08:43
Репутация: 7
Контактная информация:

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

Сообщение Pantiak »

mmv писал(а):Драйвер из первого поста?
Да, to_pcisd.zip из шапки темы брал.
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

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

Сообщение mmv »

Да тут за последние пол года прошло несколько изменений, нужен новый драйвер. Он подойдёт для любой версии платы. Но для свежих плат нужен новый драйвер. Пока не возможности выложить в шапку, так что пока здесь.
Вложения
to_pcisd.zip
Версия драйвера 3.50
(4.9 КБ) 282 скачивания
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Pantiak
Кандидат
Сообщения: 64
Зарегистрирован: 31 янв 2018, 08:43
Репутация: 7
Контактная информация:

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

Сообщение Pantiak »

mmv писал(а):Да тут за последние пол года прошло несколько изменений, нужен новый драйвер. Он подойдёт для любой версии платы. Но для свежих плат нужен новый драйвер. Пока не возможности выложить в шапку, так что пока здесь.
Завтра к 10:00 попробую.Спасибо
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

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

Сообщение mmv »

Напишите тут результат тогда
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Pantiak
Кандидат
Сообщения: 64
Зарегистрирован: 31 янв 2018, 08:43
Репутация: 7
Контактная информация:

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

Сообщение Pantiak »

mmv писал(а):Напишите тут результат тогда
Призначи жизни есть, работает драйвер. Буду настраивать дальше
Ответить

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