Бюджетный usb-контроллер для mach3 - кому интересно присоединяйтесь.
Насколько я понял вопрос - это устанавливается здесь (на картинке выделено чёрным- правда мач немецкий)
Не, это выход из лимитов, это уже работает.
Ну я если чесно пробовать не буду но помоему на сколько я помню - когда ставил макс. скорость на перемещение домой то мач просто моментально останавливал станок а поскольку портал тяжелый то моторы тупо клинило и ни о каком отъезде там уже речи быть не могло оно шаги безбожно пропускало.
Кстати такая же последовательность принятия базы работает и в Линукс ЕМС2 - думаю это своего рода стандарт.
Когда датчики на разных пинах -теоретически это наверно и не надо - но я где то читал что если этот отъезд делать на совсем медленной скорости то вроде как повышается повторяемость принятия базы - что в принципе логично.
Я бы кстати поучаствовал в тестировании проекта и может быть даже в ковырянии плагина (есть опыт написания плагина под мач.) но пока совсем некогда этим заняться. 😦 Если дело дойдет до группового заказа плат и т.п. то я бы с удовольствием присоединился. Ну а пока буду внимательно следить за проектом.
Ну я если чесно пробовать не буду но помоему на сколько я помню - когда ставил макс. скорость на перемещение домой то мач просто моментально останавливал станок а поскольку портал тяжелый то моторы тупо клинило и ни о каком отъезде там уже речи быть не могло оно шаги безбожно пропускало.
У меня проблема проявляется не на макс скорости, а при настройке в маче макс ускорения. Скорость при этом минимальна, 1% от максимума.
но я где то читал что если этот отъезд делать на совсем медленной скорости то вроде как повышается повторяемость принятия базы
Вполне логично, я в начале именно так и представлял работу баз, но в маче ничего подобного не отрыл, хотя реализовать могу.
Если датчики отдельно, функция отъезда никак не отключаема? Т.к. вроде лишняя выходит.
Олег, нужно еще помнить, что в станках под управлением Mach функции Limit switch и Home switch как правило вешают на одни и те же переключатели. Поэтому съезжать с них нужно обязательно.
Олег, нужно еще помнить, что в станках под управлением Mach функции Limit switch и Home switch как правило вешают на одни и те же переключатели. Поэтому съезжать с них нужно обязательно.
Это естественно, я имел ввиду в варианте с полностью отдельными датчиками, т.к. у контроллера входов хватит. Ну не суть, не отключаема - мне проще с софтом.
Тут с лимитами тоже вопрос:
Не нашел в маче “умного” съезда. При оверрайде лимитов как авто так и ручном - чешет куда пошлют, а если случайно старт нажать - несется по концевику. Я считал что логично открывать все направления кроме сработавшего, а при съезде открывать и его и снимать оверрайд.
Это так или есть решение? (В варианте с отдельными лимитами на оси и направления)
Это так или есть решение?
Даже на пром станках приходится, выключать и вручную выталкивать из лимитов. Видал несколько десятков пром станков, везде только один датчик на конце, что для лимита, то и для хоума.
Даже на пром станках приходится, выключать и вручную выталкивать из лимитов.
Вручную - в прямом смысле? Вращать винт руками?
Но сам мач позволяет разблоктровать лимиты и вывести ось джоггингом. После выхода с датчика лимиты переактивируются автоматически. Неудобно только что после разблокировки лимитов - ось может двигаться во все направления даже в сторону сработки.
К стати кнопку разблокировки лимитов и ручной переезд - можно вынести на сам станок(панель оператора), в моем контроллере работает.
Где штурвалы стоят, а станки с большим полем на рейках и серво, там толчка хватает.
Для тех, кто макетирует.
Схема ложится на всякие макетки для 128-й меги с миниумом проводов.
2Leg имеет смысл на аналоговые входы вывести “крутилки” для скорости подачи и шпинделя - сильно помогает во время подбора режимов реза.
На какую частоту кварца расчитан бутлоадер?
Вопрос возник т.к. в USBKEY кварц 8, а тут 16.
На какую частоту кварца расчитан бутлоадер? Вопрос возник т.к. в USBKEY кварц 8, а тут 16.
Бутлоадер стандартный, он прошит в чипе производителем, работает и на 8 и на 16. Но моя прошивка только на 16.
2Leg имеет смысл на аналоговые входы вывести “крутилки” для скорости подачи и шпинделя - сильно помогает во время подбора режимов реза.
Подумаю на будущее, но у меня жесткие ограничения по времени выполнения кода - шаговый генератор требует высоких скоростей и жесткого реалтайма.
По этой причине осей не 6 а 4, и скорость 50КГц - зато импульсы, такт в такт, даже если по всем осям в один момент.
Считаем: 1/(4*2*50000) = 2,5 мкс - на обработку одного шага, а еще надо ЮСБ поддерживать.
Еще для всех: Длительность импульса степ (вкладка мотор-тюнинг) не настраивается , равна 10мкс. Проверьте работают ли Ваши драйвера на этом импульсе.
Теперь по софту.
Решил так:
Т.к. тестирующих может оказаться много и ошибки могут быть как с моей стороны так и пользователей, функционал будет добавляться последовательно, все версии будут лежать отдельно. Что бы минимизировать влияние неотлаженного функционала на рабочий (особенно в прошивке МК) и повысить достоверность баг-репортов от тестирующих.Как-то так.
В общем прилизал минимальный функционал в котором я более-менее уверен, типа демоверсия_1:
-
4 оси, 50 КГЦ, длительность импульса 10мкс, активный уровень - низкий.( Все статично, не настраивается, состояние настроек не имеет значения, кроме скорости и ускорения(мотор-тюнинг))
-
Движение по УП (Само движение должно быть ОК, управляющие G-кода требуют тестирования)
-
Ручное перемещение (Должно быть ОК во всех вариациях, все настраивается, ускорение - замедление тоже работает)
-
Линии ввода вывода. Пока все линии на ввод (После тестирования всей версии в целом добавлю вывод)
Назначать на линии ввода можно любые функции, но не все реализованы : -
Нет возврата на базу (уже вроде продумал, но после тестирования)
-
Нет индекса, зонда, управления дугой.
Все остальное по входам вроде есть, ОЕМ- кода для ввода/вывода здесь
Завтра подшлифую драйвер USB и подошью архив, и можно выкладывать, потом займусь второй версией, но тестировать начинайте с первой даже если на момент сборки будет вторая.
Т.к. тестирующих может оказаться много и ошибки могут быть как с моей стороны так и пользователей, функционал будет добавляться последовательно, все версии будут лежать отдельно. Что бы минимизировать влияние неотлаженного функционала на рабочий (особенно в прошивке МК) и повысить достоверность баг-репортов от тестирующих.Как-то так.
Только сегодня нашел тему. Присоединяюсь!
Переделал… для таких динозавров как я
Юрий, разьем юсб с какой стороны будет? Снизу я так понимаю цельная земля? Просто в таком варианте логичнее перевернуть его на нижнею сторону чтоб не возится с пропайкой металлизации под разъемом. Но по разводке вижу что оставили разъем сверху. Обратите внимание что бы корпус разъема не коснулся плюсовой дорожки.
Юрий, разьем юсб с какой стороны будет? Снизу я так понимаю цельная земля?
Да, снизу земля. Проволочками пропаял, прозвонил, всё ОК:). У разьёма ведь жёсткие стойки корпуса,впаялось намертво. Пока камень едет, делать всё равно нечего:(.
Олег, тут другое… Опыт шитья простых атмелов есть, и неплохой. А вот с USB на борту- отсутствует напрочь. Чем это делается и как? Фьюзы присутствуют? Можно небольшой ликбез?
Опыт шитья простых атмелов есть, и неплохой. А вот с USB на борту- отсутствует напрочь. Чем это делается и как? Фьюзы присутствуют? Можно небольшой ликбез?
В чип изначально зашит бутлоадер для юсб. У чипа есть аппаратный режим инициализации бутлоадера. Это вывод HWB - для инициализации нужно в момент старта (сброс, подача питания) что бы на этом выводе присутствовал 0 уровень.
Для полностью чистого чипа - бут проинициализируется в любом случае , для уже зашитого надо инициализировать.
После инициализации бута на юсб будет обнаружено устройство - AT90USB128, для которго должен быть установлен драйвер для работы ПО-программатора.
ВАЖНО! Чип в режиме бут и в рабочем режиме - это два разных устройства юсб, требует разных драйверов, не путайте драйвер для контроллера под мач и драйвер программатора.
Программировать можно ПО от АТМЕL flip - драйвер должен быть в пакете с ним.
Процедура стандартная - нашлось устройство, поставили драйвер, запустили программатор.
Фузы программировать не надо, да у flip этой возможности и нет.
После программирование и сброса - появится новое устройство на усб - собственно контроллер для мача, ставим его драйвер и вперед.
В догонку:
Бут принципиально имеет возможность перешить сам себя, не знаю есть ли эта возможность у заводского бута и флипа - но, не пытайтесь прошить туда что-то большое для проверки, лучше шейте то что нужно - получите чип - отпишитесь, сразу вылажу ПО.
ВАЖНО! Чип в режиме бут и в рабочем режиме - это два разных устройства юсб, требует разных драйверов, не путайте драйвер для контроллера под мач и драйвер программатора.
А через Avrdude разве не прошить при такой схеме подключения? Я одну мегу уже прошивал дудкой по юсб через FT232RL.
А через Avrdude разве не прошить при такой схеме подключения? Я одну мегу уже прошивал дудкой по юсб через FT232RL.
Смысл?
Шить можно чем угодно.
Я указал самый простой способ без использования дополнительного железа через ПО производителя.
но я где то читал что если этот отъезд делать на совсем медленной скорости то вроде как повышается повторяемость принятия базы - что в принципе логично.
Как пример, на Чпу плазме - стол 6 м длиной - скорость хода домой 24м/мин - на максимальной скорости подъезжает к первому индукционному датчику, сбрасывает скорость, доезжает до концевика (механического), отъезжает на 15-20 см назад и снова наезжает на концевик и обнуляет ось.
Добавление функционала
Пост 63 содержит описание функционала первой версии.
В эту же версию добавлена конфигурация линий ввода/вывода на вывод. Протестировал, вроде все в норме.
Небольшой лекбез по использованию линий IO:
При включении девайса все линии сконфигурированы на ввод и имеют внутреннюю подтяжку к высокому уровню. Это надо учитывать во избежание самопроизвольного включения элементов станка. Лучше если активный уровень опасных сигналов управления будет низким - это позволит избежать незапланнированного включения при случайном сбросе питания девайса, включении девайса при запитанных элементах и т.п.
Конфигурация линий вывода происходит автоматически при запуске мача, и вручную в процессе использования стандартным диалогом.
Если один и тот же вывод будет установлен как вход и как выход(например случайно, т.к. не вижу надобности такого использования) - конфигурация вывода будет на выход, функция выхода будет полностью работоспособна, при этом входной сигнал будет обрабатываться по фактическому значению логического уровня на выходе.
Входные линии будут иметь подтяжку к высокому уровню, т.е. свободное состояние вывода будет расценена мачем как высокий уровень.
Обращаю внимание что внутренняя подтяжка способна обеспечить устойчивое состояние только физически не подключенного входа, если к входу подключена кабельная линия без использования каких либо элементов согласования - линия не должна находится в открытом состоянии, требуется как минимум дополнительная низкоомная подтяжка для предотвращения самопроизвольного переключения входа.
Как-то так
Я тут мелочёвку растыкал… Есть вопрос: конденсатор на кнопке сброса стоит паралельно подтягивющему резистору. На “обычных” МК он ставится паралельно ей, чтобы обеспечить автоматический сброс привключении питания. Тут не так?
И ещё одно. У меня на компах нет USB2. Втыкаю флэшку и пишет такое, можно мол было бы быстрее. Важно?