Maho 400p фрезерный станок по металлу (400x250x375)

Тяжелые фрезерные станки по металлу.
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

xenon-alien писал(а): Замечательно!
Интересно будет узнать.
На "рабочей" плате уже просто входов не осталось, так что по любому нужно будет использовать Р1.

Человек написал, что в ближайшие дни постарается сделать.
Отлично, так как использование аппаратной поддержки энкодера лучше, чем вариант который нашел.

Метод подключения индексной метки который нашел, достаточно прост, мы просто заводим сигнал OCZ (Сигнал энкодера Z (открытый коллектор)) в Mesa. А дальше используем tristate_bit (можно использовать модуль encoder, но мне нужна только индексная метка) для установки значения joint.0.index-enable и настройки поиска 0-ля описанный в документации к LinuxCnc - https://linuxcnc.org/docs/html/config/ini-homing.html.

Вдержки из hal

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

loadrt tristate_bit 	count=3
addf tristate-bit.0 	      servo-thread
addf tristate-bit.1 	      servo-thread
addf tristate-bit.2           servo-thread
Для каждой из осей

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

net set.index-x.in     	tristate-bit.0.in            	hm2_7i96.0.gpio.001.in
net set.index-x.out    	tristate-bit.0.out           	joint.0.index-enable    
net set.index-x.enb   	tristate-bit.0.enable        	joint.0.homing
И настройка ini для каждой из осей

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

HOME = 0.0
HOME_SEQUENCE = 2
HOME_OFFSET = 0
HOME_SEARCH_VEL = 5
HOME_LATCH_VEL = -0.5
HOME_USE_INDEX = YES
Так как у меня нет сигнала OCZ (Сигнал энкодера Z (открытый коллектор)), из-за того что не правильно выбрал сервопривод, нужно было выбирать модель Delta B3 L, а у меня Delta B3 M, пришлось подключаться к OZ.

Сигнал в OZ в логическом анализаторе, куча шумов.
Сигнал в OZ в логическом анализаторе (2075 просмотров) <a class='original' href='./download/file.php?id=204520&sid=070ee4493f1b6eb0d53723d2b4d556e6&mode=view' target=_blank>Загрузить оригинал (315.06 КБ)</a>
Сигнал в OZ в логическом анализаторе
Что касается второго выхода /OZ, шумов при тестировании не обнаружено (не продолжительное тестирование, на большее не хватило времени). Тут может быть как с сусликом, мы его не видим, но он есть. Поэтому принял решение, проверять сигналы OZ и /OZ в ардуине, а если оба сигнала корректны, подавать сигнал на реле, которое включает один в входов Mesa.
Код для Arduino Nano, так же подойдет и для Arduino Uno (для просмотра содержимого нажмите на ссылку)

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

//https://upload.wikimedia.org/wikipedia/commons/e/e4/Arduino-nano-pinout.png
//https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf
//https://adior.ru/index.php/robototekhnika/249-pcint-arduino
//https://bellsoft.ru/arduino/pcint-arduino/
//https://chipenable.ru/index.php/item/4

#ifndef MC_CRITICAL_SECTION_START
#define MC_CRITICAL_SECTION_START  uint8_t _sreg = SREG; cli();
#endif

#ifndef MC_CRITICAL_SECTION_END
#define MC_CRITICAL_SECTION_END    SREG = _sreg;
#endif

#define PIN_X_OZ      2
#define PIN_X_NOZ     8
#define PIN_X_OUT     14

#define PIN_Y_OZ      3
#define PIN_Y_NOZ     9
#define PIN_Y_OUT     15

#define PIN_Z_OZ      4
#define PIN_Z_NOZ     10
#define PIN_Z_OUT     16

// /OZ
#define PIN_PORTE_MASK_B B00000111

// OZ Output
#define PIN_PORTE_MASK_C B00000111

// OZ
#define PIN_PORTE_MASK_D B00011100

