[Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазвязки
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
[Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазвязки
Эта тема создана для обсуждения статьи вики: Mesa 5i25 prob rfx2
Последний раз редактировалось Nick 04 июн 2014, 09:15, всего редактировалось 2 раза.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Попробовал прошить свою 5i25 новой прошивкой:
Все определилось также как и в прошлый раз... такое ощущение, что ты ее как-то не так прошивал, или подключал через loadrt с строчкой config=, где были или ошибки или отключены все stepgen... :hmmm:
Код: Выделить всё
ubuntu@ubuntu:~/Downloads/5i25/utils/linux$ sudo ./mesaflash --write ../../configs/hostmot2/5i25_prob_rfx2.bit --device 5I25
Checking file... OK
File type: BIT file
Design name: TopPCIHostMot2b.ncd;UserID=0xFFFFFFFF
Part name: 6slx9tqg144
Design date: 2013/10/22
Design time: 16:48:42
Config Length: 340884
Boot sector OK
EEPROM sectors to write: 5, max sectors in area: 8
Erasing EEPROM sectors starting from 0x80000...
|EEEEEE
Programming EEPROM area starting from 0x80000...
|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
Board configuration updated successfully
Код: Выделить всё
ubuntu@ubuntu:~/Downloads/5i25/utils/linux$ halrun
halcmd: loadrt hostmot
<stdin>:1: Can't find module 'hostmot' in /usr/realtime-2.6.32-122-rtai/modules/linuxcnc
halcmd: loadrt hostmot2
halcmd: loadrt hm2_pci
halcmd: show pin hm2
Component Pins:
Owner Type Dir Value Name
5 s32 OUT 0 hm2_5i25.0.encoder.00.count
5 s32 OUT 0 hm2_5i25.0.encoder.00.count-latched
5 bit I/O FALSE hm2_5i25.0.encoder.00.index-enable
5 bit IN FALSE hm2_5i25.0.encoder.00.latch-enable
5 bit IN FALSE hm2_5i25.0.encoder.00.latch-polarity
5 float OUT 0 hm2_5i25.0.encoder.00.position
5 float OUT 0 hm2_5i25.0.encoder.00.position-latched
5 bit OUT FALSE hm2_5i25.0.encoder.00.quadrature-error
5 s32 OUT 0 hm2_5i25.0.encoder.00.rawcounts
5 s32 OUT 0 hm2_5i25.0.encoder.00.rawlatch
5 bit IN FALSE hm2_5i25.0.encoder.00.reset
5 float OUT 0 hm2_5i25.0.encoder.00.velocity
5 s32 OUT 0 hm2_5i25.0.encoder.01.count
5 s32 OUT 0 hm2_5i25.0.encoder.01.count-latched
5 bit I/O FALSE hm2_5i25.0.encoder.01.index-enable
5 bit IN FALSE hm2_5i25.0.encoder.01.latch-enable
5 bit IN FALSE hm2_5i25.0.encoder.01.latch-polarity
5 float OUT 0 hm2_5i25.0.encoder.01.position
5 float OUT 0 hm2_5i25.0.encoder.01.position-latched
5 bit OUT FALSE hm2_5i25.0.encoder.01.quadrature-error
5 s32 OUT 0 hm2_5i25.0.encoder.01.rawcounts
5 s32 OUT 0 hm2_5i25.0.encoder.01.rawlatch
5 bit IN FALSE hm2_5i25.0.encoder.01.reset
5 float OUT 0 hm2_5i25.0.encoder.01.velocity
5 bit OUT TRUE hm2_5i25.0.gpio.000.in
5 bit OUT FALSE hm2_5i25.0.gpio.000.in_not
5 bit IN FALSE hm2_5i25.0.gpio.000.out
5 bit OUT FALSE hm2_5i25.0.gpio.001.in
5 bit OUT TRUE hm2_5i25.0.gpio.001.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.002.in
5 bit OUT TRUE hm2_5i25.0.gpio.002.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.003.in
5 bit OUT FALSE hm2_5i25.0.gpio.003.in_not
5 bit IN FALSE hm2_5i25.0.gpio.003.out
5 bit OUT FALSE hm2_5i25.0.gpio.004.in
5 bit OUT TRUE hm2_5i25.0.gpio.004.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.005.in
5 bit OUT TRUE hm2_5i25.0.gpio.005.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.006.in
5 bit OUT TRUE hm2_5i25.0.gpio.006.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.007.in
5 bit OUT FALSE hm2_5i25.0.gpio.007.in_not
5 bit IN FALSE hm2_5i25.0.gpio.007.out
5 bit OUT FALSE hm2_5i25.0.gpio.008.in
5 bit OUT TRUE hm2_5i25.0.gpio.008.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.009.in
5 bit OUT TRUE hm2_5i25.0.gpio.009.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.010.in
5 bit OUT TRUE hm2_5i25.0.gpio.010.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.011.in
5 bit OUT TRUE hm2_5i25.0.gpio.011.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.012.in
5 bit OUT TRUE hm2_5i25.0.gpio.012.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.013.in
5 bit OUT FALSE hm2_5i25.0.gpio.013.in_not
5 bit IN FALSE hm2_5i25.0.gpio.013.out
5 bit OUT TRUE hm2_5i25.0.gpio.014.in
5 bit OUT FALSE hm2_5i25.0.gpio.014.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.015.in
5 bit OUT FALSE hm2_5i25.0.gpio.015.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.016.in
5 bit OUT FALSE hm2_5i25.0.gpio.016.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.017.in
5 bit OUT FALSE hm2_5i25.0.gpio.017.in_not
5 bit IN FALSE hm2_5i25.0.gpio.017.out
5 bit OUT FALSE hm2_5i25.0.gpio.018.in
5 bit OUT TRUE hm2_5i25.0.gpio.018.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.019.in
5 bit OUT TRUE hm2_5i25.0.gpio.019.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.020.in
5 bit OUT FALSE hm2_5i25.0.gpio.020.in_not
5 bit IN FALSE hm2_5i25.0.gpio.020.out
5 bit OUT FALSE hm2_5i25.0.gpio.021.in
5 bit OUT TRUE hm2_5i25.0.gpio.021.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.022.in
5 bit OUT TRUE hm2_5i25.0.gpio.022.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.023.in
5 bit OUT TRUE hm2_5i25.0.gpio.023.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.024.in
5 bit OUT FALSE hm2_5i25.0.gpio.024.in_not
5 bit IN FALSE hm2_5i25.0.gpio.024.out
5 bit OUT FALSE hm2_5i25.0.gpio.025.in
5 bit OUT TRUE hm2_5i25.0.gpio.025.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.026.in
5 bit OUT TRUE hm2_5i25.0.gpio.026.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.027.in
5 bit OUT TRUE hm2_5i25.0.gpio.027.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.028.in
5 bit OUT TRUE hm2_5i25.0.gpio.028.in_not
5 bit OUT FALSE hm2_5i25.0.gpio.029.in
5 bit OUT TRUE hm2_5i25.0.gpio.029.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.030.in
5 bit OUT FALSE hm2_5i25.0.gpio.030.in_not
5 bit IN FALSE hm2_5i25.0.gpio.030.out
5 bit OUT TRUE hm2_5i25.0.gpio.031.in
5 bit OUT FALSE hm2_5i25.0.gpio.031.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.032.in
5 bit OUT FALSE hm2_5i25.0.gpio.032.in_not
5 bit OUT TRUE hm2_5i25.0.gpio.033.in
5 bit OUT FALSE hm2_5i25.0.gpio.033.in_not
5 bit IN FALSE hm2_5i25.0.led.CR01
5 bit IN FALSE hm2_5i25.0.led.CR02
5 bit IN FALSE hm2_5i25.0.pwmgen.00.enable
5 float IN 0 hm2_5i25.0.pwmgen.00.value
5 bit IN FALSE hm2_5i25.0.pwmgen.01.enable
5 float IN 0 hm2_5i25.0.pwmgen.01.value
5 bit IN FALSE hm2_5i25.0.stepgen.00.control-type
5 s32 OUT 0 hm2_5i25.0.stepgen.00.counts
5 float OUT 0 hm2_5i25.0.stepgen.00.dbg_err_at_match
5 float OUT 0 hm2_5i25.0.stepgen.00.dbg_ff_vel
5 float OUT 0 hm2_5i25.0.stepgen.00.dbg_pos_minus_prev_
5 float OUT 0 hm2_5i25.0.stepgen.00.dbg_s_to_match
5 s32 OUT 0 hm2_5i25.0.stepgen.00.dbg_step_rate
5 float OUT 0 hm2_5i25.0.stepgen.00.dbg_vel_error
5 bit IN FALSE hm2_5i25.0.stepgen.00.enable
5 float IN 0 hm2_5i25.0.stepgen.00.position-cmd
5 float OUT 0 hm2_5i25.0.stepgen.00.position-fb
5 float IN 0 hm2_5i25.0.stepgen.00.velocity-cmd
5 float OUT 0 hm2_5i25.0.stepgen.00.velocity-fb
5 bit IN FALSE hm2_5i25.0.stepgen.01.control-type
5 s32 OUT 0 hm2_5i25.0.stepgen.01.counts
5 float OUT 0 hm2_5i25.0.stepgen.01.dbg_err_at_match
5 float OUT 0 hm2_5i25.0.stepgen.01.dbg_ff_vel
5 float OUT 0 hm2_5i25.0.stepgen.01.dbg_pos_minus_prev_
5 float OUT 0 hm2_5i25.0.stepgen.01.dbg_s_to_match
5 s32 OUT 0 hm2_5i25.0.stepgen.01.dbg_step_rate
5 float OUT 0 hm2_5i25.0.stepgen.01.dbg_vel_error
5 bit IN FALSE hm2_5i25.0.stepgen.01.enable
5 float IN 0 hm2_5i25.0.stepgen.01.position-cmd
5 float OUT 0 hm2_5i25.0.stepgen.01.position-fb
5 float IN 0 hm2_5i25.0.stepgen.01.velocity-cmd
5 float OUT 0 hm2_5i25.0.stepgen.01.velocity-fb
5 bit IN FALSE hm2_5i25.0.stepgen.02.control-type
5 s32 OUT 0 hm2_5i25.0.stepgen.02.counts
5 float OUT 0 hm2_5i25.0.stepgen.02.dbg_err_at_match
5 float OUT 0 hm2_5i25.0.stepgen.02.dbg_ff_vel
5 float OUT 0 hm2_5i25.0.stepgen.02.dbg_pos_minus_prev_
5 float OUT 0 hm2_5i25.0.stepgen.02.dbg_s_to_match
5 s32 OUT 0 hm2_5i25.0.stepgen.02.dbg_step_rate
5 float OUT 0 hm2_5i25.0.stepgen.02.dbg_vel_error
5 bit IN FALSE hm2_5i25.0.stepgen.02.enable
5 float IN 0 hm2_5i25.0.stepgen.02.position-cmd
5 float OUT 0 hm2_5i25.0.stepgen.02.position-fb
5 float IN 0 hm2_5i25.0.stepgen.02.velocity-cmd
5 float OUT 0 hm2_5i25.0.stepgen.02.velocity-fb
5 bit IN FALSE hm2_5i25.0.stepgen.03.control-type
5 s32 OUT 0 hm2_5i25.0.stepgen.03.counts
5 float OUT 0 hm2_5i25.0.stepgen.03.dbg_err_at_match
5 float OUT 0 hm2_5i25.0.stepgen.03.dbg_ff_vel
5 float OUT 0 hm2_5i25.0.stepgen.03.dbg_pos_minus_prev_
5 float OUT 0 hm2_5i25.0.stepgen.03.dbg_s_to_match
5 s32 OUT 0 hm2_5i25.0.stepgen.03.dbg_step_rate
5 float OUT 0 hm2_5i25.0.stepgen.03.dbg_vel_error
5 bit IN FALSE hm2_5i25.0.stepgen.03.enable
5 float IN 0 hm2_5i25.0.stepgen.03.position-cmd
5 float OUT 0 hm2_5i25.0.stepgen.03.position-fb
5 float IN 0 hm2_5i25.0.stepgen.03.velocity-cmd
5 float OUT 0 hm2_5i25.0.stepgen.03.velocity-fb
5 bit IN FALSE hm2_5i25.0.stepgen.04.control-type
5 s32 OUT 0 hm2_5i25.0.stepgen.04.counts
5 float OUT 0 hm2_5i25.0.stepgen.04.dbg_err_at_match
5 float OUT 0 hm2_5i25.0.stepgen.04.dbg_ff_vel
5 float OUT 0 hm2_5i25.0.stepgen.04.dbg_pos_minus_prev_
5 float OUT 0 hm2_5i25.0.stepgen.04.dbg_s_to_match
5 s32 OUT 0 hm2_5i25.0.stepgen.04.dbg_step_rate
5 float OUT 0 hm2_5i25.0.stepgen.04.dbg_vel_error
5 bit IN FALSE hm2_5i25.0.stepgen.04.enable
5 float IN 0 hm2_5i25.0.stepgen.04.position-cmd
5 float OUT 0 hm2_5i25.0.stepgen.04.position-fb
5 float IN 0 hm2_5i25.0.stepgen.04.velocity-cmd
5 float OUT 0 hm2_5i25.0.stepgen.04.velocity-fb
5 bit IN FALSE hm2_5i25.0.stepgen.05.control-type
5 s32 OUT 0 hm2_5i25.0.stepgen.05.counts
5 float OUT 0 hm2_5i25.0.stepgen.05.dbg_err_at_match
5 float OUT 0 hm2_5i25.0.stepgen.05.dbg_ff_vel
5 float OUT 0 hm2_5i25.0.stepgen.05.dbg_pos_minus_prev_
5 float OUT 0 hm2_5i25.0.stepgen.05.dbg_s_to_match
5 s32 OUT 0 hm2_5i25.0.stepgen.05.dbg_step_rate
5 float OUT 0 hm2_5i25.0.stepgen.05.dbg_vel_error
5 bit IN FALSE hm2_5i25.0.stepgen.05.enable
5 float IN 0 hm2_5i25.0.stepgen.05.position-cmd
5 float OUT 0 hm2_5i25.0.stepgen.05.position-fb
5 float IN 0 hm2_5i25.0.stepgen.05.velocity-cmd
5 float OUT 0 hm2_5i25.0.stepgen.05.velocity-fb
5 bit IN FALSE hm2_5i25.0.stepgen.06.control-type
5 s32 OUT 0 hm2_5i25.0.stepgen.06.counts
5 float OUT 0 hm2_5i25.0.stepgen.06.dbg_err_at_match
5 float OUT 0 hm2_5i25.0.stepgen.06.dbg_ff_vel
5 float OUT 0 hm2_5i25.0.stepgen.06.dbg_pos_minus_prev_
5 float OUT 0 hm2_5i25.0.stepgen.06.dbg_s_to_match
5 s32 OUT 0 hm2_5i25.0.stepgen.06.dbg_step_rate
5 float OUT 0 hm2_5i25.0.stepgen.06.dbg_vel_error
5 bit IN FALSE hm2_5i25.0.stepgen.06.enable
5 float IN 0 hm2_5i25.0.stepgen.06.position-cmd
5 float OUT 0 hm2_5i25.0.stepgen.06.position-fb
5 float IN 0 hm2_5i25.0.stepgen.06.velocity-cmd
5 float OUT 0 hm2_5i25.0.stepgen.06.velocity-fb
5 bit IN FALSE hm2_5i25.0.stepgen.07.control-type
5 s32 OUT 0 hm2_5i25.0.stepgen.07.counts
5 float OUT 0 hm2_5i25.0.stepgen.07.dbg_err_at_match
5 float OUT 0 hm2_5i25.0.stepgen.07.dbg_ff_vel
5 float OUT 0 hm2_5i25.0.stepgen.07.dbg_pos_minus_prev_
5 float OUT 0 hm2_5i25.0.stepgen.07.dbg_s_to_match
5 s32 OUT 0 hm2_5i25.0.stepgen.07.dbg_step_rate
5 float OUT 0 hm2_5i25.0.stepgen.07.dbg_vel_error
5 bit IN FALSE hm2_5i25.0.stepgen.07.enable
5 float IN 0 hm2_5i25.0.stepgen.07.position-cmd
5 float OUT 0 hm2_5i25.0.stepgen.07.position-fb
5 float IN 0 hm2_5i25.0.stepgen.07.velocity-cmd
5 float OUT 0 hm2_5i25.0.stepgen.07.velocity-fb
5 bit I/O FALSE hm2_5i25.0.watchdog.has_bit
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
PS А вот по поводу GPIO - хороший вопрос... по хорошему они должны были исчезнуть... надо попробовать посмотерть, что будет на выходе с платы если переключать эти GPIO напрямую или через stepgen...
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Всё, лишнее исчезло.Nick писал(а):по хорошему они должны были исчезнуть...
Ничего не будет. Для выводов, которые используются (Step, Dir, энкодер и т.п.) отсутствуют соотв. gpio.out, ибо выходы детям - не игрушка!Nick писал(а):надо попробовать посмотерть, что будет на выходе с платы если переключать эти GPIO напрямую или через stepgen...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
хмммм а откуда тогда 32 GPIO?
5 bit OUT TRUE hm2_5i25.0.gpio.020.in
5 bit OUT TRUE hm2_5i25.0.gpio.020.in
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
А ты их внимательно пересчитывал?
вот к примеру контакт 2 (i/o 2) - Step, контакт 3 (i/o 4) - Dir.
Как ты запишешь своё значение в hm2_5i25.0.gpio.002.out и в hm2_5i25.0.gpio.004.out?
вот к примеру контакт 2 (i/o 2) - Step, контакт 3 (i/o 4) - Dir.
Как ты запишешь своё значение в hm2_5i25.0.gpio.002.out и в hm2_5i25.0.gpio.004.out?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Это же обычный пин...
или
Код: Выделить всё
net a => hm2_5i25.0.gpio.002.out
net a <= [все что угодно bit]
Код: Выделить всё
setp hm2_5i25.0.gpio.002.out 1
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Пин-то обычный, только в твоём случае его нет.
что говорит?..
Код: Выделить всё
halcmd show pin hm2_5i25.0.gpio.002.out
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
там вверху вывод ( 5 bit IN FALSE hm2_5i25.0.gpio.020.out)
show pin hm2
т.е. вывод всех пинов ничинающихся с ...
щас конечно проверю на всякий случай...
show pin hm2
т.е. вывод всех пинов ничинающихся с ...
щас конечно проверю на всякий случай...
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5182
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Всё правильно - i/o20 не задействован ни под stepgen, ни под энкодер и т.п., поэтому его можно использовать как выход.Nick писал(а):там вверху вывод ( 5 bit IN FALSE hm2_5i25.0.gpio.020.out)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
О! Вот оно как, а я и не заметил, что во всем этом списке не у всех пинов есть .out, а только у нескольких штук! Спасибо!
Сижу понимаешь себе голову ломаю, а оно так порсто оказывается .
Сижу понимаешь себе голову ломаю, а оно так порсто оказывается .
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Программа с выложенными в вики конфигами грузится корректно,но станок не ездит...
Попробовал перевести пины в GPIO,для чего на каждый из 33 пинов определил параметры:
setp hm2_5i25.0.gpio.000.invert_output false и setp hm2_5i25.0.gpio.000.is_opendrain false для всех пинов одинаково,
hm2_5i25.0.gpio.000.is_output для исходящих пинов true и false для вхолдных.
Станок в целом перемещается но как то медленно,такое впечатление что он случайно реагирует на отдельные импульсы.
Но не смотря на это он отхомячится смог.
как подтверждение осущения случайного срабатывания станок не включается по charge_pump,приходится на тот же пин подавать сигнал enabled,
от которого станок включается нормально.(Тумблер на плате пурилогика я переключать не забываю)
Во вторых не работает PWM управление скоростью шпинделя.
Архив с конфигами: Мануальник к PLC4x-G2: И ещё я столкнулься вот с какой проблемой,как я понял создать потоки в конфиге можно только один раз,
тоесть если вызвал motmod,то использовать threads уже нельзя.
И тут получаются вилы,как я понимаю сделать поток со своим именем в motmod'e нельзя и отказаться от него в пользу threads тоже нельзя,
так как он выполняет еще икакието motion-control функции.
Есть какойнибудь модуль с такой функциональностью отдельно ятобы я мог использовать threads?
Ну или как нибудь иначе решить это противоречие.
Попробовал перевести пины в GPIO,для чего на каждый из 33 пинов определил параметры:
setp hm2_5i25.0.gpio.000.invert_output false и setp hm2_5i25.0.gpio.000.is_opendrain false для всех пинов одинаково,
hm2_5i25.0.gpio.000.is_output для исходящих пинов true и false для вхолдных.
Станок в целом перемещается но как то медленно,такое впечатление что он случайно реагирует на отдельные импульсы.
Но не смотря на это он отхомячится смог.
как подтверждение осущения случайного срабатывания станок не включается по charge_pump,приходится на тот же пин подавать сигнал enabled,
от которого станок включается нормально.(Тумблер на плате пурилогика я переключать не забываю)
Во вторых не работает PWM управление скоростью шпинделя.
Архив с конфигами: Мануальник к PLC4x-G2: И ещё я столкнулься вот с какой проблемой,как я понял создать потоки в конфиге можно только один раз,
тоесть если вызвал motmod,то использовать threads уже нельзя.
И тут получаются вилы,как я понимаю сделать поток со своим именем в motmod'e нельзя и отказаться от него в пользу threads тоже нельзя,
так как он выполняет еще икакието motion-control функции.
Есть какойнибудь модуль с такой функциональностью отдельно ятобы я мог использовать threads?
Ну или как нибудь иначе решить это противоречие.
Последний раз редактировалось torvn77 30 июн 2014, 23:11, всего редактировалось 1 раз.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Это зря. Это не надо.torvn77 писал(а):Попробовал перевести пины в GPIO,для чего на каждый из 33 пинов определил параметры:
setp hm2_5i25.0.gpio.000.invert_output false и setp hm2_5i25.0.gpio.000.is_opendrain false для всех пинов одинаково,
hm2_5i25.0.gpio.000.is_output для исходящих пинов true и false для вхолдных.
torvn77 писал(а):но станок не ездит...
Вот эти два утверждения противоречат друг другу.torvn77 писал(а):Станок в целом перемещается но как то медленно,такое впечатление что он случайно реагирует на отдельные импульсы.
Про charge-pump в конфиге ничего не нашел. Может поэтому он и работает рывками? Если есть charge-pump на плате, то его надо настроить и в linuxcnctorvn77 писал(а):как подтверждение осущения случайного срабатывания станок не включается по charge_pump,приходится на тот же пин подавать сигнал enabled,
от которого станок включается нормально.(Тумблер на плате пурилогика я переключать не забываю)
Какой тумблер?
А в чем проблема его в первой строчке написать?torvn77 писал(а):И ещё я столкнулься вот с какой проблемой,как я понял создать потоки в конфиге можно только один раз,
тоесть если вызвал motmod,то использовать threads уже нельзя.
А для чего тебе отдельный поток?
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Как так charge_pump нет в конфиге?!
И подключение к пину
Станок в начале с вашими конфигами не ездил,
а потом я взял свои конфиги для LPT и стал их перерабатывать на GPIO Месы.
А с threads потом попробую.
А так я хочу сделать отдельный поток для точного задания частоты чаргепумпа.
Своего то параметра задания частоты у него то нет.
Код: Выделить всё
loadrt charge_pump
net estop-out => charge-pump.enable
net charge-pump <= charge-pump.out
addf charge-pump base-thread
Код: Выделить всё
#net charge-pump => hm2_5i25.0.gpio.000.out
net estop-out => hm2_5i25.0.gpio.000.out
а потом я взял свои конфиги для LPT и стал их перерабатывать на GPIO Месы.
А с threads потом попробую.
А так я хочу сделать отдельный поток для точного задания частоты чаргепумпа.
Своего то параметра задания частоты у него то нет.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Эт в каком файле?torvn77 писал(а):Как так charge_pump нет в конфиге?!
Можно в качестве charge-pump попрорбовать использовать siggen или один stepgen в mesa.torvn77 писал(а):А так я хочу сделать отдельный поток для точного задания частоты чаргепумпа.
Своего то параметра задания частоты у него то нет.
Вот тут может крыться ошибка - получается, что charge-pump обнавляется раз в base-thread, выходы месы обновляются раз в servo-thread, что в 50 раз медленнее, поэтому не все импульсы могут доходить до контроллера.torvn77 писал(а):loadrt charge_pump
net estop-out => charge-pump.enable
net charge-pump <= charge-pump.out
addf charge-pump base-thread
Какие параметры сигнала должны быть для charge-pump?
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Сейчас я заметил что выложил не тот архив,отредактировал сообщение и залил правильный файл.
Номера строк 46 - 49 ,подключение к пинам 129-130 .
правильный файл на том же месте в том же сообщении.
Фаил Purelogic_PLC4x-G2.hal
Номера строк 46 - 49 ,подключение к пинам 129-130 .
правильный файл на том же месте в том же сообщении.
Фаил Purelogic_PLC4x-G2.hal
Последний раз редактировалось torvn77 01 июл 2014, 01:55, всего редактировалось 1 раз.
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
C загрузкой threads перед motmod всё получилось.
Но вот по stepgen есть вопрос :
Пока я двигаю станок с LPT и как часть подготовки к переходу конфига на hm2_pci присвоил пинам
setp stepgen.N.steplen и setp stepgen.N.stepspace значения 3140.0[из stepconf]x(27800[из hal]/11800.0[из stepconf])=7397.627118644
Написав с округлением в большую сторону
setp stepgen.1.steplen 7398
setp stepgen.1.stepspace 7398
При попытке двинутся на полной скорости 3436 мм/мин станок проесжает 2,403 мм и резко с ударом останавливется с выдачей ощибки joint 0 following error.
На низкой скорости станок ездит нормально.
Опытным путём установил,что граничная скорость,при которой происходит такой сбой находится гдето между 1360 и 1760 мм/мин.
Но вот по stepgen есть вопрос :
Пока я двигаю станок с LPT и как часть подготовки к переходу конфига на hm2_pci присвоил пинам
setp stepgen.N.steplen и setp stepgen.N.stepspace значения 3140.0[из stepconf]x(27800[из hal]/11800.0[из stepconf])=7397.627118644
Написав с округлением в большую сторону
setp stepgen.1.steplen 7398
setp stepgen.1.stepspace 7398
При попытке двинутся на полной скорости 3436 мм/мин станок проесжает 2,403 мм и резко с ударом останавливется с выдачей ощибки joint 0 following error.
На низкой скорости станок ездит нормально.
Опытным путём установил,что граничная скорость,при которой происходит такой сбой находится гдето между 1360 и 1760 мм/мин.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
Все в корне не правильно!....
net ystep => hm2_5i25.0.gpio.004.out
net ydir => hm2_5i25.0.gpio.010.out
...
У тебя сейчас работает обычный stepgen и выводится все это дело через mesa. Так будет работать еще хуже, чем через LPT.
Еще раз повторяю, выводы и вводы hm2_5i25.0.gpio обновляются раз в серво период. Общение с месой идет через servo-thread, это медленный поток!
Надо использовать stepgen, который сам будет на месе!
Т.е. либо изначально настроить через pncconf, либо вручную прописать в hal что-то вроде этого для каждой оси!
Код: Выделить всё
#*******************
# AXIS X
#*******************
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.04.dirsetup [AXIS_0]DIRSETUP
setp hm2_5i25.0.stepgen.04.dirhold [AXIS_0]DIRHOLD
setp hm2_5i25.0.stepgen.04.steplen [AXIS_0]STEPLEN
setp hm2_5i25.0.stepgen.04.stepspace [AXIS_0]STEPSPACE
setp hm2_5i25.0.stepgen.04.position-scale [AXIS_0]STEP_SCALE
setp hm2_5i25.0.stepgen.04.step_type 0
setp hm2_5i25.0.stepgen.04.control-type 0
setp hm2_5i25.0.stepgen.04.maxaccel 2.5
setp hm2_5i25.0.stepgen.04.maxvel 2.1
net x-pos-fb axis.0.motor-pos-fb <= hm2_5i25.0.stepgen.04.position-fb
net x-pos-cmd axis.0.motor-pos-cmd => hm2_5i25.0.stepgen.04.position-cmd
net x-enable axis.0.amp-enable-out => hm2_5i25.0.stepgen.04.enable
net x-pos-cmd axis.0.motor-pos-cmd => hm2_5i25.0.stepgen.04.position-cmd
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
К полному использованию возможностей месы я перейду потом,
сейчас я пытаюсь сделать концепт для тестирования аппаратной части.
План действии у меня такой:
)запусть MESA в GPIO с разводкой от пурилогика и без переходника на геско и добиться хоть какой то правильной работы.
)поменять распиновку на гецко,собрать переходник и протестировать.
)осуществить переход на сепген в месе и наладить ее работу.
влоб у меня не заработало,в том числе и с переходником.
Про разницу во времени потоков до меня дошло.
На какой частоте в принципе можно обновлять месовские пины в GPIO?
сейчас я пытаюсь сделать концепт для тестирования аппаратной части.
План действии у меня такой:
)запусть MESA в GPIO с разводкой от пурилогика и без переходника на геско и добиться хоть какой то правильной работы.
)поменять распиновку на гецко,собрать переходник и протестировать.
)осуществить переход на сепген в месе и наладить ее работу.
влоб у меня не заработало,в том числе и с переходником.
Про разницу во времени потоков до меня дошло.
На какой частоте в принципе можно обновлять месовские пины в GPIO?
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
1кГц - по умолчанию, теоритически должно работать и на 10кГц, но я не пробовал. Плюс стабильность частоты будет под большим вопросом!torvn77 писал(а):На какой частоте в принципе можно обновлять месовские пины в GPIO?
Не уверен, что это вообще возможно!torvn77 писал(а):)запусть MESA в GPIO с разводкой от пурилогика и без переходника на геско и добиться хоть какой то правильной работы.
"Правильной работы" точно не добиться!
Не трать время на ерунду!
Правильная работа, это когда stepgen висит на месе!
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв
А что делает параметр hm2_5i25.0.gpio.000.is_opendrain?
Из теории ясно только что это открытый коллектор,при этом в этой теории фигурируют самые разные схемы,так что по одним картинкам понять,
что произойдёт при установке этого параметра в то или иное значение понять не получается.
Моя версия такая,чип на плате только поглощает ток,а после этого параметра в true будет также его и испускать.
То есть после установки этого параметра в true и отключения режима вольтдобавки свитчем W4 пины платы электрически будут работать так же как и пины LPT?
Почему то в конфиге для работы с LPT не удаётся сделать threads меньше 992000
Ощибка при 991000 :
Из теории ясно только что это открытый коллектор,при этом в этой теории фигурируют самые разные схемы,так что по одним картинкам понять,
что произойдёт при установке этого параметра в то или иное значение понять не получается.
Моя версия такая,чип на плате только поглощает ток,а после этого параметра в true будет также его и испускать.
То есть после установки этого параметра в true и отключения режима вольтдобавки свитчем W4 пины платы электрически будут работать так же как и пины LPT?
Почему то в конфиге для работы с LPT не удаётся сделать threads меньше 992000
Код: Выделить всё
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt threads name1=charge-pump period1=992000
Debug file information:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
insmod: error inserting '/usr/realtime-2.6.32-122-rtai/modules/linuxcnc/threads.ko': -1 Operation not permitted
Devel_subroutine_Purelogic_PLC4x-G2.hal:6: exit value: 1
Devel_subroutine_Purelogic_PLC4x-G2.hal:6: insmod failed, returned -1
See the output of 'dmesg' for more information.
8330
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components