Написание плагинов движения для mach3

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Написание плагинов движения для mach3

Сообщение 2cme »

aftaev писал(а):
2cme писал(а):Не против если я прикручу bootloader?
Прикручивай :) И описывай как шить.

Есть у меня PicKit 2 имеется но с Microlab не работаю. Потому и HEX файл не помешает :)
Microlab - а это что такое???
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6194
Откуда: Казахстан.
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение aftaev »

2cme писал(а):Microlab - а это что такое???
MpLab хотел сказать :)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Написание плагинов движения для mach3

Сообщение 2cme »

aftaev писал(а):
2cme писал(а):Microlab - а это что такое???
MpLab хотел сказать :)
Понятно...но если быть точным то MPLAB это IDE среда, все написано на С.

Компельнул исходники, прошил вроде работает, пока на макетке, пришлось поменять кварц на 8МГц.
Плагин установил, включил, но не понятно какие еще нужны настройки??? Кто может подсказать?
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

2cme писал(а):Да вы правы
Давай на "ты" перейдем?
aftaev писал(а):ipr, ты на чем все это писал?
Прошивка: IDE - Microchip MPLAB.X, компилятор - Microchip C18
Программатор: PICKIT2 (с красной кнопкой)
Плагин: Microsoft Visual C++ Express Edition
2cme писал(а):Не против если я прикручу bootloader?
Я только за :good: Что-то я вчера вечером ерунды про бутлоадер написал, его же можно взять готовый (а я подумал, что ты мне предлагаешь его самому написать), и внедрение модификации прошивки почти не потребует. А свободной флеш-памяти полно осталось, сейчас прошивка процентов 15 всего занимает.
2cme писал(а):пришлось поменять кварц на 8МГц.
Надеюсь, требования для USB с помощью фьюзов выставить не забыл? А то может и не заработать...
2cme писал(а):Плагин установил, включил, но не понятно какие еще нужны настройки??? Кто может подсказать?
Плагин не требует настроек. Настраивать нужно только MotorTuning в Mach3, то есть максимальные скорость и ускорение моторов.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Написание плагинов движения для mach3

Сообщение 2cme »