void setup()
{
  Serial.begin(115200);

  pinMode(PIN_X_OZ, INPUT_PULLUP);
  pinMode(PIN_X_NOZ, INPUT_PULLUP);
  pinMode(PIN_X_OUT, OUTPUT);

  pinMode(PIN_Y_OZ, INPUT_PULLUP);
  pinMode(PIN_Y_NOZ, INPUT_PULLUP);
  pinMode(PIN_Y_OUT, OUTPUT);

  pinMode(PIN_Z_OZ, INPUT_PULLUP);
  pinMode(PIN_Z_NOZ, INPUT_PULLUP);
  pinMode(PIN_Z_OUT, OUTPUT);

  pinMode(A3, OUTPUT);

  MC_CRITICAL_SECTION_START

  // PCICR (Pin Change Interrupt Enable) - регистр разрешающий прерывания по изменению состояния группы выводов.
  // PCIEn - биты которые разрешают прерывания по изменению состояния группы выводов. Когда бит PCIEn и бит I регистра SREG установлены в 1 - прерывания по изменению состояния на группе выводов PCIEn разрешены.
  // Очищаем регистр разрещающий прерывания по изменению состояния группы выводов.
  PCICR |= (0 << PCIE0);

  // PCMSKn (Pin Change Mask Register) - регистр включающий выводы конкретной группы портов на прерываний по изменению состояния.
  PCMSK0 |= (0 << PCINT7) | (0 << PCINT6) | (0 << PCINT5) | (0 << PCINT4) | (0 << PCINT3) | (1 << PCINT2) | (1 << PCINT1) | (1 << PCINT0);

  // PCIFR (Pin Change Interrupt Flag Register) - регистр флагов прерываний по изменению состояния группы выводов. Указывает от какой группы поступило прерывание.
  // Очищаем регистр флагов прерываний по изменению состояния группы выводов.
  PCIFR = (1 << PCIF0);

  // PCICR (Pin Change Interrupt Enable) - регистр разрешающий прерывания по изменению состояния группы выводов.
  // PCIEn - биты которые разрешают прерывания по изменению состояния группы выводов. Когда бит PCIEn и бит I регистра SREG установлены в 1 - прерывания по изменению состояния на группе выводов PCIEn разрешены.
  PCICR |= (1 << PCIE0);

  MC_CRITICAL_SECTION_END
}

void loop()
{
  // Чтение OZ и /OZ
  //Serial.print("Mask B - ");
  //Serial.print(PIN_PORTE_MASK_B, 2);
  //Serial.print(" Pin B - ");
  //Serial.print(pinB, 2);
  //Serial.print(" After Mask - ");
  //Serial.print((PIN_PORTE_MASK_B & pinB), 2);
  //Serial.print(" Check Other Pin - ");
  //Serial.print(((PIN_PORTE_MASK_B & pinB) ^ (pinC >> 2)), 2);
  //Serial.print(" Finish To write to PIND - ");
  //Serial.println((((PIN_PORTE_MASK_B & pinB) ^ (pinC >> 2))) & (pinC >> 2), 2);

  //Serial.println((PIN_PORTE_MASK_B & pinB), 2);
  //Mask B - 111 Pin B - 101 After Mask - 101

  //Serial.println((PIN_PORTE_MASK_B | pinB), 2);
  //Mask B - 111 Pin B - 101 After Mask - 111

  //Serial.println((PIN_PORTE_MASK_B ^ pinB), 2);
  //Mask B - 111 Pin B - 101 After Mask - 10

  //Serial.println(((PIN_PORTE_MASK_B & pinB) ^ pinC), 2);
  //Mask B - 111 Pin B - 101 After Mask - 101 Check Other Pin - 110

  //Serial.println((((PIN_PORTE_MASK_B & pinB) ^ pinC)) & pinC, 2);
  //Mask B - 111 Pin B - 101 After Mask - 101 Check Other Pin - 110 Finish To write to PIND - 10

  // Запись Z_OUT
  //Serial.print(" Pin C - ");
  //Serial.println(PINC, 2);
}

