Страница 1 из 2
Прошивка grbl. Старт и пауза.
Добавлено: 27 фев 2020, 09:58
Misha87
Всем здравствуйте. Прошу помощи, может кто сталкивался. Имеется arduino uno,cnc shield v3.0, драйвера А4988 и два шаговых двигателя nema 17. Все подключил,залил прошивку grbl, все работает,все отлично. Вопрос в том,что мне нужно прерывать и запускать работу двигателей по внешним датчикам,а именно принцип такой - есть двигатель,на валу установленно колесо с магнитом, рядом с колесом установлены два геркона. Задача такая,чтобы при прохождении магнита рядом с одним герконом, grbl приостанавливал работу,а при прохождении магнита рядом с другим герконом, grbl продолжал свою работу. Так вот, я подключил герконы к контактам на cnc shield, hold и resume,но даже при скорости вращения вала двигателя в 200об.м. программа не отрабатывает чётко,т.е. проскакивает пауза и запуск. Я грешу на герконы,возможно лучше попробовать на датчике холла или оптическом, но еще я не знаю как прошивка grbl обрабатывает эти сигналы hold и resume, по распиновке эти сигналы подаются на А1 и А2. Очень жду помощи,подсказки. Заранее спасибо.
Re: Прошивка grbl. Старт и пауза.
Добавлено: 27 фев 2020, 13:25
Mamont
Попробуй увеличить длительность импульса от герконов. Можно поставить RC цепочку с герконом. Геркон быстро разряжает конденсатор, а после через резистор конденсатор неспешно заряжается.
Re: Прошивка grbl. Старт и пауза.
Добавлено: 27 фев 2020, 13:29
Misha87
Там наоборот такое впечатление,что он не успевает размыкаться, как-будто постоянно шлёт сигнал,хотя проверял сам геркон,он работает. Хочу убрать герконы и попробовать с оптическим датчиком tcrt5000
Re: Прошивка grbl. Старт и пауза.
Добавлено: 27 фев 2020, 13:38
Mamont
Врят ли не успевает размыкаться. если не размыкает, можно простым мультиметром проверить.
Скорее всего что контроллер328 занят по плешку обработкой заданий на построение траекторий. Входные импульсы короткой длительности он просто теряет. Они хоть и заведены на прерывание, но оно групповое. Когда дойдет дело до обработки прерывания, контроллер в нем должен определить какой именно пин зажат к земле. Если за это время геркон разомкнулся, то контроллер это событие и не посчитает за нажатие пипки
Re: Прошивка grbl. Старт и пауза.
Добавлено: 27 фев 2020, 13:43
Misha87
Об этом вот я и думаю,изначально написал. Я не очень разбираюсь в библиотеках. В библиотеке 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 реализовано по прерыванию,или я не прав?
Re: Прошивка grbl. Старт и пауза.
Добавлено: 27 фев 2020, 13:49
Misha87
Не дочитал последнее сообщение. Спасибо большое. Что тогда посоветуете, оставить герконы и RC цепь или попробовать оптический датчик? Просто думаю взять инфракрасный датчик на колесо наклеить светлую и тёмную полоски, считывать аналоговый сигнал другой ардуино и уже с неё слать на уно с шилдом.
Re: Прошивка grbl. Старт и пауза.
Добавлено: 27 фев 2020, 13:54
Mamont
Или связано с режимом работы ШД.
После поступления паузы - контроллер включает плавный останов двигателя. Это надо чтобы координата не сбилась.
Как полностью остановился, он может быть заново запущен сигналом "продолжить".
Попробуй для эксперимента в настройках поставить очень большие ускорения
Re: Прошивка grbl. Старт и пауза.
Добавлено: 27 фев 2020, 14:01
Misha87
Ускорение попробую. Кстати еще так проверял, написал простой gcode(квадрат грубо говоря) и в gcode через каждые 4мм ставил паузу. Запускаю, проезжает 4мм,останавливается,в программе загорается кнопка продолжить,нажимаю на кнопку,опять проезжает 4мм и останавливается. Так вот я стал для интереса быстро кликать на кнопку и все стало работать беспорядочно.... Реално такое ощущение, что он пропускает слишком быстрые нажатия.
Re: Прошивка grbl. Старт и пауза.
Добавлено: 27 фев 2020, 19:39
Misha87
Установил инфракрасный датчик (модуль TCRT5000), выдает показания очень плохо, так как шкив очень темный и глянцевый. Клеил на него и белую метку, и черную, показания хреновые. Решил попробовать с датчиками холла, намного все лучше и "интереснее". На днях проверю в деле. У модуля датчика холла на выходе единица, когда магнит рядом, а на cnc shield нужно подавать ноль, через дополнительный транзистор все работает. Осталось только все это приделать и проверить. Если у кого-то есть какие-нибудь предложения,пишите пожалуйста, тема еще не закрыта.
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 12:28
solo
может пойти по пути управлении GRBL по ком порту
http://instrumentotvet.ru/grbl-0-9j-perevod/ здесь есть описание команд реального времени и по логике для остановки подачи в ком порт надо отправить команду " ! " и подача должна остановится
а для возобновления подачи надо наверно или отправить команду "начала цикла " или возможно сначала надо сбросить GRBL а потом отправить команду на перемещение , ну наверно нада поэкспериментировать
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 12:34
Misha87
Как вариант думал об этом,только пока не соображу,как это реализовать. Это еще одна ардуино,которая будет отслеживать датчики и отправлять команды уже на основную ардуино с шилдом?
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 12:39
solo
ну да одна ардуинка с GRBL а вторая с датчиками , и между собой ардуинки соединить по ком порту , а как ведь для того шоб GRBL начал крутить двигатели ему надо получить" пенок " с ком порта , или вам все мыслилось по другому
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 12:41
Misha87
Это понятно,что по сом порту, я про другое. Если основная ардуино с grbl подключена к компу, как ней другую ардуино подцепить...
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 13:00
Misha87
Видел здесь,как один сделал автономное управление grbl. На схеме две ардуино между собой по uart, но у него gcode на флешке,а у меня то с компа все это дело отправляется на станок. Вот поэтому и не понимаю пока, как это реализовать.
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 13:25
Mamont
описание задачи в целом позволит найти обходные варианты, без использования грбл
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 13:37
solo
https://forum.flprog.ru/viewtopic.php?f ... rbl#p76300
мне вот здесь на форуме подсказали как управлять ардуиной с GRBL при помощи другой ардуинки , но я до конца не довел все эту затею , пока текущие вопросы забрали все время , и проект приостановлен , но по сути управляющая ардуина должна выдать в ком порт простые команды при срабатывании двух датчиков .
Да и программе FLprog ссылку что я дал выше такая функция как управление ШД по двум сигналам уже рассматривалась, попробуйте посмотреть на форуме ФЛпрог , шото там проскакивало
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 13:51
Misha87
Mamont писал(а):описание задачи в целом позволит найти обходные варианты, без использования грбл
Grbl нужен,если бы не нужен был,крутил бы шаговиками без него.
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 13:52
Misha87
solo писал(а):https://forum.flprog.ru/viewtopic.php?f ... rbl#p76300
мне вот здесь на форуме подсказали как управлять ардуиной с GRBL при помощи другой ардуинки , но я до конца не довел все эту затею , пока текущие вопросы забрали все время , и проект приостановлен , но по сути управляющая ардуина должна выдать в ком порт простые команды при срабатывании двух датчиков .
Да и программе FLprog ссылку что я дал выше такая функция как управление ШД по двум сигналам уже рассматривалась, попробуйте посмотреть на форуме ФЛпрог , шото там проскакивало
Спасибо, почитал. Можно с вами как-то лично пообщаться?
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 15:24
solo
можно в личку могу дать мобильный если Украина если нет то можно Viber или WhatsApp
Re: Прошивка grbl. Старт и пауза.
Добавлено: 28 фев 2020, 15:27
Misha87
Не разобрался как здесь писать в личку. Можете мне написать what's app или viber. И там и там есть