[Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазвязки

Работа с платами MESA, подключение, конфигурация.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

[Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазвязки

Сообщение Nick »

Эта тема создана для обсуждения статьи вики: 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 без опторазв

Сообщение Nick »

Попробовал прошить свою 5i25 новой прошивкой:

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

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
Все определилось также как и в прошлый раз... такое ощущение, что ты ее как-то не так прошивал, или подключал через loadrt с строчкой config=, где были или ошибки или отключены все stepgen... :hmmm:

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

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 без опторазв

Сообщение Nick »

PS А вот по поводу GPIO - хороший вопрос... по хорошему они должны были исчезнуть... надо попробовать посмотерть, что будет на выходе с платы если переключать эти GPIO напрямую или через stepgen...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв

Сообщение Serg »

Nick писал(а):по хорошему они должны были исчезнуть...
Всё, лишнее исчезло. :)
Nick писал(а):надо попробовать посмотерть, что будет на выходе с платы если переключать эти GPIO напрямую или через stepgen...
Ничего не будет. Для выводов, которые используются (Step, Dir, энкодер и т.п.) отсутствуют соотв. gpio.out, ибо выходы детям - не игрушка! Изображение
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв

Сообщение Nick »

хмммм а откуда тогда 32 GPIO?

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 без опторазв

Сообщение Serg »

А ты их внимательно пересчитывал?
вот к примеру контакт 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 без опторазв

Сообщение Nick »

Это же обычный пин...

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

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 без опторазв

Сообщение Serg »

Пин-то обычный, только в твоём случае его нет. :)

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

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 без опторазв

Сообщение Nick »

там вверху вывод ( 5 bit IN FALSE hm2_5i25.0.gpio.020.out)
show pin hm2
т.е. вывод всех пинов ничинающихся с ...

щас конечно проверю на всякий случай...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5182
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв

Сообщение Serg »

Nick писал(а):там вверху вывод ( 5 bit IN FALSE hm2_5i25.0.gpio.020.out)
Всё правильно - i/o20 не задействован ни под stepgen, ни под энкодер и т.п., поэтому его можно использовать как выход.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв

Сообщение Nick »

О! Вот оно как, а я и не заметил, что во всем этом списке не у всех пинов есть .out, а только у нескольких штук! Спасибо! :good:
Сижу понимаешь себе голову ломаю, а оно так порсто оказывается :).
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

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 для вхолдных.
Станок в целом перемещается но как то медленно,такое впечатление что он случайно реагирует на отдельные импульсы.
Но не смотря на это он отхомячится смог.
как подтверждение осущения случайного срабатывания станок не включается по charge_pump,приходится на тот же пин подавать сигнал enabled,
от которого станок включается нормально.(Тумблер на плате пурилогика я переключать не забываю)
Во вторых не работает PWM управление скоростью шпинделя.

Архив с конфигами:
5i25_GPIO.tar.gz
(4.44 КБ) 1029 скачиваний
Мануальник к PLC4x-G2:
PLC4x-G2.pdf
(2.02 МБ) 2280 скачиваний
И ещё я столкнулься вот с какой проблемой,как я понял создать потоки в конфиге можно только один раз,
тоесть если вызвал 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 без опторазв

Сообщение Nick »

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 писал(а):Станок в целом перемещается но как то медленно,такое впечатление что он случайно реагирует на отдельные импульсы.
Вот эти два утверждения противоречат друг другу.
torvn77 писал(а):как подтверждение осущения случайного срабатывания станок не включается по charge_pump,приходится на тот же пин подавать сигнал enabled,
от которого станок включается нормально.(Тумблер на плате пурилогика я переключать не забываю)
Про charge-pump в конфиге ничего не нашел. Может поэтому он и работает рывками? Если есть charge-pump на плате, то его надо настроить и в linuxcnc
Какой тумблер?
torvn77 писал(а):И ещё я столкнулься вот с какой проблемой,как я понял создать потоки в конфиге можно только один раз,
тоесть если вызвал motmod,то использовать threads уже нельзя.
А в чем проблема его в первой строчке написать?
А для чего тебе отдельный поток?
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв

Сообщение torvn77 »

Как так charge_pump нет в конфиге?!

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

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 без опторазв

Сообщение Nick »

torvn77 писал(а):Как так charge_pump нет в конфиге?!
Эт в каком файле?
torvn77 писал(а):А так я хочу сделать отдельный поток для точного задания частоты чаргепумпа.
Своего то параметра задания частоты у него то нет.
Можно в качестве charge-pump попрорбовать использовать siggen или один stepgen в mesa.
torvn77 писал(а):loadrt charge_pump
net estop-out => charge-pump.enable
net charge-pump <= charge-pump.out
addf charge-pump base-thread
Вот тут может крыться ошибка - получается, что charge-pump обнавляется раз в base-thread, выходы месы обновляются раз в servo-thread, что в 50 раз медленнее, поэтому не все импульсы могут доходить до контроллера.

Какие параметры сигнала должны быть для charge-pump?
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв

Сообщение torvn77 »

Сейчас я заметил что выложил не тот архив,отредактировал сообщение и залил правильный файл.
Номера строк 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 без опторазв

Сообщение torvn77 »

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 мм/мин.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв

Сообщение Nick »

....
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
Заметь тут stepgen находится на hm2_5i25:
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 без опторазв

Сообщение torvn77 »

К полному использованию возможностей месы я перейду потом,
сейчас я пытаюсь сделать концепт для тестирования аппаратной части.
План действии у меня такой:
)запусть MESA в GPIO с разводкой от пурилогика и без переходника на геско и добиться хоть какой то правильной работы.
)поменять распиновку на гецко,собрать переходник и протестировать.
)осуществить переход на сепген в месе и наладить ее работу.
влоб у меня не заработало,в том числе и с переходником.

Про разницу во времени потоков до меня дошло.
На какой частоте в принципе можно обновлять месовские пины в GPIO?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв

Сообщение Nick »

torvn77 писал(а):На какой частоте в принципе можно обновлять месовские пины в GPIO?
1кГц - по умолчанию, теоритически должно работать и на 10кГц, но я не пробовал. Плюс стабильность частоты будет под большим вопросом!
torvn77 писал(а):)запусть MESA в GPIO с разводкой от пурилогика и без переходника на геско и добиться хоть какой то правильной работы.
Не уверен, что это вообще возможно!
"Правильной работы" точно не добиться!
Не трать время на ерунду!
Правильная работа, это когда stepgen висит на месе!
Аватара пользователя
torvn77
Мастер
Сообщения: 2442
Зарегистрирован: 02 июн 2012, 22:12
Репутация: 215
Откуда: Россия,Санкт-Петербург
Контактная информация:

Re: [Wiki]Обсуждение MESA 5i25 и 6i25 prob_rfx2 без опторазв

Сообщение torvn77 »

А что делает параметр hm2_5i25.0.gpio.000.is_opendrain?
Из теории ясно только что это открытый коллектор,при этом в этой теории фигурируют самые разные схемы,так что по одним картинкам понять,
что произойдёт при установке этого параметра в то или иное значение понять не получается.
Моя версия такая,чип на плате только поглощает ток,а после этого параметра в 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
Ощибка при 991000 :
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
Ответить

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