/// <summary>
/// Прерывание по изменению состояния группы выводов 0.
/// </summary>
ISR(PCINT0_vect)
{
  // Проверяем состояние пина PB0 (8) и PD2 (2).
  if ((PINB & (1 << PB0)) && !(PIND & (1 << PD2)))
  {
    // Состояние вывода изменилось с низкого уровня на низкий.
    PORTC &= ~(1 << PC0);
  }
  else
  {
    // Состояние вывода изменилось с высокого уровня на высокий.
    PORTC |= 1 << PC0;
  }

  // Проверяем состояние пина PB1 (9) и PD3 (3).
  if ((PINB & (1 << PB1)) && !(PIND & (1 << PD3)))
  {
    // Состояние вывода изменилось с низкого уровня на низкий.
    PORTC &= ~(1 << PC1);
  }
  else
  {
    // Состояние вывода изменилось с высокого уровня на высокий.
    PORTC |= 1 << PC1;
  }

  // Проверяем состояние пина PB2 (10) и PD4 (4).
  if ((PINB & (1 << PB2)) && !(PIND & (1 << PD4)))
  {
    // Состояние вывода изменилось с низкого уровня на низкий.
    PORTC &= ~(1 << PC2);
  }
  else
  {
    // Состояние вывода изменилось с высокого уровня на высокий.
    PORTC |= 1 << PC2;
  }
}
Реле было выбрано как временное решение, мне нужно было подавать сигнал 24В на вход Mesa, в дальнейшем думали поставить транзистор, но и реле отлично работает.

Если у сервопривода есть сигнал OCZ (Сигнал энкодера Z (открытый коллектор)), а еще лучше /OCZ, можно попробовать сразу отправлять сигнал /OCZ в Mesa, без ардуино. Если есть наводки и шум, то придется либо использовать ардуино, либо заводить оба сигнала и проверять их средствами LinuxCnc.

Еще пару слов про поиск нуля по индексной метке (возможно и по индуктивному датчику).
Если используется компенсация люфтов (BACKLASH), то LinuxCnc работает в 2-х вариантах.
1. Перед отправкой на 0, мы шли в противоположную сторону от нуля. В таком случае мы точно не попадем в ту же координату (проверял оптическими линейками и индикатором часового типа). Не знаю с чем это связано, просто констатирую факт.
2. Перед отправкой на 0, мы шли в сторону нуля. В таком случае мы всегда попадаем в ту же координату (проверял оптическими линейками и индикатором часового типа).
Если убрать компенсацию люфтов (BACKLASH), то мы всегда попадаем в ту же координату.

В архиве все файлы конфигурации 7I96_GMOC.rar, так же исправлены пару ошибок probe-screen связанных с нововведениями в LinuxCnc 2.8.

Буду пытаться вызвать hal команду из G-кода. Чтобы решить вопрос по поиску 0-ля с компенсацией люфта, вначале отправить ось в сторону нуля, а потом отправить на 0. И буду разбираться с датчиком инструмента и краеискателем.
Вложения
7I96_GMOC.rar
(405.32 КБ) 89 скачиваний
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение xenon-alien »

tpolimer2000 писал(а): Реле было выбрано как временное решение, мне нужно было подавать сигнал 24В на вход Mesa,
Входы Меса 7i96 могут работать и от 5в. (загляните в документацию)
Главное тогда общей сделать GND блоков питания 24в и 5в на самой плате. И можно подавать 5в на вход. (ну или из сервы GND)
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

xenon-alien писал(а): Входы Меса могут работать и от 5в. (загляните в документацию)
Да знаю, но в начале, когда ни чего не работало, грешил на все :). А светодиод на входе Mesa, при сигнале 5В, горел так тускло, что решил использовать 24В.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение xenon-alien »

tpolimer2000 писал(а): когда ни чего не работало, грешил на все
У меня сейчас так же с револьверкой на токарнике.
Когда пускатель прямых оборотов револьверки просто вручную зажать, то вспыхивают все диоды на входах. (проводка на весу и параллельно с герконами и трёма фазами)
И это без питания катушек пускателя, т.е. когда три фазы подаются на двигатель оно мелькает, и если память не подводит, то и при размыкании тоже и получаю ложные срабатывания.
Теперь собираю шкаф и посмотрю, что покажет с заземлением всего... В первые такое делаю и наблюдаю подобное явление.
Если будет так же, то придётся что-то решать... :think:
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

