ПОМОГИТЕ Концевики 100500.

Берём пачкорд "витая пара" и "кладём-ложим" всю проводку им
Сегодня взял экранированный провод и проложил соединение со всеми концевиками.

Теперь беда обнаружилась...
Использовал в конструкции CNC Shield V3
Заранее подготовил целую гребёнку для подключения всех концевиков от X до Z.
При проверке выяснилось, что Z-концевик надо подключать к D12 :oops:

Возможно ли программно переключит ноги?
 

Вложения

  • 05.jpg
    05.jpg
    112.3 KB · Просмотры: 9
  • maxresdefault.jpg
    maxresdefault.jpg
    77.1 KB · Просмотры: 8
Сегодня взял экранированный провод и проложил соединение со всеми концевиками.

Теперь беда обнаружилась...
Использовал в конструкции CNC Shield V3
Заранее подготовил целую гребёнку для подключения всех концевиков от X до Z.
При проверке выяснилось, что Z-концевик надо подключать к D12 :oops:

Возможно ли программно переключит ноги?
Проще переключить на разъёмах... :rolleyes: Хотя можно и прошивку поковырять, но нужно знать где и что... :cautious:
 
Возможно ли программно переключит н
  • Весь вопрос зачем? Проще переключить проводки. Дело в том, что на старых версиях, до GRBL09J, действительно, ZLim сидел на D11, а шпиндель на D12, под нее и был спроектирован шилд. Беда в том, что D12 не поддерживает ШИМ, а стало быть регулировать обороты не выходит, в версии 09J этот недостаток исправили, переназначив выхода, теперь концевик ZLim висит на SpiEn, а шпиндель на ZLim.
 
Проще переключить проводки
Пины на шильде находятся рядом. Сделал разъём из шлейфа не 12 проводов. удобно подключать и разводить результат на другом конце. групповой разъем гораздо надёжнее фиксируется на плате. А этот 12-й, зараза,торчит с противоположной стороны платы:mad:
Хотя можно и прошивку поковырять, но нужно знать где и что.
Я взял cpu_map.h из папки с прошивкой и тупо поменял местами
Pin 12 и Pin 11.....
Нихрена не получилось.
Хотя для шилда для Ардуино нано, где китайцы накосячили, поменял в этом файле пины 2, 3, 4 и 5, 6, 7 местами и всё работает :)
 

Вложения

  • 20230528_222314.jpg
    20230528_222314.jpg
    43.4 KB · Просмотры: 7
Пины на шильде находятся рядом. Сделал разъём из шлейфа не 12 проводов. удобно подключать и разводить результат на другом конце. групповой разъем гораздо надёжнее фиксируется на плате. А этот 12-й, зараза,торчит с противоположной стороны платы:mad:

Я взял cpu_map.h из папки с прошивкой и тупо поменял местами
Pin 12 и Pin 11.....
Нихрена не получилось.
Хотя для шилда для Ардуино нано, где китайцы накосячили, поменял в этом файле пины 2, 3, 4 и 5, 6, 7 местами и всё работает :)
В двух местах менять надо... :rolleyes:

// Определите входные контакты самонаводящегося / жесткого концевого переключателя и ограничьте векторы прерываний.
// ПРИМЕЧАНИЕ: Все контакты предельного бита должны находиться на одном и том же порту, но не на порту с другими входными контактами (УПРАВЛЕНИЕ).
#define LIMIT_DDR DDRB
#define LIMIT_PIN PINB
#define LIMIT_PORT PORTB
#define X_LIMIT_BIT 1 // Цифровой Вывод Pin 9
#define Y_LIMIT_BIT 2 // Цифровой Вывод Pin 10
#ifdef VARIABLE_SPINDLE // Ограничительный вывод Z и включенный шпиндель поменялись местами для доступа к аппаратной ШИМ на выводе 11.
#define Z_LIMIT_BIT 4 // Цифровой Вывод Pin 12
#else
#define Z_LIMIT_BIT 3 // Цифровой Вывод Pin 11

#endif
#define LIMIT_MASK :(1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT:) // Все предельные биты
#define LIMIT_INT PCIE0 // Изменение PIN-кода прерывание включения pin-кода
#define LIMIT_INT_vect PCINT0_vect
#define LIMIT_PCMSK PCMSK0 // Регистр прерывания смены Pin-кода

// Определите выходные контакты включения шпинделя и направления шпинделя.
#define SPINDLE_ENABLE_DDR DDRB
#define SPINDLE_ENABLE_PORT PORTB
// Z Ограничительный вывод и ШИМ шпинделя / разрешающий вывод заменены для доступа к аппаратной ШИМ на выводе 11.
#ifdef VARIABLE_SPINDLE
#ifdef USE_SPINDLE_DIR_AS_ENABLE_PIN
// Если включено, вывод направления шпинделя теперь используется в качестве параметра включения шпинделя, в то время как ШИМ остается на D11.
#define SPINDLE_ENABLE_BIT 5 // Цифровой вывод Uno 13 (ПРИМЕЧАНИЕ: D13 не может быть извлечен - высокий входной сигнал из-за светодиода.)
#else
#define SPINDLE_ENABLE_BIT 3 // Цифровой Вывод Pin 11
#endif
#else
#define SPINDLE_ENABLE_BIT 4 // Цифровой Вывод Pin 12