ipr писал(а):
2cme писал(а):Да вы правы
Давай на "ты" перейдем?
ок.
ipr писал(а):
2cme писал(а):Не против если я прикручу bootloader?
Я только за :good: Что-то я вчера вечером ерунды про бутлоадер написал, его же можно взять готовый (а я подумал, что ты мне предлагаешь его самому написать), и внедрение модификации прошивки почти не потребует. А свободной флеш-памяти полно осталось, сейчас прошивка процентов 15 всего занимает.
(; Хорошо, и хорошо что мне удалось в доступной форме это донести.
Да действительно есть готовый, достаточно только в главную программу внести данные адреса начала (который больше адреса крайней команды кода бутлоадера), и задать адреса прерываний (по факту прерывания падают в адреса из бутлоадера, и переадресовываются на новые адреса, при работе основной программы). Бутлоадер обычно не более 0x000800 0x001000.
ipr писал(а):
2cme писал(а):пришлось поменять кварц на 8МГц.
Надеюсь, требования для USB с помощью фьюзов выставить не забыл? А то может и не заработать...
Естественно. Но по факту проц работает на 48 МГц. Надо код посмотреть повлияет применение кварца 8МГц.
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

2cme писал(а):Но по факту проц работает на 48 МГц.
Значит, должно работать:
1. настройки таймера, с помощью которого генерируются шаги (Timer0), расчитывались с условием работы процессора от 48МГц.
2. USB работает в FullSpeed, и тоже требует 48МГц.
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

Нашел пару ошибок в прошивке, исправил, заодно сделал код более понятным. Плагин тот же, в нем ничего не менял.
Вложения
Pulse_20130201.zip
(17.74 КБ) 1077 скачиваний
Darxton
Мастер
Сообщения: 2113
Зарегистрирован: 17 янв 2013, 08:19
Репутация: 623
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Darxton »

ipr писал(а):Первая работающая версия нового контроллера готова.
В какой среде подготовлены исходники? Интересно будет посмотреть.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Написание плагинов движения для mach3

Сообщение 2cme »

Darxton писал(а):
ipr писал(а):Первая работающая версия нового контроллера готова.
В какой среде подготовлены исходники? Интересно будет посмотреть.
Похоже проектик в скором времени станет коммерческим....
Darxton
Мастер
Сообщения: 2113
Зарегистрирован: 17 янв 2013, 08:19
Репутация: 623
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Darxton »

2cme писал(а):Похоже проектик в скором времени станет коммерческим....
Да нет, думаю, Вы неправильно меня поняли. На нашу долю хватит уже развитых коммерческих проектов, тем более под Mach3 кто только не пишет.
Тут, скорее, научно-исследовательский интерес. К тому же перекликается с соседней темой про сравнение бюджетных систем. Плагин, например, можно использовать для съема траектории без счетчика импульсов.
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

Darxton писал(а):В какой среде подготовлены исходники?
Я же выше писал:
ipr писал(а):Прошивка: IDE - Microchip MPLAB.X, компилятор - Microchip C18
Программатор: PICKIT2 (с красной кнопкой)
Плагин: Microsoft Visual C++ Express Edition
2cme писал(а):Похоже проектик в скором времени станет коммерческим....
Это вряд ли... Лично я не собираюсь никому продавать права на свои разработки (было бы что там продавать, честно говоря :oops: ). И сам на них зарабатывать не собираюсь, это хобби, а доходов мне и с работы хватает.
Но если кто-то решит опубликованные исходники использовать в своих, пусть и коммерческих, целях - пожалуйста, я не против.

Обещанную статью, не получилось написать за выходные, экспериментировал с контроллером. Попробовал выбросить из него всю математику, и перенести ее в плагин. Правда, это не лучшим образом сказалось на объеме занимаемом в RAM контроллера (52%) - зато стало стабильнее работать.
Максимальную шагов пришлось уменьшить, обработчик прерывания по таймеру не успевал выполниться до следующего прерывания. Уменьшил частоту таймера в 2 раза - вроде стал успевать... (задумался о генерации шагов с помощью ПЛИС :thinking: )
Прикрутил обработку состояния входов и выходов контроллера. Остановился на 8 входах и 8 выходах, назначаются на любые свободные ноги микроконтроллера в прошивке. Работает привязка этих входов-выходов к нужным сигналам в настройках Mach3. Сделал обработку нажатия ESTOP в Mach, отрабатывает мгновенно (на глаз, конечно).
Dirk Diggler
Новичок
Сообщения: 20
Зарегистрирован: 08 окт 2012, 11:46
Репутация: 1
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Dirk Diggler »

ipr писал(а):Уменьшил частоту таймера в 2 раза - вроде стал успевать... (задумался о генерации шагов с помощью ПЛИС
Так, кстати, сделано в SmoothStepper.
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

Dirk Diggler писал(а):Так, кстати, сделано в SmoothStepper
Это говорит о том, что я на правильном пути :D

Впрочем, тем, кто не гонится за большими частотами шагов, вполне хватит и версии на пике. Думаю, в скором времени я доведу этот проект до стабильно работающего состояния, и перейду к попытке сделать на плисе. Плагин - останется тем же, устройство не сильно изменится - так же для будет содержать в себе pic18 для обмена по usb, буферизации, и обработки входов-выходов, ПЛИС будет только непосредственно генерировать шаги...
Darxton
Мастер
Сообщения: 2113
Зарегистрирован: 17 янв 2013, 08:19
Репутация: 623
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Darxton »

ipr писал(а):Впрочем, тем, кто не гонится за большими частотами шагов, вполне хватит и версии на пике.
Многие пользователи применяют сервоприводы, там частоты нужны намного большие, чем в шаговых. Кроме того, мирокшаг часто используется для плавности, и в идеале - когда контроллер способен выдавать STEP с частотой, максимальной для большинства драйверов (200-300 кГц).
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

Я все-таки ориентируюсь на шаговые двигатели. И достигнуть частоты более 50кГц я даже и пытаться не буду (и то, считаю, что это очень много - большинство людей используют только полушаг).
Darxton
Мастер
Сообщения: 2113
Зарегистрирован: 17 янв 2013, 08:19
Репутация: 623
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Darxton »

ipr писал(а):(и то, считаю, что это очень много - большинство людей используют только полушаг).
Вот это Вы зря так считаете. Впрочем, 50 кГц для свободного проекта - уже успешный продукт.
2cme
Почётный участник
Почётный участник
Сообщения: 1043
Зарегистрирован: 24 янв 2012, 13:18
Репутация: -209

Re: Написание плагинов движения для mach3

Сообщение 2cme »

ipr писал(а): Обещанную статью, не получилось написать за выходные, экспериментировал с контроллером.
Может хотябы простенькие наброски?
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

2cme писал(а):Может хотябы простенькие наброски?
Я про то, как пишутся плагины к Mach небольшую статейку начал писать, но она еще не закончена. А наброски, боюсь, будут непонятны, я сам с этим сталкивался, когда начал свой проект. Подождите, скоро все будет...
ipr
Кандидат
Сообщения: 65
Зарегистрирован: 13 ноя 2012, 17:03
Репутация: 1
Откуда: Екатеринбург
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение ipr »

2cme писал(а):Может хотябы простенькие наброски?
Вот небольшая незаконченная статья про устройство плагинов движения для мач3:
Вложения
article_mach3plugin.zip
Описание устройства плагинов Mach3
(4.86 КБ) 1359 скачиваний
Woodmaster
Опытный
Сообщения: 112
Зарегистрирован: 10 сен 2011, 18:18
Репутация: 11
Контактная информация:

Re: Написание плагинов движения для mach3

Сообщение Woodmaster »

Правильно ли я понял прочитав это тему и статью, что МАСН расчитывает текущие частоты шагов для всех осей каждые 10 мс, т.е. всего 100 раз в секунду? И в течение этих 10 мс частота шагов фиксирована?
Получается, что если например надо разогнать ШД с 0 до 1000 Гц за 100 мс (ускорение 10000 шаг/сек2), то МАСН сделает это за 10 итераций с шагом в 100 Гц?
Это типа называется линейный разгон или я что-то не догоняю?
Я если честно искренне верил, что скорость рассчитывается каждый шаг. Сделал шаг считаем следующий и т.д.
Ответить

Вернуться в «Windows / Mach»