xenon-alien писал(а): Теперь собираю шкаф и посмотрю, что покаже с заземлением всего...
Так и надо делать.
К сожалению, у меня не все экранировано (в частности провода управления сервоприводов без экрана), если будут проблемы, буду менять.
xenon-alien писал(а): Если будет так же, то придётся что-то решать...
Пробежался по документации сервоприводов серии KA, возможно выход -OCZ будет без шумов, нужно проверять.
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

Подключил краескиатель и датчик инструмента к Mesa.
Настройка краеискателя (1985 просмотров) <a class='original' href='./download/file.php?id=204550&sid=070ee4493f1b6eb0d53723d2b4d556e6&mode=view' target=_blank>Загрузить оригинал (178.67 КБ)</a>
Настройка краеискателя
Краеискатель (1985 просмотров) <a class='original' href='./download/file.php?id=204551&sid=070ee4493f1b6eb0d53723d2b4d556e6&mode=view' target=_blank>Загрузить оригинал (247.07 КБ)</a>
Краеискатель
Датчик инструмента (1985 просмотров) <a class='original' href='./download/file.php?id=204549&sid=070ee4493f1b6eb0d53723d2b4d556e6&mode=view' target=_blank>Загрузить оригинал (410 КБ)</a>
Датчик инструмента
Датчики одно загляденье, надеюсь и работают хорошо. Настроили краеискатель, датчик инструмента пока не настраивали.

Сделал пару проб с помощью Probe Screen, логика работы некоторых кнопок мне показалось страной и не очень удобной, но на вкус и цвет.... Логика описана тут - https://vers.by/ru/blog/useful-articles/probe-screen, есть так же пару веток на этом форуме viewtopic.php?f=15&t=7981 и viewtopic.php?f=15&t=7941.

Какое-то поведение Probe Screen описана в макросах, в папке macros. Какое-то в коде, к примеру в папке python есть файл probe_screen.py, беда в том, что не знаю python. Наверно в начале сделаю необходимое поведение краискателя через макросы, а дольше посмотрим, может придется качать книгу по python-ну.
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

Возник вопрос, в LinuxCnc использую компенсацию люфтов (BACKLASH). Из-за этого есть проблема с поиском нуля, о ней писал ранее.
tpolimer2000 писал(а): Еще пару слов про поиск нуля по индексной метке (возможно и по индуктивному датчику).
Если используется компенсация люфтов (BACKLASH), то LinuxCnc работает в 2-х вариантах.
1. Перед отправкой на 0, мы шли в противоположную сторону от нуля. В таком случае мы точно не попадем в ту же координату (проверял оптическими линейками и индикатором часового типа). Не знаю с чем это связано, просто констатирую факт.
2. Перед отправкой на 0, мы шли в сторону нуля. В таком случае мы всегда попадаем в ту же координату (проверял оптическими линейками и индикатором часового типа).
Если убрать компенсацию люфтов (BACKLASH), то мы всегда попадаем в ту же координату.
Как сделать так, чтобы поиск нуля всегда работала корректно, не зависимо от того в какую из сторон мы шли ранее?
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение xenon-alien »

tpolimer2000 писал(а): Как сделать так, чтобы поиск нуля всегда работала корректно, не зависимо от того в какую из сторон мы шли ранее?
Наверное нужно задать этот вопрос на официальном форуме ЛЦНЦ. Может это баг...
Уже обновились до 2.8.3?
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

xenon-alien писал(а): Наверное нужно задать этот вопрос на официальном форуме ЛЦНЦ. Может это баг...
Думал что-то делаю не правильно.
xenon-alien писал(а): Уже обновились до 2.8.3?
Нет, попробую на виртуалке, на рабочем страшно.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение xenon-alien »

tpolimer2000 писал(а): Думал что-то делаю не правильно.
Ну так там и нужно спросить... Где собака зарыта. В софте, или в действиях оператора...
tpolimer2000 писал(а): Нет, попробую на виртуалке, на рабочем страшно.
А чего? Ну так это же следующая "стабильная" версия. Может там уже нету этого косяка.
А как на виртуалке это проверите?
Ну или на крайнак накатать систему на другой раздел диска. (главное это же только папка с конфигурацией станка.)
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

xenon-alien писал(а): Ну так там и нужно спросить... Где собака зарыта. В софте, или в действиях оператора...
Вы правы, лучше там. Так как поведение больше похоже на баг.
xenon-alien писал(а): А чего? Ну так это же следующая "стабильная" версия. Может там уже нету этого косяка.
А как на виртуалке это проверите?
Ну или на крайнак накатать систему на другой раздел диска. (главное это же только папка с конфигурацией станка.)
Как я понял LinuxCnc может сильно меняться и не факт что это не потребует изменения ProbeScreen, а так же xhc-hb04 которые использую и т.д.. Хотя список изменений не маленький - http://wiki.linuxcnc.org/cgi-bin/wiki.pl?2.8.XRelease

Думал поставить на виртуалку и сначала проверить, но вы правы лучше сразу на железе. Возьму другой винчестер, скопирую его и только потом обновлюсь и проверю на станке.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение xenon-alien »

tpolimer2000 писал(а): Как я понял LinuxCnc может сильно меняться и не факт что это не потребует изменения ProbeScreen, а так же xhc-hb04 которые использую и т.д.. Хотя список изменений не маленький - http://wiki.linuxcnc.org/cgi-bin/wiki.pl?2.8.XRelease
Ну там еще придётся с корневой папки скопировать .axisrc для ProbeScreen и практически всё...
Всё остальное в папке конфигурации станка. Что пульт, что остальное.
Неужели вы ещё на 2.7 версии? тогда там точно будут нюансы...
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

xenon-alien писал(а): Ну там еще придётся с корневой папки скопировать .axisrc для ProbeScreen и практически всё...
Всё остальное в папке конфигурации станка. Что пульт, что остальное.
Да все верно.
xenon-alien писал(а): Неужели вы ещё на 2.7 версии? тогда там точно будут нюансы...
Нет, уже на 2.8.2. Поэтому ProbeScreen уже подправил на версию 2.8
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

Создал тему по своему вопросу на форуме LinuxCnc - https://forum.linuxcnc.org/38-general-l ... going-home

Так же внимательно пробежался по настройкам, подробнее тут - https://www.cnc-club.ru/wiki/index.php/ ... %D0%BB_INI
STEPGEN_MAXACCEL = 21.0 ( HAL ) Лимит ускорения для генератора шагов. Он должен быть больше чем MAX_ACCELERATION оси на от 1% до 10%. Это значение улучшает настройку "цикла позиционирования" stepgen. Если вы добавили компенсацию люфта для оси, то это значение должно быть в 1.5-2 раза больше чем MAX_ACCELERATION.
У меня STEPGEN_MAXACCEL, больше чем MAX_ACCELERATION на 25%. Мало вероятно, что проблема в этом, но нужно исправить.

Так же нашел описание как задать новые координаты - viewtopic.php?t=17728 и тут http://linuxcnc.org/docs/stable/html/gc ... de:g10-l20, оказывается для этого есть специальный G - код.

Устанавливаем 2 по X, для текущей системы координат.

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

G10 L20 P0 X2

Устанавливаем 2 по X, для G54.

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

G10 L20 P1 X2
Это понадобится для работы с краеискателем.
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

tpolimer2000 писал(а): Метод подключения индексной метки который нашел, достаточно прост, мы просто заводим сигнал OCZ (Сигнал энкодера Z (открытый коллектор)) в Mesa. А дальше используем tristate_bit (можно использовать модуль encoder, но мне нужна только индексная метка) для установки значения joint.0.index-enable и настройки поиска 0-ля описанный в документации к LinuxCnc - https://linuxcnc.org/docs/html/config/ini-homing.html.
Увы, мой метод не работает, видимо при тестировании было простое совпадение.
Нужно было более тщательнее проводить тестирование.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение xenon-alien »

Ну вот и прошивка для 7I96 с ШИМ на 4 степгене и 4 индекса для осей
На 7I96s по идее работает, но проверял лишь вручную без отправки в дома. Вывел идексную метку (ОК) с серв и завёл на лату - нужно через резистор подключать последовательно 50-100 Ом. (не пугаться, если не заработает простым тыканием провода в GNG (5в питания), там свой алгоритм, по этому нужно активировать индекс и при метке сбросится - "погаснет индикатор")
Сегодня подключил к станку, осталось датчиков дождаться и пробовать уже на станке полный цикл отправки по домам и поиска индекса.
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

xenon-alien писал(а): Ну вот и прошивка для 7I96 с ШИМ на 4 степгене и 4 индекса для осей
На 7I96s по идее работает, но проверял лишь вручную без отправки в дома. Вывел идексную метку (ОК) с серв и завёл на лату - нужно через резистор подключать последовательно 50-100 Ом. (не пугаться, если не заработает простым тыканием провода в GNG (5в питания), там свой алгоритм, по этому нужно активировать индекс и при метке сбросится - "погаснет индикатор")
Сегодня подключил к станку, осталось датчиков дождаться и пробовать уже на станке полный цикл отправки по домам и поиска индекса.
Спасибо что поделились решением.

Немного не подходит для моего текущего станка, так как хочу использовать 4 ось, а на 5-той оси управление шпинделя. Но возможно будет полезно на других станках. Для текущего станка нашел только одно решение, немного кривое, это объединение 2 сигналов, сигнала индексной метки и датчика дома. Но пока не протестировал, так как не было времени.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение xenon-alien »

tpolimer2000 писал(а): Немного не подходит для моего текущего станка, так как хочу использовать 4 ось, а на 5-той оси управление шпинделя.
Ну так всё правильно.
Степгены с 0-4 это 5 осей. Но 5 ось для ШИМ шпинделя.
xenon-alien писал(а): с ШИМ на 4 степгене и 4 индекса для осей
Т.е. XYZA у вас доступно.(0, 1, 2, 3, 4-ШИМ)
Или там серва по степ/дир? Тогда не подойдёт эта прошивка.

Вот на токарном проверял на 7i96s... (ОСТОРОЖНО! ГРОМКИЙ ЗВУК! )
https://www.youtube.com/watch?v=6a-fxuDuZ4k
tpolimer2000
Мастер
Сообщения: 347
Зарегистрирован: 07 ноя 2018, 19:03
Репутация: 45
Настоящее имя: Александр
Откуда: Беларусь
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение tpolimer2000 »

xenon-alien писал(а): Т.е. XYZA у вас доступно.(0, 1, 2, 3, 4-ШИМ)
Или там серва по степ/дир? Тогда не подойдёт эта прошивка.
Да у меня сервопривод на шпинделе, который настроен на Step\Dir. Хотя в будущем можно настроить и на аналоговое управление. Но немного устал и затянул проект, хочется быстрее выпускать стружку, поэтому пока оставлю на Step\Dir.
xenon-alien писал(а): Вот на токарном проверял на 7i96s... (ОСТОРОЖНО! ГРОМКИЙ ЗВУК! )
Отлично!

Вообще возможность просмотра параметров, выходов и т.д. в LinuxCnc покупает и радует.
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Maho 400p фрезерный станок по металлу (400x250x375)

Сообщение xenon-alien »

tpolimer2000 писал(а): Да у меня сервопривод на шпинделе, который настроен на Step\Dir.
Ну так постучитесь на форум и попросите прошивку. За одно про линейки можете спросить с выборкой люфтов.
Мне где-то попадалось видео, как делается прошивка.
По идее "пару" щелчков и готово. Только нюанс - нужно знать, что и как и куда тыкать и что указывать.
https://youtu.be/vfJyw-WCSp4
Ответить

Вернуться в «Фрезерные станки по металлам»