#endif
#ifndef USE_SPINDLE_DIR_AS_ENABLE_PIN
#define SPINDLE_DIRECTION_DDR DDRB
#define SPINDLE_DIRECTION_PORT PORTB
#define SPINDLE_DIRECTION_BIT 5 // Цифровой Вывод Pin 13 (ПРИМЕЧАНИЕ: D13 не может быть извлечен -высокий входной сигнал из-за светодиода.)
#endif
 
  • Последнее редактирование:
Последнее редактирование:
В двух местах менять надо...
В каких местах? 😋
Ваши сообщения автоматически объединены:

Я правильно понимаю, что кроме изменений cpu_map.h нужно ещё
В файле config.h
закомментировать строчку #define VARIABLE_SPINDLE // Default enabled. Comment to disable.

и тогда получится поменять местами эти пины?

В любом случае, если я не собираюсь "модулировать" шпиндель, нужно отключить эту опцию.
 
В каких местах? 😋
Ваши сообщения автоматически объединены:

Я правильно понимаю, что кроме изменений cpu_map.h нужно ещё
В файле config.h
закомментировать строчку #define VARIABLE_SPINDLE // Default enabled. Comment to disable.

и тогда получится поменять местами эти пины?

В любом случае, если я не собираюсь "модулировать" шпиндель, нужно отключить эту опцию.
В квадратике "Вот..." выделено жирным шрифтом... :p
 
Я правильно понимаю, что кроме изменений cpu_map.h нужно ещё
В файле config.h
закомментировать строчку #define VARIABLE_SPINDLE // Default enabled. Comment to disable.
Нет. Надо только закомментировать строчку #define VARIABLE_SPINDLE // Default enabled. Comment to disable.
А cpu_map.h не торгать.
 
  • Последнее редактирование:
Последнее редактирование:
Нет. Надо только закомментировать строчку #define VARIABLE_SPINDLE // Default enabled. Comment to disable.
А cpu_map.h не торгать.
Теперь спокойно... Я правильно понял, что если я в оригинальной версии конфига закомментирую эту строку, на прошивке пины 11 и 12 поменяются местами. Меня не интересует 12 пин, мне нужно, чтобы на 11-м появился вход концевика Z 😋
Ваши сообщения автоматически объединены:

Закомментировал... #define VARIABLE_SPINDLE // Default enabled. Comment to disable.
Не компилируется :mad:
 
Я правильно понял, что если я в оригинальной версии конфига закомментирую эту строку, на прошивке пины 11 и 12 поменяются местами.
Да.

Не компилируется
Можно посоветовать только - начать сначала.
Скачать исходники. И т.д.
 
Вот с внесёнными изменениями. Откомпилировалось.
00-47-29.png
 
А я получаю Ошибку компиляции....


In file included from C:\Users\dell\Documents\Arduino\libraries\grbl\grbl.h:47:0,

from C:\Users\dell\Documents\Arduino\libraries\grbl\limits.c:22:

C:\Users\dell\Documents\Arduino\libraries\grbl\limits.c: In function 'limits_init':

C:\Users\dell\Documents\Arduino\libraries\grbl\cpu_map.h:72:67: error: 'Z_LIMIT_BIT' undeclared (first use in this function); did you mean 'X_LIMIT_BIT'?

#define LIMIT_MASK :(1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT:) // All limit bits
^

C:\Users\dell\Documents\Arduino\libraries\grbl\limits.c:43:18: note: in expansion of macro 'LIMIT_MASK'

LIMIT_DDR &= ~(LIMIT_MASK); // Set as input pins ^~~~~~~~~~

C:\Users\dell\Documents\Arduino\libraries\grbl\cpu_map.h:72:67: note: each undeclared identifier is reported only once for each function it appears in


#define LIMIT_MASK :(1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT:) // All limit bits
^
C:\Users\dell\Documents\Arduino\libraries\grbl\limits.c:43:18: note: in expansion of macro 'LIMIT_MASK'

LIMIT_DDR &= ~(LIMIT_MASK); // Set as input pins ^~~~~~~~~~

C:\Users\dell\Documents\Arduino\libraries\grbl\limits.c: In function 'limits_disable':

C:\Users\dell\Documents\Arduino\libraries\grbl\cpu_map.h:72:67: error: 'Z_LIMIT_BIT' undeclared (first use in this function); did you mean 'X_LIMIT_BIT'?

#define LIMIT_MASK :(1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT:) // All limit bits
^

C:\Users\dell\Documents\Arduino\libraries\grbl\limits.c:69:19: note: in expansion of macro 'LIMIT_MASK'

LIMIT_PCMSK &= ~LIMIT_MASK; // Disable specific pins of the Pin Change Interrupt ^~~~~~~~~~

C:\Users\dell\Documents\Arduino\libraries\grbl\limits.c: In function 'limits_get_state':

C:\Users\dell\Documents\Arduino\libraries\grbl\cpu_map.h:72:67: error: 'Z_LIMIT_BIT' undeclared (first use in this function); did you mean 'X_LIMIT_BIT'?

#define LIMIT_MASK :(1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT:) // All limit bits
^

C:\Users\dell\Documents\Arduino\libraries\grbl\limits.c:80:30: note: in expansion of macro 'LIMIT_MASK'

uint8_t pin = (LIMIT_PIN & LIMIT_MASK); ^~~~~~~~~~
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать