Прошивка grbl. Старт и пауза.
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Прошивка grbl. Старт и пауза.
Всем здравствуйте. Прошу помощи, может кто сталкивался. Имеется arduino uno,cnc shield v3.0, драйвера А4988 и два шаговых двигателя nema 17. Все подключил,залил прошивку grbl, все работает,все отлично. Вопрос в том,что мне нужно прерывать и запускать работу двигателей по внешним датчикам,а именно принцип такой - есть двигатель,на валу установленно колесо с магнитом, рядом с колесом установлены два геркона. Задача такая,чтобы при прохождении магнита рядом с одним герконом, grbl приостанавливал работу,а при прохождении магнита рядом с другим герконом, grbl продолжал свою работу. Так вот, я подключил герконы к контактам на cnc shield, hold и resume,но даже при скорости вращения вала двигателя в 200об.м. программа не отрабатывает чётко,т.е. проскакивает пауза и запуск. Я грешу на герконы,возможно лучше попробовать на датчике холла или оптическом, но еще я не знаю как прошивка grbl обрабатывает эти сигналы hold и resume, по распиновке эти сигналы подаются на А1 и А2. Очень жду помощи,подсказки. Заранее спасибо.
- Mamont
- Мастер
- Сообщения: 1966
- Зарегистрирован: 10 дек 2015, 12:21
- Репутация: 383
- Настоящее имя: Виталий
- Откуда: РБ Минск
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Попробуй увеличить длительность импульса от герконов. Можно поставить RC цепочку с герконом. Геркон быстро разряжает конденсатор, а после через резистор конденсатор неспешно заряжается.
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Там наоборот такое впечатление,что он не успевает размыкаться, как-будто постоянно шлёт сигнал,хотя проверял сам геркон,он работает. Хочу убрать герконы и попробовать с оптическим датчиком tcrt5000
- Mamont
- Мастер
- Сообщения: 1966
- Зарегистрирован: 10 дек 2015, 12:21
- Репутация: 383
- Настоящее имя: Виталий
- Откуда: РБ Минск
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Врят ли не успевает размыкаться. если не размыкает, можно простым мультиметром проверить.
Скорее всего что контроллер328 занят по плешку обработкой заданий на построение траекторий. Входные импульсы короткой длительности он просто теряет. Они хоть и заведены на прерывание, но оно групповое. Когда дойдет дело до обработки прерывания, контроллер в нем должен определить какой именно пин зажат к земле. Если за это время геркон разомкнулся, то контроллер это событие и не посчитает за нажатие пипки
Скорее всего что контроллер328 занят по плешку обработкой заданий на построение траекторий. Входные импульсы короткой длительности он просто теряет. Они хоть и заведены на прерывание, но оно групповое. Когда дойдет дело до обработки прерывания, контроллер в нем должен определить какой именно пин зажат к земле. Если за это время геркон разомкнулся, то контроллер это событие и не посчитает за нажатие пипки
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Об этом вот я и думаю,изначально написал. Я не очень разбираюсь в библиотеках. В библиотеке grbl нашел вот это
// Define user-control controls (cycle start, reset, feed hold) input pins.
// NOTE: All CONTROLs pins must be on the same port and not on a port with other input pins (limits).
#define CONTROL_DDR DDRC
#define CONTROL_PIN PINC
#define CONTROL_PORT PORTC
#define CONTROL_RESET_BIT 0 // Uno Analog Pin 0
#define CONTROL_FEED_HOLD_BIT 1 // Uno Analog Pin 1
#define CONTROL_CYCLE_START_BIT 2 // Uno Analog Pin 2
#define CONTROL_SAFETY_DOOR_BIT 1 // Uno Analog Pin 1 NOTE: Safety door is shared with feed hold. Enabled by config define.
#define CONTROL_INT PCIE1 // Pin change interrupt enable pin
#define CONTROL_INT_vect PCINT1_vect
#define CONTROL_PCMSK PCMSK1 // Pin change interrupt register
#define CONTROL_MASK ((1<<CONTROL_RESET_BIT)|(1<<CONTROL_FEED_HOLD_BIT)|(1<<CONTROL_CYCLE_START_BIT)|(1<<CONTROL_SAFETY_DOOR_BIT))
#define CONTROL_INVERT_MASK CONTROL_MASK // May be re-defined to only invert certain control pins.
Если я правильно понимаю,то обработка пинов А1 и А2 реализовано по прерыванию,или я не прав?
// Define user-control controls (cycle start, reset, feed hold) input pins.
// NOTE: All CONTROLs pins must be on the same port and not on a port with other input pins (limits).
#define CONTROL_DDR DDRC
#define CONTROL_PIN PINC
#define CONTROL_PORT PORTC
#define CONTROL_RESET_BIT 0 // Uno Analog Pin 0
#define CONTROL_FEED_HOLD_BIT 1 // Uno Analog Pin 1
#define CONTROL_CYCLE_START_BIT 2 // Uno Analog Pin 2
#define CONTROL_SAFETY_DOOR_BIT 1 // Uno Analog Pin 1 NOTE: Safety door is shared with feed hold. Enabled by config define.
#define CONTROL_INT PCIE1 // Pin change interrupt enable pin
#define CONTROL_INT_vect PCINT1_vect
#define CONTROL_PCMSK PCMSK1 // Pin change interrupt register
#define CONTROL_MASK ((1<<CONTROL_RESET_BIT)|(1<<CONTROL_FEED_HOLD_BIT)|(1<<CONTROL_CYCLE_START_BIT)|(1<<CONTROL_SAFETY_DOOR_BIT))
#define CONTROL_INVERT_MASK CONTROL_MASK // May be re-defined to only invert certain control pins.
Если я правильно понимаю,то обработка пинов А1 и А2 реализовано по прерыванию,или я не прав?
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Не дочитал последнее сообщение. Спасибо большое. Что тогда посоветуете, оставить герконы и RC цепь или попробовать оптический датчик? Просто думаю взять инфракрасный датчик на колесо наклеить светлую и тёмную полоски, считывать аналоговый сигнал другой ардуино и уже с неё слать на уно с шилдом.
- Mamont
- Мастер
- Сообщения: 1966
- Зарегистрирован: 10 дек 2015, 12:21
- Репутация: 383
- Настоящее имя: Виталий
- Откуда: РБ Минск
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Или связано с режимом работы ШД.
После поступления паузы - контроллер включает плавный останов двигателя. Это надо чтобы координата не сбилась.
Как полностью остановился, он может быть заново запущен сигналом "продолжить".
Попробуй для эксперимента в настройках поставить очень большие ускорения
После поступления паузы - контроллер включает плавный останов двигателя. Это надо чтобы координата не сбилась.
Как полностью остановился, он может быть заново запущен сигналом "продолжить".
Попробуй для эксперимента в настройках поставить очень большие ускорения
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Ускорение попробую. Кстати еще так проверял, написал простой gcode(квадрат грубо говоря) и в gcode через каждые 4мм ставил паузу. Запускаю, проезжает 4мм,останавливается,в программе загорается кнопка продолжить,нажимаю на кнопку,опять проезжает 4мм и останавливается. Так вот я стал для интереса быстро кликать на кнопку и все стало работать беспорядочно.... Реално такое ощущение, что он пропускает слишком быстрые нажатия.
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Установил инфракрасный датчик (модуль TCRT5000), выдает показания очень плохо, так как шкив очень темный и глянцевый. Клеил на него и белую метку, и черную, показания хреновые. Решил попробовать с датчиками холла, намного все лучше и "интереснее". На днях проверю в деле. У модуля датчика холла на выходе единица, когда магнит рядом, а на cnc shield нужно подавать ноль, через дополнительный транзистор все работает. Осталось только все это приделать и проверить. Если у кого-то есть какие-нибудь предложения,пишите пожалуйста, тема еще не закрыта.
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
может пойти по пути управлении GRBL по ком порту
http://instrumentotvet.ru/grbl-0-9j-perevod/ здесь есть описание команд реального времени и по логике для остановки подачи в ком порт надо отправить команду " ! " и подача должна остановится
а для возобновления подачи надо наверно или отправить команду "начала цикла " или возможно сначала надо сбросить GRBL а потом отправить команду на перемещение , ну наверно нада поэкспериментировать
http://instrumentotvet.ru/grbl-0-9j-perevod/ здесь есть описание команд реального времени и по логике для остановки подачи в ком порт надо отправить команду " ! " и подача должна остановится
а для возобновления подачи надо наверно или отправить команду "начала цикла " или возможно сначала надо сбросить GRBL а потом отправить команду на перемещение , ну наверно нада поэкспериментировать
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Как вариант думал об этом,только пока не соображу,как это реализовать. Это еще одна ардуино,которая будет отслеживать датчики и отправлять команды уже на основную ардуино с шилдом?
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
ну да одна ардуинка с GRBL а вторая с датчиками , и между собой ардуинки соединить по ком порту , а как ведь для того шоб GRBL начал крутить двигатели ему надо получить" пенок " с ком порта , или вам все мыслилось по другому
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Это понятно,что по сом порту, я про другое. Если основная ардуино с grbl подключена к компу, как ней другую ардуино подцепить...
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Видел здесь,как один сделал автономное управление grbl. На схеме две ардуино между собой по uart, но у него gcode на флешке,а у меня то с компа все это дело отправляется на станок. Вот поэтому и не понимаю пока, как это реализовать.
- Mamont
- Мастер
- Сообщения: 1966
- Зарегистрирован: 10 дек 2015, 12:21
- Репутация: 383
- Настоящее имя: Виталий
- Откуда: РБ Минск
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
описание задачи в целом позволит найти обходные варианты, без использования грбл
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
https://forum.flprog.ru/viewtopic.php?f ... rbl#p76300
мне вот здесь на форуме подсказали как управлять ардуиной с GRBL при помощи другой ардуинки , но я до конца не довел все эту затею , пока текущие вопросы забрали все время , и проект приостановлен , но по сути управляющая ардуина должна выдать в ком порт простые команды при срабатывании двух датчиков .
Да и программе FLprog ссылку что я дал выше такая функция как управление ШД по двум сигналам уже рассматривалась, попробуйте посмотреть на форуме ФЛпрог , шото там проскакивало
мне вот здесь на форуме подсказали как управлять ардуиной с GRBL при помощи другой ардуинки , но я до конца не довел все эту затею , пока текущие вопросы забрали все время , и проект приостановлен , но по сути управляющая ардуина должна выдать в ком порт простые команды при срабатывании двух датчиков .
Да и программе FLprog ссылку что я дал выше такая функция как управление ШД по двум сигналам уже рассматривалась, попробуйте посмотреть на форуме ФЛпрог , шото там проскакивало
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Grbl нужен,если бы не нужен был,крутил бы шаговиками без него.Mamont писал(а):описание задачи в целом позволит найти обходные варианты, без использования грбл
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Спасибо, почитал. Можно с вами как-то лично пообщаться?solo писал(а):https://forum.flprog.ru/viewtopic.php?f ... rbl#p76300
мне вот здесь на форуме подсказали как управлять ардуиной с GRBL при помощи другой ардуинки , но я до конца не довел все эту затею , пока текущие вопросы забрали все время , и проект приостановлен , но по сути управляющая ардуина должна выдать в ком порт простые команды при срабатывании двух датчиков .
Да и программе FLprog ссылку что я дал выше такая функция как управление ШД по двум сигналам уже рассматривалась, попробуйте посмотреть на форуме ФЛпрог , шото там проскакивало
- solo
- Мастер
- Сообщения: 1374
- Зарегистрирован: 20 окт 2011, 18:39
- Репутация: 272
- Настоящее имя: Юрий Соловьев
- Откуда: Украина Харьков
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
можно в личку могу дать мобильный если Украина если нет то можно Viber или WhatsApp
-
- Новичок
- Сообщения: 12
- Зарегистрирован: 27 фев 2020, 08:20
- Репутация: 0
- Настоящее имя: Михаил
- Контактная информация:
Re: Прошивка grbl. Старт и пауза.
Не разобрался как здесь писать в личку. Можете мне написать what's app или viber. И там и там есть